diff options
382 files changed, 3413 insertions, 2390 deletions
diff --git a/apex/jobscheduler/framework/java/android/app/job/JobInfo.java b/apex/jobscheduler/framework/java/android/app/job/JobInfo.java index 4710322db283..f49cdbf403f0 100644 --- a/apex/jobscheduler/framework/java/android/app/job/JobInfo.java +++ b/apex/jobscheduler/framework/java/android/app/job/JobInfo.java @@ -1777,10 +1777,7 @@ public class JobInfo implements Parcelable { * {@link Build.VERSION_CODES#S}, but starting from Android version * {@link Build.VERSION_CODES#TIRAMISU}, expedited jobs for the foreground app are * guaranteed to be started before {@link JobScheduler#schedule(JobInfo)} returns (assuming - * all requested constraints are satisfied), similar to foreground services. However, this - * start guarantee means there is a higher chance of overlapping executions, as noted in - * {@link JobService}, so be sure to handle that properly if you intend to reschedule the - * job while it's actively running. + * all requested constraints are satisfied), similar to foreground services. * * @see JobInfo#isExpedited() */ diff --git a/apex/jobscheduler/framework/java/android/app/job/JobScheduler.java b/apex/jobscheduler/framework/java/android/app/job/JobScheduler.java index 388bbf1b26a0..632ecb2c0381 100644 --- a/apex/jobscheduler/framework/java/android/app/job/JobScheduler.java +++ b/apex/jobscheduler/framework/java/android/app/job/JobScheduler.java @@ -107,9 +107,7 @@ public abstract class JobScheduler { /** * Schedule a job to be executed. Will replace any currently scheduled job with the same * ID with the new information in the {@link JobInfo}. If a job with the given ID is currently - * running, it will be stopped. Note that in some cases, the newly scheduled job may be started - * before the previously running job has been fully stopped. See {@link JobService} for - * additional details. + * running, it will be stopped. * * <p class="caution"><strong>Note:</strong> Scheduling a job can have a high cost, even if it's * rescheduling the same job and the job didn't execute, especially on platform versions before diff --git a/apex/jobscheduler/framework/java/android/app/job/JobService.java b/apex/jobscheduler/framework/java/android/app/job/JobService.java index 7ed4b62ae7e4..d184d44239ed 100644 --- a/apex/jobscheduler/framework/java/android/app/job/JobService.java +++ b/apex/jobscheduler/framework/java/android/app/job/JobService.java @@ -32,16 +32,11 @@ import android.os.IBinder; * {@link #onStopJob(android.app.job.JobParameters)}, which is meant to inform you that the * scheduling requirements are no longer being met.</p> * - * As a subclass of {@link Service}, there will only be one active instance of any JobService + * <p>As a subclass of {@link Service}, there will only be one active instance of any JobService * subclasses, regardless of job ID. This means that if you schedule multiple jobs with different * job IDs but using the same JobService class, that JobService may receive multiple calls to * {@link #onStartJob(JobParameters)} and {@link #onStopJob(JobParameters)}, with each call being - * for the separate jobs. - * - * <p class="note">Note that if you cancel and reschedule an already executing job, - * there may be a small period of time where {@link #onStartJob(JobParameters)} has been called for - * the newly scheduled job instance before {@link #onStopJob(JobParameters)} has been called or - * fully processed for the old job.</p> + * for the separate jobs.</p> */ public abstract class JobService extends Service { private static final String TAG = "JobService"; diff --git a/apex/jobscheduler/service/java/com/android/server/DeviceIdleController.java b/apex/jobscheduler/service/java/com/android/server/DeviceIdleController.java index e9ce87f554d8..2eb86c1b720f 100644 --- a/apex/jobscheduler/service/java/com/android/server/DeviceIdleController.java +++ b/apex/jobscheduler/service/java/com/android/server/DeviceIdleController.java @@ -693,6 +693,7 @@ public class DeviceIdleController extends SystemService synchronized (DeviceIdleController.this) { if (mStationaryListeners.size() > 0) { startMonitoringMotionLocked(); + scheduleMotionTimeoutAlarmLocked(); } } }; @@ -3859,7 +3860,7 @@ public class DeviceIdleController extends SystemService void handleMotionDetectedLocked(long timeout, String type) { if (mStationaryListeners.size() > 0) { postStationaryStatusUpdated(); - scheduleMotionTimeoutAlarmLocked(); + cancelMotionTimeoutAlarmLocked(); // We need to re-register the motion listener, but we don't want the sensors to be // constantly active or to churn the CPU by registering too early, register after some // delay. diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java b/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java index d5a7f2851d03..28116a8df180 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java @@ -717,17 +717,9 @@ class JobConcurrencyManager { final boolean isTopEj = nextPending.shouldTreatAsExpeditedJob() && nextPending.lastEvaluatedBias == JobInfo.BIAS_TOP_APP; - // Avoid overlapping job execution as much as possible. - if (!isTopEj && isSimilarJobRunningLocked(nextPending)) { - if (DEBUG) { - Slog.w(TAG, "Delaying execution of job because of similarly running one: " - + nextPending); - } - // It would be nice to let the JobService running the other similar job know about - // this new job so that it doesn't unbind from the JobService and we can call - // onStartJob as soon as the older job finishes. - // TODO: optimize the job reschedule flow to reduce service binding churn - continue; + if (DEBUG && isSimilarJobRunningLocked(nextPending)) { + Slog.w(TAG, "Already running similar " + (isTopEj ? "TOP-EJ" : "job") + + " to: " + nextPending); } // Find an available slot for nextPending. The context should be one of the following: @@ -1206,13 +1198,8 @@ class JobConcurrencyManager { continue; } - // Avoid overlapping job execution as much as possible. - if (isSimilarJobRunningLocked(nextPending)) { - if (DEBUG) { - Slog.w(TAG, "Avoiding execution of job because of similarly running one: " - + nextPending); - } - continue; + if (DEBUG && isSimilarJobRunningLocked(nextPending)) { + Slog.w(TAG, "Already running similar job to: " + nextPending); } if (worker.getPreferredUid() != nextPending.getUid()) { @@ -1298,13 +1285,8 @@ class JobConcurrencyManager { continue; } - // Avoid overlapping job execution as much as possible. - if (isSimilarJobRunningLocked(nextPending)) { - if (DEBUG) { - Slog.w(TAG, "Avoiding execution of job because of similarly running one: " - + nextPending); - } - continue; + if (DEBUG && isSimilarJobRunningLocked(nextPending)) { + Slog.w(TAG, "Already running similar job to: " + nextPending); } if (isPkgConcurrencyLimitedLocked(nextPending)) { 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 cd70e88b18aa..60afdc76d249 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java @@ -1208,22 +1208,12 @@ public class JobSchedulerService extends com.android.server.SystemService // This may throw a SecurityException. jobStatus.prepareLocked(); - final boolean canExecuteImmediately; if (toCancel != null) { // Implicitly replaces the existing job record with the new instance - final boolean wasJobExecuting = cancelJobImplLocked(toCancel, jobStatus, - JobParameters.STOP_REASON_CANCELLED_BY_APP, - JobParameters.INTERNAL_STOP_REASON_CANCELED, - "job rescheduled by app"); - // Avoid overlapping job executions. Don't push for immediate execution if an old - // job with the same ID was running, but let TOP EJs start immediately. - canExecuteImmediately = !wasJobExecuting - || (jobStatus.isRequestedExpeditedJob() - && mUidBiasOverride.get(jobStatus.getSourceUid(), JobInfo.BIAS_DEFAULT) - == JobInfo.BIAS_TOP_APP); + cancelJobImplLocked(toCancel, jobStatus, JobParameters.STOP_REASON_CANCELLED_BY_APP, + JobParameters.INTERNAL_STOP_REASON_CANCELED, "job rescheduled by app"); } else { startTrackingJobLocked(jobStatus, null); - canExecuteImmediately = true; } if (work != null) { @@ -1266,12 +1256,7 @@ public class JobSchedulerService extends com.android.server.SystemService // list and try to run it. mJobPackageTracker.notePending(jobStatus); mPendingJobQueue.add(jobStatus); - if (canExecuteImmediately) { - // Don't ask the JobConcurrencyManager to try to run the job immediately. The - // JobServiceContext will ask the JobConcurrencyManager for another job once - // it finishes cleaning up the old job. - maybeRunPendingJobsLocked(); - } + maybeRunPendingJobsLocked(); } else { evaluateControllerStatesLocked(jobStatus); } @@ -1392,10 +1377,8 @@ public class JobSchedulerService extends com.android.server.SystemService * is null, the cancelled job is removed outright from the system. If * {@code incomingJob} is non-null, it replaces {@code cancelled} in the store of * currently scheduled jobs. - * - * @return true if the cancelled job was running */ - private boolean cancelJobImplLocked(JobStatus cancelled, JobStatus incomingJob, + private void cancelJobImplLocked(JobStatus cancelled, JobStatus incomingJob, @JobParameters.StopReason int reason, int internalReasonCode, String debugReason) { if (DEBUG) Slog.d(TAG, "CANCEL: " + cancelled.toShortString()); cancelled.unprepareLocked(); @@ -1406,7 +1389,7 @@ public class JobSchedulerService extends com.android.server.SystemService } mChangedJobList.remove(cancelled); // Cancel if running. - boolean wasRunning = mConcurrencyManager.stopJobOnServiceContextLocked( + mConcurrencyManager.stopJobOnServiceContextLocked( cancelled, reason, internalReasonCode, debugReason); // If this is a replacement, bring in the new version of the job if (incomingJob != null) { @@ -1414,7 +1397,6 @@ public class JobSchedulerService extends com.android.server.SystemService startTrackingJobLocked(incomingJob, cancelled); } reportActiveLocked(); - return wasRunning; } void updateUidState(int uid, int procState) { diff --git a/apex/jobscheduler/service/java/com/android/server/tare/InternalResourceService.java b/apex/jobscheduler/service/java/com/android/server/tare/InternalResourceService.java index 9c7d702ec6b4..2da00c7a8e2c 100644 --- a/apex/jobscheduler/service/java/com/android/server/tare/InternalResourceService.java +++ b/apex/jobscheduler/service/java/com/android/server/tare/InternalResourceService.java @@ -382,7 +382,7 @@ public class InternalResourceService extends SystemService { if (increased) { mAgent.distributeBasicIncomeLocked(newBatteryLevel); } else if (newBatteryLevel == mCurrentBatteryLevel) { - Slog.wtf(TAG, "Battery level stayed the same"); + // The broadcast is also sent when the plug type changes... return; } mCurrentBatteryLevel = newBatteryLevel; diff --git a/apex/jobscheduler/service/java/com/android/server/usage/AppIdleHistory.java b/apex/jobscheduler/service/java/com/android/server/usage/AppIdleHistory.java index c90291e5f264..fb342b9ba9b3 100644 --- a/apex/jobscheduler/service/java/com/android/server/usage/AppIdleHistory.java +++ b/apex/jobscheduler/service/java/com/android/server/usage/AppIdleHistory.java @@ -328,11 +328,13 @@ public class AppIdleHistory { appUsageHistory.lastUsedScreenTime = getScreenOnTime(nowElapsedRealtimeMs); } - if (appUsageHistory.currentBucket > newBucket) { - appUsageHistory.currentBucket = newBucket; - logAppStandbyBucketChanged(packageName, userId, newBucket, bucketingReason); + if (appUsageHistory.currentBucket >= newBucket) { + if (appUsageHistory.currentBucket > newBucket) { + appUsageHistory.currentBucket = newBucket; + logAppStandbyBucketChanged(packageName, userId, newBucket, bucketingReason); + } + appUsageHistory.bucketingReason = bucketingReason; } - appUsageHistory.bucketingReason = bucketingReason; return appUsageHistory; } diff --git a/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java b/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java index 1c4ec857538f..c9afdad8e40e 100644 --- a/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java +++ b/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java @@ -225,6 +225,11 @@ public class AppStandbyController | PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.MATCH_SYSTEM_ONLY; + private static final int NOTIFICATION_SEEN_PROMOTED_BUCKET_FOR_PRE_T_APPS = + STANDBY_BUCKET_WORKING_SET; + private static final long NOTIFICATION_SEEN_HOLD_DURATION_FOR_PRE_T_APPS = + COMPRESS_TIME ? 12 * ONE_MINUTE : 12 * ONE_HOUR; + // To name the lock for stack traces static class Lock {} @@ -320,11 +325,17 @@ public class AppStandbyController int mNotificationSeenPromotedBucket = ConstantsObserver.DEFAULT_NOTIFICATION_SEEN_PROMOTED_BUCKET; /** - * If true, tell each {@link AppIdleStateChangeListener} to give quota bump for each + * If {@code true}, tell each {@link AppIdleStateChangeListener} to give quota bump for each * notification seen event. */ private boolean mTriggerQuotaBumpOnNotificationSeen = ConstantsObserver.DEFAULT_TRIGGER_QUOTA_BUMP_ON_NOTIFICATION_SEEN; + /** + * If {@code true}, we will retain the pre-T impact of notification signal on apps targeting + * pre-T sdk levels regardless of other flag changes. + */ + boolean mRetainNotificationSeenImpactForPreTApps = + ConstantsObserver.DEFAULT_RETAIN_NOTIFICATION_SEEN_IMPACT_FOR_PRE_T_APPS; /** Minimum time a system update event should keep the buckets elevated. */ long mSystemUpdateUsageTimeoutMillis = ConstantsObserver.DEFAULT_SYSTEM_UPDATE_TIMEOUT; /** Maximum time to wait for a prediction before using simple timeouts to downgrade buckets. */ @@ -1098,17 +1109,29 @@ public class AppStandbyController final int subReason = usageEventToSubReason(eventType); final int reason = REASON_MAIN_USAGE | subReason; if (eventType == UsageEvents.Event.NOTIFICATION_SEEN) { - if (mTriggerQuotaBumpOnNotificationSeen) { - mHandler.obtainMessage(MSG_TRIGGER_LISTENER_QUOTA_BUMP, userId, -1, pkg) - .sendToTarget(); + final int notificationSeenPromotedBucket; + final long notificationSeenTimeoutMillis; + if (mRetainNotificationSeenImpactForPreTApps + && getTargetSdkVersion(pkg) < Build.VERSION_CODES.TIRAMISU) { + notificationSeenPromotedBucket = + NOTIFICATION_SEEN_PROMOTED_BUCKET_FOR_PRE_T_APPS; + notificationSeenTimeoutMillis = + NOTIFICATION_SEEN_HOLD_DURATION_FOR_PRE_T_APPS; + } else { + if (mTriggerQuotaBumpOnNotificationSeen) { + mHandler.obtainMessage(MSG_TRIGGER_LISTENER_QUOTA_BUMP, userId, -1, pkg) + .sendToTarget(); + } + notificationSeenPromotedBucket = mNotificationSeenPromotedBucket; + notificationSeenTimeoutMillis = mNotificationSeenTimeoutMillis; } // Notification-seen elevates to a higher bucket (depending on // {@link ConstantsObserver#KEY_NOTIFICATION_SEEN_PROMOTED_BUCKET}) but doesn't // change usage time. mAppIdleHistory.reportUsage(appHistory, pkg, userId, - mNotificationSeenPromotedBucket, subReason, - 0, elapsedRealtime + mNotificationSeenTimeoutMillis); - nextCheckDelay = mNotificationSeenTimeoutMillis; + notificationSeenPromotedBucket, subReason, + 0, elapsedRealtime + notificationSeenTimeoutMillis); + nextCheckDelay = notificationSeenTimeoutMillis; } else if (eventType == UsageEvents.Event.SLICE_PINNED) { // Mild usage elevates to WORKING_SET but doesn't change usage time. mAppIdleHistory.reportUsage(appHistory, pkg, userId, @@ -1149,6 +1172,10 @@ public class AppStandbyController } } + private int getTargetSdkVersion(String packageName) { + return mInjector.getPackageManagerInternal().getPackageTargetSdkVersion(packageName); + } + /** * Returns the lowest standby bucket that is better than {@code targetBucket} and has an * valid expiry time (i.e. the expiry time is not yet elapsed). @@ -2226,6 +2253,9 @@ public class AppStandbyController pw.print(" mTriggerQuotaBumpOnNotificationSeen="); pw.print(mTriggerQuotaBumpOnNotificationSeen); pw.println(); + pw.print(" mRetainNotificationSeenImpactForPreTApps="); + pw.print(mRetainNotificationSeenImpactForPreTApps); + pw.println(); pw.print(" mSlicePinnedTimeoutMillis="); TimeUtils.formatDuration(mSlicePinnedTimeoutMillis, pw); pw.println(); @@ -2712,6 +2742,8 @@ public class AppStandbyController "notification_seen_duration"; private static final String KEY_NOTIFICATION_SEEN_PROMOTED_BUCKET = "notification_seen_promoted_bucket"; + private static final String KEY_RETAIN_NOTIFICATION_SEEN_IMPACT_FOR_PRE_T_APPS = + "retain_notification_seen_impact_for_pre_t_apps"; private static final String KEY_TRIGGER_QUOTA_BUMP_ON_NOTIFICATION_SEEN = "trigger_quota_bump_on_notification_seen"; private static final String KEY_SLICE_PINNED_HOLD_DURATION = @@ -2773,6 +2805,7 @@ public class AppStandbyController COMPRESS_TIME ? 12 * ONE_MINUTE : 12 * ONE_HOUR; public static final int DEFAULT_NOTIFICATION_SEEN_PROMOTED_BUCKET = STANDBY_BUCKET_WORKING_SET; + public static final boolean DEFAULT_RETAIN_NOTIFICATION_SEEN_IMPACT_FOR_PRE_T_APPS = false; public static final boolean DEFAULT_TRIGGER_QUOTA_BUMP_ON_NOTIFICATION_SEEN = false; public static final long DEFAULT_SYSTEM_UPDATE_TIMEOUT = COMPRESS_TIME ? 2 * ONE_MINUTE : 2 * ONE_HOUR; @@ -2874,6 +2907,11 @@ public class AppStandbyController KEY_NOTIFICATION_SEEN_PROMOTED_BUCKET, DEFAULT_NOTIFICATION_SEEN_PROMOTED_BUCKET); break; + case KEY_RETAIN_NOTIFICATION_SEEN_IMPACT_FOR_PRE_T_APPS: + mRetainNotificationSeenImpactForPreTApps = properties.getBoolean( + KEY_RETAIN_NOTIFICATION_SEEN_IMPACT_FOR_PRE_T_APPS, + DEFAULT_RETAIN_NOTIFICATION_SEEN_IMPACT_FOR_PRE_T_APPS); + break; case KEY_TRIGGER_QUOTA_BUMP_ON_NOTIFICATION_SEEN: mTriggerQuotaBumpOnNotificationSeen = properties.getBoolean( KEY_TRIGGER_QUOTA_BUMP_ON_NOTIFICATION_SEEN, diff --git a/apex/jobscheduler/service/java/com/android/server/usage/TEST_MAPPING b/apex/jobscheduler/service/java/com/android/server/usage/TEST_MAPPING index e407e3126058..a6a3aafdb4f4 100644 --- a/apex/jobscheduler/service/java/com/android/server/usage/TEST_MAPPING +++ b/apex/jobscheduler/service/java/com/android/server/usage/TEST_MAPPING @@ -19,6 +19,18 @@ ] } ], + "presubmit-large": [ + { + "name": "CtsUsageStatsTestCases", + "options": [ + {"include-filter": "android.app.usage.cts.BroadcastResponseStatsTest"}, + {"exclude-annotation": "android.platform.test.annotations.FlakyTest"}, + {"exclude-annotation": "androidx.test.filters.FlakyTest"}, + {"exclude-annotation": "androidx.test.filters.MediumTest"}, + {"exclude-annotation": "androidx.test.filters.LargeTest"} + ] + } + ], "postsubmit": [ { "name": "CtsUsageStatsTestCases" diff --git a/core/api/test-current.txt b/core/api/test-current.txt index fe99c71d9a9a..48277fb3b488 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -2923,7 +2923,7 @@ package android.view { method public static int getHoverTooltipHideTimeout(); method public static int getHoverTooltipShowTimeout(); method public static int getLongPressTooltipHideTimeout(); - method public int getPreferKeepClearForFocusDelay(); + method public boolean isPreferKeepClearForFocusEnabled(); } public class ViewDebug { diff --git a/core/java/android/app/IActivityTaskManager.aidl b/core/java/android/app/IActivityTaskManager.aidl index 201473f4957e..fe75dd302beb 100644 --- a/core/java/android/app/IActivityTaskManager.aidl +++ b/core/java/android/app/IActivityTaskManager.aidl @@ -348,6 +348,7 @@ interface IActivityTaskManager { /** * Prepare the back navigation in the server. This setups the leashed for sysui to animate * the back gesture and returns the data needed for the animation. + * @param requestAnimation true if the caller wishes to animate the back navigation */ - android.window.BackNavigationInfo startBackNavigation(); + android.window.BackNavigationInfo startBackNavigation(in boolean requestAnimation); } diff --git a/core/java/android/app/LocaleConfig.java b/core/java/android/app/LocaleConfig.java index 7c83d5850f76..bbe3ce3c1cdb 100644 --- a/core/java/android/app/LocaleConfig.java +++ b/core/java/android/app/LocaleConfig.java @@ -99,7 +99,7 @@ public class LocaleConfig { XmlResourceParser parser = res.getXml(resId); parseLocaleConfig(parser, res); } catch (Resources.NotFoundException e) { - Slog.w(TAG, "The resource file pointed to by the given resource ID isn't found.", e); + Slog.w(TAG, "The resource file pointed to by the given resource ID isn't found."); mStatus = STATUS_NOT_SPECIFIED; } catch (XmlPullParserException | IOException e) { Slog.w(TAG, "Failed to parse XML configuration from " diff --git a/core/java/android/app/WindowConfiguration.java b/core/java/android/app/WindowConfiguration.java index 5ef3fc05130c..e96a98697184 100644 --- a/core/java/android/app/WindowConfiguration.java +++ b/core/java/android/app/WindowConfiguration.java @@ -345,6 +345,14 @@ public class WindowConfiguration implements Parcelable, Comparable<WindowConfigu mAlwaysOnTop = alwaysOnTop ? ALWAYS_ON_TOP_ON : ALWAYS_ON_TOP_OFF; } + /** + * Unsets always-on-top to undefined. + * @hide + */ + public void unsetAlwaysOnTop() { + mAlwaysOnTop = ALWAYS_ON_TOP_UNDEFINED; + } + private void setAlwaysOnTop(@AlwaysOnTop int alwaysOnTop) { mAlwaysOnTop = alwaysOnTop; } diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index 93f91e5af3eb..b7f113609188 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -2515,7 +2515,8 @@ public class DevicePolicyManager { * If another app already had delegated network logging access, * it will lose the delegation when a new app is delegated. * - * <p> Can only be granted by Device Owner or Profile Owner of a managed profile. + * <p> Device Owner can grant this access since Android 10. Profile Owner of a managed profile + * can grant this access since Android 12. */ public static final String DELEGATION_NETWORK_LOGGING = "delegation-network-logging"; @@ -13255,9 +13256,11 @@ public class DevicePolicyManager { * Called by a device owner, profile owner of a managed profile or delegated app with * {@link #DELEGATION_NETWORK_LOGGING} to control the network logging feature. * - * <p> Supported for a device owner from Android 8. Supported for a profile owner of a managed - * profile from Android 12. When network logging is enabled by a profile owner, the network logs - * will only include work profile network activity, not activity on the personal profile. + * <p> Supported for a device owner from Android 8 and a delegated app granted by a device + * owner from Android 10. Supported for a profile owner of a managed profile and a delegated + * app granted by a profile owner from Android 12. When network logging is enabled by a + * profile owner, the network logs will only include work profile network activity, not + * activity on the personal profile. * * <p> Network logs contain DNS lookup and connect() library call events. The following library * functions are recorded while network logging is active: diff --git a/core/java/android/app/admin/ProvisioningIntentHelper.java b/core/java/android/app/admin/ProvisioningIntentHelper.java index 1c38559a4083..894f706e21fc 100644 --- a/core/java/android/app/admin/ProvisioningIntentHelper.java +++ b/core/java/android/app/admin/ProvisioningIntentHelper.java @@ -18,10 +18,26 @@ package android.app.admin; import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE; import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE; +import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ALLOW_OFFLINE; import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME; +import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_MINIMUM_VERSION_CODE; import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME; +import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION; +import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_KEEP_SCREEN_ON; +import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED; +import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LOCAL_TIME; +import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE; import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ROLE_HOLDER_EXTRAS_BUNDLE; +import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SENSORS_PERMISSION_GRANT_OPT_OUT; +import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SHOULD_LAUNCH_RESULT_INTENT; +import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SKIP_EDUCATION_SCREENS; +import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SKIP_ENCRYPTION; +import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER; +import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SUPPORTED_MODES; import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_TRIGGER; +import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_USE_MOBILE_DATA; +import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_HIDDEN; +import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_PROXY_PORT; import static android.app.admin.DevicePolicyManager.MIME_TYPE_PROVISIONING_NFC; import static android.app.admin.DevicePolicyManager.PROVISIONING_TRIGGER_NFC; import static android.nfc.NfcAdapter.EXTRA_NDEF_MESSAGES; @@ -44,6 +60,8 @@ import android.util.Log; import java.io.IOException; import java.io.StringReader; import java.util.Enumeration; +import java.util.HashMap; +import java.util.Map; import java.util.Properties; import java.util.Set; @@ -52,6 +70,8 @@ import java.util.Set; */ final class ProvisioningIntentHelper { + private static final Map<String, Class> EXTRAS_TO_CLASS_MAP = createExtrasToClassMap(); + private static final String TAG = "ProvisioningIntentHelper"; /** @@ -124,12 +144,11 @@ final class ProvisioningIntentHelper { private static void addPropertyToBundle( String propertyName, Properties properties, Bundle bundle) { - if(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME.equals(propertyName)) { + if (EXTRAS_TO_CLASS_MAP.get(propertyName) == ComponentName.class) { ComponentName componentName = ComponentName.unflattenFromString( properties.getProperty(propertyName)); bundle.putParcelable(propertyName, componentName); - } else if (EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE.equals(propertyName) - || EXTRA_PROVISIONING_ROLE_HOLDER_EXTRAS_BUNDLE.equals(propertyName)) { + } else if (EXTRAS_TO_CLASS_MAP.get(propertyName) == PersistableBundle.class) { try { bundle.putParcelable(propertyName, deserializeExtrasBundle(properties, propertyName)); @@ -137,6 +156,13 @@ final class ProvisioningIntentHelper { Log.e(TAG, "Failed to parse " + propertyName + ".", e); } + } else if (EXTRAS_TO_CLASS_MAP.get(propertyName) == Boolean.class) { + bundle.putBoolean(propertyName, + Boolean.parseBoolean(properties.getProperty(propertyName))); + } else if (EXTRAS_TO_CLASS_MAP.get(propertyName) == Long.class) { + bundle.putLong(propertyName, Long.parseLong(properties.getProperty(propertyName))); + } else if (EXTRAS_TO_CLASS_MAP.get(propertyName) == Integer.class) { + bundle.putInt(propertyName, Integer.parseInt(properties.getProperty(propertyName))); } else { bundle.putString(propertyName, properties.getProperty(propertyName)); @@ -213,4 +239,61 @@ final class ProvisioningIntentHelper { Log.i(TAG, "No compatible records found on nfcIntent"); return null; } + + private static Map<String, Class> createExtrasToClassMap() { + Map<String, Class> map = new HashMap<>(); + for (String extra : getBooleanExtras()) { + map.put(extra, Boolean.class); + } + for (String extra : getLongExtras()) { + map.put(extra, Long.class); + } + for (String extra : getIntExtras()) { + map.put(extra, Integer.class); + } + for (String extra : getComponentNameExtras()) { + map.put(extra, ComponentName.class); + } + for (String extra : getPersistableBundleExtras()) { + map.put(extra, PersistableBundle.class); + } + return map; + } + + private static Set<String> getPersistableBundleExtras() { + return Set.of( + EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE, + EXTRA_PROVISIONING_ROLE_HOLDER_EXTRAS_BUNDLE); + } + + private static Set<String> getComponentNameExtras() { + return Set.of(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME); + } + + private static Set<String> getIntExtras() { + return Set.of( + EXTRA_PROVISIONING_WIFI_PROXY_PORT, + EXTRA_PROVISIONING_DEVICE_ADMIN_MINIMUM_VERSION_CODE, + EXTRA_PROVISIONING_SUPPORTED_MODES); + } + + private static Set<String> getLongExtras() { + return Set.of(EXTRA_PROVISIONING_LOCAL_TIME); + } + + private static Set<String> getBooleanExtras() { + return Set.of( + EXTRA_PROVISIONING_ALLOW_OFFLINE, + EXTRA_PROVISIONING_SHOULD_LAUNCH_RESULT_INTENT, + EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION, + EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED, + EXTRA_PROVISIONING_WIFI_HIDDEN, + EXTRA_PROVISIONING_SENSORS_PERMISSION_GRANT_OPT_OUT, + EXTRA_PROVISIONING_SKIP_ENCRYPTION, + EXTRA_PROVISIONING_SKIP_EDUCATION_SCREENS, + EXTRA_PROVISIONING_USE_MOBILE_DATA, + EXTRA_PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER, + EXTRA_PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE, + EXTRA_PROVISIONING_KEEP_SCREEN_ON); + } } diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index a50ff3841da9..7a88a057fb77 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -3259,7 +3259,7 @@ public class Intent implements Parcelable, Cloneable { /** - * Broadcast Action: Sent when the current battery level changes. + * Broadcast Action: Sent when the current battery level or plug type changes. * * It has {@link android.os.BatteryManager#EXTRA_EVENTS} that carries a list of {@link Bundle} * instances representing individual battery level changes with associated diff --git a/core/java/android/service/appprediction/AppPredictionService.java b/core/java/android/service/appprediction/AppPredictionService.java index 2d8aee567010..4f37cd91b11f 100644 --- a/core/java/android/service/appprediction/AppPredictionService.java +++ b/core/java/android/service/appprediction/AppPredictionService.java @@ -224,17 +224,16 @@ public abstract class AppPredictionService extends Service { } final CallbackWrapper wrapper = findCallbackWrapper(callbacks, callback); - if (wrapper != null) { - removeCallbackWrapper(callbacks, wrapper); - } + removeCallbackWrapper(callbacks, wrapper); } - private void removeCallbackWrapper( - ArrayList<CallbackWrapper> callbacks, CallbackWrapper wrapper) { - if (callbacks == null) { + private void removeCallbackWrapper(@Nullable ArrayList<CallbackWrapper> callbacks, + @Nullable CallbackWrapper wrapper) { + if (callbacks == null || wrapper == null) { return; } callbacks.remove(wrapper); + wrapper.destroy(); if (callbacks.isEmpty()) { onStopPredictionUpdates(); } @@ -264,7 +263,8 @@ public abstract class AppPredictionService extends Service { public abstract void onRequestPredictionUpdate(@NonNull AppPredictionSessionId sessionId); private void doDestroyPredictionSession(@NonNull AppPredictionSessionId sessionId) { - mSessionCallbacks.remove(sessionId); + final ArrayList<CallbackWrapper> callbacks = mSessionCallbacks.remove(sessionId); + if (callbacks != null) callbacks.forEach(CallbackWrapper::destroy); onDestroyPredictionSession(sessionId); } @@ -314,10 +314,12 @@ public abstract class AppPredictionService extends Service { @Nullable Consumer<CallbackWrapper> onBinderDied) { mCallback = callback; mOnBinderDied = onBinderDied; - try { - mCallback.asBinder().linkToDeath(this, 0); - } catch (RemoteException e) { - Slog.e(TAG, "Failed to link to death: " + e); + if (mOnBinderDied != null) { + try { + mCallback.asBinder().linkToDeath(this, 0); + } catch (RemoteException e) { + Slog.e(TAG, "Failed to link to death: " + e); + } } } @@ -329,6 +331,12 @@ public abstract class AppPredictionService extends Service { return mCallback.equals(callback); } + public void destroy() { + if (mCallback != null && mOnBinderDied != null) { + mCallback.asBinder().unlinkToDeath(this, 0); + } + } + @Override public void accept(List<AppTarget> ts) { try { @@ -342,6 +350,7 @@ public abstract class AppPredictionService extends Service { @Override public void binderDied() { + destroy(); mCallback = null; if (mOnBinderDied != null) { mOnBinderDied.accept(this); diff --git a/core/java/android/service/dreams/DreamActivity.java b/core/java/android/service/dreams/DreamActivity.java index cf4e6a6da96e..bf64d06d4ff0 100644 --- a/core/java/android/service/dreams/DreamActivity.java +++ b/core/java/android/service/dreams/DreamActivity.java @@ -58,8 +58,9 @@ public class DreamActivity extends Activity { setTitle(title); } - DreamService.DreamServiceWrapper callback = - (DreamService.DreamServiceWrapper) getIntent().getIBinderExtra(EXTRA_CALLBACK); + final Bundle extras = getIntent().getExtras(); + final DreamService.DreamActivityCallback callback = + (DreamService.DreamActivityCallback) extras.getBinder(EXTRA_CALLBACK); if (callback != null) { callback.onActivityCreated(this); diff --git a/core/java/android/service/dreams/DreamService.java b/core/java/android/service/dreams/DreamService.java index 47fc120c9d4f..5217b28942f8 100644 --- a/core/java/android/service/dreams/DreamService.java +++ b/core/java/android/service/dreams/DreamService.java @@ -36,6 +36,7 @@ import android.content.pm.ServiceInfo; import android.content.res.TypedArray; import android.content.res.XmlResourceParser; import android.graphics.drawable.Drawable; +import android.os.Binder; import android.os.Build; import android.os.Handler; import android.os.IBinder; @@ -1272,7 +1273,7 @@ public class DreamService extends Service implements Window.Callback { Intent i = new Intent(this, DreamActivity.class); i.setPackage(getApplicationContext().getPackageName()); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - i.putExtra(DreamActivity.EXTRA_CALLBACK, mDreamServiceWrapper); + i.putExtra(DreamActivity.EXTRA_CALLBACK, new DreamActivityCallback(mDreamToken)); final ServiceInfo serviceInfo = fetchServiceInfo(this, new ComponentName(this, getClass())); i.putExtra(DreamActivity.EXTRA_DREAM_TITLE, fetchDreamLabel(this, serviceInfo)); @@ -1452,11 +1453,36 @@ public class DreamService extends Service implements Window.Callback { public void wakeUp() { mHandler.post(() -> DreamService.this.wakeUp(true /*fromSystem*/)); } + } + + /** @hide */ + final class DreamActivityCallback extends Binder { + private final IBinder mActivityDreamToken; + + DreamActivityCallback(IBinder token) { + mActivityDreamToken = token; + } + + void onActivityCreated(DreamActivity activity) { + if (mActivityDreamToken != mDreamToken || mFinished) { + Slog.d(TAG, "DreamActivity was created after the dream was finished or " + + "a new dream started, finishing DreamActivity"); + if (!activity.isFinishing()) { + activity.finishAndRemoveTask(); + } + return; + } + if (mActivity != null) { + Slog.w(TAG, "A DreamActivity has already been started, " + + "finishing latest DreamActivity"); + if (!activity.isFinishing()) { + activity.finishAndRemoveTask(); + } + return; + } - /** @hide */ - void onActivityCreated(DreamActivity a) { - mActivity = a; - onWindowCreated(a.getWindow()); + mActivity = activity; + onWindowCreated(activity.getWindow()); } } diff --git a/core/java/android/service/smartspace/SmartspaceService.java b/core/java/android/service/smartspace/SmartspaceService.java index b903fbeb035c..3a148dffe6d6 100644 --- a/core/java/android/service/smartspace/SmartspaceService.java +++ b/core/java/android/service/smartspace/SmartspaceService.java @@ -202,9 +202,7 @@ public abstract class SmartspaceService extends Service { } final CallbackWrapper wrapper = findCallbackWrapper(callbacks, callback); - if (wrapper != null) { - removeCallbackWrapper(callbacks, wrapper); - } + removeCallbackWrapper(callbacks, wrapper); } private void doRequestPredictionUpdate(@NonNull SmartspaceSessionId sessionId) { @@ -231,12 +229,13 @@ public abstract class SmartspaceService extends Service { return null; } - private void removeCallbackWrapper( - ArrayList<CallbackWrapper> callbacks, CallbackWrapper wrapper) { - if (callbacks == null) { + private void removeCallbackWrapper(@Nullable ArrayList<CallbackWrapper> callbacks, + @Nullable CallbackWrapper wrapper) { + if (callbacks == null || wrapper == null) { return; } callbacks.remove(wrapper); + wrapper.destroy(); } /** @@ -249,7 +248,9 @@ public abstract class SmartspaceService extends Service { Log.d(TAG, "doDestroy mSessionCallbacks: " + mSessionCallbacks); } super.onDestroy(); - mSessionCallbacks.remove(sessionId); + + final ArrayList<CallbackWrapper> callbacks = mSessionCallbacks.remove(sessionId); + if (callbacks != null) callbacks.forEach(CallbackWrapper::destroy); onDestroySmartspaceSession(sessionId); } @@ -287,10 +288,12 @@ public abstract class SmartspaceService extends Service { @Nullable Consumer<CallbackWrapper> onBinderDied) { mCallback = callback; mOnBinderDied = onBinderDied; - try { - mCallback.asBinder().linkToDeath(this, 0); - } catch (RemoteException e) { - Slog.e(TAG, "Failed to link to death: " + e); + if (mOnBinderDied != null) { + try { + mCallback.asBinder().linkToDeath(this, 0); + } catch (RemoteException e) { + Slog.e(TAG, "Failed to link to death: " + e); + } } } @@ -317,9 +320,15 @@ public abstract class SmartspaceService extends Service { } } + public void destroy() { + if (mCallback != null && mOnBinderDied != null) { + mCallback.asBinder().unlinkToDeath(this, 0); + } + } + @Override public void binderDied() { - mCallback.asBinder().unlinkToDeath(this, 0); + destroy(); mCallback = null; if (mOnBinderDied != null) { mOnBinderDied.accept(this); diff --git a/core/java/android/view/IWindowManager.aidl b/core/java/android/view/IWindowManager.aidl index c83869c9ee68..fb562d8e97db 100644 --- a/core/java/android/view/IWindowManager.aidl +++ b/core/java/android/view/IWindowManager.aidl @@ -32,7 +32,6 @@ import android.graphics.Region; import android.os.Bundle; import android.os.IRemoteCallback; import android.os.ParcelFileDescriptor; -import android.view.ContentRecordingSession; import android.view.DisplayCutout; import android.view.DisplayInfo; import android.view.IAppTransitionAnimationSpecsFuture; @@ -874,17 +873,6 @@ interface IWindowManager void detachWindowContextFromWindowContainer(IBinder clientToken); /** - * Updates the content recording session. If a different session is already in progress, then - * the pre-existing session is stopped, and the new incoming session takes over. - * - * The DisplayContent for the new session will begin recording when - * {@link RootWindowContainer#onDisplayChanged} is invoked for the new {@link VirtualDisplay}. - * - * @param incomingSession the nullable incoming content recording session - */ - void setContentRecordingSession(in ContentRecordingSession incomingSession); - - /** * Registers a listener, which is to be called whenever cross-window blur is enabled/disabled. * * @param listener the listener to be registered diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 38ca2481726b..90497e7adbf7 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -4781,9 +4781,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, @UnsupportedAppUsage ListenerInfo mListenerInfo; - private boolean mPreferKeepClearForFocus; - private Runnable mMarkPreferKeepClearForFocus; - private static class TooltipInfo { /** * Text to be displayed in a tooltip popup. @@ -11962,8 +11959,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback, @NonNull List<Rect> collectPreferKeepClearRects() { ListenerInfo info = mListenerInfo; - boolean keepBoundsClear = - (info != null && info.mPreferKeepClear) || mPreferKeepClearForFocus; + boolean keepClearForFocus = isFocused() + && ViewConfiguration.get(mContext).isPreferKeepClearForFocusEnabled(); + boolean keepBoundsClear = (info != null && info.mPreferKeepClear) || keepClearForFocus; boolean hasCustomKeepClearRects = info != null && info.mKeepClearRects != null; if (!keepBoundsClear && !hasCustomKeepClearRects) { @@ -11985,33 +11983,12 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } private void updatePreferKeepClearForFocus() { - if (mMarkPreferKeepClearForFocus != null) { - removeCallbacks(mMarkPreferKeepClearForFocus); - mMarkPreferKeepClearForFocus = null; - } - - final ViewConfiguration configuration = ViewConfiguration.get(mContext); - final int delay = configuration.getPreferKeepClearForFocusDelay(); - if (delay >= 0) { - mMarkPreferKeepClearForFocus = () -> { - mPreferKeepClearForFocus = isFocused(); - mMarkPreferKeepClearForFocus = null; - - updatePositionUpdateListener(); - post(this::updateKeepClearRects); - }; - postDelayed(mMarkPreferKeepClearForFocus, delay); + if (ViewConfiguration.get(mContext).isPreferKeepClearForFocusEnabled()) { + updatePositionUpdateListener(); + post(this::updateKeepClearRects); } } - private void cancelMarkPreferKeepClearForFocus() { - if (mMarkPreferKeepClearForFocus != null) { - removeCallbacks(mMarkPreferKeepClearForFocus); - mMarkPreferKeepClearForFocus = null; - } - mPreferKeepClearForFocus = false; - } - /** * Retrieve the list of unrestricted areas within this view's post-layout coordinate space * which the system will try to not cover with other floating elements, like the pip window. @@ -13754,7 +13731,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } invalidate(); sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED); - updatePreferKeepClearForFocus(); return true; } return false; @@ -21154,7 +21130,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, removePerformClickCallback(); clearAccessibilityThrottles(); stopNestedScroll(); - cancelMarkPreferKeepClearForFocus(); // Anything that started animating right before detach should already // be in its final state when re-attached. diff --git a/core/java/android/view/ViewConfiguration.java b/core/java/android/view/ViewConfiguration.java index ebc409e470e9..638b8f9f9b40 100644 --- a/core/java/android/view/ViewConfiguration.java +++ b/core/java/android/view/ViewConfiguration.java @@ -347,7 +347,7 @@ public class ViewConfiguration { private final long mScreenshotChordKeyTimeout; private final int mSmartSelectionInitializedTimeout; private final int mSmartSelectionInitializingTimeout; - private final int mPreferKeepClearForFocusDelay; + private final boolean mPreferKeepClearForFocusEnabled; @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 123768915) private boolean sHasPermanentMenuKey; @@ -393,7 +393,7 @@ public class ViewConfiguration { mMinScalingSpan = 0; mSmartSelectionInitializedTimeout = SMART_SELECTION_INITIALIZED_TIMEOUT_IN_MILLISECOND; mSmartSelectionInitializingTimeout = SMART_SELECTION_INITIALIZING_TIMEOUT_IN_MILLISECOND; - mPreferKeepClearForFocusDelay = -1; + mPreferKeepClearForFocusEnabled = false; } /** @@ -508,8 +508,8 @@ public class ViewConfiguration { com.android.internal.R.integer.config_smartSelectionInitializedTimeoutMillis); mSmartSelectionInitializingTimeout = res.getInteger( com.android.internal.R.integer.config_smartSelectionInitializingTimeoutMillis); - mPreferKeepClearForFocusDelay = res.getInteger( - com.android.internal.R.integer.config_preferKeepClearForFocusDelayMillis); + mPreferKeepClearForFocusEnabled = res.getBoolean( + com.android.internal.R.bool.config_preferKeepClearForFocus); } /** @@ -1100,13 +1100,13 @@ public class ViewConfiguration { } /** - * @return The delay in milliseconds before focused Views set themselves as preferred to keep - * clear, or -1 if Views should not set themselves as preferred to keep clear. + * @return {@code true} if Views should set themselves as preferred to keep clear when focused, + * {@code false} otherwise. * @hide */ @TestApi - public int getPreferKeepClearForFocusDelay() { - return mPreferKeepClearForFocusDelay; + public boolean isPreferKeepClearForFocusEnabled() { + return mPreferKeepClearForFocusEnabled; } /** diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index eabc13ad5ab0..127c7b7a8dc9 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -222,7 +222,6 @@ import java.io.StringWriter; import java.lang.ref.WeakReference; import java.util.ArrayDeque; import java.util.ArrayList; -import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Objects; @@ -800,8 +799,7 @@ public final class ViewRootImpl implements ViewParent, new ViewRootRectTracker(v -> v.collectPreferKeepClearRects()); private final ViewRootRectTracker mUnrestrictedKeepClearRectsTracker = new ViewRootRectTracker(v -> v.collectUnrestrictedPreferKeepClearRects()); - private List<Rect> mPendingKeepClearAreas; - private List<Rect> mPendingUnrestrictedKeepClearAreas; + private boolean mHasPendingKeepClearAreaChange; private IAccessibilityEmbeddedConnection mAccessibilityEmbeddedConnection; @@ -4819,45 +4817,31 @@ public final class ViewRootImpl implements ViewParent, } void keepClearRectsChanged() { - List<Rect> restrictedKeepClearRects = mKeepClearRectsTracker.computeChangedRects(); - List<Rect> unrestrictedKeepClearRects = - mUnrestrictedKeepClearRectsTracker.computeChangedRects(); - if ((restrictedKeepClearRects != null || unrestrictedKeepClearRects != null) - && mView != null) { - if (restrictedKeepClearRects == null) { - restrictedKeepClearRects = Collections.emptyList(); - } - if (unrestrictedKeepClearRects == null) { - unrestrictedKeepClearRects = Collections.emptyList(); - } + boolean restrictedKeepClearRectsChanged = mKeepClearRectsTracker.computeChanges(); + boolean unrestrictedKeepClearRectsChanged = + mUnrestrictedKeepClearRectsTracker.computeChanges(); - if (mHandler.hasMessages(MSG_REPORT_KEEP_CLEAR_RECTS)) { - // Keep clear areas have been reported recently, wait before reporting new set - // of keep clear areas - mPendingKeepClearAreas = restrictedKeepClearRects; - mPendingUnrestrictedKeepClearAreas = unrestrictedKeepClearRects; - } else { + if ((restrictedKeepClearRectsChanged || unrestrictedKeepClearRectsChanged) + && mView != null) { + mHasPendingKeepClearAreaChange = true; + // Only report keep clear areas immediately if they have not been reported recently + if (!mHandler.hasMessages(MSG_REPORT_KEEP_CLEAR_RECTS)) { mHandler.sendEmptyMessageDelayed(MSG_REPORT_KEEP_CLEAR_RECTS, KEEP_CLEAR_AREA_REPORT_RATE_MILLIS); - try { - mWindowSession.reportKeepClearAreasChanged(mWindow, restrictedKeepClearRects, - unrestrictedKeepClearRects); - } catch (RemoteException e) { - throw e.rethrowFromSystemServer(); - } + reportKeepClearAreasChanged(); } } } void reportKeepClearAreasChanged() { - final List<Rect> restrictedKeepClearRects = mPendingKeepClearAreas; - final List<Rect> unrestrictedKeepClearRects = mPendingUnrestrictedKeepClearAreas; - if (restrictedKeepClearRects == null && unrestrictedKeepClearRects == null) { + if (!mHasPendingKeepClearAreaChange) { return; } + mHasPendingKeepClearAreaChange = false; - mPendingKeepClearAreas = null; - mPendingUnrestrictedKeepClearAreas = null; + final List<Rect> restrictedKeepClearRects = mKeepClearRectsTracker.getLastComputedRects(); + final List<Rect> unrestrictedKeepClearRects = + mUnrestrictedKeepClearRectsTracker.getLastComputedRects(); try { mWindowSession.reportKeepClearAreasChanged(mWindow, restrictedKeepClearRects, diff --git a/core/java/android/view/ViewRootRectTracker.java b/core/java/android/view/ViewRootRectTracker.java index fd9cc1920b39..152729b8d1d8 100644 --- a/core/java/android/view/ViewRootRectTracker.java +++ b/core/java/android/view/ViewRootRectTracker.java @@ -73,10 +73,25 @@ class ViewRootRectTracker { } /** - * @return all visible rects from all views in the global (root) coordinate system + * @return all Rects from all visible Views in the global (root) coordinate system, + * or {@code null} if Rects are unchanged since the last call to this method. */ @Nullable public List<Rect> computeChangedRects() { + if (computeChanges()) { + return mRects; + } + return null; + } + + /** + * Computes changes to all Rects from all Views. + * After calling this method, the updated list of Rects can be retrieved + * with {@link #getLastComputedRects()}. + * + * @return {@code true} if there were changes, {@code false} otherwise. + */ + public boolean computeChanges() { boolean changed = mRootRectsChanged; final Iterator<ViewInfo> i = mViewInfos.iterator(); final List<Rect> rects = new ArrayList<>(mRootRects); @@ -100,10 +115,22 @@ class ViewRootRectTracker { mRootRectsChanged = false; if (!mRects.equals(rects)) { mRects = rects; - return rects; + return true; } } - return null; + return false; + } + + /** + * Returns a List of all Rects from all visible Views in the global (root) coordinate system. + * This list is only updated when calling {@link #computeChanges()} or + * {@link #computeChangedRects()}. + * + * @return all Rects from all visible Views in the global (root) coordinate system + */ + @NonNull + public List<Rect> getLastComputedRects() { + return mRects; } /** diff --git a/core/java/com/android/internal/jank/InteractionJankMonitor.java b/core/java/com/android/internal/jank/InteractionJankMonitor.java index 2dcc58564f82..65e7abf674c3 100644 --- a/core/java/com/android/internal/jank/InteractionJankMonitor.java +++ b/core/java/com/android/internal/jank/InteractionJankMonitor.java @@ -20,6 +20,7 @@ import static com.android.internal.jank.FrameTracker.REASON_CANCEL_NORMAL; import static com.android.internal.jank.FrameTracker.REASON_CANCEL_TIMEOUT; import static com.android.internal.jank.FrameTracker.REASON_END_NORMAL; import static com.android.internal.jank.FrameTracker.REASON_END_UNKNOWN; +import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__BIOMETRIC_PROMPT_TRANSITION; import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__LAUNCHER_ALL_APPS_SCROLL; import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__LAUNCHER_APP_CLOSE_TO_HOME; import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__LAUNCHER_APP_CLOSE_TO_PIP; @@ -46,6 +47,7 @@ import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_IN import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SCREEN_OFF_SHOW_AOD; import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SETTINGS_PAGE_SCROLL; import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SETTINGS_SLIDER; +import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SETTINGS_TOGGLE; import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SHADE_APP_LAUNCH; import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SHADE_APP_LAUNCH_FROM_HISTORY_BUTTON; import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SHADE_APP_LAUNCH_FROM_MEDIA_PLAYER; @@ -198,6 +200,8 @@ public class InteractionJankMonitor { public static final int CUJ_SETTINGS_SLIDER = 53; public static final int CUJ_TAKE_SCREENSHOT = 54; public static final int CUJ_VOLUME_CONTROL = 55; + public static final int CUJ_BIOMETRIC_PROMPT_TRANSITION = 56; + public static final int CUJ_SETTINGS_TOGGLE = 57; private static final int NO_STATSD_LOGGING = -1; @@ -262,6 +266,8 @@ public class InteractionJankMonitor { UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SETTINGS_SLIDER, UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__TAKE_SCREENSHOT, UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__VOLUME_CONTROL, + UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__BIOMETRIC_PROMPT_TRANSITION, + UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SETTINGS_TOGGLE, }; private static volatile InteractionJankMonitor sInstance; @@ -338,6 +344,8 @@ public class InteractionJankMonitor { CUJ_SETTINGS_SLIDER, CUJ_TAKE_SCREENSHOT, CUJ_VOLUME_CONTROL, + CUJ_BIOMETRIC_PROMPT_TRANSITION, + CUJ_SETTINGS_TOGGLE, }) @Retention(RetentionPolicy.SOURCE) public @interface CujType { @@ -768,6 +776,10 @@ public class InteractionJankMonitor { return "TAKE_SCREENSHOT"; case CUJ_VOLUME_CONTROL: return "VOLUME_CONTROL"; + case CUJ_BIOMETRIC_PROMPT_TRANSITION: + return "BIOMETRIC_PROMPT_TRANSITION"; + case CUJ_SETTINGS_TOGGLE: + return "SETTINGS_TOGGLE"; } return "UNKNOWN"; } diff --git a/core/java/com/android/internal/os/BatteryUsageStatsStore.java b/core/java/com/android/internal/os/BatteryUsageStatsStore.java index 09c9cfcd2e71..04f72c7d703d 100644 --- a/core/java/com/android/internal/os/BatteryUsageStatsStore.java +++ b/core/java/com/android/internal/os/BatteryUsageStatsStore.java @@ -320,4 +320,19 @@ public class BatteryUsageStatsStore { mFileSizes.remove(file); } } + + public void removeAllSnapshots() { + lockSnapshotDirectory(); + try { + for (File file : mStoreDir.listFiles()) { + if (file.getName().endsWith(SNAPSHOT_FILE_EXTENSION)) { + if (!file.delete()) { + Slog.e(TAG, "Cannot delete battery usage stats " + file); + } + } + } + } finally { + unlockSnapshotDirectory(); + } + } } diff --git a/core/jni/android_view_SurfaceControl.cpp b/core/jni/android_view_SurfaceControl.cpp index 4044c579a57f..f388fec2cd78 100644 --- a/core/jni/android_view_SurfaceControl.cpp +++ b/core/jni/android_view_SurfaceControl.cpp @@ -688,8 +688,11 @@ static void nativeSetBuffer(JNIEnv* env, jclass clazz, jlong transactionObj, jlo jobject bufferObject, jlong fencePtr, jobject releaseCallback) { auto transaction = reinterpret_cast<SurfaceComposerClient::Transaction*>(transactionObj); SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl*>(nativeObject); - sp<GraphicBuffer> graphicBuffer(GraphicBuffer::fromAHardwareBuffer( - android_hardware_HardwareBuffer_getNativeHardwareBuffer(env, bufferObject))); + sp<GraphicBuffer> graphicBuffer; + if (bufferObject != nullptr) { + graphicBuffer = GraphicBuffer::fromAHardwareBuffer( + android_hardware_HardwareBuffer_getNativeHardwareBuffer(env, bufferObject)); + } std::optional<sp<Fence>> optFence = std::nullopt; if (fencePtr != 0) { optFence = sp<Fence>{reinterpret_cast<Fence*>(fencePtr)}; diff --git a/core/proto/android/server/jobscheduler.proto b/core/proto/android/server/jobscheduler.proto index c4ff49cfbfaf..00127c134ce6 100644 --- a/core/proto/android/server/jobscheduler.proto +++ b/core/proto/android/server/jobscheduler.proto @@ -1073,6 +1073,7 @@ message JobStatusDumpProto { RARE = 3; NEVER = 4; RESTRICTED = 5; + EXEMPTED = 6; } optional Bucket standby_bucket = 17; optional bool is_exempted_from_app_standby = 27; diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 8db5f9a1f51b..e52da0fd6787 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -4495,10 +4495,10 @@ android:protectionLevel="signature|privileged"/> <!-- Allows applications to use exact alarm APIs. - <p>Exact alarms should only be used for user-facing features. - For more details, see <a - href="{@docRoot}about/versions/12/behavior-changes-12#exact-alarm-permission"> - Exact alarm permission</a>. + <p>This is a special access permission that can be revoked by the system or the user. + It should only be used to enable <b>user-facing features</b> that require exact alarms. + For more details, please go through the associated + <a href="{@docRoot}training/scheduling/alarms#exact">developer docs</a>. <p>Apps need to target API {@link android.os.Build.VERSION_CODES#S} or above to be able to request this permission. Note that apps targeting lower API levels do not need this permission to use exact alarm APIs. @@ -4509,6 +4509,7 @@ {@link android.Manifest.permission#USE_EXACT_ALARM} once it targets API {@link android.os.Build.VERSION_CODES#TIRAMISU}. All apps using exact alarms for secondary features (which should still be user facing) should continue using this permission. + <p>Protection level: appop --> <permission android:name="android.permission.SCHEDULE_EXACT_ALARM" android:protectionLevel="normal|appop"/> diff --git a/core/res/res/color/hint_foreground_material_dark.xml b/core/res/res/color/hint_foreground_material_dark.xml index 5cc955952524..66fcb041dd7a 100644 --- a/core/res/res/color/hint_foreground_material_dark.xml +++ b/core/res/res/color/hint_foreground_material_dark.xml @@ -15,10 +15,6 @@ --> <selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:state_enabled="true" - android:state_pressed="true" - android:alpha="@dimen/hint_pressed_alpha_material_dark" - android:color="@color/foreground_material_dark" /> - <item android:alpha="@dimen/hint_alpha_material_dark" + <item android:alpha="@dimen/secondary_content_alpha_material_dark" android:color="@color/foreground_material_dark" /> </selector> diff --git a/core/res/res/color/hint_foreground_material_light.xml b/core/res/res/color/hint_foreground_material_light.xml index f7465e0e5139..63dd3b0131ca 100644 --- a/core/res/res/color/hint_foreground_material_light.xml +++ b/core/res/res/color/hint_foreground_material_light.xml @@ -15,10 +15,6 @@ --> <selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:state_enabled="true" - android:state_pressed="true" - android:alpha="@dimen/hint_pressed_alpha_material_light" - android:color="@color/foreground_material_light" /> - <item android:alpha="@dimen/hint_alpha_material_light" + <item android:alpha="@dimen/secondary_content_alpha_material_light" android:color="@color/foreground_material_light" /> </selector> diff --git a/core/res/res/layout/autofill_fill_dialog.xml b/core/res/res/layout/autofill_fill_dialog.xml index e63876484073..ba27d9037926 100644 --- a/core/res/res/layout/autofill_fill_dialog.xml +++ b/core/res/res/layout/autofill_fill_dialog.xml @@ -62,18 +62,24 @@ android:layout_marginEnd="24dp" android:background="@drawable/autofill_dataset_picker_background"/> - <ListView - android:id="@+id/autofill_dialog_list" - android:layout_weight="1" + <LinearLayout android:layout_width="fill_parent" - android:layout_height="0dp" - android:drawSelectorOnTop="true" - android:clickable="true" - android:divider="?android:attr/listDivider" + android:layout_height="wrap_content" android:layout_marginStart="24dp" android:layout_marginEnd="24dp" - android:background="@drawable/autofill_dataset_picker_background" - android:visibility="gone"/> + android:theme="@style/Theme.DeviceDefault.AutofillHalfScreenDialogList" + android:orientation="vertical"> + <ListView + android:id="@+id/autofill_dialog_list" + android:layout_weight="1" + android:layout_width="fill_parent" + android:layout_height="0dp" + android:drawSelectorOnTop="true" + android:clickable="true" + android:divider="@drawable/list_divider_material" + android:background="@drawable/autofill_dataset_picker_background" + android:visibility="gone"/> + </LinearLayout> <com.android.internal.widget.ButtonBarLayout android:layout_width="match_parent" diff --git a/core/res/res/layout/autofill_save.xml b/core/res/res/layout/autofill_save.xml index 8a1a9c7a9083..49539cf19095 100644 --- a/core/res/res/layout/autofill_save.xml +++ b/core/res/res/layout/autofill_save.xml @@ -23,45 +23,38 @@ android:orientation="vertical"> <LinearLayout - xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/autofill_save" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/autofill_save_outer_top_margin" - android:paddingTop="@dimen/autofill_save_outer_top_padding" + android:layout_marginStart="24dp" + android:layout_marginEnd="24dp" android:elevation="@dimen/autofill_elevation" android:background="?android:attr/colorSurface" + android:gravity="center_horizontal" android:orientation="vertical"> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" - android:paddingStart="@dimen/autofill_save_inner_padding" - android:paddingEnd="@dimen/autofill_save_inner_padding" android:orientation="vertical"> - <LinearLayout + <ImageView + android:id="@+id/autofill_save_icon" + android:scaleType="fitStart" + android:layout_gravity="center" + android:layout_width="@dimen/autofill_save_icon_size" + android:layout_height="@dimen/autofill_save_icon_size"/> + + <TextView + android:id="@+id/autofill_save_title" android:layout_width="fill_parent" android:layout_height="wrap_content" - android:orientation="horizontal"> - - <ImageView - android:id="@+id/autofill_save_icon" - android:scaleType="fitStart" - android:layout_width="@dimen/autofill_save_icon_size" - android:layout_height="@dimen/autofill_save_icon_size"/> - - <TextView - android:id="@+id/autofill_save_title" - android:paddingStart="@dimen/autofill_save_title_start_padding" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:text="@string/autofill_save_title" - android:textAppearance="@style/TextAppearance.DeviceDefault.Subhead" - android:layout_weight="1"> - </TextView> - - </LinearLayout> + android:text="@string/autofill_save_title" + android:layout_marginTop="16dp" + android:gravity="center" + android:textAppearance="@style/AutofillSaveUiTitle"> + </TextView> <com.android.server.autofill.ui.CustomScrollView android:id="@+id/autofill_save_custom_subtitle" @@ -79,8 +72,6 @@ android:clipToPadding="false" android:layout_marginTop="32dp" android:layout_marginBottom="18dp" - android:layout_marginStart="24dp" - android:layout_marginEnd="24dp" android:theme="@style/Theme.DeviceDefault.AutofillHalfScreenDialogButton" android:orientation="horizontal"> 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 c88bc9282708..1a395b9fc30f 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 @@ -26,8 +26,7 @@ android:paddingLeft="24dp" android:paddingRight="24dp" android:paddingTop="24dp" - android:paddingBottom="24dp" - android:background="?attr/colorSurface"> + android:paddingBottom="24dp"> <ImageView android:id="@+id/log_access_image_view" @@ -37,8 +36,7 @@ android:src="@drawable/ic_doc_document" tools:layout_editor_absoluteX="148dp" tools:layout_editor_absoluteY="35dp" - android:gravity="center" - android:tint="?attr/colorAccentPrimaryVariant"/> + android:gravity="center" /> <TextView android:id="@+id/log_access_dialog_title" @@ -60,29 +58,35 @@ android:textColor="?android:attr/textColorPrimary" android:gravity="center" /> - <Button - android:id="@+id/log_access_dialog_allow_button" + <LinearLayout + android:orientation="vertical" android:layout_width="match_parent" - android:layout_height="match_parent" - android:text="@string/log_access_confirmation_allow" - style="@style/PermissionGrantButtonTop" - android:layout_marginBottom="5dp" - android:layout_centerHorizontal="true" - android:layout_alignParentTop="true" - android:layout_alignParentBottom="true" - android:clipToOutline="true" - android:gravity="center" /> - - <Button - android:id="@+id/log_access_dialog_deny_button" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:text="@string/log_access_confirmation_deny" - style="@style/PermissionGrantButtonBottom" - android:layout_centerHorizontal="true" - android:layout_alignParentTop="true" - android:layout_alignParentBottom="true" - android:clipToOutline="true" - android:gravity="center" /> + android:layout_height="wrap_content"> + <Button + android:id="@+id/log_access_dialog_allow_button" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="@string/log_access_confirmation_allow" + style="@style/PermissionGrantButtonTop" + android:textAppearance="@style/PermissionGrantButtonTextAppearance" + android:layout_marginBottom="5dp" + android:layout_centerHorizontal="true" + android:layout_alignParentTop="true" + android:layout_alignParentBottom="true" + android:clipToOutline="true" + android:gravity="center" /> + <Button + android:id="@+id/log_access_dialog_deny_button" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="@string/log_access_confirmation_deny" + style="@style/PermissionGrantButtonBottom" + android:textAppearance="@style/PermissionGrantButtonTextAppearance" + android:layout_centerHorizontal="true" + android:layout_alignParentTop="true" + android:layout_alignParentBottom="true" + android:clipToOutline="true" + android:gravity="center" /> + </LinearLayout> </LinearLayout>
\ No newline at end of file diff --git a/core/res/res/layout/search_view.xml b/core/res/res/layout/search_view.xml index 0c462fda9235..39034dc61620 100644 --- a/core/res/res/layout/search_view.xml +++ b/core/res/res/layout/search_view.xml @@ -96,8 +96,8 @@ android:id="@+id/search_close_btn" android:layout_width="wrap_content" android:layout_height="match_parent" - android:paddingStart="8dip" - android:paddingEnd="8dip" + android:paddingStart="12dip" + android:paddingEnd="12dip" android:layout_gravity="center_vertical" android:background="?attr/selectableItemBackgroundBorderless" android:focusable="true" diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml index 29b29164b15b..4370acd379c1 100644 --- a/core/res/res/values-af/strings.xml +++ b/core/res/res/values-af/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"by jou kalender in te gaan"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS-boodskappe te stuur en te bekyk"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Lêers en dokumente"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"kry toegang tot lêers en dokumente op jou toestel"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Lêers"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"kry toegang tot lêers op jou toestel"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Musiek en oudio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"kry toegang tot musiek en oudio op jou toestel"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Foto\'s en video\'s"</string> diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml index cdaeae019336..8c6db331798f 100644 --- a/core/res/res/values-am/strings.xml +++ b/core/res/res/values-am/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"የእርስዎን ቀን መቁጠሪያ ይድረሱበት"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"ኤስኤምኤስ"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"የኤስኤምኤስ መልዕክቶችን ይላኩና ይመልከቱ"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"ፋይሎች እና ሰነዶች"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"ፋይሎች እና ሰነዶች ዘንድ በመሳሪያዎ ላይ ይድረሱ"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"ፋይሎች"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"በመሣሪያዎ ላይ የሚገኙ ፋይሎች መዳረሻ"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"ሙዚቃ እና ኦዲዮ"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"በመሣሪያዎ ላይ ሙዚቃን እና ኦዲዮን መድረስ"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"ፎቶዎች እና ቪዲዮዎች"</string> diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml index 995b683a5b3b..4d04edca73d6 100644 --- a/core/res/res/values-ar/strings.xml +++ b/core/res/res/values-ar/strings.xml @@ -221,7 +221,7 @@ <string name="turn_on_radio" msgid="2961717788170634233">"تفعيل اللاسلكي"</string> <string name="turn_off_radio" msgid="7222573978109933360">"إيقاف الشبكة اللاسلكية"</string> <string name="screen_lock" msgid="2072642720826409809">"قفل الشاشة"</string> - <string name="power_off" msgid="4111692782492232778">"إيقاف التشغيل"</string> + <string name="power_off" msgid="4111692782492232778">"إطفاء"</string> <string name="silent_mode_silent" msgid="5079789070221150912">"إيقاف الرنين"</string> <string name="silent_mode_vibrate" msgid="8821830448369552678">"اهتزاز الرنين"</string> <string name="silent_mode_ring" msgid="6039011004781526678">"تشغيل الرنين"</string> @@ -245,7 +245,7 @@ <string name="global_actions" product="tv" msgid="3871763739487450369">"خيارات Android TV"</string> <string name="global_actions" product="default" msgid="6410072189971495460">"خيارات الهاتف"</string> <string name="global_action_lock" msgid="6949357274257655383">"قفل الشاشة"</string> - <string name="global_action_power_off" msgid="4404936470711393203">"إيقاف التشغيل"</string> + <string name="global_action_power_off" msgid="4404936470711393203">"إطفاء"</string> <string name="global_action_power_options" msgid="1185286119330160073">"التشغيل"</string> <string name="global_action_restart" msgid="4678451019561687074">"إعادة التشغيل"</string> <string name="global_action_emergency" msgid="1387617624177105088">"الطوارئ"</string> @@ -309,8 +309,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"الوصول إلى تقويمك"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"إرسال رسائل قصيرة SMS وعرضها"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"الملفات والمستندات"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"الوصول إلى الملفات والمستندات على جهازك"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"الملفات"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"الوصول إلى الملفات على جهازك"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"الموسيقى والمقاطع الصوتية"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"تسمح فئة أذونات التطبيق هذه بالوصول إلى الموسيقى والمقاطع الصوتية على جهازك."</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"الصور والفيديوهات"</string> @@ -1685,9 +1685,9 @@ <string name="accessibility_enable_service_title" msgid="3931558336268541484">"هل تريد السماح لخدمة <xliff:g id="SERVICE">%1$s</xliff:g> بالتحكّم الكامل في جهازك؟"</string> <string name="accessibility_service_warning_description" msgid="291674995220940133">"إنّ التحكّم الكامل ليس ملائمًا لمعظم التطبيقات، باستثناء التطبيقات المعنية بسهولة الاستخدام."</string> <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"قراءة محتوى الشاشة والتحكم به"</string> - <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"يمكنها قراءة كل المحتوى على الشاشة وعرض المحتوى عبر تطبيقات أخرى."</string> + <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"يمكنها قراءة كل المحتوى على الشاشة وعرض المحتوى فوق تطبيقات أخرى."</string> <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"عرض الإجراءات وتنفيذها"</string> - <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"يمكنها تتبّع تعاملاتك مع تطبيق أو جهاز استشعار والتفاعل مع التطبيقات نيابةً عنك."</string> + <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"يمكنها تتبّع تفاعلاتك مع تطبيق أو جهاز استشعار والتفاعل مع التطبيقات نيابةً عنك."</string> <string name="accessibility_dialog_button_allow" msgid="2092558122987144530">"سماح"</string> <string name="accessibility_dialog_button_deny" msgid="4129575637812472671">"رفض"</string> <string name="accessibility_select_shortcut_menu_title" msgid="6002726538854613272">"انقر على ميزة لبدء استخدامها:"</string> diff --git a/core/res/res/values-as/strings.xml b/core/res/res/values-as/strings.xml index 0d23f5001aa0..09c1870feb40 100644 --- a/core/res/res/values-as/strings.xml +++ b/core/res/res/values-as/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"আপোনাৰ কেলেণ্ডাৰ ব্যৱহাৰ কৰিব পাৰে"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"এছএমএছ"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"এছএমএছ বার্তা পঠিয়াব আৰু চাব পাৰে"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"ফাইল আৰু নথি"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"আপোনাৰ ডিভাইচত থকা ফাইল আৰু নথি এক্সেছ কৰে"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"ফাইল"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"আপোনাৰ ডিভাইচত থকা ফাইল এক্সেছ কৰা"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"সংগীত আৰু অডিঅ’"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"আপোনাৰ ডিভাইচত সংগীত আৰু অডিঅ’ এক্সেছ কৰক"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"ফট’ আৰু ভিডিঅ’"</string> diff --git a/core/res/res/values-az/strings.xml b/core/res/res/values-az/strings.xml index 380fc7360bc0..862ef3cc93b7 100644 --- a/core/res/res/values-az/strings.xml +++ b/core/res/res/values-az/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"təqvimə daxil olun"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"göndərin və SMS mesajlarına baxın"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Fayllar və sənədlər"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"cihazınızda fayllara və sənədlərə giriş"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Fayllar"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"cihazınızda fayllara giriş"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Musiqi və audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"cihazınızdakı musiqi və audioya giriş"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Foto və videolar"</string> diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml index 2ee10f9e74c6..4b51f2cc0630 100644 --- a/core/res/res/values-b+sr+Latn/strings.xml +++ b/core/res/res/values-b+sr+Latn/strings.xml @@ -306,8 +306,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"pristupi 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="5570124978732352858">"Fajlovi i dokumenti"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"pristupanje fajlovima i dokumentima na uređaju"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Fajlovi"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"pristup fajlovima na uređaju"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Muzika i zvuk"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"pristup muzici i audio sadržaju na uređaju"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Slike i video snimci"</string> diff --git a/core/res/res/values-be/strings.xml b/core/res/res/values-be/strings.xml index 0cfd3ff3451e..3daea4b6896d 100644 --- a/core/res/res/values-be/strings.xml +++ b/core/res/res/values-be/strings.xml @@ -307,8 +307,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"атрымліваць доступ да вашага календара"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"адпраўляць і праглядаць SMS-паведамленні"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Файлы і дакументы"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"доступ да файлаў і дакументаў на вашай прыладзе"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Файлы"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"доступ да файлаў на вашай прыладзе"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Музыка і аўдыя"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"доступ да музыкі і аўдыя на вашай прыладзе"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Фота і відэа"</string> diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml index d88fd233c350..a8de53abd886 100644 --- a/core/res/res/values-bg/strings.xml +++ b/core/res/res/values-bg/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"има достъп до календара ви"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"да изпраща и преглежда SMS съобщения"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Файлове и документи"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"достъп до файловете и документите на устройството ви"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Файлове"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"достъп до файловете на устройството ви"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Музика и аудио"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"достъп до музиката и аудиото на устройството ви"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Снимки и видеоклипове"</string> diff --git a/core/res/res/values-bn/strings.xml b/core/res/res/values-bn/strings.xml index b82ea648b5b5..c2a55f690d2c 100644 --- a/core/res/res/values-bn/strings.xml +++ b/core/res/res/values-bn/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"আপনার ক্যালেন্ডারে অ্যাক্সেস"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"এসএমএসগুলি পাঠাতে এবং দেখতে"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"ফাইল এবং ডকুমেন্ট"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"আপনার ডিভাইসে ফাইল ও ডকুমেন্ট অ্যাক্সেস করুন"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"ফাইল"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"আপনার ডিভাইসে ফাইল অ্যাক্সেস করবে"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"মিউজিক এবং অডিও"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"আপনার ডিভাইসে মিউজিক এবং অডিও অ্যাক্সেস করুন"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"ফটো এবং ভিডিও"</string> diff --git a/core/res/res/values-bs/strings.xml b/core/res/res/values-bs/strings.xml index c2f25f7e1bd9..0f524b4fc89e 100644 --- a/core/res/res/values-bs/strings.xml +++ b/core/res/res/values-bs/strings.xml @@ -306,9 +306,9 @@ <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="5570124978732352858">"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="1858331312624942053">"Muzika i zvuk"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Fajlovi"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"pristup fajlovima na vašem uređaju"</string> + <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Muzika i audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"pristupanje muzici i zvuku na vašem uređaju"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotografije i videozapisi"</string> <string name="permgroupdesc_readMediaVisual" msgid="4080463241903508688">"pristupanje fotografijama i videozapisima na vašem uređaju"</string> @@ -1381,7 +1381,7 @@ <string name="select_input_method" msgid="3971267998568587025">"Odaberite način unosa"</string> <string name="show_ime" msgid="6406112007347443383">"Prikaži na ekranu dok je fizička tastatura aktivna"</string> <string name="hardware" msgid="1800597768237606953">"Prikaz virtuelne tastature"</string> - <string name="select_keyboard_layout_notification_title" msgid="4427643867639774118">"Konfiguriraj fizičku tastaturu"</string> + <string name="select_keyboard_layout_notification_title" msgid="4427643867639774118">"Konfigurirajte fizičku tastaturu"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Dodirnite za odabir jezika i rasporeda"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1682,7 +1682,7 @@ <string name="accessibility_enable_service_title" msgid="3931558336268541484">"Dozvoliti da usluga <xliff:g id="SERVICE">%1$s</xliff:g> ima punu kontrolu nad vašim uređajem?"</string> <string name="accessibility_service_warning_description" msgid="291674995220940133">"Puna kontrola je prikladna za aplikacije koje vam pomažu kod potreba pristupačnosti, ali nije za većinu aplikacija."</string> <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"Prikaz i kontrola ekrana"</string> - <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"Može čitati sav sadržaj na ekranu i prikazivati sadržaj u drugim aplikacijama."</string> + <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"Može čitati sav sadržaj na ekranu i prikazivati sadržaj preko drugih aplikacija."</string> <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"Prikaz i izvršavanje radnji"</string> <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"Može pratiti vaše interakcije s aplikacijom ili hardverskim senzorom te ostvariti interakciju s aplikacijama umjesto vas."</string> <string name="accessibility_dialog_button_allow" msgid="2092558122987144530">"Dozvoli"</string> diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml index 876e6ec03ffa..501ca1d4430b 100644 --- a/core/res/res/values-ca/strings.xml +++ b/core/res/res/values-ca/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"accedir al calendari"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"enviar i llegir missatges SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Fitxers i documents"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"accedir als fitxers i documents del dispositiu"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Fitxers"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"accedir als fitxers del dispositiu"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Música i àudio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"accedir a la música i l\'àudio del dispositiu"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotos i vídeos"</string> diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml index 0f6ef5d12775..f86e783f6b1d 100644 --- a/core/res/res/values-cs/strings.xml +++ b/core/res/res/values-cs/strings.xml @@ -307,8 +307,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"přístup ke kalendáři"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"odesílání a zobrazování zpráv SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Soubory a dokumenty"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"přístup k souborům a dokumentům v zařízení"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Soubory"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"přístup k souborům v zařízení"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Hudba a zvuk"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"přístup k hudbě a zvuku v zařízení"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotky a videa"</string> diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml index 85107549f78e..4fb375269b46 100644 --- a/core/res/res/values-da/strings.xml +++ b/core/res/res/values-da/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"have adgang til din kalender"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"Sms"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"sende og se sms-beskeder"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Filer og dokumenter"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"få adgang til filer og dokumenter på din enhed"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Filer"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"få adgang til filer på din enhed"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Musik og lyd"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"adgang til musik og lyd på din enhed"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Billeder og videoer"</string> diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml index e70e1cf4ceb0..a3be5f0b1bca 100644 --- a/core/res/res/values-de/strings.xml +++ b/core/res/res/values-de/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"auf deinen Kalender zugreifen"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS senden und abrufen"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Dateien und Dokumente"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"Auf Dateien und Dokumente auf deinem Gerät zugreifen"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Dateien"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"auf Dateien auf deinem Gerät zugreifen"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Musik und Audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"Zugriff auf Musik und Audio auf deinem Gerät"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotos und Videos"</string> diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml index 29a7030e9e8c..118b63b340dd 100644 --- a/core/res/res/values-el/strings.xml +++ b/core/res/res/values-el/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"έχει πρόσβαση στο ημερολόγιό σας"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"στέλνει και να διαβάζει μηνύματα SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Αρχεία και έγγραφα"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"πρόσβαση σε αρχεία και έγγραφα στη συσκευή σας"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Αρχεία"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"πρόσβαση στα αρχεία της συσκευής σας"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Μουσική και ήχος"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"πρόσβαση στη μουσική και σε αρχεία ήχου στη συσκευή σας"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Φωτογραφίες και βίντεο"</string> diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml index 80f9dc1a2562..4e1c415db7a9 100644 --- a/core/res/res/values-en-rAU/strings.xml +++ b/core/res/res/values-en-rAU/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"access your calendar"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"send and view SMS messages"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Files and documents"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"access files and documents on your device"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Files"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"access files on your device"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Music and audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"access music and audio on your device"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Photos and videos"</string> diff --git a/core/res/res/values-en-rCA/strings.xml b/core/res/res/values-en-rCA/strings.xml index feff3ee96c86..84f18810c9e8 100644 --- a/core/res/res/values-en-rCA/strings.xml +++ b/core/res/res/values-en-rCA/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"access your calendar"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"send and view SMS messages"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Files and documents"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"access files and documents on your device"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Files"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"access files on your device"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Music and audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"access music and audio on your device"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Photos and videos"</string> diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml index b346bd8daf3d..606dc80308e2 100644 --- a/core/res/res/values-en-rGB/strings.xml +++ b/core/res/res/values-en-rGB/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"access your calendar"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"send and view SMS messages"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Files and documents"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"access files and documents on your device"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Files"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"access files on your device"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Music and audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"access music and audio on your device"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Photos and videos"</string> diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml index 2b6d4ae27ba9..399034380a9b 100644 --- a/core/res/res/values-en-rIN/strings.xml +++ b/core/res/res/values-en-rIN/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"access your calendar"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"send and view SMS messages"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Files and documents"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"access files and documents on your device"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Files"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"access files on your device"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Music and audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"access music and audio on your device"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Photos and videos"</string> diff --git a/core/res/res/values-en-rXC/strings.xml b/core/res/res/values-en-rXC/strings.xml index f3d8243637e8..b8aca7344ac3 100644 --- a/core/res/res/values-en-rXC/strings.xml +++ b/core/res/res/values-en-rXC/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"access your calendar"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"send and view SMS messages"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Files and documents"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"access files and documents on your device"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Files"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"access files on your device"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Music and audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"access music and audio on your device"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Photos and videos"</string> diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml index d9d6ecb40813..82cb7b4f3cce 100644 --- a/core/res/res/values-es-rUS/strings.xml +++ b/core/res/res/values-es-rUS/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"acceder al calendario"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"enviar y ver mensajes SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Archivos y documentos"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"Accede a archivos y documentos en tu dispositivo"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Archivos"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"acceder a archivos de tu dispositivo"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Música y audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"acceder a música y audio de tu dispositivo"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotos y videos"</string> @@ -1356,7 +1356,7 @@ <string name="usb_unsupported_audio_accessory_title" msgid="2335775548086533065">"Se detectó un accesorio de audio analógico"</string> <string name="usb_unsupported_audio_accessory_message" msgid="1300168007129796621">"El dispositivo adjunto no es compatible con este teléfono. Presiona para obtener más información."</string> <string name="adb_active_notification_title" msgid="408390247354560331">"Depuración por USB conectada"</string> - <string name="adb_active_notification_message" msgid="5617264033476778211">"Presiona para desactivar la depuración por USB"</string> + <string name="adb_active_notification_message" msgid="5617264033476778211">"Presiona para desactivar"</string> <string name="adb_active_notification_message" product="tv" msgid="6624498401272780855">"Seleccionar para desactivar la depuración por USB"</string> <string name="adbwifi_active_notification_title" msgid="6147343659168302473">"Se conectó la depuración inalámbrica"</string> <string name="adbwifi_active_notification_message" msgid="930987922852867972">"Presiona para desactivar la depuración inalámbrica"</string> @@ -1378,7 +1378,7 @@ <string name="share_remote_bugreport_action" msgid="7630880678785123682">"COMPARTIR"</string> <string name="decline_remote_bugreport_action" msgid="4040894777519784346">"RECHAZAR"</string> <string name="select_input_method" msgid="3971267998568587025">"Selecciona el método de entrada"</string> - <string name="show_ime" msgid="6406112007347443383">"Mantener en la pantalla cuando el teclado físico está activo"</string> + <string name="show_ime" msgid="6406112007347443383">"Mientras el teclado físico está activo"</string> <string name="hardware" msgid="1800597768237606953">"Mostrar teclado virtual"</string> <string name="select_keyboard_layout_notification_title" msgid="4427643867639774118">"Configura el teclado físico"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Presiona para seleccionar el idioma y el diseño"</string> diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml index 030d0345cb77..c44c9e9a7991 100644 --- a/core/res/res/values-es/strings.xml +++ b/core/res/res/values-es/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"acceder a tu calendario"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"enviar y ver mensajes SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Archivos y documentos"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"acceder a archivos y documentos de tu dispositivo"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Archivos"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"acceder a archivos de tu dispositivo"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Música y audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"acceder a música y audio de tu dispositivo"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotos y vídeos"</string> @@ -546,8 +546,8 @@ <string name="permdesc_bluetooth_advertise" product="default" msgid="6085174451034210183">"Permite que la aplicación emita a dispositivos Bluetooth cercanos"</string> <string name="permlab_uwb_ranging" msgid="8141915781475770665">"calcular posición de dispositivos de banda ultraancha cercanos"</string> <string name="permdesc_uwb_ranging" msgid="2519723069604307055">"Permite que la aplicación determine la posición relativa de los dispositivos de banda ultraancha cercanos"</string> - <string name="permlab_nearby_wifi_devices" msgid="392774237063608500">"Interactuar con dispositivos Wi-Fi cercanos"</string> - <string name="permdesc_nearby_wifi_devices" msgid="3054307728646332906">"Permite a la aplicación mostrar, conectar y determinar la posición relativa de dispositivos Wi-Fi cercanos"</string> + <string name="permlab_nearby_wifi_devices" msgid="392774237063608500">"interactuar con dispositivos Wi-Fi cercanos"</string> + <string name="permdesc_nearby_wifi_devices" msgid="3054307728646332906">"Permite a la aplicación emitir y conectarse a dispositivos Wi-Fi cercanos y determinar su posición relativa"</string> <string name="permlab_preferredPaymentInfo" msgid="5274423844767445054">"Información sobre el servicio de pago por NFC preferido"</string> <string name="permdesc_preferredPaymentInfo" msgid="8583552469807294967">"Permite que la aplicación obtenga información sobre el servicio de pago por NFC preferido, como identificadores de aplicación registrados y destinos de rutas."</string> <string name="permlab_nfc" msgid="1904455246837674977">"controlar Comunicación de campo cercano (NFC)"</string> @@ -1380,7 +1380,7 @@ <string name="select_input_method" msgid="3971267998568587025">"Selecciona un método de entrada"</string> <string name="show_ime" msgid="6406112007347443383">"Mientras el teclado físico está activo"</string> <string name="hardware" msgid="1800597768237606953">"Mostrar teclado virtual"</string> - <string name="select_keyboard_layout_notification_title" msgid="4427643867639774118">"Configura el teclado físico"</string> + <string name="select_keyboard_layout_notification_title" msgid="4427643867639774118">"Configurar el teclado físico"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Toca para seleccionar el idioma y el diseño"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1687,7 +1687,7 @@ <string name="accessibility_dialog_button_allow" msgid="2092558122987144530">"Permitir"</string> <string name="accessibility_dialog_button_deny" msgid="4129575637812472671">"Denegar"</string> <string name="accessibility_select_shortcut_menu_title" msgid="6002726538854613272">"Toca una función para empezar a usarla:"</string> - <string name="accessibility_edit_shortcut_menu_button_title" msgid="239446795930436325">"Selecciona qué funciones usar con el botón Accesibilidad"</string> + <string name="accessibility_edit_shortcut_menu_button_title" msgid="239446795930436325">"Selecciona qué funciones usar con el botón de accesibilidad"</string> <string name="accessibility_edit_shortcut_menu_volume_title" msgid="1077294237378645981">"Selecciona qué funciones usar con la tecla de volumen"</string> <string name="accessibility_uncheck_legacy_item_warning" msgid="8047830891064817447">"Se ha desactivado <xliff:g id="SERVICE_NAME">%s</xliff:g>"</string> <string name="edit_accessibility_shortcut_menu_button" msgid="8885752738733772935">"Editar accesos directos"</string> @@ -1701,10 +1701,10 @@ <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Al mantener pulsadas las teclas de volumen, se ha activado <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Se han mantenido pulsadas las teclas de volumen. Se ha desactivado <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> <string name="accessibility_shortcut_spoken_feedback" msgid="4228997042855695090">"Para utilizar <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, mantén pulsadas ambas teclas de volumen durante 3 segundos"</string> - <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Selecciona la función que se utilizará cuando toques el botón Accesibilidad:"</string> + <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Selecciona la función que se utilizará cuando toques el botón de accesibilidad:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Elige la función que se utilizará con el gesto de accesibilidad (deslizar dos dedos hacia arriba desde la parte inferior de la pantalla):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Elige la función que se utilizará con el gesto de accesibilidad (deslizar tres dedos hacia arriba desde la parte inferior de la pantalla):"</string> - <string name="accessibility_button_instructional_text" msgid="8853928358872550500">"Para cambiar de una función a otra, mantén pulsado el botón Accesibilidad."</string> + <string name="accessibility_button_instructional_text" msgid="8853928358872550500">"Para cambiar de una función a otra, mantén pulsado el botón de accesibilidad."</string> <string name="accessibility_gesture_instructional_text" msgid="9196230728837090497">"Para cambiar de una función a otra, desliza hacia arriba con dos dedos y mantén pulsada la pantalla."</string> <string name="accessibility_gesture_3finger_instructional_text" msgid="3425123684990193765">"Para cambiar de una función a otra, desliza tres dedos hacia arriba y mantén pulsada la pantalla."</string> <string name="accessibility_magnification_chooser_text" msgid="1502075582164931596">"Ampliación"</string> @@ -1918,7 +1918,7 @@ <string name="language_selection_title" msgid="52674936078683285">"Añadir un idioma"</string> <string name="country_selection_title" msgid="5221495687299014379">"Preferencia de región"</string> <string name="search_language_hint" msgid="7004225294308793583">"Nombre de idioma"</string> - <string name="language_picker_section_suggested" msgid="6556199184638990447">"Sugerido"</string> + <string name="language_picker_section_suggested" msgid="6556199184638990447">"Sugeridos"</string> <string name="language_picker_section_all" msgid="1985809075777564284">"Todos los idiomas"</string> <string name="region_picker_section_all" msgid="756441309928774155">"Todas las regiones"</string> <string name="locale_search_menu" msgid="6258090710176422934">"Buscar"</string> diff --git a/core/res/res/values-et/strings.xml b/core/res/res/values-et/strings.xml index 40b01a28d5a9..ec5e203234ab 100644 --- a/core/res/res/values-et/strings.xml +++ b/core/res/res/values-et/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"juurdepääs kalendrile"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"saata ja vaadata SMS-sõnumeid"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Failid ja dokumendid"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"juurdepääs teie seadmes olevatele failidele ja dokumentidele"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Failid"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"juurdepääs teie seadmes olevatele failidele"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Muusika ja heli"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"teie seadmes muusikale ja helile juurdepääsemine"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotod ja videod"</string> diff --git a/core/res/res/values-eu/strings.xml b/core/res/res/values-eu/strings.xml index 72fc72bdea94..608368b5270e 100644 --- a/core/res/res/values-eu/strings.xml +++ b/core/res/res/values-eu/strings.xml @@ -305,11 +305,11 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"atzitu egutegia"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMSak"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"bidali eta ikusi SMS mezuak"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"fitxategiak eta dokumentuak"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"gailuko fitxategiak eta dokumentuak atzitu"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Fitxategiak"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"gailuko fitxategiak atzitu"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"musika eta audioa"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"atzitu gailuko musika eta audioak"</string> - <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"argazkiak eta bideoak"</string> + <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Argazkiak eta bideoak"</string> <string name="permgroupdesc_readMediaVisual" msgid="4080463241903508688">"atzitu gailuko argazkiak eta bideoak"</string> <string name="permgrouplab_microphone" msgid="2480597427667420076">"Mikrofonoa"</string> <string name="permgroupdesc_microphone" msgid="1047786732792487722">"grabatu audioa"</string> diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml index 6bb2f38762ae..8cf7e8ad6920 100644 --- a/core/res/res/values-fa/strings.xml +++ b/core/res/res/values-fa/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"دسترسی به تقویم شما"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"پیامک"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"ارسال و مشاهده پیامکها"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"فایلها و سندها"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"دسترسی به فایلها و اسناد موجود در دستگاه"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"فایلها"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"دسترسی به فایلهای دستگاه"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"موسیقی و صدا"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"دسترسی به موسیقی و صدا در دستگاه شما"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"عکسها و ویدیوها"</string> @@ -1241,7 +1241,7 @@ <string name="android_preparing_apk" msgid="589736917792300956">"آمادهسازی <xliff:g id="APPNAME">%1$s</xliff:g>."</string> <string name="android_upgrading_starting_apps" msgid="6206161195076057075">"درحال آغاز کردن برنامهها."</string> <string name="android_upgrading_complete" msgid="409800058018374746">"درحال اتمام راهاندازی."</string> - <string name="fp_power_button_enrollment_title" msgid="3574363228413259548">"راهاندازی ادامه یابد؟"</string> + <string name="fp_power_button_enrollment_title" msgid="3574363228413259548">"ادامه راهاندازی؟"</string> <string name="fp_power_button_enrollment_message" msgid="5648173517663246140">"دکمه روشن/ خاموش را فشار دادید — این کار معمولاً صفحهنمایش را خاموش میکند.\n\nهنگام راهاندازی اثر انگشت، آرام ضربه بزنید."</string> <string name="fp_power_button_enrollment_positive_button" msgid="2095415838459356833">"خاموش کردن صفحه"</string> <string name="fp_power_button_enrollment_negative_button" msgid="6558436406362486747">"ادامه راهاندازی"</string> diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml index 6322456c5052..11524b20e655 100644 --- a/core/res/res/values-fi/strings.xml +++ b/core/res/res/values-fi/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"käyttää kalenteria"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"Tekstiviestit"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"lähettää ja tarkastella tekstiviestejä"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Tiedostot ja dokumentit"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"pääsyn laitteesi tiedostoihin ja dokumentteihin"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Tiedostot"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"pääsy laitteen tiedostoihin"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Musiikki ja audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"pääsy laitteen musiikkiin ja audioon"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Valokuvat ja videot"</string> diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml index d1b0e9244f44..f52b9147d9cf 100644 --- a/core/res/res/values-fr-rCA/strings.xml +++ b/core/res/res/values-fr-rCA/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"accéder à votre agenda"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"Messagerie texte"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"envoyer et afficher des messages texte"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Fichiers et documents"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"accédez aux fichiers et aux documents sur votre appareil"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Fichiers"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"accéder aux fichiers sur votre appareil"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Musique et audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"accédez aux fichiers musicaux et audio sur votre appareil"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Photos et vidéos"</string> @@ -1356,7 +1356,7 @@ <string name="usb_unsupported_audio_accessory_title" msgid="2335775548086533065">"Un accessoire audio analogique a été détecté"</string> <string name="usb_unsupported_audio_accessory_message" msgid="1300168007129796621">"L\'appareil connecté n\'est pas compatible avec ce téléphone. Touchez ici en savoir plus."</string> <string name="adb_active_notification_title" msgid="408390247354560331">"Débogage USB activé"</string> - <string name="adb_active_notification_message" msgid="5617264033476778211">"Touchez ici pour désactiver le débogage USB"</string> + <string name="adb_active_notification_message" msgid="5617264033476778211">"Touchez pour désactiver le débogage USB"</string> <string name="adb_active_notification_message" product="tv" msgid="6624498401272780855">"Sélectionnez cette option pour désactiver le débogage USB."</string> <string name="adbwifi_active_notification_title" msgid="6147343659168302473">"Débogage sans fil connecté"</string> <string name="adbwifi_active_notification_message" msgid="930987922852867972">"Touchez l\'écran pour désactiver le débogage sans fil"</string> @@ -1678,12 +1678,12 @@ <string name="accessibility_shortcut_off" msgid="3651336255403648739">"Ne pas activer"</string> <string name="accessibility_shortcut_menu_item_status_on" msgid="6608392117189732543">"ACTIVÉ"</string> <string name="accessibility_shortcut_menu_item_status_off" msgid="5531598275559472393">"DÉSACTIVÉ"</string> - <string name="accessibility_enable_service_title" msgid="3931558336268541484">"Permettre à <xliff:g id="SERVICE">%1$s</xliff:g> de commander complètement votre appareil?"</string> + <string name="accessibility_enable_service_title" msgid="3931558336268541484">"Permettre à <xliff:g id="SERVICE">%1$s</xliff:g> de contrôler complètement votre appareil?"</string> <string name="accessibility_service_warning_description" msgid="291674995220940133">"Le contrôle total convient aux applications qui répondent à vos besoins d\'accessibilité. Il ne convient pas à la plupart des applications."</string> - <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"Afficher et commander l\'écran"</string> + <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"Afficher et contrôler l\'écran"</string> <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"Cette fonctionnalité peut lire tout le contenu à l\'écran et afficher du contenu par-dessus d\'autres applications."</string> <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"Afficher et effectuer des actions"</string> - <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"Cette fonctionnalité peut faire le suivi de vos interactions avec une application ou un capteur matériel, et interagir avec des applications en votre nom."</string> + <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"Cette fonctionnalité peut faire le suivi de vos interactions avec une application ou un capteur matériel et interagir avec des applications en votre nom."</string> <string name="accessibility_dialog_button_allow" msgid="2092558122987144530">"Autoriser"</string> <string name="accessibility_dialog_button_deny" msgid="4129575637812472671">"Refuser"</string> <string name="accessibility_select_shortcut_menu_title" msgid="6002726538854613272">"Toucher une fonctionnalité pour commencer à l\'utiliser :"</string> diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml index a1949d06ee8e..06813e6c9ea3 100644 --- a/core/res/res/values-fr/strings.xml +++ b/core/res/res/values-fr/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"accéder à votre agenda"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"envoyer et consulter des SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Fichiers et documents"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"accéder aux fichiers et documents sur votre appareil"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Fichiers"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"accéder aux fichiers de votre appareil"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Musique et audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"accéder aux contenus musicaux et audio sur votre appareil"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Photos et vidéos"</string> @@ -2052,8 +2052,8 @@ <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> - <string name="review_notification_settings_title" msgid="5102557424459810820">"Consulter les paramètres de notification"</string> - <string name="review_notification_settings_text" msgid="5916244866751849279">"À partir d\'Android 13, les applis que vous installez ont besoin de votre autorisation pour vous envoyer des notifications. Appuyez pour modifier cette autorisation pour les applis déjà installées."</string> + <string name="review_notification_settings_title" msgid="5102557424459810820">"Vérifiez les paramètres de notification"</string> + <string name="review_notification_settings_text" msgid="5916244866751849279">"À partir d\'Android 13, les applications que vous installez ont besoin de votre autorisation pour envoyer des notifications. Appuyez pour modifier cette autorisation pour les applications déjà installées."</string> <string name="review_notification_settings_remind_me_action" msgid="1081081018678480907">"Plus tard"</string> <string name="review_notification_settings_dismiss" msgid="4160916504616428294">"Fermer"</string> <string name="notification_app_name_system" msgid="3045196791746735601">"Système"</string> diff --git a/core/res/res/values-gl/strings.xml b/core/res/res/values-gl/strings.xml index 3399413bc563..c118efb9b3ea 100644 --- a/core/res/res/values-gl/strings.xml +++ b/core/res/res/values-gl/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"acceder ao teu calendario"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"enviar e consultar mensaxes de SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Ficheiros e documentos"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"acceder a ficheiros e documentos do dispositivo"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Ficheiros"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"acceder a ficheiros no teu dispositivo"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Música e audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"acceder a música e audio do dispositivo"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotos e vídeos"</string> diff --git a/core/res/res/values-gu/strings.xml b/core/res/res/values-gu/strings.xml index 6d9adea3beca..9aa166f9f88c 100644 --- a/core/res/res/values-gu/strings.xml +++ b/core/res/res/values-gu/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"તમારા કેલેન્ડરને ઍક્સેસ કરવાની"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS સંદેશા મોકલવાની અને જોવાની"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"ફાઇલો અને દસ્તાવેજો"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"તમારા ડિવાઇસ પર ફાઇલો અને દસ્તાવેજો ઍક્સેસ કરો"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"ફાઇલો"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"તમારા ડિવાઇસ પરની ફાઇલો ઍક્સેસ કરો"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"મ્યુઝિક અને ઑડિયો"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"તમારા ડિવાઇસ પર મ્યુઝિક અને ઑડિયો ઍક્સેસ કરવા માટે"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"ફોટા અને વીડિયો"</string> diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml index 09139bb0fd34..d8aaa51c4448 100644 --- a/core/res/res/values-hi/strings.xml +++ b/core/res/res/values-hi/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"अपने कैलेंडर को ऐक्सेस करें"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"मैसेज (एसएमएस)"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"मैसेज (एसएमएस) भेजें और देखें"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"फ़ाइलों और दस्तावेज़ों को ऐक्सेस करने की अनुमति"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"अपने डिवाइस पर मौजूद फ़ाइलें और दस्तावेज़ ऐक्सेस करने की अनुमति दें"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"फ़ाइलें"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"अपने डिवाइस में मौजूद फ़ाइलों का ऐक्सेस दें"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"संगीत और ऑडियो को ऐक्सेस करने की अनुमति"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"आपके डिवाइस पर संगीत और ऑडियो को ऐक्सेस करने की अनुमति"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"फ़ोटो और वीडियो को ऐक्सेस करने की अनुमति"</string> diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml index 6921fe7468c4..b0bc0b73da1c 100644 --- a/core/res/res/values-hr/strings.xml +++ b/core/res/res/values-hr/strings.xml @@ -306,8 +306,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"pristupati kalendaru"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"slati i pregledavati SMS poruke"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Datoteke i dokumenti"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"pristup datotekama i dokumentima na vašem uređaju"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Datoteke"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"pristupati datotekama na vašem uređaju"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Glazba i zvuk"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"pristupite glazbi i zvuku na svom uređaju"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotografije i videozapisi"</string> diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml index 8bb3fe5ccdb1..8a0b1ff55db4 100644 --- a/core/res/res/values-hu/strings.xml +++ b/core/res/res/values-hu/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"hozzáférés a naptárhoz"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS-ek küldése és megtekintése"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Fájlok és dokumentumok"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"hozzáférhet fájljaihoz és dokumentumaihoz az eszközén"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Fájlok"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"hozzáférés az eszközön lévő fájlokhoz"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Zene és hang"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"hozzáférés a zenékhez és más hanganyagokhoz az eszközön"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotók és videók"</string> diff --git a/core/res/res/values-hy/strings.xml b/core/res/res/values-hy/strings.xml index 6a948775cc1c..01d937586686 100644 --- a/core/res/res/values-hy/strings.xml +++ b/core/res/res/values-hy/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"օգտագործել օրացույցը"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"ուղարկել և դիտել SMS-ները"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Ֆայլեր և փաստաթղթեր"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"սարքի ֆայլերի և փաստաթղթերի օգտագործման թույլտվություն"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Ֆայլեր"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"սարքի ֆայլերի օգտագործման թույլտվություն"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Երաժշտություն և աուդիո"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"սարքի երաժշտության և աուդիո ֆայլերի հասանելիություն"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Լուսանկարներ և տեսանյութեր"</string> @@ -1682,7 +1682,7 @@ <string name="accessibility_service_warning_description" msgid="291674995220940133">"Ամբողջական վերահսկումն անհրաժեշտ է միայն այն հավելվածներին, որոնք օգնում են ձեզ հատուկ գործառույթներից օգտվելիս։"</string> <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"Դիտել և կառավարել էկրանը"</string> <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"Կարող է կարդալ էկրանի ողջ բովանդակությունը և ցուցադրել բովանդակություն այլ հավելվածների վրայից։"</string> - <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"Դիտել և համակարգել գործողությունները"</string> + <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"Դիտել և կատարել գործողությունները"</string> <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"Կարող է հետագծել ձեր գործողությունները հավելվածներում և սարքակազմի սենսորների վրա, ինչպես նաև հավելվածներում կատարել գործողություններ ձեր անունից։"</string> <string name="accessibility_dialog_button_allow" msgid="2092558122987144530">"Թույլատրել"</string> <string name="accessibility_dialog_button_deny" msgid="4129575637812472671">"Մերժել"</string> diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml index 30a0fdbea088..314f6e22380d 100644 --- a/core/res/res/values-in/strings.xml +++ b/core/res/res/values-in/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"mengakses kalender"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"mengirim dan melihat pesan SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"File dan dokumen"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"mengakses file dan dokumen di perangkat Anda"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"File"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"mengakses file di perangkat Anda"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Musik dan audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"mengakses musik dan audio di perangkat Anda"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Foto dan video"</string> @@ -1378,7 +1378,7 @@ <string name="share_remote_bugreport_action" msgid="7630880678785123682">"BAGIKAN"</string> <string name="decline_remote_bugreport_action" msgid="4040894777519784346">"TOLAK"</string> <string name="select_input_method" msgid="3971267998568587025">"Pilih metode masukan"</string> - <string name="show_ime" msgid="6406112007347443383">"Pertahankan di layar jika keyboard fisik masih aktif"</string> + <string name="show_ime" msgid="6406112007347443383">"Biarkan di layar meski keyboard fisik aktif"</string> <string name="hardware" msgid="1800597768237606953">"Tampilkan keyboard virtual"</string> <string name="select_keyboard_layout_notification_title" msgid="4427643867639774118">"Mengonfigurasi keyboard fisik"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Ketuk untuk memilih bahasa dan tata letak"</string> diff --git a/core/res/res/values-is/strings.xml b/core/res/res/values-is/strings.xml index eff420fe175a..4346b6323de0 100644 --- a/core/res/res/values-is/strings.xml +++ b/core/res/res/values-is/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"fá aðgang að dagatalinu þínu"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"senda og skoða SMS-skilaboð"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Skrár og skjöl"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"fá aðgang að skrám og skjölum í tækinu þínu"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Skrár"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"fá aðgang að skrám í tækinu þínu"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Tónlist og hljóð"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"fáðu aðgang að tónlist og hljóði í tækinu þínu"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Myndir og myndskeið"</string> @@ -1683,7 +1683,7 @@ <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"Skoða og stjórna skjá"</string> <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"Það getur lesið allt efni á skjánum og birt efni yfir öðrum forritum."</string> <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"Skoða og framkvæma aðgerðir"</string> - <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"Það getur fylgst með samskiptum þínum við forrit eða skynjara vélbúnaðar, og haft samskipti við forrit fyrir þína hönd."</string> + <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"Það getur fylgst með samskiptum þínum við forrit eða skynjara vélbúnaðar og haft samskipti við forrit fyrir þína hönd."</string> <string name="accessibility_dialog_button_allow" msgid="2092558122987144530">"Leyfa"</string> <string name="accessibility_dialog_button_deny" msgid="4129575637812472671">"Hafna"</string> <string name="accessibility_select_shortcut_menu_title" msgid="6002726538854613272">"Ýttu á eiginleika til að byrja að nota hann:"</string> diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml index c050c46fa8d6..bdc813c6cad9 100644 --- a/core/res/res/values-it/strings.xml +++ b/core/res/res/values-it/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"Possono accedere al calendario"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"Possono inviare e visualizzare SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"File e documenti"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"Consente di accedere a file e documenti sul tuo dispositivo"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"File"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"Consente di accedere ai file sul tuo dispositivo"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Musica e audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"accesso a musica e audio sul tuo dispositivo"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Foto e video"</string> diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml index c7ecd4be3be8..5b43fe921666 100644 --- a/core/res/res/values-iw/strings.xml +++ b/core/res/res/values-iw/strings.xml @@ -307,8 +307,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"גישה אל היומן"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"שליחה והצגה של הודעות SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"קבצים ומסמכים"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"גישה לקבצים ולמסמכים במכשיר"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"קבצים"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"גישה לקבצים במכשיר שלך"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"מוזיקה ואודיו"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"גישה למוזיקה ולאודיו במכשיר"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"תמונות וסרטונים"</string> @@ -1714,7 +1714,7 @@ <string name="user_switching_message" msgid="1912993630661332336">"מעבר אל <xliff:g id="NAME">%1$s</xliff:g>…"</string> <string name="user_logging_out_message" msgid="7216437629179710359">"מתבצע ניתוק של <xliff:g id="NAME">%1$s</xliff:g>…"</string> <string name="owner_name" msgid="8713560351570795743">"בעלים"</string> - <string name="guest_name" msgid="8502103277839834324">"אורח/ת"</string> + <string name="guest_name" msgid="8502103277839834324">"אורח"</string> <string name="error_message_title" msgid="4082495589294631966">"שגיאה"</string> <string name="error_message_change_not_allowed" msgid="843159705042381454">"מנהל המערכת שלך לא מאפשר את השינוי הזה"</string> <string name="app_not_found" msgid="3429506115332341800">"לא נמצאה אפליקציה שתומכת בפעולה הזו"</string> diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml index 9c5d7be4ad0c..9c9d9cfcab0f 100644 --- a/core/res/res/values-ja/strings.xml +++ b/core/res/res/values-ja/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"カレンダーへのアクセス"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMSメッセージの送信と表示"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"ファイルとドキュメント"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"デバイス内のファイルやドキュメントへのアクセス"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"ファイル"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"デバイス内のファイルにアクセス"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"音楽とオーディオ"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"デバイス上の音楽とオーディオにアクセスする"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"写真と動画"</string> @@ -1681,7 +1681,7 @@ <string name="accessibility_enable_service_title" msgid="3931558336268541484">"<xliff:g id="SERVICE">%1$s</xliff:g> にデバイスのフル コントロールを許可しますか?"</string> <string name="accessibility_service_warning_description" msgid="291674995220940133">"フル コントロールは、ユーザー補助機能が必要な場合には適していますが、その他の多くのアプリには不要です。"</string> <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"画面の表示と操作"</string> - <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"画面上のすべてのコンテンツを読み取り、他のアプリでコンテンツを表示することができます。"</string> + <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"画面上のすべてのコンテンツを読み取り、他のアプリ上にコンテンツを表示することができます。"</string> <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"操作の表示と実行"</string> <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"アプリやハードウェア センサーの操作を記録したり、自動的にアプリを操作したりできます。"</string> <string name="accessibility_dialog_button_allow" msgid="2092558122987144530">"許可"</string> @@ -1826,7 +1826,7 @@ <string name="restr_pin_confirm_pin" msgid="7143161971614944989">"新しいPINの確認"</string> <string name="restr_pin_create_pin" msgid="917067613896366033">"制限を変更するためのPINを作成してください"</string> <string name="restr_pin_error_doesnt_match" msgid="7063392698489280556">"PIN が一致しません。もう一度お試しください。"</string> - <string name="restr_pin_error_too_short" msgid="1547007808237941065">"PINが短すぎます。4桁以上で作成してください。"</string> + <string name="restr_pin_error_too_short" msgid="1547007808237941065">"PINが短すぎます。4桁以上で設定してください。"</string> <string name="restr_pin_try_later" msgid="5897719962541636727">"しばらくしてから再試行"</string> <string name="immersive_cling_title" msgid="2307034298721541791">"全画面表示"</string> <string name="immersive_cling_description" msgid="7092737175345204832">"終了するには、上から下にスワイプします。"</string> diff --git a/core/res/res/values-ka/strings.xml b/core/res/res/values-ka/strings.xml index 10d9ffd8bc91..08ac1847157e 100644 --- a/core/res/res/values-ka/strings.xml +++ b/core/res/res/values-ka/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"თქვენს კალენდარზე წვდომა"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS შეტყობინებების გაგზავნა და ნახვა"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"ფაილები და დოკუმენტები"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"თქვენს მოწყობილობაზე ფაილებსა და დოკუმენტებზე წვდომა"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"ფაილები"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"ფაილებზე წვდომა თქვენს მოწყობილობაში"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"მუსიკა და აუდიო"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"იქონიეთ წვდომა მუსიკასა და აუდიოზე თქვენს მოწყობილობაზე"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"ფოტოები და ვიდეოები"</string> diff --git a/core/res/res/values-kk/strings.xml b/core/res/res/values-kk/strings.xml index 8e32407b2d44..a763f3f28d67 100644 --- a/core/res/res/values-kk/strings.xml +++ b/core/res/res/values-kk/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"күнтізбеге кіру"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS хабарларын жіберу және көру"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Файлдар мен құжаттар"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"құрылғыдағы файлдар мен құжаттарды пайдалану"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Файлдар"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"құрылғыңыздағы файлдарды пайдалану"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Музыка және аудио"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"құрылғыдағы музыка мен аудиомазмұнды пайдалану рұқсаты"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Фотосуреттер мен бейнелер"</string> diff --git a/core/res/res/values-km/strings.xml b/core/res/res/values-km/strings.xml index e6b8bce9a4a2..6501755889f6 100644 --- a/core/res/res/values-km/strings.xml +++ b/core/res/res/values-km/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"ចូលប្រើប្រិតិទិនរបស់អ្នក"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"សារ SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"ផ្ញើ និងមើលសារ SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"ឯកសារ"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"ចូលប្រើឯកសារនៅលើឧបករណ៍របស់អ្នក"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"ឯកសារ"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"ចូលប្រើប្រាស់ឯកសារនៅលើឧបករណ៍របស់អ្នក"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"តន្រ្តី និងសំឡេង"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"ចូលប្រើតន្ត្រី និងសំឡេងនៅលើឧបករណ៍របស់អ្នក"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"រូបថត និងវីដេអូ"</string> @@ -1380,7 +1380,7 @@ <string name="select_input_method" msgid="3971267998568587025">"ជ្រើសវិធីសាស្ត្របញ្ចូល"</string> <string name="show_ime" msgid="6406112007347443383">"ទុកវានៅលើអេក្រង់ខណៈពេលក្តារចុចពិតប្រាកដកំពុងសកម្ម"</string> <string name="hardware" msgid="1800597768237606953">"បង្ហាញក្ដារចុចនិម្មិត"</string> - <string name="select_keyboard_layout_notification_title" msgid="4427643867639774118">"កំណត់រចនាសម្ព័ន្ធក្តារចុចពិតប្រាកដ"</string> + <string name="select_keyboard_layout_notification_title" msgid="4427643867639774118">"កំណត់រចនាសម្ព័ន្ធក្តារចុចរូបវន្ត"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"ប៉ះដើម្បីជ្រើសភាសា និងប្លង់"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1681,7 +1681,7 @@ <string name="accessibility_enable_service_title" msgid="3931558336268541484">"អនុញ្ញាតឱ្យ <xliff:g id="SERVICE">%1$s</xliff:g> មានសិទ្ធិគ្រប់គ្រងឧបករណ៍របស់អ្នកទាំងស្រុងឬ?"</string> <string name="accessibility_service_warning_description" msgid="291674995220940133">"ការគ្រប់គ្រងទាំងស្រុងមានលក្ខណៈសមស្របសម្រាប់កម្មវិធី ដែលជួយអ្នកទាក់ទងនឹងការប្រើមុខងារភាពងាយស្រួល ប៉ុន្តែមិនសមស្របសម្រាប់កម្មវិធីភាគច្រើនទេ។"</string> <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"មើល និងគ្រប់គ្រងអេក្រង់"</string> - <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"ការគ្រប់គ្រងអេក្រង់អាចអានខ្លឹមសារទាំងអស់នៅលើអេក្រង់ និងបង្ហាញខ្លឹមសារលើកម្មវិធីផ្សេងទៀត។"</string> + <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"វាអាចអានខ្លឹមសារទាំងអស់នៅលើអេក្រង់ និងបង្ហាញខ្លឹមសារលើកម្មវិធីផ្សេងទៀត។"</string> <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"មើល និងធ្វើសកម្មភាព"</string> <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"វាអាចតាមដានអន្តរកម្មរបស់អ្នកជាមួយនឹងកម្មវិធី ឬឧបករណ៍ចាប់សញ្ញាហាតវែរ និងធ្វើអន្តរកម្មជាមួយកម្មវិធីនានាជំនួសឱ្យអ្នក។"</string> <string name="accessibility_dialog_button_allow" msgid="2092558122987144530">"អនុញ្ញាត"</string> diff --git a/core/res/res/values-kn/strings.xml b/core/res/res/values-kn/strings.xml index 2011da62d583..30b8e07bb5a7 100644 --- a/core/res/res/values-kn/strings.xml +++ b/core/res/res/values-kn/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"ನಿಮ್ಮ ಕ್ಯಾಲೆಂಡರ್ ಪ್ರವೇಶಿಸಲು"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಲು ಮತ್ತು ನಿರ್ವಹಿಸಲು"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"ಫೈಲ್ಗಳು ಮತ್ತು ಡಾಕ್ಯುಮೆಂಟ್ಗಳು"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಫೈಲ್ಗಳು ಮತ್ತು ಡಾಕ್ಯುಮೆಂಟ್ಗಳನ್ನು ಪ್ರವೇಶಿಸಿ"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"ಫೈಲ್ಗಳು"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿರುವ ಫೈಲ್ಗಳನ್ನು ಪ್ರವೇಶಿಸಿ"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"ಸಂಗೀತ ಮತ್ತು ಆಡಿಯೋ"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಸಂಗೀತ ಮತ್ತು ಆಡಿಯೊವನ್ನು ಪ್ರವೇಶಿಸಿ"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳು"</string> @@ -1241,7 +1241,7 @@ <string name="android_preparing_apk" msgid="589736917792300956">"<xliff:g id="APPNAME">%1$s</xliff:g> ಸಿದ್ಧಪಡಿಸಲಾಗುತ್ತಿದೆ."</string> <string name="android_upgrading_starting_apps" msgid="6206161195076057075">"ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ."</string> <string name="android_upgrading_complete" msgid="409800058018374746">"ಬೂಟ್ ಪೂರ್ಣಗೊಳಿಸಲಾಗುತ್ತಿದೆ."</string> - <string name="fp_power_button_enrollment_title" msgid="3574363228413259548">"ಸೆಟಪ್ ಮುಂದುವರಿಸಬೇಕೆ?"</string> + <string name="fp_power_button_enrollment_title" msgid="3574363228413259548">"ಸೆಟ್ ಮಾಡುವುದನ್ನು ಮುಂದುವರಿಸಬೇಕೇ?"</string> <string name="fp_power_button_enrollment_message" msgid="5648173517663246140">"ನೀವು ಪವರ್ ಬಟನ್ ಒತ್ತಿದ್ದೀರಿ — ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಸ್ಕ್ರೀನ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ.\n\nನಿಮ್ಮ ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಅನ್ನು ಹೊಂದಿಸುವಾಗ ಲಘುವಾಗಿ ಟ್ಯಾಪ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ."</string> <string name="fp_power_button_enrollment_positive_button" msgid="2095415838459356833">"ಸ್ಕ್ರೀನ್ ಆಫ್ ಮಾಡಿ"</string> <string name="fp_power_button_enrollment_negative_button" msgid="6558436406362486747">"ಸೆಟಪ್ ಮುಂದುವರಿಸಿ"</string> diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml index 7dfe7228d10d..eedcaf936a1a 100644 --- a/core/res/res/values-ko/strings.xml +++ b/core/res/res/values-ko/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"캘린더에 액세스"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS 메시지 전송 및 보기"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"파일 및 문서"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"기기의 파일 및 문서에 액세스"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"파일"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"내 기기의 파일에 액세스"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"음악 및 오디오"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"기기의 음악 및 오디오에 액세스"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"사진 및 동영상"</string> @@ -1843,7 +1843,7 @@ <string name="managed_profile_label_badge_2" msgid="5673187309555352550">"두 번째 업무용 <xliff:g id="LABEL">%1$s</xliff:g>"</string> <string name="managed_profile_label_badge_3" msgid="6882151970556391957">"세 번째 업무용<xliff:g id="LABEL">%1$s</xliff:g>"</string> <string name="lock_to_app_unlock_pin" msgid="3890940811866290782">"고정 해제 이전에 PIN 요청"</string> - <string name="lock_to_app_unlock_pattern" msgid="2694204070499712503">"고정 해제 이전에 잠금해제 패턴 요청"</string> + <string name="lock_to_app_unlock_pattern" msgid="2694204070499712503">"고정 해제 시 잠금 해제 패턴 요청"</string> <string name="lock_to_app_unlock_password" msgid="9126722403506560473">"고정 해제 이전에 비밀번호 요청"</string> <string name="package_installed_device_owner" msgid="7035926868974878525">"관리자에 의해 설치되었습니다."</string> <string name="package_updated_device_owner" msgid="7560272363805506941">"관리자에 의해 업데이트되었습니다."</string> diff --git a/core/res/res/values-ky/strings.xml b/core/res/res/values-ky/strings.xml index 221efe101e71..08fb1f00d509 100644 --- a/core/res/res/values-ky/strings.xml +++ b/core/res/res/values-ky/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"жылнаамаңызды пайдалануу"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS билдирүүлөрдү жиберүү жана көрсөтүү"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Файлдар жана документтер"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"түзмөгүңүздөгү файлдары жана документтерди колдонуу"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Файлдар"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"түзмөгүңүздөгү файлдар жеткиликтүү болот"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Музыка жана аудио"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"түзмөгүңүздөгү музыка менен аудиолорго мүмкүнчүлүк алуу"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Сүрөттөр жана видеолор"</string> @@ -1679,7 +1679,7 @@ <string name="accessibility_shortcut_menu_item_status_on" msgid="6608392117189732543">"КҮЙҮК"</string> <string name="accessibility_shortcut_menu_item_status_off" msgid="5531598275559472393">"ӨЧҮК"</string> <string name="accessibility_enable_service_title" msgid="3931558336268541484">"<xliff:g id="SERVICE">%1$s</xliff:g> кызматына түзмөгүңүздү толугу менен көзөмөлдөөгө уруксат бересизби?"</string> - <string name="accessibility_service_warning_description" msgid="291674995220940133">"Толук көзөмөл атайын мүмкүнчүлүктөрдү пайдаланууга керек, бирок калган көпчүлүк колдонмолорго кереги жок."</string> + <string name="accessibility_service_warning_description" msgid="291674995220940133">"Толук көзөмөл атайын мүмкүнчүлүктөрдү иштеткен колдонмолорго керек болуп, калган көптөгөн колдонмолорго кереги деле жок."</string> <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"Экранды көрүп, көзөмөлдөө"</string> <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"Кызмат экрандагы нерселерди окуп, аларды башка колдонмолордун үстүнөн көрсөтөт."</string> <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"Аракеттерди көрүп, аткаруу"</string> diff --git a/core/res/res/values-lo/strings.xml b/core/res/res/values-lo/strings.xml index 1540713a7543..aa99ef19eb04 100644 --- a/core/res/res/values-lo/strings.xml +++ b/core/res/res/values-lo/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"ເຂົ້າຫາປະຕິທິນຂອງທ່ານ"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"ສົ່ງ ແລະເບິ່ງຂໍ້ຄວາມ SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"ໄຟລ໌ ແລະ ເອກະສານ"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"ເຂົ້າເຖິງໄຟລ໌ ແລະ ເອກະສານຢູ່ອຸປະກອນຂອງທ່ານ"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"ໄຟລ໌"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"ເຂົ້າເຖິງໄຟລ໌ຢູ່ອຸປະກອນຂອງທ່ານ"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"ເພງ ແລະ ສຽງ"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"ເຂົ້າເຖິງເພງ ແລະ ສຽງຢູ່ອຸປະກອນຂອງທ່ານ"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"ຮູບພາບ ແລະ ວິດີໂອ"</string> diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml index 7f32466b5f7a..0b368facd99c 100644 --- a/core/res/res/values-lt/strings.xml +++ b/core/res/res/values-lt/strings.xml @@ -307,8 +307,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"pasiekti kalendorių"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"siųsti ir peržiūrėti SMS pranešimus"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Failai ir dokumentai"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"pasiekti failus ir dokumentus jūsų įrenginyje"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Failai"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"pasiekti failus jūsų įrenginyje"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Muzika ir garso įrašai"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"pasiekti muziką ir garso įrašus jūsų įrenginyje"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Nuotraukos ir vaizdo įrašai"</string> @@ -1697,7 +1697,7 @@ <string name="disable_accessibility_shortcut" msgid="5806091378745232383">"Išjungti spartųjį klavišą"</string> <string name="leave_accessibility_shortcut_on" msgid="6543362062336990814">"Naudoti spartųjį klavišą"</string> <string name="color_inversion_feature_name" msgid="326050048927789012">"Spalvų inversija"</string> - <string name="color_correction_feature_name" msgid="3655077237805422597">"Spalvų taisymas"</string> + <string name="color_correction_feature_name" msgid="3655077237805422597">"Spalvų koregavimas"</string> <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Vienos rankos režimas"</string> <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Itin blanku"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Laikomi garsumo klavišai. „<xliff:g id="SERVICE_NAME">%1$s</xliff:g>“ įjungta."</string> diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml index 5d6853935d66..4d57390d3baa 100644 --- a/core/res/res/values-lv/strings.xml +++ b/core/res/res/values-lv/strings.xml @@ -306,8 +306,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"piekļūt jūsu kalendāram"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"Īsziņas"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"sūtīt un skatīt īsziņas"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Faili un dokumenti"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"piekļuve failiem un dokumentiem jūsu ierīcē"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Faili"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"piekļūt failiem jūsu ierīcē"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Mūzika un audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"piekļuve mūzikai un audio jūsu ierīcē"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotoattēli un videoklipi"</string> diff --git a/core/res/res/values-mk/strings.xml b/core/res/res/values-mk/strings.xml index 6314f2db102a..2c346fde719e 100644 --- a/core/res/res/values-mk/strings.xml +++ b/core/res/res/values-mk/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"пристапува до календарот"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"испраќа и прикажува SMS-пораки"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Датотеки и документи"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"да пристапува до датотеки и документи на уредот"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Датотеки"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"да пристапува до датотеки на вашиот уред"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Музика и аудио"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"пристапувајте до музика и аудио на вашиот уред"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Фотографии и видеа"</string> diff --git a/core/res/res/values-ml/strings.xml b/core/res/res/values-ml/strings.xml index 0292ea640476..cba1b3238736 100644 --- a/core/res/res/values-ml/strings.xml +++ b/core/res/res/values-ml/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"നിങ്ങളുടെ കലണ്ടർ ആക്സസ്സ് ചെയ്യുക"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS സന്ദേശങ്ങൾ അയയ്ക്കുകയും കാണുകയും ചെയ്യുക"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"ഫയലുകളും ഡോക്യുമെന്റുകളും"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"നിങ്ങളുടെ ഉപകരണത്തിലെ ഫയലുകളും ഡോക്യുമെന്റുകളും ആക്സസ് ചെയ്യുക"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"ഫയലുകൾ"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"നിങ്ങളുടെ ഉപകരണത്തിലെ ഫയലുകൾ ആക്സസ് ചെയ്യുക"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"സംഗീതവും ഓഡിയോയും"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"നിങ്ങളുടെ ഉപകരണത്തിൽ സംഗീതവും ഓഡിയോയും ആക്സസ് ചെയ്യുക"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"ഫോട്ടോകളും വീഡിയോകളും"</string> @@ -1381,7 +1381,7 @@ <string name="show_ime" msgid="6406112007347443383">"ഫിസിക്കൽ കീബോർഡ് സജീവമായിരിക്കുമ്പോൾ സ്ക്രീനിൽ നിലനിർത്തുക"</string> <string name="hardware" msgid="1800597768237606953">"വെർച്വൽ കീബോർഡ് കാണിക്കുക"</string> <string name="select_keyboard_layout_notification_title" msgid="4427643867639774118">"ഫിസിക്കൽ കീബോർഡ് കോൺഫിഗർ ചെയ്യുക"</string> - <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"ഭാഷയും ലേഔട്ടും തിരഞ്ഞെടുക്കുന്നതിന് ടാപ്പുചെയ്യുക"</string> + <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"ഭാഷയും ലേഔട്ടും തിരഞ്ഞെടുക്കുന്നതിന് ടാപ്പ് ചെയ്യുക"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="alert_windows_notification_channel_group_name" msgid="6063891141815714246">"മറ്റ് ആപ്സിന് മുകളിൽ പ്രദർശിപ്പിക്കുക"</string> diff --git a/core/res/res/values-mn/strings.xml b/core/res/res/values-mn/strings.xml index c8de4713561e..38056dddfa19 100644 --- a/core/res/res/values-mn/strings.xml +++ b/core/res/res/values-mn/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"Календарь руу хандах"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"Мессеж"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS мессежийг илгээх, харах"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Файл, документ"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"таны төхөөрөмж дээрх файл болон документод хандах"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Файлууд"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"таны төхөөрөмж дээрх файлуудад хандах"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Хөгжим, аудио"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"төхөөрөмж дээрээ хөгжим болон аудионд хандах"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Зураг, видео"</string> diff --git a/core/res/res/values-mr/strings.xml b/core/res/res/values-mr/strings.xml index d4946e850461..1e2b43b81827 100644 --- a/core/res/res/values-mr/strings.xml +++ b/core/res/res/values-mr/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"आपल्या कॅलेंडरवर प्रवेश"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"एसएमएस"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS मेसेज पाठवणे आणि पाहणे हे"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"फाइल आणि दस्तऐवज"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"तुमच्या डिव्हाइसवर फाइल आणि दस्तऐवज अॅक्सेस करा"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"फाइल"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"तुमच्या डिव्हाइसवरील फाइल अॅक्सेस करा"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"संगीत आणि ऑडिओ"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"तुमच्या डिव्हाइसवर संगीत आणि ऑडिओ अॅक्सेस करा"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"फोटो आणि व्हिडिओ"</string> diff --git a/core/res/res/values-ms/strings.xml b/core/res/res/values-ms/strings.xml index ad9ad79a22ff..03cfbf5e928a 100644 --- a/core/res/res/values-ms/strings.xml +++ b/core/res/res/values-ms/strings.xml @@ -20,7 +20,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="byteShort" msgid="202579285008794431">"B."</string> + <string name="byteShort" msgid="202579285008794431">"B"</string> <string name="kilobyteShort" msgid="2214285521564195803">"kB"</string> <string name="megabyteShort" msgid="6649361267635823443">"MB"</string> <string name="gigabyteShort" msgid="7515809460261287991">"GB"</string> @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"mengakses kalendar"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"menghantar dan melihat mesej SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Fail dan dokumen"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"akses fail dan dokumen pada peranti anda"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Fail"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"akses fail pada peranti anda"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Muzik dan audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"akses muzik dan audio pada peranti anda"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Foto dan video"</string> @@ -1476,7 +1476,7 @@ <string name="sync_binding_label" msgid="469249309424662147">"Penyegerakan"</string> <string name="accessibility_binding_label" msgid="1974602776545801715">"Kebolehaksesan"</string> <string name="wallpaper_binding_label" msgid="1197440498000786738">"Kertas dinding"</string> - <string name="chooser_wallpaper" msgid="3082405680079923708">"Tukar kertas dinding"</string> + <string name="chooser_wallpaper" msgid="3082405680079923708">"Tukar hiasan latar"</string> <string name="notification_listener_binding_label" msgid="2702165274471499713">"Pendengar pemberitahuan"</string> <string name="vr_listener_binding_label" msgid="8013112996671206429">"Pendengar VR"</string> <string name="condition_provider_service_binding_label" msgid="8490641013951857673">"Pembekal keadaan"</string> @@ -1683,7 +1683,7 @@ <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"Melihat dan mengawal skrin"</string> <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"Ciri ini boleh membaca semua kandungan pada skrin dan memaparkan kandungan di atas apl lain."</string> <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"Lihat dan laksanakan tindakan"</string> - <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"Tindakan ini boleh menjejak interaksi anda dengan apl atau penderia perkakasan dan berinteraksi dengan apl bagi pihak anda."</string> + <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"Ciri ini boleh menjejak interaksi anda dengan apl atau penderia perkakasan dan berinteraksi dengan apl bagi pihak anda."</string> <string name="accessibility_dialog_button_allow" msgid="2092558122987144530">"Benarkan"</string> <string name="accessibility_dialog_button_deny" msgid="4129575637812472671">"Tolak"</string> <string name="accessibility_select_shortcut_menu_title" msgid="6002726538854613272">"Ketik ciri untuk mula menggunakan ciri itu:"</string> diff --git a/core/res/res/values-my/strings.xml b/core/res/res/values-my/strings.xml index cc5392c13d4a..cd8fdcda83b1 100644 --- a/core/res/res/values-my/strings.xml +++ b/core/res/res/values-my/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"သင့်ပြက္ခဒိန်အား ဝင်ရောက်သုံးရန်"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS စာတိုစနစ်"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS စာများကို ပို့ကာ ကြည့်မည်"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"ဖိုင်နှင့် မှတ်တမ်းများ"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"သင့်စက်ရှိ ဖိုင်နှင့် မှတ်တမ်းများ သုံးခွင့်"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"ဖိုင်များ"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"သင့်စက်တွင် ဖိုင်များသုံးနိုင်သည်"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"တေးဂီတနှင့် အသံ"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"သင့်စက်တွင် တေးဂီတနှင့် အသံများ ဖွင့်နိုင်သည်"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"ဓာတ်ပုံနှင့် ဗီဒီယိုများ"</string> @@ -1220,7 +1220,7 @@ <string name="screen_compat_mode_scale" msgid="8627359598437527726">"စကေး"</string> <string name="screen_compat_mode_show" msgid="5080361367584709857">"အမြဲပြသရန်"</string> <string name="screen_compat_mode_hint" msgid="4032272159093750908">"ဒါကို စနစ် ဆက်တင်များထဲ ပြန်ဖွင့်ပေးရန် > Apps > ဒေါင်းလုဒ် လုပ်ပြီး။"</string> - <string name="unsupported_display_size_message" msgid="7265211375269394699">"<xliff:g id="APP_NAME">%1$s</xliff:g> သည် လက်ရှိ မျက်နှာပြင်အရွယ်အစားကို ပံ့ပိုးထားခြင်း မရှိပါ။ မမျှော်လင့်နိုင်သည့် ချွတ်ယွင်းချက်များ ဖြစ်ပေါ်နိုင်ပါသည်။"</string> + <string name="unsupported_display_size_message" msgid="7265211375269394699">"<xliff:g id="APP_NAME">%1$s</xliff:g> သည် လက်ရှိ ပြကွက်အရွယ်ကို ပံ့ပိုးထားခြင်း မရှိပါ။ မမျှော်လင့်နိုင်သည့် ချွတ်ယွင်းချက်များ ဖြစ်ပေါ်နိုင်ပါသည်။"</string> <string name="unsupported_display_size_show" msgid="980129850974919375">"အမြဲပြပါ"</string> <string name="unsupported_compile_sdk_message" msgid="7326293500707890537">"ကိုက်ညီမှုမရှိသည့် Android OS ဗားရှင်းအတွက် <xliff:g id="APP_NAME">%1$s</xliff:g> ကို ပြုလုပ်ထားခြင်းဖြစ်ပြီး ပုံမှန်အလုပ်မလုပ်နိုင်ပါ။ ဤအက်ပ်အတွက် အပ်ဒိတ်လုပ်ထားသည့် ဗားရှင်း ရနိုင်ပါမည်။"</string> <string name="unsupported_compile_sdk_show" msgid="1601210057960312248">"အမြဲပြရန်"</string> @@ -1683,7 +1683,7 @@ <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"ဖန်သားပြင်ကို ကြည့်ရှုထိန်းချုပ်ခြင်း"</string> <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"၎င်းသည် မျက်နှာပြင်ပေါ်ရှိ အကြောင်းအရာအားလုံးကို ဖတ်နိုင်ပြီး အခြားအက်ပ်များအပေါ်တွင် အကြောင်းအရာကို ဖော်ပြနိုင်သည်။"</string> <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"လုပ်ဆောင်ချက်များကို ကြည့်ရှုဆောင်ရွက်ခြင်း"</string> - <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"၎င်းသည် အက်ပ်တစ်ခု သို့မဟုတ် အာရုံခံကိရိယာကို အသုံးပြု၍ သင့်ပြန်လှန်တုံ့ပြန်မှုများကို မှတ်သားနိုင်ပြီး သင့်ကိုယ်စား အက်ပ်များနှင့် ပြန်လှန်တုံ့ပြန်နိုင်သည်။"</string> + <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"၎င်းသည် သင်နှင့် အက်ပ်တစ်ခု (သို့) အာရုံခံကိရိယာအကြား ပြန်လှန်တုံ့ပြန်မှုများကို မှတ်သားနိုင်ပြီး သင့်ကိုယ်စား အက်ပ်များနှင့် ပြန်လှန်တုံ့ပြန်နိုင်သည်။"</string> <string name="accessibility_dialog_button_allow" msgid="2092558122987144530">"ခွင့်ပြုရန်"</string> <string name="accessibility_dialog_button_deny" msgid="4129575637812472671">"ပယ်ရန်"</string> <string name="accessibility_select_shortcut_menu_title" msgid="6002726538854613272">"ဝန်ဆောင်မှုကို စတင်အသုံးပြုရန် တို့ပါ−"</string> diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml index a83472046ea0..11b544d8d448 100644 --- a/core/res/res/values-nb/strings.xml +++ b/core/res/res/values-nb/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"åpne kalenderen din"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"sende og lese SMS-meldinger"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Filer og dokumenter"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"åpne filer og dokumenter på enheten din"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Filer"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"bruke filer på enheten"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Musikk og lyd"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"bruke musikk og lyd på enheten"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Bilder og videoer"</string> diff --git a/core/res/res/values-ne/strings.xml b/core/res/res/values-ne/strings.xml index 42592185d012..f98c0421344d 100644 --- a/core/res/res/values-ne/strings.xml +++ b/core/res/res/values-ne/strings.xml @@ -270,7 +270,7 @@ <string name="status_bar_notification_info_overflow" msgid="3330152558746563475">"९९९+"</string> <string name="notification_hidden_text" msgid="2835519769868187223">"नयाँ सूचना"</string> <string name="notification_channel_virtual_keyboard" msgid="6465975799223304567">"भर्चुअल किबोर्ड"</string> - <string name="notification_channel_physical_keyboard" msgid="5417306456125988096">"वास्तविक किबोर्ड"</string> + <string name="notification_channel_physical_keyboard" msgid="5417306456125988096">"फिजिकल किबोर्ड"</string> <string name="notification_channel_security" msgid="8516754650348238057">"सुरक्षा"</string> <string name="notification_channel_car_mode" msgid="2123919247040988436">"कार मोड"</string> <string name="notification_channel_account" msgid="6436294521740148173">"खाताको स्थिति"</string> @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"तपाईंको पात्रोमाथि पहुँच गर्नुहोस्"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS सन्देशहरू पठाउनुहोस् र हेर्नुहोस्"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"फाइल तथा डकुमेन्टहरू"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"आफ्नो डिभाइसमा भएका फाइल र डकुमेन्टहरू प्रयोग गर्नुहोस्"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"फाइलहरू"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"आफ्नो डिभाइसमा रहेका फाइलहरू हेर्नुहोस् र प्रयोग गर्नुहोस्"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"सङ्गीत तथा अडियो"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"तपाईंको डिभाइसबाट सङ्गीत तथा अडियो सुन्ने अनुमति"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"फोटो र भिडियोहरू"</string> @@ -1378,9 +1378,9 @@ <string name="share_remote_bugreport_action" msgid="7630880678785123682">"सेयर गर्नुहोस्"</string> <string name="decline_remote_bugreport_action" msgid="4040894777519784346">"अस्वीकार गर्नुहोस्"</string> <string name="select_input_method" msgid="3971267998568587025">"निवेश विधि छान्नुहोस्"</string> - <string name="show_ime" msgid="6406112007347443383">"वास्तविक किबोर्ड सक्रिय हुँदा यसलाई स्क्रिनमा राखियोस्"</string> + <string name="show_ime" msgid="6406112007347443383">"फिजिकल किबोर्ड सक्रिय हुँदा यसलाई स्क्रिनमा राखियोस्"</string> <string name="hardware" msgid="1800597768237606953">"भर्चुअल किबोर्ड देखाउनुहोस्"</string> - <string name="select_keyboard_layout_notification_title" msgid="4427643867639774118">"फिजिकल किबोर्डलाई कन्फिगर गर्नुहोस्"</string> + <string name="select_keyboard_layout_notification_title" msgid="4427643867639774118">"फिजिकल किबोर्ड कन्फिगर गर्नुहोस्"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"भाषा र लेआउट चयन गर्न ट्याप गर्नुहोस्"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> diff --git a/core/res/res/values-night/themes_device_defaults.xml b/core/res/res/values-night/themes_device_defaults.xml index 366e6f97eed3..7cfdba7a65be 100644 --- a/core/res/res/values-night/themes_device_defaults.xml +++ b/core/res/res/values-night/themes_device_defaults.xml @@ -98,5 +98,10 @@ easier. <item name="colorAccentPrimary">@color/system_accent1_700</item> <item name="textColorPrimary">@color/system_neutral1_100</item> <item name="textColorSecondary">@color/system_neutral2_100</item> + <item name="colorListDivider">@color/white</item> + </style> + + <style name="Theme.DeviceDefault.AutofillHalfScreenDialogList" parent="Theme.DeviceDefault.DayNight"> + <item name="colorForeground">@android:color/white</item> </style> </resources> diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml index a67623b3925f..f7f28ddc32cf 100644 --- a/core/res/res/values-nl/strings.xml +++ b/core/res/res/values-nl/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"toegang krijgen tot je agenda"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"Sms"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"sms\'jes verzenden en bekijken"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Bestanden en documenten"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"bestanden en documenten op je apparaat openen"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Bestanden"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"toegang tot bestanden op je apparaat"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Muziek en audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"muziek en audio op je apparaat openen"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Foto\'s en video\'s"</string> @@ -1967,7 +1967,7 @@ <string name="demo_restarting_message" msgid="1160053183701746766">"Apparaat resetten…"</string> <string name="suspended_widget_accessibility" msgid="6331451091851326101">"<xliff:g id="LABEL">%1$s</xliff:g> staat uit"</string> <string name="conference_call" msgid="5731633152336490471">"Telefonische vergadering"</string> - <string name="tooltip_popup_title" msgid="7863719020269945722">"Knopinfo"</string> + <string name="tooltip_popup_title" msgid="7863719020269945722">"Tooltip"</string> <string name="app_category_game" msgid="4534216074910244790">"Games"</string> <string name="app_category_audio" msgid="8296029904794676222">"Muziek en audio"</string> <string name="app_category_video" msgid="2590183854839565814">"Films en video"</string> diff --git a/core/res/res/values-or/strings.xml b/core/res/res/values-or/strings.xml index b4dd482f3442..26e129fea037 100644 --- a/core/res/res/values-or/strings.xml +++ b/core/res/res/values-or/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"ଆପଣଙ୍କ କ୍ୟାଲେଣ୍ଡର୍ ଆକ୍ସେସ୍ କରେ"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS ମେସେଜ୍ ପଠାନ୍ତୁ ଓ ଦେଖନ୍ତୁ"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"ଫାଇଲ ଏବଂ ଡକ୍ୟୁମେଣ୍ଟଗୁଡ଼ିକ"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"ଆପଣଙ୍କ ଡିଭାଇସରେ ଥିବା ଫାଇଲ ଏବଂ ଡକ୍ୟୁମେଣ୍ଟଗୁଡ଼ିକୁ ଆକ୍ସେସ କରନ୍ତୁ"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"ଫାଇଲଗୁଡ଼ିକ"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"ଆପଣଙ୍କ ଡିଭାଇସରେ ଥିବା ଫାଇଲଗୁଡ଼ିକୁ ଆକ୍ସେସ କରନ୍ତୁ"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"ମ୍ୟୁଜିକ ଏବଂ ଅଡିଓ"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"ଆପଣଙ୍କ ଡିଭାଇସରେ ମ୍ୟୁଜିକ ଏବଂ ଅଡିଓକୁ ଆକ୍ସେସ କରନ୍ତୁ"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"ଫଟୋ ଏବଂ ଭିଡିଓଗୁଡ଼ିକ"</string> @@ -1683,7 +1683,7 @@ <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"ଭ୍ୟୁ ଏବଂ ସ୍କ୍ରିନ୍ ନିୟନ୍ତ୍ରଣ"</string> <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"ଏହା ସ୍କ୍ରିନ୍ର ସମସ୍ତ ବିଷୟବସ୍ତୁ ପଢ଼ିପାରେ ଏବଂ ଅନ୍ୟ ଆପ୍ସରେ ବିଷୟବସ୍ତୁ ପ୍ରଦର୍ଶନ କରିପାରେ।"</string> <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"ଦେଖନ୍ତୁ ଏବଂ କାର୍ଯ୍ୟ ସମ୍ପାଦନ କରନ୍ତୁ"</string> - <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"ଏହା କୌଣସି ଆପ୍ କିମ୍ବା ହାର୍ଡୱେର୍ ସେନ୍ସର୍ ସହ ଆପଣଙ୍କର ପାରସ୍ପରିକ ଆଦାନପ୍ରଦାନକୁ ଟ୍ରାକ୍ କରିପାରେ ଏବଂ ଆପଣଙ୍କ ତରଫରୁ ଆପ୍ସ ସହ ପରିଚିତ ହୋଇପାରେ।"</string> + <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"ଏହା କୌଣସି ଆପ କିମ୍ବା ହାର୍ଡୱେର ସେନ୍ସର ସହ ଆପଣଙ୍କର ଇଣ୍ଟେରାକ୍ସନକୁ ଟ୍ରାକ କରିପାରେ ଏବଂ ଆପଣଙ୍କ ତରଫରୁ ଆପ୍ସ ସହ ଇଣ୍ଟରାକ୍ଟ କରିପାରେ।"</string> <string name="accessibility_dialog_button_allow" msgid="2092558122987144530">"ଅନୁମତି"</string> <string name="accessibility_dialog_button_deny" msgid="4129575637812472671">"ଅଗ୍ରାହ୍ୟ"</string> <string name="accessibility_select_shortcut_menu_title" msgid="6002726538854613272">"ଏକ ଫିଚର୍ ବ୍ୟବହାର କରିବା ଆରମ୍ଭ କରିବାକୁ ଏହାକୁ ଟାପ୍ କରନ୍ତୁ:"</string> diff --git a/core/res/res/values-pa/strings.xml b/core/res/res/values-pa/strings.xml index f1aa1f4cb616..852d0f5f0244 100644 --- a/core/res/res/values-pa/strings.xml +++ b/core/res/res/values-pa/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"ਤੁਹਾਡੇ ਕੈਲੰਡਰ ਤੱਕ ਪਹੁੰਚ ਕਰਨ"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS ਸੁਨੇਹੇ ਭੇਜੋ ਅਤੇ ਦੇਖੋ"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"ਫ਼ਾਈਲਾਂ ਅਤੇ ਦਸਤਾਵੇਜ਼"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"ਆਪਣੇ ਡੀਵਾਈਸ \'ਤੇ ਫ਼ਾਈਲਾਂ ਅਤੇ ਦਸਤਾਵੇਜ਼ਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰੋ"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"ਫ਼ਾਈਲਾਂ"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਫ਼ਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚ"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"ਸੰਗੀਤ ਅਤੇ ਆਡੀਓ"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"ਆਪਣੇ ਡੀਵਾਈਸ \'ਤੇ ਸੰਗੀਤ ਅਤੇ ਆਡੀਓ ਤੱਕ ਪਹੁੰਚ ਕਰੋ"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"ਫ਼ੋਟੋਆਂ ਅਤੇ ਵੀਡੀਓ"</string> @@ -1380,7 +1380,7 @@ <string name="select_input_method" msgid="3971267998568587025">"ਇਨਪੁਟ ਵਿਧੀ ਚੁਣੋ"</string> <string name="show_ime" msgid="6406112007347443383">"ਭੌਤਿਕ ਕੀ-ਬੋਰਡ ਸਰਗਰਮ ਹੋਣ ਦੌਰਾਨ ਇਸ ਨੂੰ ਸਕ੍ਰੀਨ \'ਤੇ ਬਣਾਈ ਰੱਖੋ"</string> <string name="hardware" msgid="1800597768237606953">"ਆਭਾਸੀ ਕੀ-ਬੋਰਡ ਦਿਖਾਓ"</string> - <string name="select_keyboard_layout_notification_title" msgid="4427643867639774118">"ਭੌਤਿਕ ਕੀ-ਬੋਰਡ ਦੀ ਰੂਪ-ਰੇਖਾ ਬਦਲੋ"</string> + <string name="select_keyboard_layout_notification_title" msgid="4427643867639774118">"ਭੌਤਿਕ ਕੀ-ਬੋਰਡ ਦਾ ਸੰਰੂਪਣ ਕਰੋ"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"ਭਾਸ਼ਾ ਅਤੇ ਖਾਕਾ ਚੁਣਨ ਲਈ ਟੈਪ ਕਰੋ"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml index 17708199fc70..9d08c66331ce 100644 --- a/core/res/res/values-pl/strings.xml +++ b/core/res/res/values-pl/strings.xml @@ -307,8 +307,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"dostęp do kalendarza"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"wysyłanie i wyświetlanie SMS‑ów"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Pliki i dokumenty"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"dostęp do plików i dokumentów na urządzeniu"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Pliki"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"dostęp do plików na urządzeniu"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Muzyka i dźwięk"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"dostęp do muzyki i dźwięku na urządzeniu"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Zdjęcia i filmy"</string> diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml index ed7617088347..6ef3a0b35dec 100644 --- a/core/res/res/values-pt-rBR/strings.xml +++ b/core/res/res/values-pt-rBR/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"acesse sua agenda"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"envie e veja mensagens SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Arquivos e documentos"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"acessar arquivos e documentos no seu dispositivo"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Arquivos"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"acessar arquivos no dispositivo"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Música e áudio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"acessar música e áudio no dispositivo"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotos e vídeos"</string> @@ -1681,7 +1681,7 @@ <string name="accessibility_enable_service_title" msgid="3931558336268541484">"Permitir que o <xliff:g id="SERVICE">%1$s</xliff:g> tenha controle total do seu dispositivo?"</string> <string name="accessibility_service_warning_description" msgid="291674995220940133">"O controle total é adequado para apps que ajudam você com as necessidades de acessibilidade, mas não para a maioria dos apps."</string> <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"Ver e controlar tela"</string> - <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"Pode ler todo o conteúdo na tela e mostrar conteúdo sobreposto a outros apps."</string> + <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"Pode ler todo o conteúdo na tela e o conteúdo se sobrepõe ao de outros apps."</string> <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"Ver e realizar ações"</string> <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"Pode monitorar suas interações com um app ou um sensor de hardware e interagir com apps em seu nome."</string> <string name="accessibility_dialog_button_allow" msgid="2092558122987144530">"Permitir"</string> @@ -1697,7 +1697,7 @@ <string name="color_inversion_feature_name" msgid="326050048927789012">"Inversão de cores"</string> <string name="color_correction_feature_name" msgid="3655077237805422597">"Correção de cor"</string> <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Modo para uma mão"</string> - <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Mais escuro"</string> + <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Escurecer a tela"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Teclas de volume pressionadas. Serviço <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ativado."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Teclas de volume pressionadas. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> desativado."</string> <string name="accessibility_shortcut_spoken_feedback" msgid="4228997042855695090">"Toque nos dois botões de volume e os mantenha pressionados por três segundo para usar o <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string> @@ -1712,7 +1712,7 @@ <string name="user_switching_message" msgid="1912993630661332336">"Alternando para <xliff:g id="NAME">%1$s</xliff:g>…"</string> <string name="user_logging_out_message" msgid="7216437629179710359">"Desconectando <xliff:g id="NAME">%1$s</xliff:g>…"</string> <string name="owner_name" msgid="8713560351570795743">"Proprietário"</string> - <string name="guest_name" msgid="8502103277839834324">"Convidado"</string> + <string name="guest_name" msgid="8502103277839834324">"Visitante"</string> <string name="error_message_title" msgid="4082495589294631966">"Erro"</string> <string name="error_message_change_not_allowed" msgid="843159705042381454">"Esta alteração não é permitida pelo administrador"</string> <string name="app_not_found" msgid="3429506115332341800">"Nenhum app encontrado para executar a ação"</string> diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml index caf947f0be52..93516bd2024c 100644 --- a/core/res/res/values-pt-rPT/strings.xml +++ b/core/res/res/values-pt-rPT/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"aceder ao calendário"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"enviar e ver mensagens SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Ficheiros e documentos"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"aceder a ficheiros e documentos no seu dispositivo"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Ficheiros"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"aceder aos ficheiros no seu dispositivo"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Música e áudio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"aceder a música e áudio no seu dispositivo"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotos e vídeos"</string> @@ -1700,7 +1700,7 @@ <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Mais escuro"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Teclas do volume premidas. Serviço <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ativado."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Teclas de volume premidas. Serviço <xliff:g id="SERVICE_NAME">%1$s</xliff:g> desativado."</string> - <string name="accessibility_shortcut_spoken_feedback" msgid="4228997042855695090">"Prima sem soltar as teclas de volume durante três segundos para utilizar o serviço <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> + <string name="accessibility_shortcut_spoken_feedback" msgid="4228997042855695090">"prima sem soltar as teclas de volume durante três segundos para usar o serviço <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Escolha uma funcionalidade para utilizar quando tocar no botão Acessibilidade:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Escolha a funcionalidade a utilizar com o gesto de acessibilidade (deslize rapidamente com dois dedos para cima a partir da parte inferior do ecrã):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Escolha a funcionalidade a utilizar com o gesto de acessibilidade (deslize rapidamente com três dedos para cima a partir da parte inferior do ecrã):"</string> diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml index ed7617088347..6ef3a0b35dec 100644 --- a/core/res/res/values-pt/strings.xml +++ b/core/res/res/values-pt/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"acesse sua agenda"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"envie e veja mensagens SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Arquivos e documentos"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"acessar arquivos e documentos no seu dispositivo"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Arquivos"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"acessar arquivos no dispositivo"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Música e áudio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"acessar música e áudio no dispositivo"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotos e vídeos"</string> @@ -1681,7 +1681,7 @@ <string name="accessibility_enable_service_title" msgid="3931558336268541484">"Permitir que o <xliff:g id="SERVICE">%1$s</xliff:g> tenha controle total do seu dispositivo?"</string> <string name="accessibility_service_warning_description" msgid="291674995220940133">"O controle total é adequado para apps que ajudam você com as necessidades de acessibilidade, mas não para a maioria dos apps."</string> <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"Ver e controlar tela"</string> - <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"Pode ler todo o conteúdo na tela e mostrar conteúdo sobreposto a outros apps."</string> + <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"Pode ler todo o conteúdo na tela e o conteúdo se sobrepõe ao de outros apps."</string> <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"Ver e realizar ações"</string> <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"Pode monitorar suas interações com um app ou um sensor de hardware e interagir com apps em seu nome."</string> <string name="accessibility_dialog_button_allow" msgid="2092558122987144530">"Permitir"</string> @@ -1697,7 +1697,7 @@ <string name="color_inversion_feature_name" msgid="326050048927789012">"Inversão de cores"</string> <string name="color_correction_feature_name" msgid="3655077237805422597">"Correção de cor"</string> <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Modo para uma mão"</string> - <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Mais escuro"</string> + <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Escurecer a tela"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Teclas de volume pressionadas. Serviço <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ativado."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Teclas de volume pressionadas. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> desativado."</string> <string name="accessibility_shortcut_spoken_feedback" msgid="4228997042855695090">"Toque nos dois botões de volume e os mantenha pressionados por três segundo para usar o <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string> @@ -1712,7 +1712,7 @@ <string name="user_switching_message" msgid="1912993630661332336">"Alternando para <xliff:g id="NAME">%1$s</xliff:g>…"</string> <string name="user_logging_out_message" msgid="7216437629179710359">"Desconectando <xliff:g id="NAME">%1$s</xliff:g>…"</string> <string name="owner_name" msgid="8713560351570795743">"Proprietário"</string> - <string name="guest_name" msgid="8502103277839834324">"Convidado"</string> + <string name="guest_name" msgid="8502103277839834324">"Visitante"</string> <string name="error_message_title" msgid="4082495589294631966">"Erro"</string> <string name="error_message_change_not_allowed" msgid="843159705042381454">"Esta alteração não é permitida pelo administrador"</string> <string name="app_not_found" msgid="3429506115332341800">"Nenhum app encontrado para executar a ação"</string> diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml index ab2f64556b5b..15d1a67ecdc5 100644 --- a/core/res/res/values-ro/strings.xml +++ b/core/res/res/values-ro/strings.xml @@ -306,8 +306,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"acceseze calendarul"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"trimită și să vadă mesajele SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Fișiere și documente"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"să acceseze fișiere și documente de pe dispozitiv"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Fișiere"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"să acceseze fișiere de pe dispozitiv"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Muzică și conținut audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"să acceseze muzică și conținut audio pe dispozitiv"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotografii și videoclipuri"</string> diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml index d41f3935007c..845f89d6352c 100644 --- a/core/res/res/values-ru/strings.xml +++ b/core/res/res/values-ru/strings.xml @@ -307,8 +307,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"доступ к календарю"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"отправлять и просматривать SMS-сообщения"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Файлы и документы"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"Доступ к файлам и документам на вашем устройстве"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Файлы"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"доступ к файлам на вашем устройстве"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Музыка и аудио"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"доступ к музыке и аудио на вашем устройстве"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Фото и видео"</string> diff --git a/core/res/res/values-si/strings.xml b/core/res/res/values-si/strings.xml index 15d9c1ef60c9..f0cde1dad419 100644 --- a/core/res/res/values-si/strings.xml +++ b/core/res/res/values-si/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"ඔබේ දින දර්ශනයට පිවිසෙන්න"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"කෙටි පණිවිඩ"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS පණිවිඩ යැවීම සහ බැලීම"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"ගොනු සහ ලේඛන"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"ඔබගේ උපාංගයේ ගොනු සහ ලේඛන වෙත ප්රවේශ වන්න"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"ගොනු"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"ඔබගේ උපාංගයේ ගොනු වෙත ප්රවේශය"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"සංගීතය සහ ශ්රව්ය"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"ඔබගේ උපාංගයේ සංගීතය සහ ශ්රව්ය වෙත ප්රවේශ වන්න"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"ඡායාරූප සහ වීඩියෝ"</string> diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml index 8b9932a53203..8a468fbc9a7a 100644 --- a/core/res/res/values-sk/strings.xml +++ b/core/res/res/values-sk/strings.xml @@ -307,8 +307,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"prístup ku kalendáru"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"posielanie a zobrazovanie SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Súbory a dokumenty"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"prístup k súborom a dokumentom vo vašom zariadení"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Súbory"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"dostať sa k súborom vo vašom zariadení"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Hudba a zvuk"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"prístup k hudbe a zvuku vo vašom zariadení"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotky a videá"</string> @@ -352,7 +352,7 @@ <string name="permlab_fullScreenIntent" msgid="4310888199502509104">"zobrazovanie upozornení ako aktivít na celej obrazovke v uzamknutom zariadení"</string> <string name="permdesc_fullScreenIntent" msgid="1100721419406643997">"Táto možnosť umožňuje aplikácii zobrazovať upozornenia ako aktivity na celej obrazovke v uzamknutom zariadení"</string> <string name="permlab_install_shortcut" msgid="7451554307502256221">"Inštalovať odkazy"</string> - <string name="permdesc_install_shortcut" msgid="4476328467240212503">"Povoľuje aplikácii pridať odkazy na ploche bez zásahu používateľa."</string> + <string name="permdesc_install_shortcut" msgid="4476328467240212503">"povoliť aplikácii pridať odkazy na ploche bez zásahu používateľa."</string> <string name="permlab_uninstall_shortcut" msgid="295263654781900390">"odinštalovať odkazy"</string> <string name="permdesc_uninstall_shortcut" msgid="1924735350988629188">"Povoľuje aplikácii odstrániť odkazy na ploche bez zásahu používateľa."</string> <string name="permlab_processOutgoingCalls" msgid="4075056020714266558">"presmerovať odchádzajúce hovory"</string> diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml index 4a0a43ac130f..9a2941f7ce54 100644 --- a/core/res/res/values-sl/strings.xml +++ b/core/res/res/values-sl/strings.xml @@ -307,8 +307,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"dostop do koledarja"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"pošiljanje in ogled sporočil SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Datoteke in dokumenti"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"dostop do datotek in dokumentov v napravi"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Datoteke"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"dostop do datotek v napravi"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Glasba in zvok"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"dostop do glasbe in zvoka v napravi"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotografije in videoposnetki"</string> diff --git a/core/res/res/values-sq/strings.xml b/core/res/res/values-sq/strings.xml index 32a694abd785..5792e152d94a 100644 --- a/core/res/res/values-sq/strings.xml +++ b/core/res/res/values-sq/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"qasje te kalendari yt"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"dërgo dhe shiko mesazhet SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Skedarët dhe dokumentet"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"përfito qasje te skedarët dhe dokumentet në pajisjen tënde"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Skedarët"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"qasje te skedarët në pajisjen tënde"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Muzika dhe audioja"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"të qaset te muzika dhe audioja në pajisjen tënde"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotografitë dhe videot"</string> diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml index de06ed63aab5..9a8eaa2471c9 100644 --- a/core/res/res/values-sr/strings.xml +++ b/core/res/res/values-sr/strings.xml @@ -306,8 +306,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"приступи календару"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"шаље и прегледа SMS поруке"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Фајлови и документи"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"приступање фајловима и документима на уређају"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Фајлови"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"приступ фајловима на уређају"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Музика и звук"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"приступ музици и аудио садржају на уређају"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Слике и видео снимци"</string> diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml index 24001366264f..a25649413503 100644 --- a/core/res/res/values-sv/strings.xml +++ b/core/res/res/values-sv/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"få tillgång till din kalender"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"Sms"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"skicka och visa sms"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Filer och dokument"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"visa filer och dokument på enheten"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Filer"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"få åtkomst till filer på enheten"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Musik och ljud"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"få åtkomst till musik och ljud på enheten"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Foton och videor"</string> diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml index ab24a27a4cda..d9684ecc51d7 100644 --- a/core/res/res/values-sw/strings.xml +++ b/core/res/res/values-sw/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"ifikie kalenda yako"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"itume na iangalie SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Faili na hati"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"fikia faili na hati kwenye kifaa chako"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Faili"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"fikia faili kwenye kifaa chako"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Muziki na sauti"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"fikia muziki na sauti kwenye kifaa chako"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Picha na video"</string> @@ -323,7 +323,7 @@ <string name="permgroupdesc_calllog" msgid="2026996642917801803">"kusoma na kuandika kumbukumbu za simu"</string> <string name="permgrouplab_phone" msgid="570318944091926620">"Simu"</string> <string name="permgroupdesc_phone" msgid="270048070781478204">"piga na udhibiti simu"</string> - <string name="permgrouplab_sensors" msgid="9134046949784064495">"Vitambua shughuli za mwili"</string> + <string name="permgrouplab_sensors" msgid="9134046949784064495">"Vitambuzi vya shughuli za mwili"</string> <string name="permgroupdesc_sensors" msgid="2610631290633747752">"fikia data ya kitambuzi kuhusu alama zako muhimu"</string> <string name="permgrouplab_notifications" msgid="5472972361980668884">"Arifa"</string> <string name="permgroupdesc_notifications" msgid="4608679556801506580">"kuonyesha arifa"</string> @@ -1681,9 +1681,9 @@ <string name="accessibility_enable_service_title" msgid="3931558336268541484">"Ungependa kuruhusu <xliff:g id="SERVICE">%1$s</xliff:g> idhibiti kifaa chako kikamilifu?"</string> <string name="accessibility_service_warning_description" msgid="291674995220940133">"Udhibiti kamili unafaa kwa programu zinazokusaidia kwa mahitaji ya ufikivu, ila si kwa programu nyingi."</string> <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"Kuangalia na kudhibiti skrini"</string> - <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"Kinaweza kusoma maudhui yote kwenye skrini na kuonyesha maudhui kwenye programu zingine."</string> + <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"Inaweza kusoma maudhui yote kwenye skrini na kuonyesha maudhui kwenye programu zingine."</string> <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"Kuangalia na kutekeleza vitendo"</string> - <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"Kinaweza kufuatilia mawasiliano yako na programu au kitambuzi cha maunzi na kuwasiliana na programu zingine kwa niaba yako."</string> + <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"Inaweza kufuatilia mawasiliano yako na programu au kitambuzi cha maunzi na kuwasiliana na programu zingine kwa niaba yako."</string> <string name="accessibility_dialog_button_allow" msgid="2092558122987144530">"Ruhusu"</string> <string name="accessibility_dialog_button_deny" msgid="4129575637812472671">"Kataa"</string> <string name="accessibility_select_shortcut_menu_title" msgid="6002726538854613272">"Gusa kipengele ili uanze kukitumia:"</string> diff --git a/core/res/res/values-ta/strings.xml b/core/res/res/values-ta/strings.xml index 0139c77ebab6..6c889f9a2378 100644 --- a/core/res/res/values-ta/strings.xml +++ b/core/res/res/values-ta/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"கேலெண்டரை அணுகலாம்"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS அனுப்பலாம், வந்த SMSகளைப் பார்க்கலாம்"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"ஃபைல்களும் ஆவணங்களும்"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"சாதனத்திலுள்ள ஃபைல்களையும் ஆவணங்களையும் அணுகும்"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"ஃபைல்கள்"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"உங்கள் சாதனத்திலுள்ள ஃபைல்களை அணுகும்"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"இசையும் ஆடியோவும்"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"உங்கள் சாதனத்திலுள்ள இசையையும் ஆடியோவையும் அணுகும்"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"படங்களும் வீடியோக்களும்"</string> diff --git a/core/res/res/values-te/strings.xml b/core/res/res/values-te/strings.xml index 94638438882f..93db1f1e56e3 100644 --- a/core/res/res/values-te/strings.xml +++ b/core/res/res/values-te/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"మీ క్యాలెండర్ను యాక్సెస్ చేయడానికి"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS మెసేజ్లను పంపడం, వీక్షించడం"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"ఫైల్స్, డాక్యుమెంట్లు"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"మీ పరికరంలోని ఫైల్లు, డాక్యుమెంట్లను యాక్సెస్ చేయండి"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"ఫైల్స్"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"మీ పరికరంలోని ఫైల్స్ని యాక్సెస్ చేస్తుంది"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"మ్యూజిక్, ఆడియో"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"మీ పరికరంలో మ్యూజిక్, ఆడియోను యాక్సెస్ చేయండి"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"ఫోటోలు, వీడియోలు"</string> @@ -1680,9 +1680,9 @@ <string name="accessibility_shortcut_menu_item_status_off" msgid="5531598275559472393">"ఆఫ్"</string> <string name="accessibility_enable_service_title" msgid="3931558336268541484">"<xliff:g id="SERVICE">%1$s</xliff:g>కి మీ పరికరంపై పూర్తి కంట్రోల్ను ఇవ్వాలనుకుంటున్నారా?"</string> <string name="accessibility_service_warning_description" msgid="291674995220940133">"అవసరమైన యాక్సెసిబిలిటీ కోసం యాప్లకు పూర్తి కంట్రోల్ ఇవ్వడం తగిన పనే అయినా, అన్ని యాప్లకు అలా ఇవ్వడం సరికాదు."</string> - <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"స్క్రీన్ను చూసి, కంట్రోల్ చేయడం"</string> + <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"స్క్రీన్ను చూసి, కంట్రోల్ చేయగలగడం"</string> <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"స్క్రీన్పై ఉండే కంటెంట్ మొత్తాన్ని చదవగలుగుతుంది మరియు ఇతర యాప్లలో కూడా ఈ కంటెంట్ను ప్రదర్శిస్తుంది."</string> - <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"చర్యలను చూసి, అమలు చేయండి"</string> + <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"చర్యలను చూసి, అమలు చేయగలగడం"</string> <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"మీరు ఒక యాప్తో చేసే ఇంటరాక్షన్లను లేదా హార్డ్వేర్ సెన్సార్ను ట్రాక్ చేస్తూ మీ తరఫున యాప్లతో ఇంటరాక్ట్ చేయగలదు."</string> <string name="accessibility_dialog_button_allow" msgid="2092558122987144530">"అనుమతించు"</string> <string name="accessibility_dialog_button_deny" msgid="4129575637812472671">"నిరాకరించు"</string> diff --git a/core/res/res/values-television/styles.xml b/core/res/res/values-television/styles.xml new file mode 100644 index 000000000000..ad9140cdc6a9 --- /dev/null +++ b/core/res/res/values-television/styles.xml @@ -0,0 +1,21 @@ +<!-- + ~ 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. + --> +<resources> + <style name="PermissionGrantButtonTop" + parent="@style/Widget.Leanback.Button.ButtonBarGravityStart" /> + <style name="PermissionGrantButtonBottom" + parent="@style/Widget.Leanback.Button.ButtonBarGravityStart" /> +</resources>
\ No newline at end of file diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml index 007fe1b234b0..8af100d457b1 100644 --- a/core/res/res/values-th/strings.xml +++ b/core/res/res/values-th/strings.xml @@ -270,7 +270,7 @@ <string name="status_bar_notification_info_overflow" msgid="3330152558746563475">"999+"</string> <string name="notification_hidden_text" msgid="2835519769868187223">"การแจ้งเตือนใหม่"</string> <string name="notification_channel_virtual_keyboard" msgid="6465975799223304567">"แป้นพิมพ์เสมือน"</string> - <string name="notification_channel_physical_keyboard" msgid="5417306456125988096">"แป้นพิมพ์บนเครื่อง"</string> + <string name="notification_channel_physical_keyboard" msgid="5417306456125988096">"แป้นพิมพ์จริง"</string> <string name="notification_channel_security" msgid="8516754650348238057">"ความปลอดภัย"</string> <string name="notification_channel_car_mode" msgid="2123919247040988436">"โหมดรถยนต์"</string> <string name="notification_channel_account" msgid="6436294521740148173">"สถานะบัญชี"</string> @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"เข้าถึงปฏิทิน"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"ส่งและดูข้อความ SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"ไฟล์และเอกสาร"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"เข้าถึงไฟล์และเอกสารในอุปกรณ์"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"ไฟล์"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"เข้าถึงไฟล์ในอุปกรณ์"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"เพลงและเสียง"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"เข้าถึงเพลงและเสียงในอุปกรณ์ได้"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"รูปภาพและวิดีโอ"</string> @@ -1679,7 +1679,7 @@ <string name="accessibility_shortcut_menu_item_status_on" msgid="6608392117189732543">"เปิด"</string> <string name="accessibility_shortcut_menu_item_status_off" msgid="5531598275559472393">"ปิด"</string> <string name="accessibility_enable_service_title" msgid="3931558336268541484">"อนุญาตให้ <xliff:g id="SERVICE">%1$s</xliff:g> ควบคุมอุปกรณ์อย่างเต็มที่ไหม"</string> - <string name="accessibility_service_warning_description" msgid="291674995220940133">"การควบคุมอย่างเต็มที่เหมาะสำหรับแอปเกี่ยวกับความช่วยเหลือพิเศษ แต่ไม่เหมาะสำหรับแอปส่วนใหญ่"</string> + <string name="accessibility_service_warning_description" msgid="291674995220940133">"การควบคุมอย่างเต็มที่เหมาะสำหรับแอปเกี่ยวกับความช่วยเหลือพิเศษ แต่ไม่เหมาะสำหรับแอปส่วนใหญ่"</string> <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"ดูและควบคุมหน้าจอ"</string> <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"การควบคุมนี้สามารถอ่านเนื้อหาทั้งหมดบนหน้าจอและแสดงเนื้อหาทับแอปอื่นๆ"</string> <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"ดูและดำเนินการ"</string> diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml index 4272b6c2ce6e..17085e72f30c 100644 --- a/core/res/res/values-tl/strings.xml +++ b/core/res/res/values-tl/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"i-access ang iyong kalendaryo"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"magpadala at tumingin ng mga mensaheng SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Mga file at dokumento"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"i-access ang mga file at dokumento sa iyong device"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Mga File"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"i-access ang mga file sa iyong device"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Musika at audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"mag-access ng musika at audio sa iyong device"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Mga larawan at video"</string> diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml index 3efb2e199b68..0bee062367f4 100644 --- a/core/res/res/values-tr/strings.xml +++ b/core/res/res/values-tr/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"takviminize erişme"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS mesajları gönderme ve görüntüleme"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Dosyalar ve dokümanlar"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"cihazınızdaki dosyalara ve dokümanlara erişme"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Dosyalar"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"cihazınızdaki dosyalara erişme"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Müzik ve ses"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"cihazınızdaki müziklere ve seslere erişme"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotoğraflar ve videolar"</string> @@ -2067,11 +2067,11 @@ <string name="notification_feedback_indicator_promoted" msgid="9030204303764698640">"Bu bildirimin önem derecesi yükseltildi. Geri bildirimde bulunmak için dokunun."</string> <string name="notification_feedback_indicator_demoted" msgid="8880309924296450875">"Bu bildirimin önem derecesi düşürüldü. Geri bildirimde bulunmak için dokunun."</string> <string name="nas_upgrade_notification_title" msgid="8436359459300146555">"Gelişmiş bildirimler"</string> - <string name="nas_upgrade_notification_content" msgid="5157550369837103337">"Önerilen işlemler ve yanıtlar artık gelişmiş bildirimler tarafından sağlanıyor. Android Uyarlamalı Bildirimler artık desteklenmiyor."</string> + <string name="nas_upgrade_notification_content" msgid="5157550369837103337">"Önerilen işlemler ve yanıtlar artık gelişmiş bildirimler tarafından sağlanıyor. Android Uyarlanabilir Bildirimler artık desteklenmiyor."</string> <string name="nas_upgrade_notification_enable_action" msgid="3046406808378726874">"Tamam"</string> <string name="nas_upgrade_notification_disable_action" msgid="3794833210043497982">"Kapat"</string> <string name="nas_upgrade_notification_learn_more_action" msgid="7011130656195423947">"Daha fazla bilgi"</string> - <string name="nas_upgrade_notification_learn_more_content" msgid="3735480566983530650">"Gelişmiş bildirimler, Android 12\'de Android Uyarlamalı Bildirimler\'in yerini aldı. Bu özellik, önerilen işlem ve yanıtları gösterir ve bildirimlerinizi organize eder.\n\nGelişmiş bildirimler, kişiler ve mesajlar gibi kişisel bilgiler dahil olmak üzere tüm bildirim içeriklerine erişebilir. Bu özellik ayrıca bildirimleri kapatabilir veya telefon aramalarını yanıtlamak ve Rahatsız Etmeyin modunu kontrol etmek gibi işlemlerle bildirimlere yanıt verebilir."</string> + <string name="nas_upgrade_notification_learn_more_content" msgid="3735480566983530650">"Gelişmiş bildirimler, Android 12\'de Android Uyarlanabilir Bildirimler\'in yerini aldı. Bu özellik, önerilen işlem ve yanıtları gösterir ve bildirimlerinizi organize eder.\n\nGelişmiş bildirimler, kişiler ve mesajlar gibi kişisel bilgiler dahil olmak üzere tüm bildirim içeriklerine erişebilir. Bu özellik ayrıca bildirimleri kapatabilir veya telefon aramalarını yanıtlamak ve Rahatsız Etmeyin modunu kontrol etmek gibi işlemlerle bildirimlere yanıt verebilir."</string> <string name="dynamic_mode_notification_channel_name" msgid="2986926422100223328">"Rutin Modu bilgi bildirimi"</string> <string name="dynamic_mode_notification_title" msgid="9205715501274608016">"Pil normal şarjdan önce bitebilir"</string> <string name="dynamic_mode_notification_summary" msgid="4141614604437372157">"Pilin ömrünü uzatmak için Pil Tasarrufu etkinleştirildi"</string> diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml index 285c5861f1aa..d69e256e9470 100644 --- a/core/res/res/values-uk/strings.xml +++ b/core/res/res/values-uk/strings.xml @@ -307,8 +307,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"отримувати доступ до календаря"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"надсилати та переглядати SMS-повідомлення"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Файли й документи"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"отримувати доступ до файлів і документів на вашому пристрої"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Файли"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"отримувати доступ до файлів на пристрої"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Музика й аудіо"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"отримувати доступ до музики й аудіо на пристрої"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Фото й відео"</string> @@ -1683,7 +1683,7 @@ <string name="accessibility_enable_service_title" msgid="3931558336268541484">"Надати сервісу <xliff:g id="SERVICE">%1$s</xliff:g> повний доступ до вашого пристрою?"</string> <string name="accessibility_service_warning_description" msgid="291674995220940133">"Повний доступ доречний для додатків, які надають спеціальні можливості, але його не варто відкривати для більшості інших додатків."</string> <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"Перегляд і контроль екрана"</string> - <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"Цей сервіс може переглядати всі дані на екрані й показувати вміст над іншими додатками."</string> + <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"Цей сервіс може переглядати всі дані на екрані й показувати контент поверх інших додатків."</string> <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"Перегляд і виконання дій"</string> <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"Цей сервіс може відстежувати вашу взаємодію з додатком чи апаратним датчиком, а також взаємодіяти з додатками від вашого імені."</string> <string name="accessibility_dialog_button_allow" msgid="2092558122987144530">"Дозволити"</string> diff --git a/core/res/res/values-ur/strings.xml b/core/res/res/values-ur/strings.xml index dd21648d5bf7..7e170af78b2f 100644 --- a/core/res/res/values-ur/strings.xml +++ b/core/res/res/values-ur/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"اپنے کیلنڈر تک رسائی حاصل کریں"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS پیغامات بھیجیں اور دیکھیں"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"فائلز اور دستاویزات"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"آپ کے آلے پر فائلز اور دستاویزات تک رسائی حاصل کریں"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"فائلیں"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"آپ کے آلے پر موجود فائلز تک رسائل حاصل کریں"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"موسیقی اور آڈیو"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"اپنے آلے پر موسیقی اور آڈیو تک رسائی حاصل کریں"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"تصاویر اور ویڈیوز"</string> diff --git a/core/res/res/values-uz/strings.xml b/core/res/res/values-uz/strings.xml index 441a3350498b..f8703604d37e 100644 --- a/core/res/res/values-uz/strings.xml +++ b/core/res/res/values-uz/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"taqvimingizga kirish"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS xabarlarni yuborish va ko‘rish"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Fayl va hujjatlar"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"qurilmangizdagi fayl va hujjatlarga kirish"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Fayllar"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"qurilmangizdagi fayllarga kirish"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Musiqa va audio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"qurilmadagi musiqa va audioga ruxsat"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Video va suratlar"</string> @@ -1378,7 +1378,7 @@ <string name="share_remote_bugreport_action" msgid="7630880678785123682">"BAHAM KO‘RISH"</string> <string name="decline_remote_bugreport_action" msgid="4040894777519784346">"RAD ETISH"</string> <string name="select_input_method" msgid="3971267998568587025">"Matn kiritish usulini tanlang"</string> - <string name="show_ime" msgid="6406112007347443383">"Jismoniy klaviatura ulanganida ekranda chiqib turadi"</string> + <string name="show_ime" msgid="6406112007347443383">"Tashqi klaviatura ulanganida ekranda chiqib turadi"</string> <string name="hardware" msgid="1800597768237606953">"Virtual klaviatura"</string> <string name="select_keyboard_layout_notification_title" msgid="4427643867639774118">"Tashqi klaviaturani sozlash"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Til va sxemani belgilash uchun bosing"</string> diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml index fa19f9df6d46..ce47bc509826 100644 --- a/core/res/res/values-vi/strings.xml +++ b/core/res/res/values-vi/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"truy cập lịch của bạn"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"Tin nhắn SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"gửi và xem tin nhắn SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Tệp và tài liệu"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"truy cập vào các tệp và tài liệu trên thiết bị của bạn"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Tệp"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"truy cập tệp trên thiết bị của bạn"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Nhạc và âm thanh"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"truy cập vào âm nhạc và âm thanh trên thiết bị của bạn"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Ảnh và video"</string> diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml index 42e0be90eb1b..4fa44fbcd040 100644 --- a/core/res/res/values-zh-rCN/strings.xml +++ b/core/res/res/values-zh-rCN/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"访问您的日历"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"短信"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"发送和查看短信"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"文件和文档"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"访问您设备上的文件和文档"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"文件"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"访问您设备上的文件"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"音乐和音频"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"访问您设备上的音乐和音频"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"照片和视频"</string> @@ -1678,7 +1678,7 @@ <string name="accessibility_shortcut_off" msgid="3651336255403648739">"不开启"</string> <string name="accessibility_shortcut_menu_item_status_on" msgid="6608392117189732543">"已开启"</string> <string name="accessibility_shortcut_menu_item_status_off" msgid="5531598275559472393">"已关闭"</string> - <string name="accessibility_enable_service_title" msgid="3931558336268541484">"要允许<xliff:g id="SERVICE">%1$s</xliff:g>完全控制您的设备吗?"</string> + <string name="accessibility_enable_service_title" msgid="3931558336268541484">"要允许“<xliff:g id="SERVICE">%1$s</xliff:g>”完全控制您的设备吗?"</string> <string name="accessibility_service_warning_description" msgid="291674995220940133">"对于能满足您的无障碍功能需求的应用,可授予其完全控制权限;但对大部分应用来说,都不适合授予此权限。"</string> <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"查看和控制屏幕"</string> <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"此功能可以读出屏幕上的所有内容,并在其他应用上层显示内容。"</string> @@ -1957,7 +1957,7 @@ <string name="profile_encrypted_message" msgid="1128512616293157802">"点按即可解锁工作资料"</string> <string name="usb_mtp_launch_notification_title" msgid="774319638256707227">"已连接到<xliff:g id="PRODUCT_NAME">%1$s</xliff:g>"</string> <string name="usb_mtp_launch_notification_description" msgid="6942535713629852684">"点按即可查看文件"</string> - <string name="pin_target" msgid="8036028973110156895">"固定"</string> + <string name="pin_target" msgid="8036028973110156895">"置顶"</string> <string name="pin_specific_target" msgid="7824671240625957415">"将<xliff:g id="LABEL">%1$s</xliff:g>置顶"</string> <string name="unpin_target" msgid="3963318576590204447">"取消固定"</string> <string name="unpin_specific_target" msgid="3859828252160908146">"取消置顶<xliff:g id="LABEL">%1$s</xliff:g>"</string> diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml index 92620e8dd0ba..7198d4e41e2a 100644 --- a/core/res/res/values-zh-rHK/strings.xml +++ b/core/res/res/values-zh-rHK/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"存取您的日曆"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"短訊"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"傳送和查看短訊"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"檔案和文件"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"存取裝置上的檔案和文件"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"檔案"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"存取裝置上的檔案"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"音樂和音訊"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"在裝置上使用音樂和音訊"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"相片和影片"</string> @@ -1678,8 +1678,8 @@ <string name="accessibility_shortcut_off" msgid="3651336255403648739">"不要開啟"</string> <string name="accessibility_shortcut_menu_item_status_on" msgid="6608392117189732543">"開啟"</string> <string name="accessibility_shortcut_menu_item_status_off" msgid="5531598275559472393">"關閉"</string> - <string name="accessibility_enable_service_title" msgid="3931558336268541484">"要允許 <xliff:g id="SERVICE">%1$s</xliff:g> 完全控制您的裝置嗎?"</string> - <string name="accessibility_service_warning_description" msgid="291674995220940133">"為您提供所需無障礙功能的應用程式有權完全控制您的裝置,但大部分應用程式均沒有此權限。"</string> + <string name="accessibility_enable_service_title" msgid="3931558336268541484">"允許 <xliff:g id="SERVICE">%1$s</xliff:g> 完全控制您的裝置?"</string> + <string name="accessibility_service_warning_description" msgid="291674995220940133">"對於為您提供無障礙功能的應用程式,您可授予完整控制權,但大部分應用程式都不應獲授予此權限。"</string> <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"查看和控制螢幕"</string> <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"這項功能可以讀出螢幕上的所有內容,並透過其他應用程式顯示內容。"</string> <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"查看和執行動作"</string> diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml index 47970354d241..e0a06d5e15bc 100644 --- a/core/res/res/values-zh-rTW/strings.xml +++ b/core/res/res/values-zh-rTW/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"存取你的日曆"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"簡訊"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"傳送及查看簡訊"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"檔案和文件"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"存取裝置上的檔案與文件"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"檔案"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"存取裝置上的檔案"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"音樂和音訊"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"存取裝置上的音樂和音訊"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"相片和影片"</string> diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml index 581eda14f3ff..8f3be13e2867 100644 --- a/core/res/res/values-zu/strings.xml +++ b/core/res/res/values-zu/strings.xml @@ -305,8 +305,8 @@ <string name="permgroupdesc_calendar" msgid="6762751063361489379">"finyelela kukhalenda yakho"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"I-SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"thumela uphinde ubuke imilayezo ye-SMS"</string> - <string name="permgrouplab_storage" msgid="5570124978732352858">"Amafayela namadokhumenti"</string> - <string name="permgroupdesc_storage" msgid="8352226729501080525">"finyelela amafayela namadokhumenti kudivayisi yakho"</string> + <string name="permgrouplab_storage" msgid="17339216290379241">"Amafayela"</string> + <string name="permgroupdesc_storage" msgid="5378659041354582769">"finyelela amafayela kudivayisi yakho"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Umculo nomsindo"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"finyelela umculo nomsindo kudivayisi yakho"</string> <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Izithombe namavidiyo"</string> diff --git a/core/res/res/values/colors_material.xml b/core/res/res/values/colors_material.xml index d357f0102777..ea6e1f182fbf 100644 --- a/core/res/res/values/colors_material.xml +++ b/core/res/res/values/colors_material.xml @@ -65,18 +65,12 @@ <!-- 70% white --> <color name="secondary_text_default_material_dark">#b3ffffff</color> - <item name="hint_alpha_material_dark" format="float" type="dimen">0.50</item> - <item name="hint_alpha_material_light" format="float" type="dimen">0.38</item> - - <item name="hint_pressed_alpha_material_dark" format="float" type="dimen">0.70</item> - <item name="hint_pressed_alpha_material_light" format="float" type="dimen">0.54</item> - <item name="disabled_alpha_material_light" format="float" type="dimen">0.26</item> <item name="disabled_alpha_material_dark" format="float" type="dimen">0.30</item> <item name="primary_content_alpha_material_dark" format="float" type="dimen">1</item> <item name="primary_content_alpha_material_light" format="float" type="dimen">0.87</item> <item name="secondary_content_alpha_material_dark" format="float" type="dimen">.7</item> - <item name="secondary_content_alpha_material_light" format="float" type="dimen">0.54</item> + <item name="secondary_content_alpha_material_light" format="float" type="dimen">0.60</item> <item name="highlight_alpha_material_light" format="float" type="dimen">0.10</item> <item name="highlight_alpha_material_dark" format="float" type="dimen">0.10</item> diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 054695ef8f93..70766cc79eb4 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -5163,9 +5163,8 @@ when TextClassifier has not been initialized. --> <integer name="config_smartSelectionInitializingTimeoutMillis">500</integer> - <!-- The delay in milliseconds before focused Views set themselves as preferred to keep clear. - Set to -1 if Views should not set themselves as preferred to keep clear. --> - <integer name="config_preferKeepClearForFocusDelayMillis">-1</integer> + <!-- If true, Views will declare they prefer to be kept clear from overlays when focused. --> + <bool name="config_preferKeepClearForFocus">false</bool> <!-- Indicates that default fitness tracker app needs to request sensor and location permissions. --> <bool name="config_trackerAppNeedsPermissions">false</bool> diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index 211bf7f7b581..43ca4f098ce7 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -865,13 +865,13 @@ <dimen name="autofill_dataset_picker_max_height">90%</dimen> <!-- Autofill save dialog padding --> - <dimen name="autofill_save_outer_top_margin">32dp</dimen> + <dimen name="autofill_save_outer_top_margin">24dp</dimen> <dimen name="autofill_save_outer_top_padding">16dp</dimen> <dimen name="autofill_elevation">32dp</dimen> <dimen name="autofill_save_inner_padding">16dp</dimen> - <dimen name="autofill_save_icon_size">24dp</dimen> + <dimen name="autofill_save_icon_size">32dp</dimen> <dimen name="autofill_save_title_start_padding">8dp</dimen> - <dimen name="autofill_save_scroll_view_top_margin">4dp</dimen> + <dimen name="autofill_save_scroll_view_top_margin">16dp</dimen> <dimen name="autofill_save_button_bar_padding">16dp</dimen> <dimen name="autofill_dialog_corner_radius">28dp</dimen> diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml index 0c35f93147a6..5d17047d7430 100644 --- a/core/res/res/values/styles.xml +++ b/core/res/res/values/styles.xml @@ -1495,7 +1495,14 @@ please see styles_device_defaults.xml. <item name="background">@drawable/autofill_dataset_picker_background</item> </style> - <!-- @hide --> + <!-- @hide Autofill save dialog title --> + <style name="AutofillSaveUiTitle" parent="TextAppearance.DeviceDefault.Subhead"> + <item name="textColor">?attr/textColorPrimary</item> + <item name="fontFamily">google-sans</item> + <item name="textSize">24sp</item> + </style> + + <!--@hide --> <style name="AutofillHalfScreenAnimation"> <item name="android:windowEnterAnimation">@anim/slide_in_up</item> <item name="android:windowExitAnimation">@anim/slide_out_down</item> @@ -1526,26 +1533,27 @@ please see styles_device_defaults.xml. <!-- The style for log access consent text --> <style name="AllowLogAccess"> - <item name="android:layout_width">332dp</item> <item name="android:textSize">24sp</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:fontFamily">google-sans-text</item> </style> + <style name="PermissionGrantButtonTextAppearance"> + <item name="android:fontFamily">google-sans-medium</item> + <item name="android:textSize">14sp</item> + <item name="android:textColor">@android:color/system_neutral1_900</item> + </style> + <style name="PermissionGrantButtonTop" parent="@android:style/Widget.DeviceDefault.Button.Borderless.Colored"> <item name="android:layout_width">332dp</item> <item name="android:layout_height">56dp</item> <item name="android:layout_marginTop">2dp</item> <item name="android:layout_marginBottom">2dp</item> - <item name="android:fontFamily">google-sans-medium</item> - <item name="android:textSize">14sp</item> - <item name="android:textColor">@android:color/system_neutral1_900</item> <item name="android:background">@drawable/grant_permissions_buttons_top</item> </style> @@ -1555,9 +1563,6 @@ please see styles_device_defaults.xml. <item name="android:layout_height">56dp</item> <item name="android:layout_marginTop">2dp</item> <item name="android:layout_marginBottom">2dp</item> - <item name="android:fontFamily">google-sans-medium</item> - <item name="android:textSize">14sp</item> - <item name="android:textColor">@android:color/system_neutral1_900</item> <item name="android:background">@drawable/grant_permissions_buttons_bottom</item> </style> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 5bfc56888789..e111ee184be1 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -479,7 +479,7 @@ <java-symbol type="bool" name="config_useAssistantVolume" /> <java-symbol type="integer" name="config_smartSelectionInitializedTimeoutMillis" /> <java-symbol type="integer" name="config_smartSelectionInitializingTimeoutMillis" /> - <java-symbol type="integer" name="config_preferKeepClearForFocusDelayMillis" /> + <java-symbol type="bool" name="config_preferKeepClearForFocus" /> <java-symbol type="bool" name="config_hibernationDeletesOatArtifactsEnabled"/> <java-symbol type="integer" name="config_defaultAnalogClockSecondsHandFps"/> diff --git a/core/res/res/values/themes_device_defaults.xml b/core/res/res/values/themes_device_defaults.xml index 5000b5821aab..c603c83e033d 100644 --- a/core/res/res/values/themes_device_defaults.xml +++ b/core/res/res/values/themes_device_defaults.xml @@ -2704,4 +2704,8 @@ easier. <item name="textColorPrimary">@color/system_neutral1_900</item> <item name="textColorSecondary">@color/system_neutral2_700</item> </style> + <style name="Theme.DeviceDefault.AutofillHalfScreenDialogList" parent="Theme.DeviceDefault.DayNight"> + <item name="colorListDivider">@color/list_divider_opacity_device_default_light</item> + <item name="opacityListDivider">@color/list_divider_opacity_device_default_light</item> + </style> </resources> diff --git a/core/tests/coretests/src/android/window/BackNavigationTest.java b/core/tests/coretests/src/android/window/BackNavigationTest.java index 678eef557fed..ce69f12a065b 100644 --- a/core/tests/coretests/src/android/window/BackNavigationTest.java +++ b/core/tests/coretests/src/android/window/BackNavigationTest.java @@ -91,7 +91,7 @@ public class BackNavigationTest { private void assertCallbackIsCalled(CountDownLatch latch) { try { mInstrumentation.getUiAutomation().waitForIdle(500, 1000); - BackNavigationInfo info = ActivityTaskManager.getService().startBackNavigation(); + BackNavigationInfo info = ActivityTaskManager.getService().startBackNavigation(true); assertNotNull("BackNavigationInfo is null", info); assertNotNull("OnBackInvokedCallback is null", info.getOnBackInvokedCallback()); info.getOnBackInvokedCallback().onBackInvoked(); diff --git a/core/tests/coretests/src/com/android/internal/os/BatteryUsageStatsStoreTest.java b/core/tests/coretests/src/com/android/internal/os/BatteryUsageStatsStoreTest.java index 21f6e7c82d7f..c9729fab3b5e 100644 --- a/core/tests/coretests/src/com/android/internal/os/BatteryUsageStatsStoreTest.java +++ b/core/tests/coretests/src/com/android/internal/os/BatteryUsageStatsStoreTest.java @@ -132,6 +132,26 @@ public class BatteryUsageStatsStoreTest { } @Test + public void testRemoveAllSnapshots() throws Exception { + prepareBatteryStats(); + + for (int i = 0; i < 3; i++) { + mMockClock.realtime += 10_000_000; + mMockClock.uptime += 10_000_000; + mMockClock.currentTime += 10_000_000; + prepareBatteryStats(); + + mBatteryStats.resetAllStatsCmdLocked(); + } + + assertThat(getDirectorySize(mStoreDirectory)).isNotEqualTo(0); + + mBatteryUsageStatsStore.removeAllSnapshots(); + + assertThat(getDirectorySize(mStoreDirectory)).isEqualTo(0); + } + + @Test public void testSavingStatsdAtomPullTimestamp() { mBatteryUsageStatsStore.setLastBatteryUsageStatsBeforeResetAtomPullTimestamp(1234); assertThat(mBatteryUsageStatsStore.getLastBatteryUsageStatsBeforeResetAtomPullTimestamp()) diff --git a/libs/WindowManager/Shell/res/values/strings_tv.xml b/libs/WindowManager/Shell/res/values/strings_tv.xml index 09ed9b8e52ee..2b7a13eac6ca 100644 --- a/libs/WindowManager/Shell/res/values/strings_tv.xml +++ b/libs/WindowManager/Shell/res/values/strings_tv.xml @@ -26,23 +26,38 @@ <!-- Picture-in-Picture (PIP) menu --> <eat-comment /> <!-- Button to close picture-in-picture (PIP) in PIP menu [CHAR LIMIT=30] --> - <string name="pip_close">Close PIP</string> + <string name="pip_close">Close</string> <!-- Button to move picture-in-picture (PIP) screen to the fullscreen in PIP menu [CHAR LIMIT=30] --> <string name="pip_fullscreen">Full screen</string> <!-- Button to move picture-in-picture (PIP) via DPAD in the PIP menu [CHAR LIMIT=30] --> - <string name="pip_move">Move PIP</string> + <string name="pip_move">Move</string> <!-- Button to expand the picture-in-picture (PIP) window [CHAR LIMIT=30] --> - <string name="pip_expand">Expand PIP</string> + <string name="pip_expand">Expand</string> <!-- Button to collapse/shrink the picture-in-picture (PIP) window [CHAR LIMIT=30] --> - <string name="pip_collapse">Collapse PIP</string> + <string name="pip_collapse">Collapse</string> <!-- Educative text instructing the user to double press the HOME button to access the pip controls menu [CHAR LIMIT=50] --> <string name="pip_edu_text"> Double press <annotation icon="home_icon"> HOME </annotation> for controls </string> + + <!-- Accessibility announcement when opening the PiP menu. [CHAR LIMIT=NONE] --> + <string name="a11y_pip_menu_entered">Picture-in-Picture menu.</string> + + <!-- Accessibility action: move the PiP window to the left [CHAR LIMIT=30] --> + <string name="a11y_action_pip_move_left">Move left</string> + <!-- Accessibility action: move the PiP window to the right [CHAR LIMIT=30] --> + <string name="a11y_action_pip_move_right">Move right</string> + <!-- Accessibility action: move the PiP window up [CHAR LIMIT=30] --> + <string name="a11y_action_pip_move_up">Move up</string> + <!-- Accessibility action: move the PiP window down [CHAR LIMIT=30] --> + <string name="a11y_action_pip_move_down">Move down</string> + <!-- Accessibility action: done with moving the PiP [CHAR LIMIT=30] --> + <string name="a11y_action_pip_move_done">Done</string> + </resources> diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java index a16841cb870a..7760df17a8cd 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java @@ -286,7 +286,8 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont mBackGestureStarted = true; try { - mBackNavigationInfo = mActivityTaskManager.startBackNavigation(); + boolean requestAnimation = mEnableAnimations.get(); + mBackNavigationInfo = mActivityTaskManager.startBackNavigation(requestAnimation); onBackNavigationInfoReceived(mBackNavigationInfo); } catch (RemoteException remoteException) { Log.e(TAG, "Failed to initAnimation", remoteException); 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 7cfacbcc92f8..e9729e45731b 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 @@ -88,6 +88,9 @@ public class BubblePositioner { private int mMaxBubbles; private int mBubbleSize; private int mSpacingBetweenBubbles; + private int mBubblePaddingTop; + private int mBubbleOffscreenAmount; + private int mStackOffset; private int mExpandedViewMinHeight; private int mExpandedViewLargeScreenWidth; @@ -187,6 +190,10 @@ public class BubblePositioner { mSpacingBetweenBubbles = res.getDimensionPixelSize(R.dimen.bubble_spacing); mDefaultMaxBubbles = res.getInteger(R.integer.bubbles_max_rendered); mExpandedViewPadding = res.getDimensionPixelSize(R.dimen.bubble_expanded_view_padding); + mBubblePaddingTop = res.getDimensionPixelSize(R.dimen.bubble_padding_top); + mBubbleOffscreenAmount = res.getDimensionPixelSize(R.dimen.bubble_stack_offscreen); + mStackOffset = res.getDimensionPixelSize(R.dimen.bubble_stack_offset); + if (mIsSmallTablet) { mExpandedViewLargeScreenWidth = (int) (bounds.width() * EXPANDED_VIEW_SMALL_TABLET_WIDTH_PERCENT); @@ -329,6 +336,21 @@ public class BubblePositioner { : mBubbleSize; } + /** The amount of padding at the top of the screen that the bubbles avoid when being placed. */ + public int getBubblePaddingTop() { + return mBubblePaddingTop; + } + + /** The amount the stack hang off of the screen when collapsed. */ + public int getStackOffScreenAmount() { + return mBubbleOffscreenAmount; + } + + /** Offset of bubbles in the stack (i.e. how much they overlap). */ + public int getStackOffset() { + return mStackOffset; + } + /** Size of the visible (non-overlapping) part of the pointer. */ public int getPointerSize() { return mPointerHeight - mPointerOverlap; @@ -678,7 +700,28 @@ public class BubblePositioner { return new BubbleStackView.RelativeStackPosition( startOnLeft, startingVerticalOffset / mPositionRect.height()) - .getAbsolutePositionInRegion(new RectF(mPositionRect)); + .getAbsolutePositionInRegion(getAllowableStackPositionRegion( + 1 /* default starts with 1 bubble */)); + } + + + /** + * Returns the region that the stack position must stay within. This goes slightly off the left + * and right sides of the screen, below the status bar/cutout and above the navigation bar. + * While the stack position is not allowed to rest outside of these bounds, it can temporarily + * be animated or dragged beyond them. + */ + public RectF getAllowableStackPositionRegion(int bubbleCount) { + final RectF allowableRegion = new RectF(getAvailableRect()); + final int imeHeight = getImeHeight(); + final float bottomPadding = bubbleCount > 1 + ? mBubblePaddingTop + mStackOffset + : mBubblePaddingTop; + allowableRegion.left -= mBubbleOffscreenAmount; + allowableRegion.top += mBubblePaddingTop; + allowableRegion.right += mBubbleOffscreenAmount - mBubbleSize; + allowableRegion.bottom -= imeHeight + bottomPadding + mBubbleSize; + return allowableRegion; } /** 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 b7c5eb06fbfa..0e8dc63943a6 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 @@ -1296,7 +1296,7 @@ public class BubbleStackView extends FrameLayout public void onOrientationChanged() { mRelativeStackPositionBeforeRotation = new RelativeStackPosition( mPositioner.getRestingPosition(), - mStackAnimationController.getAllowableStackPositionRegion()); + mPositioner.getAllowableStackPositionRegion(getBubbleCount())); addOnLayoutChangeListener(mOrientationChangedListener); hideFlyoutImmediate(); } @@ -1340,7 +1340,7 @@ public class BubbleStackView extends FrameLayout mStackAnimationController.setStackPosition( new RelativeStackPosition( mPositioner.getRestingPosition(), - mStackAnimationController.getAllowableStackPositionRegion())); + mPositioner.getAllowableStackPositionRegion(getBubbleCount()))); } if (mIsExpanded) { updateExpandedView(); @@ -1440,7 +1440,7 @@ public class BubbleStackView extends FrameLayout if (super.performAccessibilityActionInternal(action, arguments)) { return true; } - final RectF stackBounds = mStackAnimationController.getAllowableStackPositionRegion(); + final RectF stackBounds = mPositioner.getAllowableStackPositionRegion(getBubbleCount()); // R constants are not final so we cannot use switch-case here. if (action == AccessibilityNodeInfo.ACTION_DISMISS) { diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/animation/StackAnimationController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/animation/StackAnimationController.java index 04af60dd7a03..0a1b4d70fb2b 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/animation/StackAnimationController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/animation/StackAnimationController.java @@ -185,8 +185,6 @@ public class StackAnimationController extends * stack goes offscreen intentionally. */ private int mBubblePaddingTop; - /** How far offscreen the stack rests. */ - private int mBubbleOffscreen; /** Contains display size, orientation, and inset information. */ private BubblePositioner mPositioner; @@ -212,7 +210,8 @@ public class StackAnimationController extends public Rect getAllowedFloatingBoundsRegion() { final Rect floatingBounds = getFloatingBoundsOnScreen(); final Rect allowableStackArea = new Rect(); - getAllowableStackPositionRegion().roundOut(allowableStackArea); + mPositioner.getAllowableStackPositionRegion(getBubbleCount()) + .roundOut(allowableStackArea); allowableStackArea.right += floatingBounds.width(); allowableStackArea.bottom += floatingBounds.height(); return allowableStackArea; @@ -349,7 +348,7 @@ public class StackAnimationController extends ? velX < ESCAPE_VELOCITY : velX < -ESCAPE_VELOCITY; - final RectF stackBounds = getAllowableStackPositionRegion(); + final RectF stackBounds = mPositioner.getAllowableStackPositionRegion(getBubbleCount()); // Target X translation (either the left or right side of the screen). final float destinationRelativeX = stackShouldFlingLeft @@ -425,7 +424,7 @@ public class StackAnimationController extends } final PointF stackPos = getStackPosition(); final boolean onLeft = mLayout.isFirstChildXLeftOfCenter(stackPos.x); - final RectF bounds = getAllowableStackPositionRegion(); + final RectF bounds = mPositioner.getAllowableStackPositionRegion(getBubbleCount()); stackPos.x = onLeft ? bounds.left : bounds.right; return stackPos; @@ -464,7 +463,7 @@ public class StackAnimationController extends StackPositionProperty firstBubbleProperty = new StackPositionProperty(property); final float currentValue = firstBubbleProperty.getValue(this); - final RectF bounds = getAllowableStackPositionRegion(); + final RectF bounds = mPositioner.getAllowableStackPositionRegion(getBubbleCount()); final float min = property.equals(DynamicAnimation.TRANSLATION_X) ? bounds.left @@ -525,7 +524,8 @@ public class StackAnimationController extends * of the stack if it's not moving). */ public float animateForImeVisibility(boolean imeVisible) { - final float maxBubbleY = getAllowableStackPositionRegion().bottom; + final float maxBubbleY = mPositioner.getAllowableStackPositionRegion( + getBubbleCount()).bottom; float destinationY = UNSET; if (imeVisible) { @@ -567,25 +567,6 @@ public class StackAnimationController extends mFloatingContentCoordinator.onContentMoved(mStackFloatingContent); } - /** - * Returns the region that the stack position must stay within. This goes slightly off the left - * and right sides of the screen, below the status bar/cutout and above the navigation bar. - * While the stack position is not allowed to rest outside of these bounds, it can temporarily - * be animated or dragged beyond them. - */ - public RectF getAllowableStackPositionRegion() { - final RectF allowableRegion = new RectF(mPositioner.getAvailableRect()); - final int imeHeight = mPositioner.getImeHeight(); - final float bottomPadding = getBubbleCount() > 1 - ? mBubblePaddingTop + mStackOffset - : mBubblePaddingTop; - allowableRegion.left -= mBubbleOffscreen; - allowableRegion.top += mBubblePaddingTop; - allowableRegion.right += mBubbleOffscreen - mBubbleSize; - allowableRegion.bottom -= imeHeight + bottomPadding + mBubbleSize; - return allowableRegion; - } - /** Moves the stack in response to a touch event. */ public void moveStackFromTouch(float x, float y) { // Begin the spring-to-touch catch up animation if needed. @@ -861,13 +842,12 @@ public class StackAnimationController extends @Override void onActiveControllerForLayout(PhysicsAnimationLayout layout) { Resources res = layout.getResources(); - mStackOffset = res.getDimensionPixelSize(R.dimen.bubble_stack_offset); + mStackOffset = mPositioner.getStackOffset(); mSwapAnimationOffset = res.getDimensionPixelSize(R.dimen.bubble_swap_animation_offset); mMaxBubbles = res.getInteger(R.integer.bubbles_max_rendered); mElevation = res.getDimensionPixelSize(R.dimen.bubble_elevation); mBubbleSize = mPositioner.getBubbleSize(); - mBubblePaddingTop = res.getDimensionPixelSize(R.dimen.bubble_padding_top); - mBubbleOffscreen = res.getDimensionPixelSize(R.dimen.bubble_stack_offscreen); + mBubblePaddingTop = mPositioner.getBubblePaddingTop(); } /** @@ -958,7 +938,8 @@ public class StackAnimationController extends } public void setStackPosition(BubbleStackView.RelativeStackPosition position) { - setStackPosition(position.getAbsolutePositionInRegion(getAllowableStackPositionRegion())); + setStackPosition(position.getAbsolutePositionInRegion( + mPositioner.getAllowableStackPositionRegion(getBubbleCount()))); } private boolean isStackPositionSet() { diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/BackAnimationControllerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/BackAnimationControllerTest.java index 49b6968f9417..fcfcbfa091db 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/BackAnimationControllerTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/BackAnimationControllerTest.java @@ -20,6 +20,7 @@ import static android.window.BackNavigationInfo.KEY_TRIGGER_BACK; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.atLeastOnce; @@ -128,7 +129,7 @@ public class BackAnimationControllerTest { new RemoteCallback((bundle) -> {}), onBackInvokedCallback); try { - doReturn(navigationInfo).when(mActivityTaskManager).startBackNavigation(); + doReturn(navigationInfo).when(mActivityTaskManager).startBackNavigation(anyBoolean()); } catch (RemoteException ex) { ex.rethrowFromSystemServer(); } @@ -136,7 +137,7 @@ public class BackAnimationControllerTest { private void createNavigationInfo(BackNavigationInfo.Builder builder) { try { - doReturn(builder.build()).when(mActivityTaskManager).startBackNavigation(); + doReturn(builder.build()).when(mActivityTaskManager).startBackNavigation(anyBoolean()); } catch (RemoteException ex) { ex.rethrowFromSystemServer(); } diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java index e39914db4d0f..d5b7adaeb57b 100644 --- a/media/java/android/media/MediaCodec.java +++ b/media/java/android/media/MediaCodec.java @@ -2317,10 +2317,6 @@ final public class MediaCodec { */ public final void start() { native_start(); - synchronized(mBufferLock) { - cacheBuffers(true /* input */); - cacheBuffers(false /* input */); - } } private native final void native_start(); @@ -3952,6 +3948,9 @@ final public class MediaCodec { + "objects and attach to QueueRequest objects."); } if (mCachedInputBuffers == null) { + cacheBuffers(true /* input */); + } + if (mCachedInputBuffers == null) { throw new IllegalStateException(); } // FIXME: check codec status @@ -3990,6 +3989,9 @@ final public class MediaCodec { + "Please use getOutputFrame to get output frames."); } if (mCachedOutputBuffers == null) { + cacheBuffers(false /* input */); + } + if (mCachedOutputBuffers == null) { throw new IllegalStateException(); } // FIXME: check codec status diff --git a/media/java/android/media/MediaMetrics.java b/media/java/android/media/MediaMetrics.java index 6eb1af8ac980..a4a8cc44984f 100644 --- a/media/java/android/media/MediaMetrics.java +++ b/media/java/android/media/MediaMetrics.java @@ -107,6 +107,9 @@ public class MediaMetrics { public static final Key<String> EVENT = createKey("event#", String.class); + // Generally string "true" or "false" + public static final Key<String> ENABLED = createKey("enabled", String.class); + // event generated is external (yes, no) public static final Key<String> EXTERNAL = createKey("external", String.class); @@ -122,6 +125,13 @@ public class MediaMetrics { public static final Key<String> GROUP = createKey("group", String.class); + // Generally string "true" or "false" + public static final Key<String> HAS_HEAD_TRACKER = + createKey("hasHeadTracker", String.class); // spatializer + // Generally string "true" or "false" + public static final Key<String> HEAD_TRACKER_ENABLED = + createKey("headTrackerEnabled", String.class); // spatializer + public static final Key<Integer> INDEX = createKey("index", Integer.class); // volume public static final Key<String> LOG_SESSION_ID = createKey("logSessionId", String.class); public static final Key<Integer> MAX_INDEX = createKey("maxIndex", Integer.class); // vol diff --git a/media/java/android/media/projection/IMediaProjectionManager.aidl b/media/java/android/media/projection/IMediaProjectionManager.aidl index d190fcec6c8c..1d58a409718d 100644 --- a/media/java/android/media/projection/IMediaProjectionManager.aidl +++ b/media/java/android/media/projection/IMediaProjectionManager.aidl @@ -21,6 +21,7 @@ import android.media.projection.IMediaProjectionCallback; import android.media.projection.IMediaProjectionWatcherCallback; import android.media.projection.MediaProjectionInfo; import android.os.IBinder; +import android.view.ContentRecordingSession; /** {@hide} */ interface IMediaProjectionManager { @@ -33,4 +34,15 @@ interface IMediaProjectionManager { void stopActiveProjection(); void addCallback(IMediaProjectionWatcherCallback callback); void removeCallback(IMediaProjectionWatcherCallback callback); + + /** + * Updates the content recording session. If a different session is already in progress, then + * the pre-existing session is stopped, and the new incoming session takes over. Only updates + * the session if the given projection is valid. + * + * @param incomingSession the nullable incoming content recording session + * @param projection the non-null projection the session describes + */ + void setContentRecordingSession(in ContentRecordingSession incomingSession, + in IMediaProjection projection); } diff --git a/media/java/android/media/projection/MediaProjection.java b/media/java/android/media/projection/MediaProjection.java index b5f95938f845..ba7bf3f5f5d3 100644 --- a/media/java/android/media/projection/MediaProjection.java +++ b/media/java/android/media/projection/MediaProjection.java @@ -26,12 +26,11 @@ import android.hardware.display.VirtualDisplay; import android.hardware.display.VirtualDisplayConfig; import android.os.Handler; import android.os.RemoteException; +import android.os.ServiceManager; import android.util.ArrayMap; import android.util.Log; import android.view.ContentRecordingSession; -import android.view.IWindowManager; import android.view.Surface; -import android.view.WindowManagerGlobal; import android.window.WindowContainerToken; import java.util.Map; @@ -53,6 +52,7 @@ public final class MediaProjection { private final IMediaProjection mImpl; private final Context mContext; private final Map<Callback, CallbackRecord> mCallbacks; + @Nullable private IMediaProjectionManager mProjectionService = null; /** @hide */ public MediaProjection(Context context, IMediaProjection impl) { @@ -172,7 +172,6 @@ public final class MediaProjection { @NonNull VirtualDisplayConfig.Builder virtualDisplayConfig, @Nullable VirtualDisplay.Callback callback, @Nullable Handler handler) { try { - final IWindowManager wmService = WindowManagerGlobal.getWindowManagerService(); final WindowContainerToken taskWindowContainerToken = mImpl.getTaskRecordingWindowContainerToken(); Context windowContext = null; @@ -199,7 +198,7 @@ public final class MediaProjection { } session.setDisplayId(virtualDisplay.getDisplay().getDisplayId()); // Successfully set up, so save the current session details. - wmService.setContentRecordingSession(session); + getProjectionService().setContentRecordingSession(session, mImpl); return virtualDisplay; } catch (RemoteException e) { // Can not capture if WMS is not accessible, so bail out. @@ -207,6 +206,14 @@ public final class MediaProjection { } } + private IMediaProjectionManager getProjectionService() { + if (mProjectionService == null) { + mProjectionService = IMediaProjectionManager.Stub.asInterface( + ServiceManager.getService(Context.MEDIA_PROJECTION_SERVICE)); + } + return mProjectionService; + } + /** * Stops projection. */ diff --git a/packages/CompanionDeviceManager/res/values-af/strings.xml b/packages/CompanionDeviceManager/res/values-af/strings.xml index 71ddcad2f3c6..480bc484b73a 100644 --- a/packages/CompanionDeviceManager/res/values-af/strings.xml +++ b/packages/CompanionDeviceManager/res/values-af/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Metgeseltoestel-bestuurder"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Gee <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> toegang tot jou <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"horlosie"</string> <string name="chooser_title" msgid="2262294130493605839">"Kies \'n <xliff:g id="PROFILE_NAME">%1$s</xliff:g> om deur <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> bestuur te word"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Hierdie program is nodig om jou <xliff:g id="DEVICE_NAME">%1$s</xliff:g> te bestuur. <xliff:g id="APP_NAME">%2$s</xliff:g> sal toegelaat word om interaksie met jou kennisgewings te hê, en sal toegang hê tot jou Foon-, SMS-, Kontakte-, Kalender- en Toestelle in die Omtrek-toestemming."</string> <string name="permission_apps" msgid="6142133265286656158">"Programme"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Stroom jou foon se programme"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Gee <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> toegang tot hierdie inligting op jou foon"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Program-ikoon"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Meer Inligting-knoppie"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-am/strings.xml b/packages/CompanionDeviceManager/res/values-am/strings.xml index 081d4528dae9..5f2bd7f1b3f9 100644 --- a/packages/CompanionDeviceManager/res/values-am/strings.xml +++ b/packages/CompanionDeviceManager/res/values-am/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"አጃቢ የመሣሪያ አስተዳዳሪ"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> የእርስዎን <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> መሣሪያ እንዲደርስ ይፍቀዱለት"</string> <string name="profile_name_watch" msgid="576290739483672360">"ሰዓት"</string> <string name="chooser_title" msgid="2262294130493605839">"በ<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> የሚተዳደር <xliff:g id="PROFILE_NAME">%1$s</xliff:g> ይምረጡ"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"የእርስዎን <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ለማስተዳደር ይህ መተግበሪያ ያስፈልጋል። <xliff:g id="APP_NAME">%2$s</xliff:g> ከማሳወቂያዎችዎ ጋር መስተጋብር እንዲፈጥር እና የእርስዎን ስልክ፣ ኤስኤምኤስ፣ እውቂያዎች፣ የቀን መቁጠሪያ፣ የጥሪ ምዝገባ ማስታወሻዎች እና በአቅራቢያ ያሉ የመሣሪያዎች ፈቃዶች እንዲደርስ ይፈቀድለታል።"</string> <string name="permission_apps" msgid="6142133265286656158">"መተግበሪያዎች"</string> <string name="permission_apps_summary" msgid="798718816711515431">"የስልክዎን መተግበሪያዎች በዥረት ይልቀቁ"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ይህን መረጃ ከስልክዎ እንዲደርስበት ይፍቀዱለት"</string> diff --git a/packages/CompanionDeviceManager/res/values-ar/strings.xml b/packages/CompanionDeviceManager/res/values-ar/strings.xml index cd39aec30ce3..318b60a50437 100644 --- a/packages/CompanionDeviceManager/res/values-ar/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ar/strings.xml @@ -17,17 +17,15 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"تطبيق \"مدير الجهاز المصاحب\""</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"السماح لتطبيق <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> بالوصول إلى <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"ساعة"</string> <string name="chooser_title" msgid="2262294130493605839">"اختَر <xliff:g id="PROFILE_NAME">%1$s</xliff:g> ليديره تطبيق <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"هذا التطبيق مطلوب لإدارة <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. سيتم السماح لتطبيق <xliff:g id="APP_NAME">%2$s</xliff:g> بالتفاعل مع الإشعارات والوصول إلى أذونات الهاتف والرسائل القصيرة وجهات الاتصال والتقويم وسجلّات المكالمات والأجهزة المجاورة."</string> <string name="permission_apps" msgid="6142133265286656158">"التطبيقات"</string> <string name="permission_apps_summary" msgid="798718816711515431">"بث تطبيقات هاتفك"</string> <string name="title_app_streaming" msgid="2270331024626446950">"السماح لتطبيق <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> بالوصول إلى هذه المعلومات من هاتفك"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"الخدمات التي تعمل بين الأجهزة"</string> - <string name="helper_summary_app_streaming" msgid="7380294597268573523">"يطلب التطبيق <xliff:g id="APP_NAME">%1$s</xliff:g> الحصول على إذن نيابةً عن <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> للوصول إلى صور ووسائط وإشعارات هاتفك."</string> + <string name="helper_summary_app_streaming" msgid="7380294597268573523">"تطلب \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" الحصول على إذن نيابةً عن <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> للوصول إلى الصور والوسائط والإشعارات في هاتفك."</string> <string name="title_automotive_projection" msgid="3296005598978412847"></string> <string name="summary_automotive_projection" msgid="8683801274662496164"></string> <string name="title_computer" msgid="4693714143506569253">"السماح لتطبيق <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> بالوصول إلى هذه المعلومات من هاتفك"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"رمز التطبيق"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"زر مزيد من المعلومات"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-as/strings.xml b/packages/CompanionDeviceManager/res/values-as/strings.xml index dd5681a7e126..95c4e68c0dcf 100644 --- a/packages/CompanionDeviceManager/res/values-as/strings.xml +++ b/packages/CompanionDeviceManager/res/values-as/strings.xml @@ -25,7 +25,7 @@ <string name="permission_apps_summary" msgid="798718816711515431">"আপোনাৰ ফ’নৰ এপ্ ষ্ট্ৰীম কৰক"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>ক আপোনাৰ ফ’নৰ পৰা এই তথ্যখিনি এক্সেছ কৰাৰ অনুমতি দিয়ক"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"ক্ৰছ-ডিভাইচ সেৱাসমূহ"</string> - <string name="helper_summary_app_streaming" msgid="7380294597268573523">"<xliff:g id="APP_NAME">%1$s</xliff:g>এ আপোনৰ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g>ৰ হৈ আপোনাৰ ফ’নৰ ফট’ মিডিয়া আৰু জাননী এক্সেছ কৰাৰ বাবে অনুৰোধ জনাইছে"</string> + <string name="helper_summary_app_streaming" msgid="7380294597268573523">"<xliff:g id="APP_NAME">%1$s</xliff:g>এ আপোনৰ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g>ৰ হৈ আপোনাৰ ফ’নৰ ফট’, মিডিয়া আৰু জাননী এক্সেছ কৰাৰ বাবে অনুৰোধ জনাইছে"</string> <string name="title_automotive_projection" msgid="3296005598978412847"></string> <string name="summary_automotive_projection" msgid="8683801274662496164"></string> <string name="title_computer" msgid="4693714143506569253">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>ক আপোনাৰ ফ’নৰ পৰা এই তথ্যখিনি এক্সেছ কৰাৰ অনুমতি দিয়ক"</string> diff --git a/packages/CompanionDeviceManager/res/values-b+sr+Latn/strings.xml b/packages/CompanionDeviceManager/res/values-b+sr+Latn/strings.xml index 4d4f01626da4..d82124758ce6 100644 --- a/packages/CompanionDeviceManager/res/values-b+sr+Latn/strings.xml +++ b/packages/CompanionDeviceManager/res/values-b+sr+Latn/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Menadžer pridruženog uređaja"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Dozvolite da <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> pristupa uređaju <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"sat"</string> <string name="chooser_title" msgid="2262294130493605839">"Odaberite profil <xliff:g id="PROFILE_NAME">%1$s</xliff:g> kojim će upravljati aplikacija <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Ova aplikacija je potrebna za upravljanje uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> će dobiti dozvolu za interakciju sa obaveštenjima i pristup dozvolama za telefon, SMS, kontakte, kalendar, evidencije poziva i uređaje u blizini."</string> <string name="permission_apps" msgid="6142133265286656158">"Aplikacije"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Strimujte aplikacije na telefonu"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Dozvolite da <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> pristupa ovim informacijama sa telefona"</string> diff --git a/packages/CompanionDeviceManager/res/values-be/strings.xml b/packages/CompanionDeviceManager/res/values-be/strings.xml index a181290a0e7d..2086f2eddf09 100644 --- a/packages/CompanionDeviceManager/res/values-be/strings.xml +++ b/packages/CompanionDeviceManager/res/values-be/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Менеджар спадарожнай прылады"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Дазвольце праграме <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> доступ да вашай прылады <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"гадзіннік"</string> <string name="chooser_title" msgid="2262294130493605839">"Выберыце прыладу (<xliff:g id="PROFILE_NAME">%1$s</xliff:g>), якой будзе кіраваць праграма <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Гэта праграма неабходная для кіравання прыладай \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\". <xliff:g id="APP_NAME">%2$s</xliff:g> зможа ўзаемадзейнічаць з вашымі апавяшчэннямі і атрымае доступ да тэлефона, SMS, кантактаў, календара, журналаў выклікаў і прылад паблізу."</string> <string name="permission_apps" msgid="6142133265286656158">"Праграмы"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Трансліруйце змесціва праграм з вашага тэлефона"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Дазвольце праграме <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> мець доступ да гэтай інфармацыі з вашага тэлефона"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Значок праграмы"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Кнопка \"Даведацца больш\""</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-bg/strings.xml b/packages/CompanionDeviceManager/res/values-bg/strings.xml index 7398ff36d6cb..134ae1c90bab 100644 --- a/packages/CompanionDeviceManager/res/values-bg/strings.xml +++ b/packages/CompanionDeviceManager/res/values-bg/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Companion Device Manager"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Разрешаване на <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> да осъществява достъп до устройството ви <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"часовник"</string> <string name="chooser_title" msgid="2262294130493605839">"Изберете устройство (<xliff:g id="PROFILE_NAME">%1$s</xliff:g>), което да се управлява от <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Това приложение е необходимо за управление на <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> ще получи разрешение да взаимодейства с известията ви и да осъществява достъп до разрешенията за телефона, SMS съобщенията, контактите, календара, списъците с обажданията и разрешенията за устройства в близост."</string> <string name="permission_apps" msgid="6142133265286656158">"Приложения"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Поточно предаване на приложенията на телефона ви"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Разрешете на <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> да осъществява достъп до тази информация от телефона ви"</string> diff --git a/packages/CompanionDeviceManager/res/values-bn/strings.xml b/packages/CompanionDeviceManager/res/values-bn/strings.xml index 54f11ffff2d2..08c4a16b9000 100644 --- a/packages/CompanionDeviceManager/res/values-bn/strings.xml +++ b/packages/CompanionDeviceManager/res/values-bn/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Companion Device Manager"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"আপনার <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> অ্যাক্সেস করার জন্য <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>-কে অনুমতি দিন"</string> <string name="profile_name_watch" msgid="576290739483672360">"ঘড়ি"</string> <string name="chooser_title" msgid="2262294130493605839">"<xliff:g id="PROFILE_NAME">%1$s</xliff:g> বেছে নিন যেটি <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> ম্যানেজ করবে"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"এই অ্যাপকে আপনার <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ম্যানেজ করতে দিতে হবে। <xliff:g id="APP_NAME">%2$s</xliff:g>-কে আপনার বিজ্ঞপ্তির সাথে ইন্টার্যাক্ট এবং ফোন, এসএমএস, পরিচিতি, ক্যালেন্ডার, কল লগ ও আশেপাশের ডিভাইস অ্যাক্সেস করার অনুমতি দেওয়া হবে।"</string> <string name="permission_apps" msgid="6142133265286656158">"অ্যাপ"</string> <string name="permission_apps_summary" msgid="798718816711515431">"আপনার ফোনের অ্যাপ স্ট্রিমিংয়ের মাধ্যমে কাস্ট করুন"</string> <string name="title_app_streaming" msgid="2270331024626446950">"আপনার ফোন থেকে <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> অ্যাপকে এই তথ্য অ্যাক্সেস করার অনুমতি দিন"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"অ্যাপের আইকন"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"আরও তথ্য সংক্রান্ত বোতাম"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-bs/strings.xml b/packages/CompanionDeviceManager/res/values-bs/strings.xml index 8cfb1790f2b4..340fd6a1e532 100644 --- a/packages/CompanionDeviceManager/res/values-bs/strings.xml +++ b/packages/CompanionDeviceManager/res/values-bs/strings.xml @@ -17,10 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Prateći upravitelj uređaja"</string> - <string name="confirmation_title" msgid="3785000297483688997">"Dopustite aplikaciji <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> da pristupa vašem uređaju <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> + <string name="confirmation_title" msgid="3785000297483688997">"Dozvolite aplikaciji <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> da pristupa uređaju <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"sat"</string> <string name="chooser_title" msgid="2262294130493605839">"Odaberite uređaj <xliff:g id="PROFILE_NAME">%1$s</xliff:g> kojim će upravljati aplikacija <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <string name="summary_watch" msgid="3002344206574997652">"Ta je aplikacija potrebna za upravljanje vašim uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Aplikacija <xliff:g id="APP_NAME">%2$s</xliff:g> moći će stupati u interakciju s vašim obavijestima i pristupati dopuštenjima za telefon, SMS-ove, kontakte, kalendar, zapisnike poziva i uređaje u blizini."</string> + <string name="summary_watch" msgid="3002344206574997652">"Ova aplikacija je potrebna za upravljanje profilom: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Aplikaciji <xliff:g id="APP_NAME">%2$s</xliff:g> će se dozvoliti da ostvari interakciju s vašim obavještenjima i da pristupi odobrenjima za Telefon, SMS, Kontakte, Kalendar, Zapisnike poziva i Uređaje u blizini."</string> <string name="permission_apps" msgid="6142133265286656158">"Aplikacije"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Prenosite aplikacije s telefona"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Dozvolite da aplikacija <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> pristupa ovim informacijama s telefona"</string> @@ -44,5 +44,5 @@ <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> <string name="vendor_icon_description" msgid="4445875290032225965">"Ikona aplikacije"</string> - <string name="vendor_header_button_description" msgid="6566660389500630608">"Gumb Više informacija"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Dugme Više informacija"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ca/strings.xml b/packages/CompanionDeviceManager/res/values-ca/strings.xml index 768d9807fed2..967b390c36a5 100644 --- a/packages/CompanionDeviceManager/res/values-ca/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ca/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Gestor de dispositius complementaris"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Permet que <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> accedeixi a <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"rellotge"</string> <string name="chooser_title" msgid="2262294130493605839">"Tria un <xliff:g id="PROFILE_NAME">%1$s</xliff:g> perquè el gestioni <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Aquesta aplicació es necessita per gestionar <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> tindrà permís per interaccionar amb les teves notificacions i accedir al telèfon, als SMS, als contactes, al calendari, als registres de trucades i als dispositius propers."</string> <string name="permission_apps" msgid="6142133265286656158">"Aplicacions"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Reprodueix en continu aplicacions del telèfon"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Permet que <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> accedeixi a aquesta informació del telèfon"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Icona de l\'aplicació"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Botó Més informació"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-cs/strings.xml b/packages/CompanionDeviceManager/res/values-cs/strings.xml index ac83290c7829..7ab5f6243b11 100644 --- a/packages/CompanionDeviceManager/res/values-cs/strings.xml +++ b/packages/CompanionDeviceManager/res/values-cs/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Správce doprovodných zařízení"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Povolit aplikaci <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> přístup k vašemu zařízení <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"hodinky"</string> <string name="chooser_title" msgid="2262294130493605839">"Vyberte zařízení <xliff:g id="PROFILE_NAME">%1$s</xliff:g>, které chcete spravovat pomocí aplikace <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Tato aplikace je nutná ke správě zařízení <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Aplikace <xliff:g id="APP_NAME">%2$s</xliff:g> bude moci interagovat s vašimi oznámeními a získá přístup k telefonu, SMS, kontaktům, kalendáři, seznamům hovorů a zařízením v okolí."</string> <string name="permission_apps" msgid="6142133265286656158">"Aplikace"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Streamujte aplikace v telefonu"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Povolte aplikaci <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> přístup k těmto informacím z vašeho telefonu"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Ikona aplikace"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Tlačítko Další informace"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-da/strings.xml b/packages/CompanionDeviceManager/res/values-da/strings.xml index 330711080e0c..2fb2e6e4d81c 100644 --- a/packages/CompanionDeviceManager/res/values-da/strings.xml +++ b/packages/CompanionDeviceManager/res/values-da/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Medfølgende enhedsadministrator"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Tillad, at <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> får adgang til dit <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"ur"</string> <string name="chooser_title" msgid="2262294130493605839">"Vælg den enhed (<xliff:g id="PROFILE_NAME">%1$s</xliff:g>), som skal administreres af <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Du skal bruge denne app for at administrere dit <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> får tilladelse til at interagere med dine notifikationer og får adgang til dine tilladelser Opkald, Sms, Kalender, Opkaldshistorik og Enheder i nærheden."</string> <string name="permission_apps" msgid="6142133265286656158">"Apps"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Stream din telefons apps"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Giv <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> adgang til disse oplysninger fra din telefon"</string> diff --git a/packages/CompanionDeviceManager/res/values-de/strings.xml b/packages/CompanionDeviceManager/res/values-de/strings.xml index c65d78b0c882..a5b642ac4dbc 100644 --- a/packages/CompanionDeviceManager/res/values-de/strings.xml +++ b/packages/CompanionDeviceManager/res/values-de/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Begleitgerät-Manager"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> erlauben, auf dein Gerät (<strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>) zuzugreifen"</string> <string name="profile_name_watch" msgid="576290739483672360">"Smartwatch"</string> <string name="chooser_title" msgid="2262294130493605839">"Gerät (<xliff:g id="PROFILE_NAME">%1$s</xliff:g>) auswählen, das von <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> verwaltet werden soll"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Diese App wird zur Verwaltung des Geräts „<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“ benötigt. <xliff:g id="APP_NAME">%2$s</xliff:g> darf mit deinen Benachrichtigungen interagieren und auf die Berechtigungen für „Telefon“, „SMS“, „Kontakte“, „Kalender“, „Anrufliste“ und „Geräte in der Nähe“ zugreifen."</string> <string name="permission_apps" msgid="6142133265286656158">"Apps"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Smartphone-Apps streamen"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> Zugriff auf diese Informationen von deinem Smartphone gewähren"</string> diff --git a/packages/CompanionDeviceManager/res/values-el/strings.xml b/packages/CompanionDeviceManager/res/values-el/strings.xml index 9073644c1143..726009fb0638 100644 --- a/packages/CompanionDeviceManager/res/values-el/strings.xml +++ b/packages/CompanionDeviceManager/res/values-el/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Διαχείριση συνοδευτικής εφαρμογής"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Επιτρέψτε στην εφαρμογή <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> να έχει πρόσβαση στη συσκευή <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"ρολόι"</string> <string name="chooser_title" msgid="2262294130493605839">"Επιλέξτε ένα προφίλ <xliff:g id="PROFILE_NAME">%1$s</xliff:g> για διαχείριση από την εφαρμογή <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Αυτή η εφαρμογή είναι απαραίτητη για τη διαχείριση της συσκευής <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Η εφαρμογή <xliff:g id="APP_NAME">%2$s</xliff:g> θα επιτρέπεται να αλληλεπιδρά με τις ειδοποιήσεις και να έχει πρόσβαση στις άδειες Τηλέφωνο, SMS, Επαφές, Ημερολόγιο, Αρχεία καταγραφής κλήσεων και Συσκευές σε κοντινή απόσταση."</string> <string name="permission_apps" msgid="6142133265286656158">"Εφαρμογές"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Μεταδώστε σε ροή τις εφαρμογές του τηλεφώνου σας"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Να επιτρέπεται στο <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> η πρόσβαση σε αυτές τις πληροφορίες από το τηλέφωνό σας."</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Εικονίδιο εφαρμογής"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Κουμπί περισσότερων πληροφορ."</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-es-rUS/strings.xml b/packages/CompanionDeviceManager/res/values-es-rUS/strings.xml index 6d715e0170c7..ee9384292161 100644 --- a/packages/CompanionDeviceManager/res/values-es-rUS/strings.xml +++ b/packages/CompanionDeviceManager/res/values-es-rUS/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Administrador de dispositivo complementario"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Permite que <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> acceda a tu <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"reloj"</string> <string name="chooser_title" msgid="2262294130493605839">"Elige un <xliff:g id="PROFILE_NAME">%1$s</xliff:g> para que <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> lo administre"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Esta app es necesaria para administrar tu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> podrá interactuar con tus notificaciones y acceder a los permisos de Teléfono, SMS, Contactos, Calendario, Llamadas y Dispositivos cercanos."</string> <string name="permission_apps" msgid="6142133265286656158">"Apps"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Transmitir las apps de tu teléfono"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Permite que <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> acceda a esta información de tu teléfono"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Ícono de la app"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Botón Más información"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-es/strings.xml b/packages/CompanionDeviceManager/res/values-es/strings.xml index 60ced10d8b95..0d0b10e7ce4a 100644 --- a/packages/CompanionDeviceManager/res/values-es/strings.xml +++ b/packages/CompanionDeviceManager/res/values-es/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Gestor de dispositivos complementario"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Permitir que <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> acceda a tu <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"reloj"</string> <string name="chooser_title" msgid="2262294130493605839">"Elige un <xliff:g id="PROFILE_NAME">%1$s</xliff:g> para gestionarlo con <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Se necesita esta aplicación para gestionar tu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> podrá interactuar con tus notificaciones y acceder a tus permisos de teléfono, SMS, contactos, calendario, registros de llamadas y dispositivos cercanos."</string> <string name="permission_apps" msgid="6142133265286656158">"Aplicaciones"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Emite las aplicaciones de tu teléfono"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Permitir que <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> acceda a esta información desde tu teléfono"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Icono de la aplicación"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Botón Más información"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-et/strings.xml b/packages/CompanionDeviceManager/res/values-et/strings.xml index d3a34d38edbc..b1603903cfc7 100644 --- a/packages/CompanionDeviceManager/res/values-et/strings.xml +++ b/packages/CompanionDeviceManager/res/values-et/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Kaasseadme haldur"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Lubage rakendusel <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> teie seadmele <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> juurde pääseda"</string> <string name="profile_name_watch" msgid="576290739483672360">"käekell"</string> <string name="chooser_title" msgid="2262294130493605839">"Valige seade <xliff:g id="PROFILE_NAME">%1$s</xliff:g>, mida haldab rakendus <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Seda rakendust on vaja teie profiili <xliff:g id="DEVICE_NAME">%1$s</xliff:g> haldamiseks. Rakendusel <xliff:g id="APP_NAME">%2$s</xliff:g> lubatakse kasutada teie märguandeid ja pääseda juurde teie telefoni, SMS-ide, kontaktide, kalendri, kõnelogide ja läheduses olevate seadmete lubadele."</string> <string name="permission_apps" msgid="6142133265286656158">"Rakendused"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Telefoni rakenduste voogesitamine"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Lubage rakendusel <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> pääseda teie telefonis juurde sellele teabele"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Rakenduse ikoon"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Nupp Lisateave"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-eu/strings.xml b/packages/CompanionDeviceManager/res/values-eu/strings.xml index 5af1c88789f0..395c385948da 100644 --- a/packages/CompanionDeviceManager/res/values-eu/strings.xml +++ b/packages/CompanionDeviceManager/res/values-eu/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Gailu osagarriaren kudeatzailea"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Eman <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> atzitzeko baimena <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> aplikazioari"</string> <string name="profile_name_watch" msgid="576290739483672360">"erlojua"</string> <string name="chooser_title" msgid="2262294130493605839">"Aukeratu <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> aplikazioak kudeatu beharreko <xliff:g id="PROFILE_NAME">%1$s</xliff:g>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> kudeatzeko beharrezkoa da aplikazio hau. Jakinarazpenekin interakzioan aritzeko eta telefonoa, SMSak, kontaktuak, egutegia, deien erregistroa eta inguruko gailuak atzitzeko baimenak izango ditu <xliff:g id="APP_NAME">%2$s</xliff:g> aplikazioak."</string> <string name="permission_apps" msgid="6142133265286656158">"Aplikazioak"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Igorri zuzenean telefonoko aplikazioak"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Eman informazioa telefonotik hartzeko baimena <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> aplikazioari"</string> diff --git a/packages/CompanionDeviceManager/res/values-fi/strings.xml b/packages/CompanionDeviceManager/res/values-fi/strings.xml index ae5fb54fcda8..35e0e47a0649 100644 --- a/packages/CompanionDeviceManager/res/values-fi/strings.xml +++ b/packages/CompanionDeviceManager/res/values-fi/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Companion Device Manager"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Salli, että <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> saa pääsyn laitteeseesi: <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"kello"</string> <string name="chooser_title" msgid="2262294130493605839">"Valitse <xliff:g id="PROFILE_NAME">%1$s</xliff:g>, jota <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> hallinnoi"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Profiilin (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>) ylläpitoon tarvitaan tätä sovellusta. <xliff:g id="APP_NAME">%2$s</xliff:g> saa luvan hallinnoida ilmoituksiasi sekä pääsyn puhelimeen, tekstiviesteihin, yhteystietoihin, kalenteriin, puhelulokeihin ja lähellä olevat laitteet ‑lupiin."</string> <string name="permission_apps" msgid="6142133265286656158">"Sovellukset"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Striimaa puhelimen sovelluksia"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Salli, että <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> saa pääsyn näihin puhelimesi tietoihin"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Sovelluskuvake"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Lisätietopainike"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-fr-rCA/strings.xml b/packages/CompanionDeviceManager/res/values-fr-rCA/strings.xml index 8c5f320396f9..b978af630a00 100644 --- a/packages/CompanionDeviceManager/res/values-fr-rCA/strings.xml +++ b/packages/CompanionDeviceManager/res/values-fr-rCA/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Gestionnaire d\'appareil compagnon"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Autoriser <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> à accéder à votre <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"montre"</string> <string name="chooser_title" msgid="2262294130493605839">"Choisissez un <xliff:g id="PROFILE_NAME">%1$s</xliff:g> qui sera géré par <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Cette application est nécessaire pour gérer votre <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> aura l\'autorisation d\'interagir avec vos notifications et d\'accéder aux autorisations suivantes : téléphone, messages texte, contacts, agenda, journaux d\'appels et appareils à proximité."</string> <string name="permission_apps" msgid="6142133265286656158">"Applications"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Diffusez les applications de votre téléphone"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Autorisez <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> à accéder à ces informations à partir de votre téléphone"</string> diff --git a/packages/CompanionDeviceManager/res/values-fr/strings.xml b/packages/CompanionDeviceManager/res/values-fr/strings.xml index 56b83ccb3e8d..6ffe4b1ed3e8 100644 --- a/packages/CompanionDeviceManager/res/values-fr/strings.xml +++ b/packages/CompanionDeviceManager/res/values-fr/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Gestionnaire d\'appareils associés"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Autoriser <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> à accéder à votre <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"montre"</string> <string name="chooser_title" msgid="2262294130493605839">"Sélectionner le/la <xliff:g id="PROFILE_NAME">%1$s</xliff:g> qui sera géré(e) par <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Cette appli est nécessaire pour gérer votre <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> aura l\'autorisation d\'interagir avec vos notifications et d\'accéder au téléphone, aux SMS, aux contacts, à l\'agenda, aux journaux d\'appels et aux appareils à proximité."</string> <string name="permission_apps" msgid="6142133265286656158">"Applis"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Diffuser en streaming les applis de votre téléphone"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Autoriser <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> à accéder à ces informations depuis votre téléphone"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Icône d\'application"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Bouton Plus d\'informations"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-gl/strings.xml b/packages/CompanionDeviceManager/res/values-gl/strings.xml index e2c657e04a69..c692c034cf22 100644 --- a/packages/CompanionDeviceManager/res/values-gl/strings.xml +++ b/packages/CompanionDeviceManager/res/values-gl/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Xestor de dispositivos complementarios"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Permitir que <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> acceda ao teu dispositivo (<strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>)"</string> <string name="profile_name_watch" msgid="576290739483672360">"reloxo"</string> <string name="chooser_title" msgid="2262294130493605839">"Escolle un perfil (<xliff:g id="PROFILE_NAME">%1$s</xliff:g>) para que o xestione a aplicación <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Esta aplicación é necesaria para xestionar o teu dispositivo (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>). <xliff:g id="APP_NAME">%2$s</xliff:g> poderá interactuar coas túas notificacións e acceder aos permisos do teu teléfono, das SMS, dos contactos, do calendario, dos rexistros de chamadas e dos dispositivos próximos."</string> <string name="permission_apps" msgid="6142133265286656158">"Aplicacións"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Emite as aplicacións do teu teléfono"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Permitir que a aplicación <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> acceda a esta información desde o teu teléfono"</string> diff --git a/packages/CompanionDeviceManager/res/values-gu/strings.xml b/packages/CompanionDeviceManager/res/values-gu/strings.xml index 0e1690be942f..8c92de8b96e0 100644 --- a/packages/CompanionDeviceManager/res/values-gu/strings.xml +++ b/packages/CompanionDeviceManager/res/values-gu/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"કમ્પેનિયન ડિવાઇસ મેનેજર"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"તમારા <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>ને ઍક્સેસ કરવાની <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>ને મંજૂરી આપો"</string> <string name="profile_name_watch" msgid="576290739483672360">"સ્માર્ટવૉચ"</string> <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> દ્વારા મેનેજ કરવા માટે કોઈ <xliff:g id="PROFILE_NAME">%1$s</xliff:g> પસંદ કરો"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"તમારી <xliff:g id="DEVICE_NAME">%1$s</xliff:g> મેનેજ કરવા માટે આ ઍપ જરૂરી છે. <xliff:g id="APP_NAME">%2$s</xliff:g>ને તમારા નોટિફિકેશન સાથે ક્રિયાપ્રતિક્રિયા કરવાની તેમજ તમારો ફોન, SMS, સંપર્કો, કૅલેન્ડર, કૉલ લૉગ અને નજીકનાં ડિવાઇસની પરવાનગીઓ ઍક્સેસ કરવાની મંજૂરી આપવામાં આવશે."</string> <string name="permission_apps" msgid="6142133265286656158">"ઍપ"</string> <string name="permission_apps_summary" msgid="798718816711515431">"તમારા ફોનની ઍપ સ્ટ્રીમ કરો"</string> <string name="title_app_streaming" msgid="2270331024626446950">"તમારા ફોનમાંથી આ માહિતી ઍક્સેસ કરવા માટે, <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>ને મંજૂરી આપો"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"ઍપનું આઇકન"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"વધુ માહિતી માટેનું બટન"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-hi/strings.xml b/packages/CompanionDeviceManager/res/values-hi/strings.xml index df329b751356..b23ac1019609 100644 --- a/packages/CompanionDeviceManager/res/values-hi/strings.xml +++ b/packages/CompanionDeviceManager/res/values-hi/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"सहयोगी डिवाइस मैनेजर"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> को <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> ऐक्सेस करने की अनुमति दें"</string> <string name="profile_name_watch" msgid="576290739483672360">"स्मार्टवॉच"</string> <string name="chooser_title" msgid="2262294130493605839">"कोई <xliff:g id="PROFILE_NAME">%1$s</xliff:g> चुनें, ताकि उसे <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> की मदद से प्रबंधित किया जा सके"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"यह ऐप्लिकेशन, <xliff:g id="DEVICE_NAME">%1$s</xliff:g> को मैनेज करने के लिए ज़रूरी है. <xliff:g id="APP_NAME">%2$s</xliff:g> आपकी सूचनाओं पर कार्रवाई कर पाएगा. साथ ही, इसे आपके फ़ोन, एसएमएस, संपर्कों, कैलेंडर, कॉल लॉग, और आस-पास मौजूद डिवाइसों को ऐक्सेस करने की अनुमति मिल पाएगी."</string> <string name="permission_apps" msgid="6142133265286656158">"ऐप्लिकेशन"</string> <string name="permission_apps_summary" msgid="798718816711515431">"अपने फ़ोन के ऐप्लिकेशन को स्ट्रीम करें"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> को अपने फ़ोन से यह जानकारी ऐक्सेस करने की अनुमति दें"</string> diff --git a/packages/CompanionDeviceManager/res/values-hu/strings.xml b/packages/CompanionDeviceManager/res/values-hu/strings.xml index dc73282dc4be..2f8dd8536844 100644 --- a/packages/CompanionDeviceManager/res/values-hu/strings.xml +++ b/packages/CompanionDeviceManager/res/values-hu/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Társeszközök kezelője"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"A(z) <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> hozzáférésének engedélyezése a(z) <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> eszközhöz"</string> <string name="profile_name_watch" msgid="576290739483672360">"óra"</string> <string name="chooser_title" msgid="2262294130493605839">"A(z) <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> alkalmazással kezelni kívánt <xliff:g id="PROFILE_NAME">%1$s</xliff:g> kiválasztása"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Szükség van erre az alkalmazásra a következő kezeléséhez: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. A(z) <xliff:g id="APP_NAME">%2$s</xliff:g> műveleteket végezhet majd az értesítésekkel, és hozzáférhet a telefonra, az SMS-ekre, a névjegyekre, a naptárra, a hívásnaplókra és a közeli eszközökre vonatkozó engedélyekhez."</string> <string name="permission_apps" msgid="6142133265286656158">"Alkalmazások"</string> <string name="permission_apps_summary" msgid="798718816711515431">"A telefon alkalmazásainak streamelése"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Engedélyezi a(z) „<xliff:g id="APP_NAME">%1$s</xliff:g>” alkalmazás számára az információhoz való hozzáférést a telefonról"</string> diff --git a/packages/CompanionDeviceManager/res/values-hy/strings.xml b/packages/CompanionDeviceManager/res/values-hy/strings.xml index c7e0076630ce..aed650b7c472 100644 --- a/packages/CompanionDeviceManager/res/values-hy/strings.xml +++ b/packages/CompanionDeviceManager/res/values-hy/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Companion Device Manager"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Թույլատրեք <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> հավելվածին կառավարել ձեր <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> սարքը"</string> <string name="profile_name_watch" msgid="576290739483672360">"ժամացույց"</string> <string name="chooser_title" msgid="2262294130493605839">"Ընտրեք <xliff:g id="PROFILE_NAME">%1$s</xliff:g>ը, որը պետք է կառավարվի <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> հավելվածի կողմից"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Այս հավելվածն անհրաժեշտ է ձեր <xliff:g id="DEVICE_NAME">%1$s</xliff:g> սարքը կառավարելու համար։ <xliff:g id="APP_NAME">%2$s</xliff:g> հավելվածը կկարողանա փոխազդել ձեր ծանուցումների հետ և կստանա «Հեռախոս», «SMS», «Կոնտակտներ», «Օրացույց», «Կանչերի ցուցակ» և «Մոտակա սարքեր» թույլտվությունները։"</string> <string name="permission_apps" msgid="6142133265286656158">"Հավելվածներ"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Հեռարձակել հեռախոսի հավելվածները"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Թույլատրեք <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> հավելվածին օգտագործել այս տեղեկությունները ձեր հեռախոսից"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Հավելվածի պատկերակ"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"«Այլ տեղեկություններ» կոճակ"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-in/strings.xml b/packages/CompanionDeviceManager/res/values-in/strings.xml index f619af720d58..048325c4f676 100644 --- a/packages/CompanionDeviceManager/res/values-in/strings.xml +++ b/packages/CompanionDeviceManager/res/values-in/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Pengelola Perangkat Pendamping"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Izinkan <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> mengakses <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"smartwatch"</string> <string name="chooser_title" msgid="2262294130493605839">"Pilih <xliff:g id="PROFILE_NAME">%1$s</xliff:g> untuk dikelola oleh <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Aplikasi ini diperlukan untuk mengelola <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> akan diizinkan berinteraksi dengan notifikasi dan mengakses izin Telepon, SMS, Kontak, Kalender, Log panggilan, dan Perangkat di sekitar."</string> <string name="permission_apps" msgid="6142133265286656158">"Aplikasi"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Streaming aplikasi ponsel"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Izinkan <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> untuk mengakses informasi ini dari ponsel Anda"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Ikon Aplikasi"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Tombol Informasi Lainnya"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-is/strings.xml b/packages/CompanionDeviceManager/res/values-is/strings.xml index 5f5a71ffee09..3f5a3de9de77 100644 --- a/packages/CompanionDeviceManager/res/values-is/strings.xml +++ b/packages/CompanionDeviceManager/res/values-is/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Stjórnun fylgdartækja"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Veita <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> aðgang að <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"úr"</string> <string name="chooser_title" msgid="2262294130493605839">"Velja <xliff:g id="PROFILE_NAME">%1$s</xliff:g> sem <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> á að stjórna"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Þetta forrit er nauðsynlegt til að hafa umsjón með <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> fær aðgang að tilkynningum og heimildum síma, SMS, tengiliða, dagatals, símtalaskráa og nálægra tækja."</string> <string name="permission_apps" msgid="6142133265286656158">"Forrit"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Streymdu forritum símans"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Veita <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> aðgang að þessum upplýsingum úr símanum þínum"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Tákn forrits"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Hnappur fyrir upplýsingar"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-it/strings.xml b/packages/CompanionDeviceManager/res/values-it/strings.xml index 73579ca42a22..88a1145234e2 100644 --- a/packages/CompanionDeviceManager/res/values-it/strings.xml +++ b/packages/CompanionDeviceManager/res/values-it/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Gestione dispositivi companion"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Consenti all\'app <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> di accedere <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"orologio"</string> <string name="chooser_title" msgid="2262294130493605839">"Scegli un <xliff:g id="PROFILE_NAME">%1$s</xliff:g> che sia gestito da <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Questa app è necessaria per gestire il tuo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. L\'app <xliff:g id="APP_NAME">%2$s</xliff:g> potrà interagire con le tue notifiche e accedere alle autorizzazioni Telefono, SMS, Contatti, Calendar, Registri chiamate e Dispositivi nelle vicinanze."</string> <string name="permission_apps" msgid="6142133265286656158">"App"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Trasmetti in streaming le app del tuo telefono"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Consenti a <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> di accedere a queste informazioni dal tuo telefono"</string> diff --git a/packages/CompanionDeviceManager/res/values-iw/strings.xml b/packages/CompanionDeviceManager/res/values-iw/strings.xml index 3c561136d86c..9622ce54aa6a 100644 --- a/packages/CompanionDeviceManager/res/values-iw/strings.xml +++ b/packages/CompanionDeviceManager/res/values-iw/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"ניהול מכשיר מותאם"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"אישור לאפליקציה <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong&g; לגשת אל <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"שעון"</string> <string name="chooser_title" msgid="2262294130493605839">"בחירת <xliff:g id="PROFILE_NAME">%1$s</xliff:g> לניהול באמצעות <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"האפליקציה הזו נחוצה כדי לנהל את <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. האפליקציה <xliff:g id="APP_NAME">%2$s</xliff:g> תוכל לבצע פעולות בהתראות ותקבל הרשאות גישה לטלפון, ל-SMS לאנשי הקשר, ליומן, ליומני השיחות ולמכשירים בקרבת מקום."</string> <string name="permission_apps" msgid="6142133265286656158">"אפליקציות"</string> <string name="permission_apps_summary" msgid="798718816711515431">"שידור אפליקציות מהטלפון"</string> <string name="title_app_streaming" msgid="2270331024626446950">"מתן אישור לאפליקציה <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> לגשת למידע הזה מהטלפון שלך"</string> diff --git a/packages/CompanionDeviceManager/res/values-ja/strings.xml b/packages/CompanionDeviceManager/res/values-ja/strings.xml index b55ccbe8837a..97bc56d629c0 100644 --- a/packages/CompanionDeviceManager/res/values-ja/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ja/strings.xml @@ -43,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"アプリのアイコン"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"詳細情報ボタン"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-kk/strings.xml b/packages/CompanionDeviceManager/res/values-kk/strings.xml index 9c22ecc06ffc..5a4314bf9979 100644 --- a/packages/CompanionDeviceManager/res/values-kk/strings.xml +++ b/packages/CompanionDeviceManager/res/values-kk/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Companion Device Manager"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> қолданбасына <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> құрылғысын пайдалануға рұқсат беру"</string> <string name="profile_name_watch" msgid="576290739483672360">"сағат"</string> <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> арқылы басқарылатын <xliff:g id="PROFILE_NAME">%1$s</xliff:g> құрылғысын таңдаңыз"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Бұл қолданба <xliff:g id="DEVICE_NAME">%1$s</xliff:g> құрылғысын басқару үшін қажет. <xliff:g id="APP_NAME">%2$s</xliff:g> қолданбасына хабарландырулар жіберу, Телефон, SMS, Контактілер, Күнтізбе, Қоңырау журналдары қолданбаларын және маңайдағы құрылғыларды пайдалану рұқсаттары беріледі."</string> <string name="permission_apps" msgid="6142133265286656158">"Қолданбалар"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Телефон қолданбаларын трансляциялайды."</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> қолданбасына телефоныңыздағы осы ақпаратты пайдалануға рұқсат беріңіз."</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Қолданба белгішесі"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"\"Қосымша ақпарат\" түймесі"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-km/strings.xml b/packages/CompanionDeviceManager/res/values-km/strings.xml index e7b7e2dab4f7..e01916ee3fc0 100644 --- a/packages/CompanionDeviceManager/res/values-km/strings.xml +++ b/packages/CompanionDeviceManager/res/values-km/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"កម្មវិធីគ្រប់គ្រងឧបករណ៍ដៃគូ"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"អនុញ្ញាតឱ្យ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ចូលប្រើប្រាស់ <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> របស់អ្នក"</string> <string name="profile_name_watch" msgid="576290739483672360">"នាឡិកា"</string> <string name="chooser_title" msgid="2262294130493605839">"ជ្រើសរើស <xliff:g id="PROFILE_NAME">%1$s</xliff:g> ដើម្បីឱ្យស្ថិតក្រោមការគ្រប់គ្រងរបស់ <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"ត្រូវការកម្មវិធីនេះ ដើម្បីគ្រប់គ្រង <xliff:g id="DEVICE_NAME">%1$s</xliff:g> របស់អ្នក។ <xliff:g id="APP_NAME">%2$s</xliff:g> នឹងត្រូវបានអនុញ្ញាតឱ្យធ្វើអន្តរកម្មជាមួយការជូនដំណឹងរបស់អ្នក និងចូលប្រើការអនុញ្ញាតទូរសព្ទ, SMS, ទំនាក់ទំនង, ប្រតិទិន, កំណត់ហេតុហៅទូរសព្ទ និងឧបករណ៍នៅជិតរបស់អ្នក។"</string> <string name="permission_apps" msgid="6142133265286656158">"កម្មវិធី"</string> <string name="permission_apps_summary" msgid="798718816711515431">"ផ្សាយកម្មវិធីរបស់ទូរសព្ទអ្នក"</string> <string name="title_app_streaming" msgid="2270331024626446950">"អនុញ្ញាតឱ្យ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ចូលប្រើព័ត៌មាននេះពីទូរសព្ទរបស់អ្នក"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"រូបកម្មវិធី"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"ប៊ូតុងព័ត៌មានបន្ថែម"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-kn/strings.xml b/packages/CompanionDeviceManager/res/values-kn/strings.xml index 97be14ec6271..5284ebf93c6c 100644 --- a/packages/CompanionDeviceManager/res/values-kn/strings.xml +++ b/packages/CompanionDeviceManager/res/values-kn/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"ಕಂಪ್ಯಾನಿಯನ್ ಸಾಧನ ನಿರ್ವಾಹಕರು"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"ನಿಮ್ಮ <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> ಅನ್ನು ಪ್ರವೇಶಿಸಲು <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ಗೆ ಅನುಮತಿಸಿ"</string> <string name="profile_name_watch" msgid="576290739483672360">"ವೀಕ್ಷಿಸಿ"</string> <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> ಮೂಲಕ ನಿರ್ವಹಿಸಬೇಕಾದ <xliff:g id="PROFILE_NAME">%1$s</xliff:g> ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"ನಿಮ್ಮ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. ಅನ್ನು ನಿರ್ವಹಿಸಲು ಈ ಆ್ಯಪ್ನ ಅಗತ್ಯವಿದೆ. ನಿಮ್ಮ ಅಧಿಸೂಚನೆಗಳೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ಮತ್ತು ನಿಮ್ಮ ಫೋನ್, SMS, ಸಂಪರ್ಕಗಳು, Calendar, ಕರೆಯ ಲಾಗ್ಗಳು ಹಾಗೂ ಸಮೀಪದಲ್ಲಿರುವ ಸಾಧನಗಳ ಅನುಮತಿಗಳನ್ನು ಪ್ರವೇಶಿಸಲು <xliff:g id="APP_NAME">%2$s</xliff:g> ಗೆ ಅನುಮತಿಸಲಾಗುತ್ತದೆ."</string> <string name="permission_apps" msgid="6142133265286656158">"ಆ್ಯಪ್ಗಳು"</string> <string name="permission_apps_summary" msgid="798718816711515431">"ನಿಮ್ಮ ಫೋನ್ನ ಆ್ಯಪ್ಗಳನ್ನು ಸ್ಟ್ರೀಮ್ ಮಾಡಿ"</string> <string name="title_app_streaming" msgid="2270331024626446950">"ನಿಮ್ಮ ಫೋನ್ ಮೂಲಕ ಈ ಮಾಹಿತಿಯನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ಗೆ ಅನುಮತಿಸಿ"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"ಆ್ಯಪ್ ಐಕಾನ್"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"ಹೆಚ್ಚಿನ ಮಾಹಿತಿಯ ಬಟನ್"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ko/strings.xml b/packages/CompanionDeviceManager/res/values-ko/strings.xml index d1a13942f0b4..4451cb93456c 100644 --- a/packages/CompanionDeviceManager/res/values-ko/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ko/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"부속 기기 관리자"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>에서 내 <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> 기기에 액세스하도록 허용"</string> <string name="profile_name_watch" msgid="576290739483672360">"시계"</string> <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>에서 관리할 <xliff:g id="PROFILE_NAME">%1$s</xliff:g>을(를) 선택"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"이 앱은 <xliff:g id="DEVICE_NAME">%1$s</xliff:g> 프로필을 관리하는 데 필요합니다. <xliff:g id="APP_NAME">%2$s</xliff:g>에서 알림과 상호작용하고 내 전화, SMS, 연락처, Calendar, 통화 기록, 근처 기기에 대한 권한을 갖게 됩니다."</string> <string name="permission_apps" msgid="6142133265286656158">"앱"</string> <string name="permission_apps_summary" msgid="798718816711515431">"휴대전화의 앱을 스트리밍합니다."</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> 앱이 휴대전화에서 이 정보에 액세스하도록 허용합니다."</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"앱 아이콘"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"추가 정보 버튼"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ky/strings.xml b/packages/CompanionDeviceManager/res/values-ky/strings.xml index 3d1a28a5698e..3a345fbd20c5 100644 --- a/packages/CompanionDeviceManager/res/values-ky/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ky/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Companion Device Manager"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> колдонмосуна <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> түзмөгүңүзгө кирүүгө уруксат бериңиз"</string> <string name="profile_name_watch" msgid="576290739483672360">"саат"</string> <string name="chooser_title" msgid="2262294130493605839">"<xliff:g id="PROFILE_NAME">%1$s</xliff:g> <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> тарабынан башкарылсын"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Бул колдонмо <xliff:g id="DEVICE_NAME">%1$s</xliff:g> түзмөгүңүздү башкаруу үчүн керек. <xliff:g id="APP_NAME">%2$s</xliff:g> билдирмелериңизди көрүп, телефонуңуз, SMS билдирүүлөр, байланыштар, жылнаама, чалуулар тизмеси жана жакын жердеги түзмөктөргө болгон уруксаттарды пайдалана алат."</string> <string name="permission_apps" msgid="6142133265286656158">"Колдонмолор"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Телефондогу колдонмолорду алып ойнотуу"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> колдонмосуна телефонуңуздагы ушул маалыматты көрүүгө уруксат бериңиз"</string> diff --git a/packages/CompanionDeviceManager/res/values-lo/strings.xml b/packages/CompanionDeviceManager/res/values-lo/strings.xml index 9b7e928e39ee..f9d65faee9a2 100644 --- a/packages/CompanionDeviceManager/res/values-lo/strings.xml +++ b/packages/CompanionDeviceManager/res/values-lo/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"ຕົວຈັດການອຸປະກອນປະກອບ"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"ອະນຸຍາດ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ໃຫ້ເຂົ້າເຖິງ <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> ຂອງທ່ານໄດ້"</string> <string name="profile_name_watch" msgid="576290739483672360">"ໂມງ"</string> <string name="chooser_title" msgid="2262294130493605839">"ເລືອກ <xliff:g id="PROFILE_NAME">%1$s</xliff:g> ເພື່ອໃຫ້ຖືກຈັດການໂດຍ <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"ຕ້ອງໃຊ້ແອັບນີ້ເພື່ອຈັດການ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ຂອງທ່ານ. <xliff:g id="APP_NAME">%2$s</xliff:g> ຈະໄດ້ຮັບອະນຸຍາດໃຫ້ໂຕ້ຕອບກັບການແຈ້ງເຕືອນຂອງທ່ານ ແລະ ເຂົ້າເຖິງການອະນຸຍາດໂທລະສັບ, SMS, ລາຍຊື່ຜູ້ຕິດຕໍ່, ປະຕິທິນ, ບັນທຶກການໂທ ແລະ ອຸປະກອນທີ່ຢູ່ໃກ້ຄຽງຂອງທ່ານ."</string> <string name="permission_apps" msgid="6142133265286656158">"ແອັບ"</string> <string name="permission_apps_summary" msgid="798718816711515431">"ສະຕຣີມແອັບຂອງໂທລະສັບທ່ານ"</string> <string name="title_app_streaming" msgid="2270331024626446950">"ອະນຸຍາດ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ໃຫ້ເຂົ້າເຖິງຂໍ້ມູນນີ້ຈາກໂທລະສັບຂອງທ່ານໄດ້"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"ໄອຄອນແອັບ"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"ປຸ່ມຂໍ້ມູນເພີ່ມເຕີມ"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-lt/strings.xml b/packages/CompanionDeviceManager/res/values-lt/strings.xml index 34f86d2ce80f..6e7b00786221 100644 --- a/packages/CompanionDeviceManager/res/values-lt/strings.xml +++ b/packages/CompanionDeviceManager/res/values-lt/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Companion Device Manager"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Leisti <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> pasiekti jūsų <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"laikrodį"</string> <string name="chooser_title" msgid="2262294130493605839">"Jūsų <xliff:g id="PROFILE_NAME">%1$s</xliff:g>, kurį valdys <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> (pasirinkite)"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Ši programa reikalinga norint tvarkyti jūsų „<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“. „<xliff:g id="APP_NAME">%2$s</xliff:g>“ bus leidžiama sąveikauti su pranešimų funkcija ir pasiekti telefono, SMS, Kontaktų, Kalendoriaus, Skambučių žurnalų ir įrenginių netoliese leidimus."</string> <string name="permission_apps" msgid="6142133265286656158">"Programos"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Telefono programų perdavimas srautu"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Leisti <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> pasiekti šią informaciją iš jūsų telefono"</string> diff --git a/packages/CompanionDeviceManager/res/values-lv/strings.xml b/packages/CompanionDeviceManager/res/values-lv/strings.xml index 00a305cd47f5..1fdc99d82be8 100644 --- a/packages/CompanionDeviceManager/res/values-lv/strings.xml +++ b/packages/CompanionDeviceManager/res/values-lv/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Palīgierīču pārzinis"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Atļauja lietotnei <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> piekļūt jūsu ierīcei <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"pulkstenis"</string> <string name="chooser_title" msgid="2262294130493605839">"Profila (<xliff:g id="PROFILE_NAME">%1$s</xliff:g>) izvēle, ko pārvaldīt lietotnē <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Šī lietotne ir nepieciešama jūsu ierīces (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>) pārvaldībai. Lietotnei <xliff:g id="APP_NAME">%2$s</xliff:g> tiks atļauts mijiedarboties ar jūsu paziņojumiem un piekļūt šādām atļaujām: Tālrunis, Īsziņas, Kontaktpersonas, Kalendārs, Zvanu žurnāli un Tuvumā esošas ierīces."</string> <string name="permission_apps" msgid="6142133265286656158">"Lietotnes"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Var straumēt jūsu tālruņa lietotnes"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Atļaut lietotnei <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> piekļūt šai informācijai no jūsu tālruņa"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Lietotnes ikona"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Plašākas informācijas poga"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ms/strings.xml b/packages/CompanionDeviceManager/res/values-ms/strings.xml index 11a619ae7767..e6932e13beaa 100644 --- a/packages/CompanionDeviceManager/res/values-ms/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ms/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Pengurus Peranti Rakan"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Benarkan <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> mengakses <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> anda"</string> <string name="profile_name_watch" msgid="576290739483672360">"jam tangan"</string> <string name="chooser_title" msgid="2262294130493605839">"Pilih <xliff:g id="PROFILE_NAME">%1$s</xliff:g> untuk diurus oleh <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Apl ini diperlukan untuk mengurus <xliff:g id="DEVICE_NAME">%1$s</xliff:g> anda. <xliff:g id="APP_NAME">%2$s</xliff:g> akan dibenarkan berinteraksi dengan pemberitahuan anda dan mengakses kebenaran Telefon, SMS, Kenalan, Kalendar, Log panggilan dan Peranti berdekatan anda."</string> <string name="permission_apps" msgid="6142133265286656158">"Apl"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Strim apl telefon anda"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Benarkan <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> mengakses maklumat ini daripada telefon anda"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Ikon Apl"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Butang Maklumat Lagi"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-nb/strings.xml b/packages/CompanionDeviceManager/res/values-nb/strings.xml index dc0521f522ee..274b1a9b5e8c 100644 --- a/packages/CompanionDeviceManager/res/values-nb/strings.xml +++ b/packages/CompanionDeviceManager/res/values-nb/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Companion Device Manager"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Tillat at <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> bruker <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"klokke"</string> <string name="chooser_title" msgid="2262294130493605839">"Velg <xliff:g id="PROFILE_NAME">%1$s</xliff:g> som skal administreres av <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Denne appen kreves for å administrere <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> får tillatelse til å samhandle med varslene dine og får tilgang til tillatelser for telefon, SMS, kontakter, kalender, samtalelogger og enheter i nærheten."</string> <string name="permission_apps" msgid="6142133265286656158">"Apper"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Strøm appene på telefonen"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Gi <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> tilgang til denne informasjonen fra telefonen din"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Appikon"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Mer informasjon-knapp"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ne/strings.xml b/packages/CompanionDeviceManager/res/values-ne/strings.xml index 21b7be77f3a9..ac3338e2c211 100644 --- a/packages/CompanionDeviceManager/res/values-ne/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ne/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"सहयोगी डिभाइसको प्रबन्धक"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"आफ्नो <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> लाई <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> प्रयोग गर्ने अनुमति दिनुहोस्"</string> <string name="profile_name_watch" msgid="576290739483672360">"घडी"</string> <string name="chooser_title" msgid="2262294130493605839">"आफूले <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> प्रयोग गरी व्यवस्थापन गर्न चाहेको <xliff:g id="PROFILE_NAME">%1$s</xliff:g> चयन गर्नुहोस्"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"तपाईंको <xliff:g id="DEVICE_NAME">%1$s</xliff:g> व्यवस्थापन गर्न यो एपलाई अनुमति दिनु पर्ने हुन्छ। <xliff:g id="APP_NAME">%2$s</xliff:g> लाई तपाईंका सूचना हेर्ने र फोन, SMS, कन्ट्याक्ट, पात्रो, कल लग तथा नजिकैका डिभाइससम्बन्धी अनुमतिहरू हेर्ने तथा प्रयोग गर्ने अनुमति दिइने छ।"</string> <string name="permission_apps" msgid="6142133265286656158">"एपहरू"</string> <string name="permission_apps_summary" msgid="798718816711515431">"आफ्नो फोनका एपहरू प्रयोग गर्नुहोस्"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> लाई तपाईंको फोनमा भएको यो जानकारी हेर्ने तथा प्रयोग गर्ने अनुमति दिनुहोस्"</string> diff --git a/packages/CompanionDeviceManager/res/values-or/strings.xml b/packages/CompanionDeviceManager/res/values-or/strings.xml index ae91eaeba04f..b9c543436e7e 100644 --- a/packages/CompanionDeviceManager/res/values-or/strings.xml +++ b/packages/CompanionDeviceManager/res/values-or/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"ସହଯୋଗୀ ଡିଭାଇସ୍ ପରିଚାଳକ"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"ଆପଣଙ୍କ <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>କୁ ଆକ୍ସେସ କରିବା ପାଇଁ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>କୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string> <string name="profile_name_watch" msgid="576290739483672360">"ୱାଚ୍"</string> <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> ଦ୍ୱାରା ପରିଚାଳିତ ହେବା ପାଇଁ ଏକ <xliff:g id="PROFILE_NAME">%1$s</xliff:g>କୁ ବାଛନ୍ତୁ"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"ଆପଣଙ୍କ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>କୁ ପରିଚାଳନା କରିବା ପାଇଁ ଏହି ଆପ ଆବଶ୍ୟକ। ଆପଣଙ୍କ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ସହ ଇଣ୍ଟରାକ୍ଟ କରିବା ଏବଂ ଆପଣଙ୍କ ଫୋନ, SMS, ଯୋଗାଯୋଗ, କ୍ୟାଲେଣ୍ଡର, କଲ ଲଗ ଏବଂ ଆଖପାଖର ଡିଭାଇସ ଅନୁମତିଗୁଡ଼ିକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <xliff:g id="APP_NAME">%2$s</xliff:g>କୁ ଅନୁମତି ଦିଆଯିବ।"</string> <string name="permission_apps" msgid="6142133265286656158">"ଆପ୍ସ"</string> <string name="permission_apps_summary" msgid="798718816711515431">"ଆପଣଙ୍କ ଫୋନର ଆପ୍ସକୁ ଷ୍ଟ୍ରିମ କରନ୍ତୁ"</string> <string name="title_app_streaming" msgid="2270331024626446950">"ଆପଣଙ୍କ ଫୋନରୁ ଏହି ସୂଚନାକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>କୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string> diff --git a/packages/CompanionDeviceManager/res/values-pa/strings.xml b/packages/CompanionDeviceManager/res/values-pa/strings.xml index f60e267072c0..fc449d5d4a46 100644 --- a/packages/CompanionDeviceManager/res/values-pa/strings.xml +++ b/packages/CompanionDeviceManager/res/values-pa/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"ਸੰਬੰਧੀ ਡੀਵਾਈਸ ਪ੍ਰਬੰਧਕ"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ਨੂੰ ਤੁਹਾਡੇ <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿਓ"</string> <string name="profile_name_watch" msgid="576290739483672360">"ਸਮਾਰਟ-ਵਾਚ"</string> <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> ਵੱਲੋਂ ਪ੍ਰਬੰਧਿਤ ਕੀਤੇ ਜਾਣ ਲਈ <xliff:g id="PROFILE_NAME">%1$s</xliff:g> ਚੁਣੋ"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"ਤੁਹਾਡੇ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ ਇਹ ਐਪ ਲੋੜੀਂਦੀ ਹੈ। <xliff:g id="APP_NAME">%2$s</xliff:g> ਨੂੰ ਤੁਹਾਡੀਆਂ ਸੂਚਨਾਵਾਂ ਨਾਲ ਅੰਤਰਕਿਰਿਆ ਕਰਨ ਅਤੇ ਤੁਹਾਡੇ ਫ਼ੋਨ, SMS, ਸੰਪਰਕਾਂ, ਕੈਲੰਡਰ, ਕਾਲ ਲੌਗਾਂ ਅਤੇ ਨਜ਼ਦੀਕੀ ਡੀਵਾਈਸਾਂ ਸੰਬੰਧੀ ਇਜਾਜ਼ਤਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਹੋਵੇਗੀ।"</string> <string name="permission_apps" msgid="6142133265286656158">"ਐਪਾਂ"</string> <string name="permission_apps_summary" msgid="798718816711515431">"ਆਪਣੇ ਫ਼ੋਨ ਦੀਆਂ ਐਪਾਂ ਨੂੰ ਸਟ੍ਰੀਮ ਕਰੋ"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ਨੂੰ ਤੁਹਾਡੇ ਫ਼ੋਨ ਤੋਂ ਇਸ ਜਾਣਕਾਰੀ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿਓ"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"ਐਪ ਪ੍ਰਤੀਕ"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"ਹੋਰ ਜਾਣਕਾਰੀ ਬਟਨ"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-pl/strings.xml b/packages/CompanionDeviceManager/res/values-pl/strings.xml index b361f90df76d..08f6880afa9c 100644 --- a/packages/CompanionDeviceManager/res/values-pl/strings.xml +++ b/packages/CompanionDeviceManager/res/values-pl/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Menedżer urządzeń towarzyszących"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Zezwól na dostęp aplikacji <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> do urządzenia <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"zegarek"</string> <string name="chooser_title" msgid="2262294130493605839">"Wybierz profil <xliff:g id="PROFILE_NAME">%1$s</xliff:g>, którym ma zarządzać aplikacja <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Ta aplikacja jest niezbędna do zarządzania profilem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Aplikacja <xliff:g id="APP_NAME">%2$s</xliff:g> będzie mogła korzystać z powiadomień oraz uprawnień dotyczących telefonu, SMS-ów, kontaktów, kalendarza, rejestrów połączeń i urządzeń w pobliżu."</string> <string name="permission_apps" msgid="6142133265286656158">"Aplikacje"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Odtwarzaj strumieniowo aplikacje z telefonu"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Zezwól aplikacji <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> na dostęp do tych informacji na Twoim telefonie"</string> diff --git a/packages/CompanionDeviceManager/res/values-pt-rBR/strings.xml b/packages/CompanionDeviceManager/res/values-pt-rBR/strings.xml index 39a70cbb9aca..ce83bff93d0d 100644 --- a/packages/CompanionDeviceManager/res/values-pt-rBR/strings.xml +++ b/packages/CompanionDeviceManager/res/values-pt-rBR/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Gerenciador de dispositivos complementar"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Permitir que o app <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> acesse o dispositivo <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"relógio"</string> <string name="chooser_title" msgid="2262294130493605839">"Escolha um <xliff:g id="PROFILE_NAME">%1$s</xliff:g> para ser gerenciado pelo app <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Esse app é necessário para gerenciar seu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. O <xliff:g id="APP_NAME">%2$s</xliff:g> vai poder interagir com suas notificações e acessar os apps Telefone, SMS, Contatos, Google Agenda, registros de chamadas e as permissões de dispositivos por perto."</string> <string name="permission_apps" msgid="6142133265286656158">"Apps"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Faça streaming dos apps do seu smartphone"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Permitir que o app <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> acesse estas informações do smartphone"</string> diff --git a/packages/CompanionDeviceManager/res/values-pt-rPT/strings.xml b/packages/CompanionDeviceManager/res/values-pt-rPT/strings.xml index 4d4cf4ce3f8d..8d84eb76dded 100644 --- a/packages/CompanionDeviceManager/res/values-pt-rPT/strings.xml +++ b/packages/CompanionDeviceManager/res/values-pt-rPT/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Gestor de dispositivos associados"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Permita que a app <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> aceda ao seu <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"relógio"</string> <string name="chooser_title" msgid="2262294130493605839">"Escolha um <xliff:g id="PROFILE_NAME">%1$s</xliff:g> para ser gerido pela app <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Esta app é necessária para gerir o seu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. A app <xliff:g id="APP_NAME">%2$s</xliff:g> vai poder interagir com as suas notificações e aceder às autorizações do Telefone, SMS, Contactos, Calendário, Registos de chamadas e Dispositivos próximos."</string> <string name="permission_apps" msgid="6142133265286656158">"Apps"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Faça stream das apps do telemóvel"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Permita que a app <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> aceda a estas informações do seu telemóvel"</string> diff --git a/packages/CompanionDeviceManager/res/values-pt/strings.xml b/packages/CompanionDeviceManager/res/values-pt/strings.xml index 39a70cbb9aca..ce83bff93d0d 100644 --- a/packages/CompanionDeviceManager/res/values-pt/strings.xml +++ b/packages/CompanionDeviceManager/res/values-pt/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Gerenciador de dispositivos complementar"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Permitir que o app <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> acesse o dispositivo <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"relógio"</string> <string name="chooser_title" msgid="2262294130493605839">"Escolha um <xliff:g id="PROFILE_NAME">%1$s</xliff:g> para ser gerenciado pelo app <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Esse app é necessário para gerenciar seu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. O <xliff:g id="APP_NAME">%2$s</xliff:g> vai poder interagir com suas notificações e acessar os apps Telefone, SMS, Contatos, Google Agenda, registros de chamadas e as permissões de dispositivos por perto."</string> <string name="permission_apps" msgid="6142133265286656158">"Apps"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Faça streaming dos apps do seu smartphone"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Permitir que o app <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> acesse estas informações do smartphone"</string> diff --git a/packages/CompanionDeviceManager/res/values-ro/strings.xml b/packages/CompanionDeviceManager/res/values-ro/strings.xml index bc2115223b6b..b6f8ff7a89b7 100644 --- a/packages/CompanionDeviceManager/res/values-ro/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ro/strings.xml @@ -43,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Pictograma aplicației"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Butonul Mai multe informații"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ru/strings.xml b/packages/CompanionDeviceManager/res/values-ru/strings.xml index 579ff2df4b3e..492e345b93fd 100644 --- a/packages/CompanionDeviceManager/res/values-ru/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ru/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Управление подключенными устройствами"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Разрешите приложению <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> доступ к устройству <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"часы"</string> <string name="chooser_title" msgid="2262294130493605839">"Выберите устройство (<xliff:g id="PROFILE_NAME">%1$s</xliff:g>), которым будет управлять приложение <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Это приложение необходимо для управления устройством \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\". Приложение \"<xliff:g id="APP_NAME">%2$s</xliff:g>\" получит доступ к уведомлениям, а также следующие разрешения: телефон, SMS, контакты, календарь, список вызовов и устройства поблизости."</string> <string name="permission_apps" msgid="6142133265286656158">"Приложения"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Трансляция приложений с телефона."</string> <string name="title_app_streaming" msgid="2270331024626446950">"Разрешите приложению <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> получать эту информацию с вашего телефона"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Значок приложения"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Кнопка информации"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-si/strings.xml b/packages/CompanionDeviceManager/res/values-si/strings.xml index 282bb3ef1df5..79c36513a575 100644 --- a/packages/CompanionDeviceManager/res/values-si/strings.xml +++ b/packages/CompanionDeviceManager/res/values-si/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"සහායක උපාංග කළමනාකරු"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> හට ඔබගේ <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> කළමනාකරණය කිරීමට ඉඩ දෙන්න"</string> <string name="profile_name_watch" msgid="576290739483672360">"ඔරලෝසුව"</string> <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> මගින් කළමනාකරණය කරනු ලැබීමට <xliff:g id="PROFILE_NAME">%1$s</xliff:g>ක් තෝරන්න"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"මෙම යෙදුමට ඔබගේ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> කළමනාකරණය කිරීමට අවශ්යයි. <xliff:g id="APP_NAME">%2$s</xliff:g> ඔබගේ දැනුම්දීම් සමඟ අන්තර්ක්රියා කිරීමට සහ ඔබගේ දුරකථනය, SMS, සම්බන්ධතා, දින දර්ශනය, ඇමතුම් ලොග සහ අවට උපාංග අවසර වෙත ප්රවේශ වීමට ඉඩ දෙනු ඇත."</string> <string name="permission_apps" msgid="6142133265286656158">"යෙදුම්"</string> <string name="permission_apps_summary" msgid="798718816711515431">"ඔබගේ දුරකථනයේ යෙදුම් ප්රවාහ කරන්න"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> හට ඔබගේ දුරකථනයෙන් මෙම තොරතුරුවලට ප්රවේශ වීමට ඉඩ දෙන්න"</string> diff --git a/packages/CompanionDeviceManager/res/values-sk/strings.xml b/packages/CompanionDeviceManager/res/values-sk/strings.xml index 5f45d631c7a8..54b6ce6d66ad 100644 --- a/packages/CompanionDeviceManager/res/values-sk/strings.xml +++ b/packages/CompanionDeviceManager/res/values-sk/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Správca sprievodných zariadení"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Povoľte aplikácii <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> prístup k zariadeniu <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"hodinky"</string> <string name="chooser_title" msgid="2262294130493605839">"Vyberte profil <xliff:g id="PROFILE_NAME">%1$s</xliff:g>, ktorý bude spravovať aplikácia <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Táto aplikácia sa vyžaduje na správu zariadenia <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> bude môcť interagovať s vašimi upozorneniami a získa prístup k povoleniam telefónu, SMS, kontaktov, kalendára, zoznamu hovorov a zariadení v okolí."</string> <string name="permission_apps" msgid="6142133265286656158">"Aplikácie"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Streamovanie aplikácií v telefóne"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Povoľte aplikácii <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> prístup k týmto informáciám z vášho telefónu"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Ikona aplikácie"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Tlačidlo Ďalšie informácie"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-sl/strings.xml b/packages/CompanionDeviceManager/res/values-sl/strings.xml index b567892bc15f..883bd0bcdb95 100644 --- a/packages/CompanionDeviceManager/res/values-sl/strings.xml +++ b/packages/CompanionDeviceManager/res/values-sl/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Upravitelj spremljevalnih naprav"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Aplikaciji <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> dovolite dostop do naprave <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"ura"</string> <string name="chooser_title" msgid="2262294130493605839">"Izbira naprave <xliff:g id="PROFILE_NAME">%1$s</xliff:g>, ki jo bo upravljala aplikacija <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Ta aplikacija je potrebna za upravljanje naprave »<xliff:g id="DEVICE_NAME">%1$s</xliff:g>«. Aplikaciji <xliff:g id="APP_NAME">%2$s</xliff:g> bosta omogočena interakcija z obvestili in uporaba dovoljenj Telefon, SMS, Stiki, Koledar, Dnevniki klicev in Naprave v bližini."</string> <string name="permission_apps" msgid="6142133265286656158">"Aplikacije"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Pretočno predvajanje aplikacij telefona"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Dovolite, da <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> dostopa do teh podatkov v vašem telefonu"</string> diff --git a/packages/CompanionDeviceManager/res/values-sq/strings.xml b/packages/CompanionDeviceManager/res/values-sq/strings.xml index 641a2e39ccc9..3e6933ccb8db 100644 --- a/packages/CompanionDeviceManager/res/values-sq/strings.xml +++ b/packages/CompanionDeviceManager/res/values-sq/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Menaxheri i pajisjes shoqëruese"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Lejo që <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> të ketë qasje te <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"ora inteligjente"</string> <string name="chooser_title" msgid="2262294130493605839">"Zgjidh një profil <xliff:g id="PROFILE_NAME">%1$s</xliff:g> që do të menaxhohet nga <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Ky aplikacion nevojitet për të menaxhuar profilin tënd të <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> do të lejohet të ndërveprojë me njoftimet e tua dhe të ketë qasje te lejet e \"Telefonit\", \"SMS-ve\", \"Kontakteve\", \"Kalendarit\", \"Evidencave të telefonatave\" dhe \"Pajisjeve në afërsi\"."</string> <string name="permission_apps" msgid="6142133265286656158">"Aplikacionet"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Transmeto aplikacionet e telefonit tënd"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Lejo që <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> të ketë qasje në këtë informacion nga telefoni yt"</string> diff --git a/packages/CompanionDeviceManager/res/values-sr/strings.xml b/packages/CompanionDeviceManager/res/values-sr/strings.xml index 0060efe68c0d..f9a1e0248aaa 100644 --- a/packages/CompanionDeviceManager/res/values-sr/strings.xml +++ b/packages/CompanionDeviceManager/res/values-sr/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Менаџер придруженог уређаја"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Дозволите да <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> приступа уређају <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"сат"</string> <string name="chooser_title" msgid="2262294130493605839">"Одаберите профил <xliff:g id="PROFILE_NAME">%1$s</xliff:g> којим ће управљати апликација <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Ова апликација је потребна за управљање уређајем <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> ће добити дозволу за интеракцију са обавештењима и приступ дозволама за телефон, SMS, контакте, календар, евиденције позива и уређаје у близини."</string> <string name="permission_apps" msgid="6142133265286656158">"Апликације"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Стримујте апликације на телефону"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Дозволите да <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> приступа овим информацијама са телефона"</string> diff --git a/packages/CompanionDeviceManager/res/values-sv/strings.xml b/packages/CompanionDeviceManager/res/values-sv/strings.xml index 272c7426d3b0..b4df61613e9c 100644 --- a/packages/CompanionDeviceManager/res/values-sv/strings.xml +++ b/packages/CompanionDeviceManager/res/values-sv/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Companion Device Manager"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Tillåt att <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> får åtkomst till din <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"klocka"</string> <string name="chooser_title" msgid="2262294130493605839">"Välj en <xliff:g id="PROFILE_NAME">%1$s</xliff:g> för hantering av <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Appen behövs för att hantera <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> får tillåtelse att interagera med dina aviseringar och får åtkomst till behörigheterna Telefon, Sms, Kontakter, Kalender, Samtalsloggar och Enheter i närheten."</string> <string name="permission_apps" msgid="6142133265286656158">"Appar"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Streama telefonens appar"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Ge <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> åtkomstbehörighet till denna information på telefonen"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Appikon"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Knappen Mer information"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-sw/strings.xml b/packages/CompanionDeviceManager/res/values-sw/strings.xml index 5535c52c4a67..6b5ca21a69de 100644 --- a/packages/CompanionDeviceManager/res/values-sw/strings.xml +++ b/packages/CompanionDeviceManager/res/values-sw/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Kidhibiti cha Vifaa Visaidizi"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Ruhusu <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ifikie <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> yako"</string> <string name="profile_name_watch" msgid="576290739483672360">"saa"</string> <string name="chooser_title" msgid="2262294130493605839">"Chagua <xliff:g id="PROFILE_NAME">%1$s</xliff:g> ili idhibitiwe na <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Programu hii inahitajika ili udhibiti wasifu wako wa <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> itaruhusiwa kufikia arifa zako na kufikia ruhusa zako za Simu, SMS, Anwani, Kalenda, Rekodi za nambari za simu na Vifaa vilivyo karibu."</string> <string name="permission_apps" msgid="6142133265286656158">"Programu"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Tiririsha programu za simu yako"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Ruhusu <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ifikie maelezo haya kutoka kwenye simu yako"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Aikoni ya Programu"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Kitufe cha Maelezo Zaidi"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ta/strings.xml b/packages/CompanionDeviceManager/res/values-ta/strings.xml index ebee21d911dc..4408e65d8e81 100644 --- a/packages/CompanionDeviceManager/res/values-ta/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ta/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"கம்பேனியன் சாதன நிர்வாகி"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"உங்கள் <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> சாதனத்தை அணுக <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ஆப்ஸை அனுமதியுங்கள்"</string> <string name="profile_name_watch" msgid="576290739483672360">"வாட்ச்"</string> <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> ஆப்ஸ் நிர்வகிக்கக்கூடிய <xliff:g id="PROFILE_NAME">%1$s</xliff:g> ஐத் தேர்ந்தெடுங்கள்"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"உங்கள் <xliff:g id="DEVICE_NAME">%1$s</xliff:g> சாதனத்தை நிர்வகிக்க இந்த ஆப்ஸ் தேவைப்படுகிறது. உங்கள் அறிவிப்புகளைப் பயன்படுத்துவதற்கான அனுமதியையும் மொபைல், மெசேஜ், தொடர்புகள், கேலெண்டர், அழைப்புப் பதிவுகள், அருகிலுள்ள சாதனங்கள் ஆகியவற்றின் அனுமதிகளுக்கான அணுகலையும் <xliff:g id="APP_NAME">%2$s</xliff:g> ஆப்ஸ் பெறும்."</string> <string name="permission_apps" msgid="6142133265286656158">"ஆப்ஸ்"</string> <string name="permission_apps_summary" msgid="798718816711515431">"உங்கள் மொபைலின் ஆப்ஸை ஸ்ட்ரீம் செய்யலாம்"</string> <string name="title_app_streaming" msgid="2270331024626446950">"மொபைலில் உள்ள இந்தத் தகவல்களை அணுக, <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ஆப்ஸை அனுமதிக்கவும்"</string> diff --git a/packages/CompanionDeviceManager/res/values-te/strings.xml b/packages/CompanionDeviceManager/res/values-te/strings.xml index 2d33f062936c..7bb383fc5f9c 100644 --- a/packages/CompanionDeviceManager/res/values-te/strings.xml +++ b/packages/CompanionDeviceManager/res/values-te/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"సహచర పరికర మేనేజర్"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"మీ <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>ను యాక్సెస్ చేయడానికి <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>ను అనుమతించండి"</string> <string name="profile_name_watch" msgid="576290739483672360">"వాచ్"</string> <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> ద్వారా మేనేజ్ చేయబడటానికి ఒక <xliff:g id="PROFILE_NAME">%1$s</xliff:g>ను ఎంచుకోండి"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"మీ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>ను మేనేజ్ చేయడానికి ఈ యాప్ అవసరం. మీ నోటిఫికేషన్లతో ఇంటరాక్ట్ అవ్వడానికి అలాగే మీ ఫోన్, SMS, కాంటాక్ట్లు, Calendar కాల్ లాగ్లు, సమీపంలోని పరికరాల అనుమతులను యాక్సెస్ చేయడానికి <xliff:g id="APP_NAME">%2$s</xliff:g> అనుమతించబడుతుంది."</string> <string name="permission_apps" msgid="6142133265286656158">"యాప్లు"</string> <string name="permission_apps_summary" msgid="798718816711515431">"మీ ఫోన్ యాప్లను స్ట్రీమ్ చేయండి"</string> <string name="title_app_streaming" msgid="2270331024626446950">"మీ ఫోన్ నుండి ఈ సమాచారాన్ని యాక్సెస్ చేయడానికి <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> యాప్ను అనుమతించండి"</string> diff --git a/packages/CompanionDeviceManager/res/values-th/strings.xml b/packages/CompanionDeviceManager/res/values-th/strings.xml index 95539dd05731..e3174f8c9012 100644 --- a/packages/CompanionDeviceManager/res/values-th/strings.xml +++ b/packages/CompanionDeviceManager/res/values-th/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Companion Device Manager"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"อนุญาตให้ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> เข้าถึง <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> ของคุณ"</string> <string name="profile_name_watch" msgid="576290739483672360">"นาฬิกา"</string> <string name="chooser_title" msgid="2262294130493605839">"เลือก<xliff:g id="PROFILE_NAME">%1$s</xliff:g>ที่จะให้มีการจัดการโดย <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"ต้องใช้แอปนี้ในการจัดการ<xliff:g id="DEVICE_NAME">%1$s</xliff:g> <xliff:g id="APP_NAME">%2$s</xliff:g> จะได้รับอนุญาตให้โต้ตอบกับการแจ้งเตือนและได้รับสิทธิ์เข้าถึงโทรศัพท์, SMS, รายชื่อติดต่อ, ปฏิทิน, บันทึกการโทร และอุปกรณ์ที่อยู่ใกล้เคียง"</string> <string name="permission_apps" msgid="6142133265286656158">"แอป"</string> <string name="permission_apps_summary" msgid="798718816711515431">"สตรีมแอปของโทรศัพท์คุณ"</string> <string name="title_app_streaming" msgid="2270331024626446950">"อนุญาตให้ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> เข้าถึงข้อมูลนี้จากโทรศัพท์ของคุณ"</string> diff --git a/packages/CompanionDeviceManager/res/values-tl/strings.xml b/packages/CompanionDeviceManager/res/values-tl/strings.xml index 5a732212b49e..9c49c5c78df7 100644 --- a/packages/CompanionDeviceManager/res/values-tl/strings.xml +++ b/packages/CompanionDeviceManager/res/values-tl/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Kasamang Device Manager"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Payagan ang <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> na i-access ang iyong <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"relo"</string> <string name="chooser_title" msgid="2262294130493605839">"Pumili ng <xliff:g id="PROFILE_NAME">%1$s</xliff:g> para pamahalaan ng <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Kailangan ang app na ito para mapamahalaan ang iyong <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Papayagan ang <xliff:g id="APP_NAME">%2$s</xliff:g> na makipag-ugnayan sa mga notification mo at i-access ang iyong pahintulot sa Telepono, SMS, Mga Contact, Kalendaryo, Log ng mga tawag, at Mga kalapit na device."</string> <string name="permission_apps" msgid="6142133265286656158">"Mga App"</string> <string name="permission_apps_summary" msgid="798718816711515431">"I-stream ang mga app ng iyong telepono"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Payagan ang <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> na i-access ang impormasyong ito sa iyong telepono"</string> diff --git a/packages/CompanionDeviceManager/res/values-tr/strings.xml b/packages/CompanionDeviceManager/res/values-tr/strings.xml index 71da6757fecc..bdad64149415 100644 --- a/packages/CompanionDeviceManager/res/values-tr/strings.xml +++ b/packages/CompanionDeviceManager/res/values-tr/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Companion Device Manager"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"<strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> cihazınıza erişmesi için <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> uygulamasına izin verin"</string> <string name="profile_name_watch" msgid="576290739483672360">"saat"</string> <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> tarafından yönetilecek bir <xliff:g id="PROFILE_NAME">%1$s</xliff:g> seçin"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Bu uygulama, <xliff:g id="DEVICE_NAME">%1$s</xliff:g> cihazınızın yönetilmesi için gereklidir. <xliff:g id="APP_NAME">%2$s</xliff:g> adlı uygulamanın bildirimlerinizle etkileşimde bulunup Telefon, SMS, Kişiler, Takvim, Arama kayıtları ve Yakındaki cihazlar izinlerinize erişmesine izin verilir."</string> <string name="permission_apps" msgid="6142133265286656158">"Uygulamalar"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Telefonunuzun uygulamalarını yayınlama"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> uygulamasının, telefonunuzdaki bu bilgilere erişmesine izin verin"</string> diff --git a/packages/CompanionDeviceManager/res/values-uk/strings.xml b/packages/CompanionDeviceManager/res/values-uk/strings.xml index 0681b9f5eab0..760255b4b64a 100644 --- a/packages/CompanionDeviceManager/res/values-uk/strings.xml +++ b/packages/CompanionDeviceManager/res/values-uk/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Диспетчер супутніх пристроїв"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Надати додатку <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> доступ до пристрою <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"годинник"</string> <string name="chooser_title" msgid="2262294130493605839">"Виберіть <xliff:g id="PROFILE_NAME">%1$s</xliff:g>, яким керуватиме додаток <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Цей додаток потрібен, щоб керувати пристроєм <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Додаток <xliff:g id="APP_NAME">%2$s</xliff:g> зможе взаємодіяти з вашими сповіщеннями й отримає дозволи \"Телефон\", \"SMS\", \"Контакти\", \"Календар\", \"Журнали викликів\" і \"Пристрої поблизу\"."</string> <string name="permission_apps" msgid="6142133265286656158">"Додатки"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Транслювати додатки телефона"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Надайте додатку <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> доступ до цієї інформації з телефона"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Значок додатка"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Кнопка \"Докладніше\""</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ur/strings.xml b/packages/CompanionDeviceManager/res/values-ur/strings.xml index f815b0324502..a311bd4936a8 100644 --- a/packages/CompanionDeviceManager/res/values-ur/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ur/strings.xml @@ -17,16 +17,14 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"ساتھی آلہ مینیجر"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> کو اپنے <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> تک رسائی کی اجازت دیں"</string> <string name="profile_name_watch" msgid="576290739483672360">"دیکھیں"</string> <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> کے ذریعے نظم کئے جانے کیلئے <xliff:g id="PROFILE_NAME">%1$s</xliff:g> کو منتخب کریں"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"آپ کے <xliff:g id="DEVICE_NAME">%1$s</xliff:g> کا نظم کرنے کے لئے اس ایپ کی ضرورت ہے۔ <xliff:g id="APP_NAME">%2$s</xliff:g> کو آپ کی اطلاعات کے ساتھ تعامل کرنے اور آپ کے فون، SMS، رابطوں، کیلنڈر، کال لاگز اور قریبی آلات کی اجازتوں تک رسائی کی اجازت ہوگی۔"</string> <string name="permission_apps" msgid="6142133265286656158">"ایپس"</string> <string name="permission_apps_summary" msgid="798718816711515431">"اپنے فون کی ایپس کی سلسلہ بندی کریں"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> کو اپنے فون سے ان معلومات تک رسائی حاصل کرنے کی اجازت دیں"</string> - <string name="helper_title_app_streaming" msgid="4151687003439969765">"کراس آلے کی سروس"</string> + <string name="helper_title_app_streaming" msgid="4151687003439969765">"کراس ڈیوائس سروسز"</string> <string name="helper_summary_app_streaming" msgid="7380294597268573523">"<xliff:g id="APP_NAME">%1$s</xliff:g> ایپ آپ کے <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> کی جانب سے آپ کے فون کی تصاویر، میڈیا اور اطلاعات تک رسائی کی اجازت طلب کر رہی ہے"</string> <string name="title_automotive_projection" msgid="3296005598978412847"></string> <string name="summary_automotive_projection" msgid="8683801274662496164"></string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"ایپ کا آئیکن"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"مزید معلومات کا بٹن"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-uz/strings.xml b/packages/CompanionDeviceManager/res/values-uz/strings.xml index 9a28c2e53936..f1c162afa666 100644 --- a/packages/CompanionDeviceManager/res/values-uz/strings.xml +++ b/packages/CompanionDeviceManager/res/values-uz/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Companion Device Manager"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"<strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> qurilmasiga kirish uchun <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ilovasiga ruxsat bering"</string> <string name="profile_name_watch" msgid="576290739483672360">"soat"</string> <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> boshqaradigan <xliff:g id="PROFILE_NAME">%1$s</xliff:g> qurilmasini tanlang"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Bu ilova <xliff:g id="DEVICE_NAME">%1$s</xliff:g> profilini boshqarish uchun kerak. <xliff:g id="APP_NAME">%2$s</xliff:g> ilovasiga bildirishnomalar bilan ishlash va telefon, SMS, kontaktlar, taqvim, chaqiruvlar jurnali va yaqin-atrofdagi qurilmalarga kirishga ruxsat beriladi."</string> <string name="permission_apps" msgid="6142133265286656158">"Ilovalar"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Telefondagi ilovalarni translatsiya qilish"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ilovasiga telefondagi ushbu maʼlumot uchun ruxsat bering"</string> @@ -45,8 +43,6 @@ <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 vendor_icon_description (4445875290032225965) --> - <skip /> - <!-- no translation found for vendor_header_button_description (6566660389500630608) --> - <skip /> + <string name="vendor_icon_description" msgid="4445875290032225965">"Ilova belgisi"</string> + <string name="vendor_header_button_description" msgid="6566660389500630608">"Batafsil axborot tugmasi"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-vi/strings.xml b/packages/CompanionDeviceManager/res/values-vi/strings.xml index 94fbdac89a28..5c7d600a83e6 100644 --- a/packages/CompanionDeviceManager/res/values-vi/strings.xml +++ b/packages/CompanionDeviceManager/res/values-vi/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"Companion Device Manager"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"Cho phép <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> truy cập <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> của bạn"</string> <string name="profile_name_watch" msgid="576290739483672360">"đồng hồ"</string> <string name="chooser_title" msgid="2262294130493605839">"Chọn một <xliff:g id="PROFILE_NAME">%1$s</xliff:g> sẽ do <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> quản lý"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"Cần có ứng dụng này để quản lý <xliff:g id="DEVICE_NAME">%1$s</xliff:g> của bạn. <xliff:g id="APP_NAME">%2$s</xliff:g> sẽ được phép tương tác với các thông báo và truy cập vào Điện thoại, SMS, Danh bạ, Lịch, Nhật ký cuộc gọi và quyền đối với Thiết bị ở gần."</string> <string name="permission_apps" msgid="6142133265286656158">"Ứng dụng"</string> <string name="permission_apps_summary" msgid="798718816711515431">"Truyền các ứng dụng trên điện thoại của bạn"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Cho phép <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> truy cập vào thông tin này trên điện thoại của bạn"</string> diff --git a/packages/CompanionDeviceManager/res/values-zh-rHK/strings.xml b/packages/CompanionDeviceManager/res/values-zh-rHK/strings.xml index 6a190546ba9b..4748ece86a5a 100644 --- a/packages/CompanionDeviceManager/res/values-zh-rHK/strings.xml +++ b/packages/CompanionDeviceManager/res/values-zh-rHK/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"隨附裝置管理工具"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"允許<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> 存取您的 <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"手錶"</string> <string name="chooser_title" msgid="2262294130493605839">"選擇由 <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> 管理的<xliff:g id="PROFILE_NAME">%1$s</xliff:g>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"必須使用此應用程式,才能管理<xliff:g id="DEVICE_NAME">%1$s</xliff:g>。<xliff:g id="APP_NAME">%2$s</xliff:g> 將可存取通知、電話、短訊、通訊錄和日曆、通話記錄和附近的裝置權限。"</string> <string name="permission_apps" msgid="6142133265286656158">"應用程式"</string> <string name="permission_apps_summary" msgid="798718816711515431">"串流播放手機應用程式內容"</string> <string name="title_app_streaming" msgid="2270331024626446950">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<strong></strong>存取您手機中的這項資料"</string> diff --git a/packages/CompanionDeviceManager/res/values-zh-rTW/strings.xml b/packages/CompanionDeviceManager/res/values-zh-rTW/strings.xml index 54aa2310e228..f41896fd602f 100644 --- a/packages/CompanionDeviceManager/res/values-zh-rTW/strings.xml +++ b/packages/CompanionDeviceManager/res/values-zh-rTW/strings.xml @@ -17,12 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4470785958457506021">"隨附裝置管理員"</string> - <!-- no translation found for confirmation_title (3785000297483688997) --> - <skip /> + <string name="confirmation_title" msgid="3785000297483688997">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<strong></strong>存取「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<strong></strong>"</string> <string name="profile_name_watch" msgid="576290739483672360">"手錶"</string> <string name="chooser_title" msgid="2262294130493605839">"選擇要讓「<xliff:g id="APP_NAME">%2$s</xliff:g>」<strong></strong>管理的<xliff:g id="PROFILE_NAME">%1$s</xliff:g>"</string> - <!-- no translation found for summary_watch (3002344206574997652) --> - <skip /> + <string name="summary_watch" msgid="3002344206574997652">"你必須使用這個應用程式,才能管理「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」。「<xliff:g id="APP_NAME">%2$s</xliff:g>」將可存取通知、電話、簡訊、聯絡人和日曆、通話記錄和鄰近裝置的權限。"</string> <string name="permission_apps" msgid="6142133265286656158">"應用程式"</string> <string name="permission_apps_summary" msgid="798718816711515431">"串流傳輸手機應用程式內容"</string> <string name="title_app_streaming" msgid="2270331024626446950">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<strong></strong>存取手機中的這項資訊"</string> diff --git a/packages/InputDevices/res/values-in/strings.xml b/packages/InputDevices/res/values-in/strings.xml index 41bf2decd44f..92bd24df2791 100644 --- a/packages/InputDevices/res/values-in/strings.xml +++ b/packages/InputDevices/res/values-in/strings.xml @@ -41,7 +41,7 @@ <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Arab"</string> <string name="keyboard_layout_greek" msgid="7289253560162386040">"Yunani"</string> <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Ibrani"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Lithuania"</string> + <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Lituania"</string> <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Spanyol (Latin)"</string> <string name="keyboard_layout_latvian" msgid="4405417142306250595">"Latvia"</string> <string name="keyboard_layout_persian" msgid="3920643161015888527">"Persia"</string> diff --git a/packages/SettingsLib/FooterPreference/src/com/android/settingslib/widget/FooterPreference.java b/packages/SettingsLib/FooterPreference/src/com/android/settingslib/widget/FooterPreference.java index 6766cdd0beb6..8cda37665035 100644 --- a/packages/SettingsLib/FooterPreference/src/com/android/settingslib/widget/FooterPreference.java +++ b/packages/SettingsLib/FooterPreference/src/com/android/settingslib/widget/FooterPreference.java @@ -44,7 +44,6 @@ public class FooterPreference extends Preference { int mIconVisibility = View.VISIBLE; private CharSequence mContentDescription; private CharSequence mLearnMoreText; - private CharSequence mLearnMoreContentDescription; private FooterLearnMoreSpan mLearnMoreSpan; public FooterPreference(Context context, AttributeSet attrs) { @@ -80,9 +79,6 @@ public class FooterPreference extends Preference { learnMoreText.setSpan(mLearnMoreSpan, 0, learnMoreText.length(), 0); learnMore.setText(learnMoreText); - if (!TextUtils.isEmpty(mLearnMoreContentDescription)) { - learnMore.setContentDescription(mLearnMoreContentDescription); - } } else { learnMore.setVisibility(View.GONE); } @@ -140,27 +136,6 @@ public class FooterPreference extends Preference { } /** - * To set content description of the learn more text. This can use for talkback - * environment if developer wants to have a customization content. - * - * @param learnMoreContentDescription The resource id of the content description. - */ - public void setLearnMoreContentDescription(CharSequence learnMoreContentDescription) { - if (!TextUtils.equals(mContentDescription, learnMoreContentDescription)) { - mLearnMoreContentDescription = learnMoreContentDescription; - notifyChanged(); - } - } - - /** - * Return the content description of learn more link. - */ - @VisibleForTesting - CharSequence getLearnMoreContentDescription() { - return mLearnMoreContentDescription; - } - - /** * Assign an action for the learn more link. */ public void setLearnMoreAction(View.OnClickListener listener) { @@ -201,7 +176,7 @@ public class FooterPreference extends Preference { private String mKey; private CharSequence mTitle; private CharSequence mContentDescription; - private CharSequence mLearnMoreContentDescription; + private CharSequence mLearnMoreText; public Builder(@NonNull Context context) { mContext = context; @@ -260,25 +235,24 @@ public class FooterPreference extends Preference { } /** - * To set content description of the learn more text. This can use for talkback + * To set learn more string of the learn more text. This can use for talkback * environment if developer wants to have a customization content. * - * @param learnMoreContentDescription The resource id of the content description. + * @param learnMoreText The resource id of the learn more string. */ - public Builder setLearnMoreContentDescription(CharSequence learnMoreContentDescription) { - mLearnMoreContentDescription = learnMoreContentDescription; + public Builder setLearnMoreText(CharSequence learnMoreText) { + mLearnMoreText = learnMoreText; return this; } /** - * To set content description of the {@link FooterPreference}. This can use for talkback + * To set learn more string of the {@link FooterPreference}. This can use for talkback * environment if developer wants to have a customization content. * - * @param learnMoreContentDescriptionResId The resource id of the content description. + * @param learnMoreTextResId The resource id of the learn more string. */ - public Builder setLearnMoreContentDescription( - @StringRes int learnMoreContentDescriptionResId) { - mLearnMoreContentDescription = mContext.getText(learnMoreContentDescriptionResId); + public Builder setLearnMoreText(@StringRes int learnMoreTextResId) { + mLearnMoreText = mContext.getText(learnMoreTextResId); return this; } @@ -301,8 +275,8 @@ public class FooterPreference extends Preference { footerPreference.setContentDescription(mContentDescription); } - if (!TextUtils.isEmpty(mLearnMoreContentDescription)) { - footerPreference.setLearnMoreContentDescription(mLearnMoreContentDescription); + if (!TextUtils.isEmpty(mLearnMoreText)) { + footerPreference.setLearnMoreText(mLearnMoreText); } return footerPreference; } diff --git a/packages/SettingsLib/SettingsTheme/res/values-night-v31/colors.xml b/packages/SettingsLib/SettingsTheme/res/values-night-v31/colors.xml index 5e3907caf860..5411591d8df6 100644 --- a/packages/SettingsLib/SettingsTheme/res/values-night-v31/colors.xml +++ b/packages/SettingsLib/SettingsTheme/res/values-night-v31/colors.xml @@ -48,8 +48,6 @@ <color name="settingslib_text_color_preference_category_title">@android:color/system_accent1_100</color> - <color name="settingslib_ripple_color">@color/settingslib_material_grey_900</color> - <color name="settingslib_surface_dark">@android:color/system_neutral1_800</color> <color name="settingslib_colorSurface">@color/settingslib_surface_dark</color> diff --git a/packages/SettingsLib/src/com/android/settingslib/PrimarySwitchPreference.java b/packages/SettingsLib/src/com/android/settingslib/PrimarySwitchPreference.java index b43b44421fb8..fb06976ebfe3 100644 --- a/packages/SettingsLib/src/com/android/settingslib/PrimarySwitchPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/PrimarySwitchPreference.java @@ -19,8 +19,6 @@ package com.android.settingslib; import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; -import android.view.View; -import android.view.View.OnClickListener; import android.widget.Switch; import androidx.annotation.Keep; @@ -28,6 +26,7 @@ import androidx.annotation.Nullable; import androidx.preference.PreferenceViewHolder; import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; +import com.android.settingslib.core.instrumentation.SettingsJankMonitor; /** * A custom preference that provides inline switch toggle. It has a mandatory field for title, and @@ -65,31 +64,25 @@ public class PrimarySwitchPreference extends RestrictedPreference { @Override public void onBindViewHolder(PreferenceViewHolder holder) { super.onBindViewHolder(holder); - final View switchWidget = holder.findViewById(R.id.switchWidget); - if (switchWidget != null) { - switchWidget.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - if (mSwitch != null && !mSwitch.isEnabled()) { - return; - } - setChecked(!mChecked); - if (!callChangeListener(mChecked)) { - setChecked(!mChecked); - } else { - persistBoolean(mChecked); - } + mSwitch = (Switch) holder.findViewById(R.id.switchWidget); + if (mSwitch != null) { + mSwitch.setOnClickListener(v -> { + if (mSwitch != null && !mSwitch.isEnabled()) { + return; + } + final boolean newChecked = !mChecked; + if (callChangeListener(newChecked)) { + SettingsJankMonitor.detectToggleJank(getKey(), mSwitch); + setChecked(newChecked); + persistBoolean(newChecked); } }); // Consumes move events to ignore drag actions. - switchWidget.setOnTouchListener((v, event) -> { + mSwitch.setOnTouchListener((v, event) -> { return event.getActionMasked() == MotionEvent.ACTION_MOVE; }); - } - mSwitch = (Switch) holder.findViewById(R.id.switchWidget); - if (mSwitch != null) { mSwitch.setContentDescription(getTitle()); mSwitch.setChecked(mChecked); mSwitch.setEnabled(mEnableSwitch); diff --git a/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java b/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java index 2f30baa79b9d..cb8e7e8bb6ef 100644 --- a/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java +++ b/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java @@ -198,10 +198,9 @@ public class RestrictedPreferenceHelper { if (mDisabledByAdmin != disabled) { mDisabledByAdmin = disabled; changed = true; + updateDisabledState(); } - updateDisabledState(); - return changed; } @@ -210,10 +209,9 @@ public class RestrictedPreferenceHelper { if (mDisabledByAppOps != disabled) { mDisabledByAppOps = disabled; changed = true; + updateDisabledState(); } - updateDisabledState(); - return changed; } diff --git a/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java b/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java index e6160bb9896d..b5e4fa38d244 100644 --- a/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java @@ -254,9 +254,11 @@ public class RestrictedSwitchPreference extends SwitchPreference { final boolean ecmEnabled = getContext().getResources().getBoolean( com.android.internal.R.bool.config_enhancedConfirmationModeEnabled); final boolean appOpsAllowed = !ecmEnabled || mode == AppOpsManager.MODE_ALLOWED; - if (appOpsAllowed || isEnabled) { + if (isEnabled) { setEnabled(true); - } else { + } else if (appOpsAllowed && isDisabledByAppOps()) { + setEnabled(true); + } else if (!appOpsAllowed){ setDisabledByAppOps(true); } } diff --git a/packages/SettingsLib/src/com/android/settingslib/core/instrumentation/SettingsJankMonitor.kt b/packages/SettingsLib/src/com/android/settingslib/core/instrumentation/SettingsJankMonitor.kt new file mode 100644 index 000000000000..a5f69ffec4b4 --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/core/instrumentation/SettingsJankMonitor.kt @@ -0,0 +1,74 @@ +/* + * 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.settingslib.core.instrumentation + +import android.view.View +import androidx.annotation.VisibleForTesting +import androidx.preference.PreferenceGroupAdapter +import androidx.preference.SwitchPreference +import androidx.recyclerview.widget.RecyclerView +import com.android.internal.jank.InteractionJankMonitor +import java.util.concurrent.Executors +import java.util.concurrent.TimeUnit + +/** + * Helper class for Settings library to trace jank. + */ +object SettingsJankMonitor { + private val jankMonitor = InteractionJankMonitor.getInstance() + private val scheduledExecutorService = Executors.newSingleThreadScheduledExecutor() + + // Switch toggle animation duration is 250ms, and there is also a ripple effect animation when + // clicks, which duration is variable. Use 300ms here to cover. + @VisibleForTesting + const val MONITORED_ANIMATION_DURATION_MS = 300L + + /** + * Detects the jank when click on a SwitchPreference. + * + * @param recyclerView the recyclerView contains the preference + * @param preference the clicked preference + */ + @JvmStatic + fun detectSwitchPreferenceClickJank(recyclerView: RecyclerView, preference: SwitchPreference) { + val adapter = recyclerView.adapter as? PreferenceGroupAdapter ?: return + val adapterPosition = adapter.getPreferenceAdapterPosition(preference) + val viewHolder = recyclerView.findViewHolderForAdapterPosition(adapterPosition) ?: return + detectToggleJank(preference.key, viewHolder.itemView) + } + + /** + * Detects the animation jank on the given view. + * + * @param tag the tag for jank monitor + * @param view the instrumented view + */ + @JvmStatic + fun detectToggleJank(tag: String?, view: View) { + val builder = InteractionJankMonitor.Configuration.Builder.withView( + InteractionJankMonitor.CUJ_SETTINGS_TOGGLE, + view + ) + if (tag != null) { + builder.setTag(tag) + } + if (jankMonitor.begin(builder)) { + scheduledExecutorService.schedule({ + jankMonitor.end(InteractionJankMonitor.CUJ_SETTINGS_TOGGLE) + }, MONITORED_ANIMATION_DURATION_MS, TimeUnit.MILLISECONDS) + } + } +}
\ No newline at end of file diff --git a/packages/SettingsLib/tests/robotests/Android.bp b/packages/SettingsLib/tests/robotests/Android.bp index 2d1a516f4f11..5c55a435b463 100644 --- a/packages/SettingsLib/tests/robotests/Android.bp +++ b/packages/SettingsLib/tests/robotests/Android.bp @@ -63,6 +63,7 @@ java_library { libs: [ "Robolectric_all-target", + "mockito-robolectric-prebuilt", "truth-prebuilt", ], } diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/PrimarySwitchPreferenceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/PrimarySwitchPreferenceTest.java index 9c16740061fe..74c2fc8cce4c 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/PrimarySwitchPreferenceTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/PrimarySwitchPreferenceTest.java @@ -30,14 +30,17 @@ import androidx.preference.Preference.OnPreferenceChangeListener; import androidx.preference.PreferenceViewHolder; import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; +import com.android.settingslib.testutils.shadow.ShadowInteractionJankMonitor; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; +import org.robolectric.annotation.Config; @RunWith(RobolectricTestRunner.class) +@Config(shadows = {ShadowInteractionJankMonitor.class}) public class PrimarySwitchPreferenceTest { private Context mContext; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/instrumentation/SettingsJankMonitorTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/instrumentation/SettingsJankMonitorTest.java new file mode 100644 index 000000000000..d67d44b9035d --- /dev/null +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/instrumentation/SettingsJankMonitorTest.java @@ -0,0 +1,144 @@ +/* + * 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.settingslib.core.instrumentation; + +import static com.android.internal.jank.InteractionJankMonitor.CUJ_SETTINGS_TOGGLE; +import static com.android.settingslib.core.instrumentation.SettingsJankMonitor.MONITORED_ANIMATION_DURATION_MS; + +import static com.google.common.truth.Truth.assertThat; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import android.annotation.NonNull; +import android.view.View; + +import androidx.preference.PreferenceGroupAdapter; +import androidx.preference.SwitchPreference; +import androidx.recyclerview.widget.RecyclerView; + +import com.android.internal.jank.InteractionJankMonitor; +import com.android.internal.jank.InteractionJankMonitor.CujType; +import com.android.settingslib.testutils.shadow.ShadowInteractionJankMonitor; + +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.ArgumentCaptor; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnit; +import org.mockito.junit.MockitoRule; +import org.robolectric.RobolectricTestRunner; +import org.robolectric.annotation.Config; +import org.robolectric.annotation.Implementation; +import org.robolectric.annotation.Implements; +import org.robolectric.annotation.Resetter; +import org.robolectric.util.ReflectionHelpers; + +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; + +@RunWith(RobolectricTestRunner.class) +@Config(shadows = {ShadowInteractionJankMonitor.class, SettingsJankMonitorTest.ShadowBuilder.class}) +public class SettingsJankMonitorTest { + private static final String TEST_KEY = "key"; + + @Rule + public MockitoRule mocks = MockitoJUnit.rule(); + + @Mock + private View mView; + + @Mock + private RecyclerView mRecyclerView; + + @Mock + private PreferenceGroupAdapter mPreferenceGroupAdapter; + + @Mock + private SwitchPreference mSwitchPreference; + + @Mock + private ScheduledExecutorService mScheduledExecutorService; + + @Before + public void setUp() { + ShadowInteractionJankMonitor.reset(); + when(ShadowInteractionJankMonitor.MOCK_INSTANCE.begin(any())).thenReturn(true); + ReflectionHelpers.setStaticField(SettingsJankMonitor.class, "scheduledExecutorService", + mScheduledExecutorService); + } + + @Test + public void detectToggleJank() { + SettingsJankMonitor.detectToggleJank(TEST_KEY, mView); + + verifyToggleJankMonitored(); + } + + @Test + public void detectSwitchPreferenceClickJank() { + int adapterPosition = 7; + when(mRecyclerView.getAdapter()).thenReturn(mPreferenceGroupAdapter); + when(mPreferenceGroupAdapter.getPreferenceAdapterPosition(mSwitchPreference)) + .thenReturn(adapterPosition); + when(mRecyclerView.findViewHolderForAdapterPosition(adapterPosition)) + .thenReturn(new RecyclerView.ViewHolder(mView) { + }); + when(mSwitchPreference.getKey()).thenReturn(TEST_KEY); + + SettingsJankMonitor.detectSwitchPreferenceClickJank(mRecyclerView, mSwitchPreference); + + verifyToggleJankMonitored(); + } + + private void verifyToggleJankMonitored() { + verify(ShadowInteractionJankMonitor.MOCK_INSTANCE).begin(ShadowBuilder.sBuilder); + assertThat(ShadowBuilder.sView).isSameInstanceAs(mView); + ArgumentCaptor<Runnable> runnableCaptor = ArgumentCaptor.forClass(Runnable.class); + verify(mScheduledExecutorService).schedule(runnableCaptor.capture(), + eq(MONITORED_ANIMATION_DURATION_MS), eq(TimeUnit.MILLISECONDS)); + runnableCaptor.getValue().run(); + verify(ShadowInteractionJankMonitor.MOCK_INSTANCE).end(CUJ_SETTINGS_TOGGLE); + } + + @Implements(InteractionJankMonitor.Configuration.Builder.class) + static class ShadowBuilder { + private static InteractionJankMonitor.Configuration.Builder sBuilder; + private static View sView; + + @Resetter + public static void reset() { + sBuilder = null; + sView = null; + } + + @Implementation + public static InteractionJankMonitor.Configuration.Builder withView( + @CujType int cuj, @NonNull View view) { + assertThat(cuj).isEqualTo(CUJ_SETTINGS_TOGGLE); + sView = view; + sBuilder = mock(InteractionJankMonitor.Configuration.Builder.class); + when(sBuilder.setTag(TEST_KEY)).thenReturn(sBuilder); + return sBuilder; + } + } +} diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceTest.java index 9abb27e68398..55125c53b4c9 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceTest.java @@ -74,13 +74,6 @@ public class FooterPreferenceTest { } @Test - public void setLearnMoreContentDescription_contentSet_shouldGetSameContentDescription() { - mFooterPreference.setLearnMoreContentDescription("test"); - - assertThat(mFooterPreference.getLearnMoreContentDescription()).isEqualTo("test"); - } - - @Test public void setLearnMoreAction_actionSet_shouldGetAction() { mFooterPreference.setLearnMoreAction(v -> { }); diff --git a/packages/SettingsLib/tests/robotests/testutils/com/android/settingslib/testutils/shadow/ShadowInteractionJankMonitor.java b/packages/SettingsLib/tests/robotests/testutils/com/android/settingslib/testutils/shadow/ShadowInteractionJankMonitor.java new file mode 100644 index 000000000000..855da16b1dfa --- /dev/null +++ b/packages/SettingsLib/tests/robotests/testutils/com/android/settingslib/testutils/shadow/ShadowInteractionJankMonitor.java @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.testutils.shadow; + +import static org.mockito.Mockito.mock; + +import com.android.internal.jank.InteractionJankMonitor; + +import org.mockito.Mockito; +import org.robolectric.annotation.Implementation; +import org.robolectric.annotation.Implements; +import org.robolectric.annotation.Resetter; + +@Implements(InteractionJankMonitor.class) +public class ShadowInteractionJankMonitor { + public static final InteractionJankMonitor MOCK_INSTANCE = mock(InteractionJankMonitor.class); + + @Resetter + public static void reset() { + Mockito.reset(MOCK_INSTANCE); + } + + @Implementation + public static InteractionJankMonitor getInstance() { + return MOCK_INSTANCE; + } +} diff --git a/packages/SystemUI/TEST_MAPPING b/packages/SystemUI/TEST_MAPPING index d146fc91bfb5..b01fd6de5243 100644 --- a/packages/SystemUI/TEST_MAPPING +++ b/packages/SystemUI/TEST_MAPPING @@ -124,49 +124,5 @@ } ] } - ], - "hubui-postsubmit": [ - { - "name": "PlatformScenarioTests", - "options": [ - { - "include-filter": "android.platform.test.scenario.hubui" - }, - { - "include-annotation": "android.platform.test.scenario.annotation.HubUi" - }, - { - "exclude-annotation": "org.junit.Ignore" - }, - { - "exclude-annotation": "androidx.test.filters.FlakyTest" - } - ] - } - ], - "hubui-presubmit": [ - { - "name": "PlatformScenarioTests", - "options": [ - { - "include-annotation": "android.platform.test.annotations.Presubmit" - }, - { - "include-annotation": "android.platform.test.scenario.annotation.HubUi" - }, - { - "include-filter": "android.platform.test.scenario.hubui" - }, - { - "exclude-annotation": "org.junit.Ignore" - }, - { - "exclude-annotation": "androidx.test.filters.FlakyTest" - }, - { - "exclude-annotation": "android.platform.test.annotations.Postsubmit" - } - ] - } ] } diff --git a/packages/SystemUI/plugin/bcsmartspace/src/com/android/systemui/plugins/BcSmartspaceDataPlugin.java b/packages/SystemUI/plugin/bcsmartspace/src/com/android/systemui/plugins/BcSmartspaceDataPlugin.java index f492c069ac7e..3cf76456de91 100644 --- a/packages/SystemUI/plugin/bcsmartspace/src/com/android/systemui/plugins/BcSmartspaceDataPlugin.java +++ b/packages/SystemUI/plugin/bcsmartspace/src/com/android/systemui/plugins/BcSmartspaceDataPlugin.java @@ -134,6 +134,12 @@ public interface BcSmartspaceDataPlugin extends Plugin { * Get the index of the currently selected page. */ int getSelectedPage(); + + /** + * Return the top padding value from the currently visible card, or 0 if there is no current + * card. + */ + int getCurrentCardTopPadding(); } /** Interface for launching Intents, which can differ on the lockscreen */ diff --git a/packages/SystemUI/res/layout/clipboard_edit_text_activity.xml b/packages/SystemUI/res/layout/clipboard_edit_text_activity.xml index 1c09e81f92ca..18f870d27772 100644 --- a/packages/SystemUI/res/layout/clipboard_edit_text_activity.xml +++ b/packages/SystemUI/res/layout/clipboard_edit_text_activity.xml @@ -58,6 +58,7 @@ android:id="@+id/edit_text" android:layout_width="match_parent" android:layout_height="wrap_content" + android:minHeight="48dp" android:background="@null" android:gravity="start|top" android:textSize="24sp" /> diff --git a/packages/SystemUI/res/layout/clipboard_overlay.xml b/packages/SystemUI/res/layout/clipboard_overlay.xml index 0ba11e9eee94..6b9d96341f16 100644 --- a/packages/SystemUI/res/layout/clipboard_overlay.xml +++ b/packages/SystemUI/res/layout/clipboard_overlay.xml @@ -111,8 +111,8 @@ android:gravity="center|start" android:ellipsize="end" android:autoSizeTextType="uniform" - android:autoSizeMinTextSize="10sp" - android:autoSizeMaxTextSize="200sp" + android:autoSizeMinTextSize="@dimen/clipboard_overlay_min_font" + android:autoSizeMaxTextSize="@dimen/clipboard_overlay_max_font" android:textColor="?attr/overlayButtonTextColor" android:background="?androidprv:attr/colorAccentSecondary" android:layout_width="@dimen/clipboard_preview_size" @@ -124,13 +124,12 @@ android:layout_width="match_parent" android:layout_height="wrap_content"/> <TextView - android:id="@+id/hidden_text_preview" + android:id="@+id/hidden_preview" android:visibility="gone" android:textFontWeight="500" android:padding="8dp" android:gravity="center" android:textSize="14sp" - android:text="@string/clipboard_text_hidden" android:textColor="?attr/overlayButtonTextColor" android:background="?androidprv:attr/colorAccentSecondary" android:layout_width="@dimen/clipboard_preview_size" diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml index 84fdeb0ac4cd..e4633c8d9c32 100644 --- a/packages/SystemUI/res/values-af/strings.xml +++ b/packages/SystemUI/res/values-af/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Swiep op om oop te maak"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Beweeg links"</item> + <item msgid="5558598599408514296">"Beweeg af"</item> + <item msgid="4844142668312841831">"Beweeg regs"</item> + <item msgid="5640521437931460125">"Beweeg op"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Maak die program oop om hierdie sessie uit te saai."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Onbekende program"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Hou op uitsaai"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Beskikbare toestelle vir oudio-uitsette."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Hoe uitsaai werk"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Saai uit"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Mense in jou omtrek met versoenbare Bluetooth-toestelle kan na die media luister wat jy uitsaai"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Wysig gekopieerde prent"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Stuur na toestel in die omtrek"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Tik om te bekyk"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Teks is gekopieer"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Prent is gekopieer"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Inhoud is gekopieer"</string> <string name="add" msgid="81036585205287996">"Voeg by"</string> <string name="manage_users" msgid="1823875311934643849">"Bestuur gebruikers"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Sleep na verdeelde skerm word nie vir hierdie kennisgewing gesteun nie."</string> diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml index 0ade95de7af7..80d194fa3bd2 100644 --- a/packages/SystemUI/res/values-am/strings.xml +++ b/packages/SystemUI/res/values-am/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"ለመክፈት በጣት ወደ ላይ ጠረግ ያድርጉ"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"ለመክፈት የመክፈቻ አዶውን ይጫኑ"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"በመልክ ተከፍቷል። ለመክፈት የመክፈቻ አዶውን ይጫኑ።"</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"ወደ ግራ ውሰድ"</item> + <item msgid="5558598599408514296">"ወደ ታች ውሰድ"</item> + <item msgid="4844142668312841831">"ወደ ቀኝ ውሰድ"</item> + <item msgid="5640521437931460125">"ወደ ላይ ውሰድ"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"ይህን ክፍለ ጊዜ cast ለማድረግ፣ እባክዎ መተግበሪያውን ይክፈቱ።"</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"የማይታወቅ መተግበሪያ"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Cast ማድረግ አቁም"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"ለኦዲዮ ውጽዓት ተገኚ የሆኑ መሣሪያዎች"</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"ማሰራጨት እንዴት እንደሚሠራ"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"ስርጭት"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"ተኳሃኝ የብሉቱዝ መሣሪያዎች ያላቸው በአቅራቢያዎ ያሉ ሰዎች እርስዎ እያሰራጩት ያሉትን ሚዲያ ማዳመጥ ይችላሉ"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"የተቀዳ ምስል አርትዕ ያድርጉ"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"በአቅራቢያ ወዳለ መሳሪያ ይላኩ"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"ለመመልከት መታ ያድርጉ"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"ጽሁፍ ተቀድቷል"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"ምስል ተቀድቷል"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"ይዘት ተቀድቷል"</string> <string name="add" msgid="81036585205287996">"አክል"</string> <string name="manage_users" msgid="1823875311934643849">"ተጠቃሚዎችን ያስተዳድሩ"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"ይህ ማሳወቂያ ወደ Splitscreen መጎተትን አይደግፍም።"</string> diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml index 0757205742c2..ac644ce58f91 100644 --- a/packages/SystemUI/res/values-ar/strings.xml +++ b/packages/SystemUI/res/values-ar/strings.xml @@ -321,10 +321,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"يمكنك الفتح بالتمرير سريعًا لأعلى."</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"اضغط على رمز فتح القفل لفتح قفل الشاشة."</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"فُتح القفل عندما تمّ التعرّف على وجهك. اضغط على رمز فتح القفل لفتحه."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"نقل لليسار"</item> + <item msgid="5558598599408514296">"نقل للأسفل"</item> + <item msgid="4844142668312841831">"نقل لليمين"</item> + <item msgid="5640521437931460125">"نقل للأعلى"</item> + </string-array> <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> @@ -865,8 +867,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"لبث هذه الجلسة، يُرجى فتح التطبيق"</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"تطبيق غير معروف"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"إيقاف البث"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"الأجهزة المتاحة لإخراج الصوت"</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"كيفية عمل البث"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"البث"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"يمكن للأشخاص القريبين منك الذين لديهم أجهزة متوافقة تتضمّن بلوتوث الاستماع إلى الوسائط التي تبثها."</string> @@ -967,12 +968,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"تعديل الصورة المنسوخة"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"الإرسال إلى جهاز مجاور"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"انقر لعرض المحتوى."</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"تم نسخ النص."</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"تم نسخ الصورة."</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"تم نسخ المحتوى."</string> <string name="add" msgid="81036585205287996">"إضافة"</string> <string name="manage_users" msgid="1823875311934643849">"إدارة المستخدمين"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"لا يتيح هذا الإشعار السحب لتقسيم الشاشة."</string> diff --git a/packages/SystemUI/res/values-as/strings.xml b/packages/SystemUI/res/values-as/strings.xml index 71ae4e35a2f7..b92879ae01dc 100644 --- a/packages/SystemUI/res/values-as/strings.xml +++ b/packages/SystemUI/res/values-as/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"খুলিবলৈ ওপৰলৈ ছোৱাইপ কৰক"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"খুলিবলৈ আনলক কৰক চিহ্নটোত টিপক"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"মুখাৱয়বৰ জৰিয়তে আনলক কৰা হৈছে। খুলিবলৈ আনলক কৰক চিহ্নটোত টিপক।"</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"বাওঁফাললৈ নিয়ক"</item> + <item msgid="5558598599408514296">"তললৈ নিয়ক"</item> + <item msgid="4844142668312841831">"সোঁফাললৈ নিয়ক"</item> + <item msgid="5640521437931460125">"ওপৰলৈ নিয়ক"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"এই ছেশ্বনটো কাষ্ট কৰিবলৈ, অনুগ্ৰহ কৰি এপ্টো খোলক"</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"অজ্ঞাত এপ্"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"কাষ্ট বন্ধ কৰক"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"অডিঅ\' আউটপুটৰ বাবে উপলব্ধ ডিভাইচ।"</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"সম্প্ৰচাৰ কৰাটোৱে কেনেকৈ কাম কৰে"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"সম্প্ৰচাৰ"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"সমিল ব্লুটুথ ডিভাইচৰ সৈতে আপোনাৰ নিকটৱৰ্তী স্থানত থকা লোকসকলে আপুনি সম্প্ৰচাৰ কৰা মিডিয়াটো শুনিব পাৰে"</string> diff --git a/packages/SystemUI/res/values-az/strings.xml b/packages/SystemUI/res/values-az/strings.xml index 2a400c5a2d24..90329ffd6b5a 100644 --- a/packages/SystemUI/res/values-az/strings.xml +++ b/packages/SystemUI/res/values-az/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Açmaq üçün yuxarı sürüşdürün"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Sola köçürün"</item> + <item msgid="5558598599408514296">"Aşağı köçürün"</item> + <item msgid="4844142668312841831">"Sağa köçürün"</item> + <item msgid="5640521437931460125">"Yuxarı köçürün"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Bu sessiyanı yayımlamaq üçün tətbiqi açın."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Naməlum tətbiq"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Yayımı dayandırın"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Audio çıxış üçün əlçatan cihazlar."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Yayım necə işləyir"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Yayım"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Uyğun Bluetooth cihazları olan yaxınlığınızdakı insanlar yayımladığınız medianı dinləyə bilər"</string> diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml index 1580dc43598c..789ac8f4cf49 100644 --- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml +++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml @@ -315,10 +315,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Prevucite nagore da biste otvorili"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Pomerite nalevo"</item> + <item msgid="5558598599408514296">"Pomerite nadole"</item> + <item msgid="4844142668312841831">"Pomerite nadesno"</item> + <item msgid="5640521437931460125">"Pomerite nagore"</item> + </string-array> <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> @@ -847,8 +849,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Da biste prebacivali ovu sesiju, otvorite aplikaciju."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Nepoznata aplikacija"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Zaustavi prebacivanje"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Dostupni uređaji za audio izlaz."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Kako funkcioniše emitovanje"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Emitovanje"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Ljudi u blizini sa kompatibilnim Bluetooth uređajima mogu da slušaju medijski sadržaj koji emitujete"</string> @@ -940,18 +941,15 @@ <string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Zaustavljeno"</string> <string name="clipboard_edit_text_done" msgid="4551887727694022409">"Gotovo"</string> <string name="clipboard_overlay_text_copied" msgid="1872624400464891363">"Kopirano je"</string> - <string name="clipboard_edit_source" msgid="9156488177277788029">"Iz: <xliff:g id="APPNAME">%1$s</xliff:g>"</string> + <string name="clipboard_edit_source" msgid="9156488177277788029">"Od: <xliff:g id="APPNAME">%1$s</xliff:g>"</string> <string name="clipboard_dismiss_description" msgid="7544573092766945657">"Odbaci kopiranje korisničkog interfejsa"</string> <string name="clipboard_edit_text_description" msgid="805254383912962103">"Izmenite kopirani tekst"</string> <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Izmenite kopiranu sliku"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Pošalji na uređaj u blizini"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Dodirnite da biste pregledali"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Tekst je kopiran"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Slika je kopirana"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Sadržaj je kopiran"</string> <string name="add" msgid="81036585205287996">"Dodaj"</string> <string name="manage_users" msgid="1823875311934643849">"Upravljajte korisnicima"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Ovo obaveštenje ne podržava prevlačenje na podeljeni ekran."</string> diff --git a/packages/SystemUI/res/values-be/strings.xml b/packages/SystemUI/res/values-be/strings.xml index 758a2ccf4d12..07dbcc36b21d 100644 --- a/packages/SystemUI/res/values-be/strings.xml +++ b/packages/SystemUI/res/values-be/strings.xml @@ -317,10 +317,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Каб адкрыць, прагарніце ўверх"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Каб адкрыць, націсніце значок разблакіроўкі"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Твар распазнаны. Для адкрыцця націсніце значок разблакіроўкі"</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Перамясціце палец улева"</item> + <item msgid="5558598599408514296">"Перамясціце палец ніжэй"</item> + <item msgid="4844142668312841831">"Перамясціце палец управа"</item> + <item msgid="5640521437931460125">"Перамясціце палец уверх"</item> + </string-array> <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> @@ -853,8 +855,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Для трансляцыі гэтага сеанса адкрыйце праграму."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Невядомая праграма"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Спыніць трансляцыю"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Даступныя прылады для вываду аўдыя."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Як адбываецца трансляцыя"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Трансляцыя"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Людзі паблізу, у якіх ёсць прылады з Bluetooth, змогуць праслухваць мультымедыйнае змесціва, якое вы трансліруеце"</string> @@ -953,12 +954,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Змяніць скапіраваны відарыс"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Адправіць на прыладу паблізу"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Націсніце для прагляду"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Тэкст скапіраваны"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Відарыс скапіраваны"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Змесціва скапіравана"</string> <string name="add" msgid="81036585205287996">"Дадаць"</string> <string name="manage_users" msgid="1823875311934643849">"Кіраванне карыстальнікамі"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Гэта апавяшчэнне нельга перацягнуць на падзелены экран."</string> diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml index 614f5dd37e8d..b67b9fcb117a 100644 --- a/packages/SystemUI/res/values-bg/strings.xml +++ b/packages/SystemUI/res/values-bg/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Прекарайте пръст нагоре, за да отключите"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Натиснете иконата за отключване, за да отворите"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Отключено с лице. Натиснете иконата за отключване, за да отворите."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Преместване наляво"</item> + <item msgid="5558598599408514296">"Преместване надолу"</item> + <item msgid="4844142668312841831">"Преместване надясно"</item> + <item msgid="5640521437931460125">"Преместване нагоре"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"За да предавате тази сесия, моля, отворете приложението."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Неизвестно приложение"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Спиране на предаването"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Налични устройства за аудиоизход."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Как работи предаването"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Предаване"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Хората в близост със съвместими устройства с Bluetooth могат да слушат мултимедията, която предавате"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Редактиране на копираното изображение"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Изпращане до устройство в близост"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Докоснете за преглед"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Текстът е копиран"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Изображението е копирано"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Съдържанието е копирано"</string> <string name="add" msgid="81036585205287996">"Добавяне"</string> <string name="manage_users" msgid="1823875311934643849">"Управление на потребителите"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Това известие не поддържа плъзгане за разделяне на екрана."</string> diff --git a/packages/SystemUI/res/values-bn/strings.xml b/packages/SystemUI/res/values-bn/strings.xml index a8dc6cf64204..0597ca984ab5 100644 --- a/packages/SystemUI/res/values-bn/strings.xml +++ b/packages/SystemUI/res/values-bn/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"খোলার জন্য উপরে সোয়াইপ করুন"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"খোলার জন্য আনলক আইকন প্রেস করুন"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"ফেসের সাহায্যে আনলক করা হয়েছে। খোলার জন্য আনলক আইকন প্রেস করুন।"</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"বাঁদিকে সরান"</item> + <item msgid="5558598599408514296">"নিচে নামান"</item> + <item msgid="4844142668312841831">"ডানদিকে সরান"</item> + <item msgid="5640521437931460125">"উপরে তুলুন"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"এই সেশন কাস্ট করার জন্য, অ্যাপ খুলুন।"</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"অজানা অ্যাপ"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"কাস্ট করা বন্ধ করুন"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"অডিও আউটপুটের জন্য উপলভ্য ডিভাইস।"</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"ব্রডকাস্ট কীভাবে কাজ করে"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"সম্প্রচার করুন"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"আশপাশে লোকজন যাদের মানানসই ব্লুটুথ ডিভাইস আছে, তারা আপনার ব্রডকাস্ট করা মিডিয়া শুনতে পারবেন"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"কপি করা ছবি এডিট করুন"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"আশেপাশের ডিভাইসে পাঠান"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"দেখতে ট্যাপ করুন"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"টেক্সট কপি করা হয়েছে"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"ছবি কপি করা হয়েছে"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"কন্টেন্ট কপি করা হয়েছে"</string> <string name="add" msgid="81036585205287996">"যোগ করুন"</string> <string name="manage_users" msgid="1823875311934643849">"ব্যবহারকারীদের ম্যানেজ করুন"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"স্প্লিটস্ক্রিন মোডে এই বিজ্ঞপ্তি টেনে আনা যাবে না।"</string> diff --git a/packages/SystemUI/res/values-bs/strings.xml b/packages/SystemUI/res/values-bs/strings.xml index 1ed4d173fcc5..4903a3ff27e4 100644 --- a/packages/SystemUI/res/values-bs/strings.xml +++ b/packages/SystemUI/res/values-bs/strings.xml @@ -315,10 +315,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Prevucite da otvorite"</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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Pomicanje ulijevo"</item> + <item msgid="5558598599408514296">"Pomicanje prema dolje"</item> + <item msgid="4844142668312841831">"Pomicanje udesno"</item> + <item msgid="5640521437931460125">"Pomicanje prema gore"</item> + </string-array> <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> @@ -847,8 +849,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Da emitirate ovu sesiju, otvorite aplikaciju."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Nepoznata aplikacija"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Zaustavi emitiranje"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Dostupni uređaji za audioizlaz."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Kako funkcionira emitiranje"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Emitirajte"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Osobe u vašoj blizini s kompatibilnim Bluetooth uređajima mogu slušati medijske sadržaje koje emitirate"</string> diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml index 64eb8b0a506d..86948007adb7 100644 --- a/packages/SystemUI/res/values-ca/strings.xml +++ b/packages/SystemUI/res/values-ca/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Llisca cap amunt per obrir"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Mou cap a l\'esquerra"</item> + <item msgid="5558598599408514296">"Mou cap avall"</item> + <item msgid="4844142668312841831">"Mou cap a la dreta"</item> + <item msgid="5640521437931460125">"Mou cap amunt"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Per emetre aquesta sessió, obre l\'aplicació."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Aplicació desconeguda"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Atura l\'emissió"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Dispositius disponibles per a la sortida d\'àudio."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Com funciona l\'emissió"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Emet"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Les persones properes amb dispositius Bluetooth compatibles poden escoltar el contingut multimèdia que emets"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Edita la imatge que has copiat"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Envia a un dispositiu proper"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Toca per veure"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"El text s\'ha copiat"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"La imatge s\'ha copiat"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"El contingut s\'ha copiat"</string> <string name="add" msgid="81036585205287996">"Afegeix"</string> <string name="manage_users" msgid="1823875311934643849">"Gestiona els usuaris"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Aquesta notificació no es pot arrossegar a la pantalla dividida."</string> diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml index 5560dbe4668c..8ca6248f4fd4 100644 --- a/packages/SystemUI/res/values-cs/strings.xml +++ b/packages/SystemUI/res/values-cs/strings.xml @@ -317,10 +317,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Otevřete přejetím prstem nahoru"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Přesunout doleva"</item> + <item msgid="5558598599408514296">"Přesunout dolů"</item> + <item msgid="4844142668312841831">"Přesunout doprava"</item> + <item msgid="5640521437931460125">"Přesunout nahoru"</item> + </string-array> <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> @@ -853,8 +855,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Pokud chcete odesílat relaci, otevřete aplikaci."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Neznámá aplikace"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Zastavit odesílání"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Dostupná zařízení pro zvukový výstup."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Jak vysílání funguje"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Vysílání"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Lidé ve vašem okolí s kompatibilními zařízeními Bluetooth mohou poslouchat média, která vysíláte"</string> @@ -953,12 +954,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Upravit zkopírovaný obrázek"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Odeslat do zařízení v okolí"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Zobrazíte klepnutím"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Text byl zkopírován"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Obrázek byl zkopírován"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Obsah byl zkopírován"</string> <string name="add" msgid="81036585205287996">"Přidat"</string> <string name="manage_users" msgid="1823875311934643849">"Správa uživatelů"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Toto oznámení nepodporuje přetažení na rozdělenou obrazovku."</string> diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml index 810689fa16c7..a43d7bbc13bc 100644 --- a/packages/SystemUI/res/values-da/strings.xml +++ b/packages/SystemUI/res/values-da/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Stryg opad for at åbne"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Flyt til venstre"</item> + <item msgid="5558598599408514296">"Flyt ned"</item> + <item msgid="4844142668312841831">"Flyt til højre"</item> + <item msgid="5640521437931460125">"Flyt op"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Åbn appen for at caste denne session."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Ukendt app"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Stop med at caste"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Enheder, der er tilgængelige for lydoutput."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Sådan fungerer udsendelser"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Udsendelse"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Personer i nærheden, som har kompatible Bluetooth-enheder, kan lytte til det medie, du udsender"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Rediger kopieret billede"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Send til enhed i nærheden"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Tryk for at se"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Teksten blev kopieret"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Billedet blev kopieret"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Indholdet blev kopieret"</string> <string name="add" msgid="81036585205287996">"Tilføj"</string> <string name="manage_users" msgid="1823875311934643849">"Administrer brugere"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Denne notifikation kan ikke trækkes til en opdelt skærm."</string> diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml index f2f9142d87dd..65025f5e213f 100644 --- a/packages/SystemUI/res/values-de/strings.xml +++ b/packages/SystemUI/res/values-de/strings.xml @@ -220,7 +220,7 @@ <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Eingabe"</string> <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="3003338571871392293">"Hörhilfen"</string> <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Wird aktiviert…"</string> - <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Automatisch drehen"</string> + <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Autom. drehen"</string> <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Bildschirm automatisch drehen"</string> <string name="quick_settings_location_label" msgid="2621868789013389163">"Standort"</string> <string name="quick_settings_camera_label" msgid="5612076679385269339">"Kamerazugriff"</string> @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Zum Öffnen nach oben wischen"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Nach links bewegen"</item> + <item msgid="5558598599408514296">"Nach unten bewegen"</item> + <item msgid="4844142668312841831">"Nach rechts bewegen"</item> + <item msgid="5640521437931460125">"Nach oben bewegen"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Öffne zum Streamen dieser Sitzung die App."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Unbekannte App"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Streaming beenden"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Für die Audioausgabe verfügbare Geräte."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Funktionsweise von Nachrichten an alle"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Nachricht an alle"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Personen, die in der Nähe sind und kompatible Bluetooth-Geräten haben, können sich die Medien anhören, die du per Nachricht an alle sendest"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Kopiertes Bild bearbeiten"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"An Gerät in der Nähe senden"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Zum Ansehen tippen"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Text kopiert"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Bild kopiert"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Inhalt kopiert"</string> <string name="add" msgid="81036585205287996">"Hinzufügen"</string> <string name="manage_users" msgid="1823875311934643849">"Nutzer verwalten"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Diese Benachrichtigung lässt sich nicht auf einen geteilten Bildschirm ziehen."</string> diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml index bd1498997fb0..aa3dccbee85d 100644 --- a/packages/SystemUI/res/values-el/strings.xml +++ b/packages/SystemUI/res/values-el/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Σύρετε προς τα επάνω για άνοιγμα"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Πατήστε το εικονίδιο ξεκλειδώματος για άνοιγμα"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Ξεκλ. με αναγν. προσώπου. Πατ. το εικον. ξεκλ. για άνοιγμα."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Μετακίνηση αριστερά"</item> + <item msgid="5558598599408514296">"Μετακίνηση κάτω"</item> + <item msgid="4844142668312841831">"Μετακίνηση δεξιά"</item> + <item msgid="5640521437931460125">"Μετακίνηση επάνω"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Για μετάδοση της περιόδου σύνδεσης, ανοίξτε την εφαρμογή."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Άγνωστη εφαρμογή"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Διακοπή μετάδοσης"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Διαθέσιμες συσκευές για έξοδο ήχου."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Πώς λειτουργεί η μετάδοση"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Μετάδοση"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Οι άνθρωποι με συμβατές συσκευές Bluetooth που βρίσκονται κοντά σας μπορούν να ακούσουν το μέσο που μεταδίδετε."</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Επεξεργασία αντιγραμμένης εικόνας"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Αποστολή σε κοντινή συσκευή"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Πατήστε για προβολή"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Το κείμενο αντιγράφηκε"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Η εικόνα αντιγράφηκε"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Το περιεχόμενο αντιγράφηκε"</string> <string name="add" msgid="81036585205287996">"Προσθήκη"</string> <string name="manage_users" msgid="1823875311934643849">"Διαχείριση χρηστών"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Αυτή η ειδοποίηση δεν υποστηρίζει τη μεταφορά με σύρσιμο για χρήση του διαχωρισμού οθόνης."</string> diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml index 747b37419fa5..c197acf493f9 100644 --- a/packages/SystemUI/res/values-en-rAU/strings.xml +++ b/packages/SystemUI/res/values-en-rAU/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Swipe up to open"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Press the unlock icon to open"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Unlocked by face. Press the unlock icon to open."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Move left"</item> + <item msgid="5558598599408514296">"Move down"</item> + <item msgid="4844142668312841831">"Move right"</item> + <item msgid="5640521437931460125">"Move up"</item> + </string-array> <string name="keyguard_retry" msgid="886802522584053523">"Swipe up to try again"</string> <string name="require_unlock_for_nfc" msgid="1305686454823018831">"Unlock to use NFC"</string> <string name="do_disclosure_generic" msgid="4896482821974707167">"This device belongs to your organisation"</string> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"To cast this session, please open the app."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Unknown app"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Stop casting"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Available devices for audio output."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"How broadcasting works"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Broadcast"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"People near you with compatible Bluetooth devices can listen to the media that you\'re broadcasting"</string> diff --git a/packages/SystemUI/res/values-en-rCA/strings.xml b/packages/SystemUI/res/values-en-rCA/strings.xml index 2035b6127df3..5116a2343442 100644 --- a/packages/SystemUI/res/values-en-rCA/strings.xml +++ b/packages/SystemUI/res/values-en-rCA/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Swipe up to open"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Press the unlock icon to open"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Unlocked by face. Press the unlock icon to open."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Move left"</item> + <item msgid="5558598599408514296">"Move down"</item> + <item msgid="4844142668312841831">"Move right"</item> + <item msgid="5640521437931460125">"Move up"</item> + </string-array> <string name="keyguard_retry" msgid="886802522584053523">"Swipe up to try again"</string> <string name="require_unlock_for_nfc" msgid="1305686454823018831">"Unlock to use NFC"</string> <string name="do_disclosure_generic" msgid="4896482821974707167">"This device belongs to your organisation"</string> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"To cast this session, please open the app."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Unknown app"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Stop casting"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Available devices for audio output."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"How broadcasting works"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Broadcast"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"People near you with compatible Bluetooth devices can listen to the media that you\'re broadcasting"</string> diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml index 747b37419fa5..c197acf493f9 100644 --- a/packages/SystemUI/res/values-en-rGB/strings.xml +++ b/packages/SystemUI/res/values-en-rGB/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Swipe up to open"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Press the unlock icon to open"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Unlocked by face. Press the unlock icon to open."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Move left"</item> + <item msgid="5558598599408514296">"Move down"</item> + <item msgid="4844142668312841831">"Move right"</item> + <item msgid="5640521437931460125">"Move up"</item> + </string-array> <string name="keyguard_retry" msgid="886802522584053523">"Swipe up to try again"</string> <string name="require_unlock_for_nfc" msgid="1305686454823018831">"Unlock to use NFC"</string> <string name="do_disclosure_generic" msgid="4896482821974707167">"This device belongs to your organisation"</string> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"To cast this session, please open the app."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Unknown app"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Stop casting"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Available devices for audio output."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"How broadcasting works"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Broadcast"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"People near you with compatible Bluetooth devices can listen to the media that you\'re broadcasting"</string> diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml index 747b37419fa5..c197acf493f9 100644 --- a/packages/SystemUI/res/values-en-rIN/strings.xml +++ b/packages/SystemUI/res/values-en-rIN/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Swipe up to open"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Press the unlock icon to open"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Unlocked by face. Press the unlock icon to open."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Move left"</item> + <item msgid="5558598599408514296">"Move down"</item> + <item msgid="4844142668312841831">"Move right"</item> + <item msgid="5640521437931460125">"Move up"</item> + </string-array> <string name="keyguard_retry" msgid="886802522584053523">"Swipe up to try again"</string> <string name="require_unlock_for_nfc" msgid="1305686454823018831">"Unlock to use NFC"</string> <string name="do_disclosure_generic" msgid="4896482821974707167">"This device belongs to your organisation"</string> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"To cast this session, please open the app."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Unknown app"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Stop casting"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Available devices for audio output."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"How broadcasting works"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Broadcast"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"People near you with compatible Bluetooth devices can listen to the media that you\'re broadcasting"</string> diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml index fa2f6dcf7e28..73fbfd3f2899 100644 --- a/packages/SystemUI/res/values-es-rUS/strings.xml +++ b/packages/SystemUI/res/values-es-rUS/strings.xml @@ -220,7 +220,7 @@ <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 la 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 la cámara"</string> @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Desliza el dedo hacia arriba para abrir"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Mover hacia la izquierda"</item> + <item msgid="5558598599408514296">"Mover hacia abajo"</item> + <item msgid="4844142668312841831">"Mover hacia la derecha"</item> + <item msgid="5640521437931460125">"Mover hacia arriba"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Para transmitir esta sesión, abre la app"</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"App desconocida"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Detener transmisión"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Dispositivos disponibles para salida de audio."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Cómo funciona la transmisión"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Transmisión"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Las personas cercanas con dispositivos Bluetooth compatibles pueden escuchar el contenido multimedia que transmites"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Editar la imagen copiada"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Enviar a dispositivos cercanos"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Presiona para ver"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Se copió el texto"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Se copió la imagen"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Se copió el contenido"</string> <string name="add" msgid="81036585205287996">"Agregar"</string> <string name="manage_users" msgid="1823875311934643849">"Administrar usuarios"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Esta notificación no admite arrastrar entre pantallas divididas."</string> diff --git a/packages/SystemUI/res/values-es-rUS/tiles_states_strings.xml b/packages/SystemUI/res/values-es-rUS/tiles_states_strings.xml index f7eaba68c338..6b572e4920c6 100644 --- a/packages/SystemUI/res/values-es-rUS/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-es-rUS/tiles_states_strings.xml @@ -168,7 +168,7 @@ </string-array> <string-array name="tile_states_onehanded"> <item msgid="8189342855739930015">"No disponible"</item> - <item msgid="146088982397753810">"No"</item> + <item msgid="146088982397753810">"Desactivado"</item> <item msgid="460891964396502657">"Sí"</item> </string-array> </resources> diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml index 2e0054c37a47..c8cbca5dfbfc 100644 --- a/packages/SystemUI/res/values-es/strings.xml +++ b/packages/SystemUI/res/values-es/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Desliza el dedo hacia arriba para abrir"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Mover hacia la izquierda"</item> + <item msgid="5558598599408514296">"Mover hacia abajo"</item> + <item msgid="4844142668312841831">"Mover hacia la derecha"</item> + <item msgid="5640521437931460125">"Mover hacia arriba"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Para enviar esta sesión, abre la aplicación."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Aplicación desconocida"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Dejar de enviar contenido"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Dispositivos disponibles para la salida de audio."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Cómo funciona la emisión"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Emisión"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Las personas cercanas con dispositivos Bluetooth compatibles pueden escuchar el contenido multimedia que emites"</string> @@ -933,18 +934,15 @@ <string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Detenida"</string> <string name="clipboard_edit_text_done" msgid="4551887727694022409">"Hecho"</string> <string name="clipboard_overlay_text_copied" msgid="1872624400464891363">"Copiado"</string> - <string name="clipboard_edit_source" msgid="9156488177277788029">"<xliff:g id="APPNAME">%1$s</xliff:g>"</string> + <string name="clipboard_edit_source" msgid="9156488177277788029">"De <xliff:g id="APPNAME">%1$s</xliff:g>"</string> <string name="clipboard_dismiss_description" msgid="7544573092766945657">"Cerrar la interfaz de copia"</string> <string name="clipboard_edit_text_description" msgid="805254383912962103">"Editar texto copiado"</string> <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Editar imagen copiada"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Enviar a dispositivo cercano"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Toca para ver"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Texto copiado"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Imagen copiada"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Contenido copiado"</string> <string name="add" msgid="81036585205287996">"Añadir"</string> <string name="manage_users" msgid="1823875311934643849">"Gestionar usuarios"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Esta notificación no se puede arrastrar a la pantalla dividida."</string> diff --git a/packages/SystemUI/res/values-et/strings.xml b/packages/SystemUI/res/values-et/strings.xml index f5d525d75552..a99b24a5a165 100644 --- a/packages/SystemUI/res/values-et/strings.xml +++ b/packages/SystemUI/res/values-et/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Pühkige avamiseks üles"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Teisalda vasakule"</item> + <item msgid="5558598599408514296">"Teisalda alla"</item> + <item msgid="4844142668312841831">"Teisalda paremale"</item> + <item msgid="5640521437931460125">"Teisalda üles"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Selle seansi ülekandmiseks avage rakendus."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Tundmatu rakendus"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Lõpeta ülekanne"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Saadaolevad seadmed heli esitamiseks."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Kuidas ülekandmine toimib?"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Ülekanne"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Teie läheduses olevad inimesed, kellel on ühilduvad Bluetooth-seadmed, saavad kuulata teie ülekantavat meediat"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Muuda kopeeritud pilti"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Saada läheduses olevasse seadmesse"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Puudutage kuvamiseks"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Tekst kopeeriti"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Pilt kopeeriti"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Sisu kopeeriti"</string> <string name="add" msgid="81036585205287996">"Lisa"</string> <string name="manage_users" msgid="1823875311934643849">"Kasutajate haldamine"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"See märguanne ei toeta jagatud ekraanikuvale lohistamist."</string> diff --git a/packages/SystemUI/res/values-eu/strings.xml b/packages/SystemUI/res/values-eu/strings.xml index 09af1f369431..8e45bfb4c1a9 100644 --- a/packages/SystemUI/res/values-eu/strings.xml +++ b/packages/SystemUI/res/values-eu/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Pasatu hatza gora irekitzeko"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Eraman ezkerrera"</item> + <item msgid="5558598599408514296">"Eraman behera"</item> + <item msgid="4844142668312841831">"Eraman eskuinera"</item> + <item msgid="5640521437931460125">"Eraman gora"</item> + </string-array> <string name="keyguard_retry" msgid="886802522584053523">"Berriro saiatzeko, pasatu hatza gora"</string> <string name="require_unlock_for_nfc" msgid="1305686454823018831">"Desblokea ezazu NFCa erabiltzeko"</string> <string name="do_disclosure_generic" msgid="4896482821974707167">"Gailu hau zure erakundearena da"</string> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Saioa ireki nahi baduzu, ireki aplikazioa."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Aplikazio ezezaguna"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Gelditu igorpena"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Audio-irteerarako gailu erabilgarriak."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Nola funtzionatzen dute iragarpenek?"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Iragarri"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Bluetooth bidezko gailu bateragarriak dituzten inguruko pertsonek iragartzen ari zaren multimedia-edukia entzun dezakete"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Editatu kopiatutako irudia"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Bidali inguruko gailu batera"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Ikusteko, sakatu hau"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Kopiatu da testua"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Kopiatu da irudia"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Kopiatu da edukia"</string> <string name="add" msgid="81036585205287996">"Gehitu"</string> <string name="manage_users" msgid="1823875311934643849">"Kudeatu erabiltzaileak"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Jakinarazpen hau ezin da arrastatu pantaila zatitura."</string> diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml index 36b735ca4f72..3f19321dd3e9 100644 --- a/packages/SystemUI/res/values-fa/strings.xml +++ b/packages/SystemUI/res/values-fa/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"برای باز کردن، انگشتتان را تند بهبالا بکشید"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"برای باز کردن، نماد قفلگشایی را فشار دهید"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"قفلْ با چهره باز شد. برای باز کردن، نماد قفلگشایی را فشار دهید."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"انتقال بهچپ"</item> + <item msgid="5558598599408514296">"انتقال بهپایین"</item> + <item msgid="4844142668312841831">"انتقال بهراست"</item> + <item msgid="5640521437931460125">"انتقال بهبالا"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"برای ارسال محتوای این جلسه، لطفاً برنامه را باز کنید."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"برنامه ناشناس"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"توقف ارسال محتوا"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"دستگاههای دردسترس برای خروجی صدا."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"همهفرتستی چطور کار میکند"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"همهفرستی"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"افرادی که در اطرافتان دستگاههای Bluetooth سازگار دارند میتوانند به رسانهای که همهفرستی میکنید گوش کنند"</string> diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml index eec7066fceb9..244c8a752170 100644 --- a/packages/SystemUI/res/values-fi/strings.xml +++ b/packages/SystemUI/res/values-fi/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Avaa pyyhkäisemällä ylös"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Siirrä vasemmalle"</item> + <item msgid="5558598599408514296">"Siirrä alas"</item> + <item msgid="4844142668312841831">"Siirrä oikealle"</item> + <item msgid="5640521437931460125">"Siirrä ylös"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Jos haluat striimata tämän käyttökerran, avaa sovellus."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Tuntematon sovellus"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Lopeta striimaus"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Käytettävissä olevat audiolaitteet"</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Miten lähetys toimii"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Lähetys"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Lähistöllä olevat ihmiset, joilla on yhteensopiva Bluetooth-laite, voivat kuunnella lähettämääsi mediaa"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Muokkaa kopioitua kuvaa"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Lähetä lähellä olevaan laitteeseen"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Katso napauttamalla"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Teksti kopioitu"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Kuva kopioitu"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Sisältö kopioitu"</string> <string name="add" msgid="81036585205287996">"Lisää"</string> <string name="manage_users" msgid="1823875311934643849">"Ylläpidä käyttäjiä"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Ilmoitus ei tue jaetulle näytölle vetämistä."</string> diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml index bb0c2b17a3b6..77ad8333698a 100644 --- a/packages/SystemUI/res/values-fr-rCA/strings.xml +++ b/packages/SystemUI/res/values-fr-rCA/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Balayez l\'écran vers le haut pour ouvrir"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Déplacer vers la gauche"</item> + <item msgid="5558598599408514296">"Déplacer vers le bas"</item> + <item msgid="4844142668312841831">"Déplacer vers la droite"</item> + <item msgid="5640521437931460125">"Déplacer vers le haut"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Pour diffuser cette session, veuillez ouvrir l\'application."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Application inconnue"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Arrêter la diffusion"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Appareils disponibles pour la sortie audio."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Fonctionnement de la diffusion"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Diffusion"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Les personnes à proximité disposant d\'appareils Bluetooth compatibles peuvent écouter le contenu multimédia que vous diffusez"</string> @@ -921,7 +922,7 @@ <string name="qs_tile_request_dialog_text" msgid="3501359944139877694">"L\'application <xliff:g id="APPNAME">%1$s</xliff:g> veut ajouter la tuile suivante au menu Paramètres rapides"</string> <string name="qs_tile_request_dialog_add" msgid="4888460910694986304">"Ajouter la tuile"</string> <string name="qs_tile_request_dialog_not_add" msgid="4168716573114067296">"Ne pas ajouter de tuile"</string> - <string name="qs_user_switch_dialog_title" msgid="3045189293587781366">"Choisir utilisateur"</string> + <string name="qs_user_switch_dialog_title" msgid="3045189293587781366">"Choisir l\'utilisateur"</string> <plurals name="fgs_manager_footer_label" formatted="false" msgid="790443735462280164"> <item quantity="one"><xliff:g id="COUNT_1">%s</xliff:g> application est active</item> <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> applications sont actives</item> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Modifier l\'image copiée"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Envoyer à un appareil à proximité"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Touchez pour afficher"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Texte copié"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Image copiée"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Contenu copié"</string> <string name="add" msgid="81036585205287996">"Ajouter"</string> <string name="manage_users" msgid="1823875311934643849">"Gérer les utilisateurs"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Cette notification ne prend pas en charge le partage d\'écran par glissement."</string> diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml index 43cbc32f69ff..3a25f4f1f0cb 100644 --- a/packages/SystemUI/res/values-fr/strings.xml +++ b/packages/SystemUI/res/values-fr/strings.xml @@ -939,12 +939,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Modifier l\'image copiée"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Envoyer à un appareil à proximité"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Appuyez pour afficher"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Texte copié"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Image copiée"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Contenu copié"</string> <string name="add" msgid="81036585205287996">"Ajouter"</string> <string name="manage_users" msgid="1823875311934643849">"Gérer les utilisateurs"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Impossible de faire glisser cette notification vers l\'écran partagé."</string> diff --git a/packages/SystemUI/res/values-gl/strings.xml b/packages/SystemUI/res/values-gl/strings.xml index 9c9f60bb82f1..eef4f909d321 100644 --- a/packages/SystemUI/res/values-gl/strings.xml +++ b/packages/SystemUI/res/values-gl/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Pasa o dedo cara arriba para abrir"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Mover cara á esquerda"</item> + <item msgid="5558598599408514296">"Mover cara abaixo"</item> + <item msgid="4844142668312841831">"Mover cara á dereita"</item> + <item msgid="5640521437931460125">"Mover cara arriba"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Para emitir esta sesión, abre a aplicación."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Aplicación descoñecida"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Deter emisión"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Dispositivos dispoñibles para a saída de audio."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Como funcionan as difusións?"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Difusión"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"As persoas que estean preto de ti e que dispoñan de dispositivos Bluetooth compatibles poden escoitar o contido multimedia que difundas"</string> @@ -923,8 +924,8 @@ <string name="qs_tile_request_dialog_not_add" msgid="4168716573114067296">"Non engadir atallo"</string> <string name="qs_user_switch_dialog_title" msgid="3045189293587781366">"Seleccionar usuario"</string> <plurals name="fgs_manager_footer_label" formatted="false" msgid="790443735462280164"> - <item quantity="other">Hai <xliff:g id="COUNT_1">%s</xliff:g> aplicacións activas</item> - <item quantity="one">Hai <xliff:g id="COUNT_0">%s</xliff:g> aplicación activa</item> + <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> aplicacións activas</item> + <item quantity="one"><xliff:g id="COUNT_0">%s</xliff:g> aplicación activa</item> </plurals> <string name="fgs_dot_content_description" msgid="2865071539464777240">"Nova información"</string> <string name="fgs_manager_dialog_title" msgid="5879184257257718677">"Aplicacións activas"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Editar imaxe copiada"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Enviar a dispositivo próximo"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Toca para ver o contido"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Texto copiado"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Imaxe copiada"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Contido copiado"</string> <string name="add" msgid="81036585205287996">"Engadir"</string> <string name="manage_users" msgid="1823875311934643849">"Xestionar usuarios"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Esta notificación non pode arrastrarse á pantalla dividida."</string> diff --git a/packages/SystemUI/res/values-gu/strings.xml b/packages/SystemUI/res/values-gu/strings.xml index f9167d2a76fe..1ac63466ac93 100644 --- a/packages/SystemUI/res/values-gu/strings.xml +++ b/packages/SystemUI/res/values-gu/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"ખોલવા માટે ઉપરની તરફ સ્વાઇપ કરો"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"ખોલવા માટે \'અનલૉક કરો\' આઇકન દબાવો"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"ચહેરા દ્વારા અનલૉક કર્યું. ખોલવા \'અનલૉક કરો\' આઇકન દબાવો."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"ડાબે ખસેડો"</item> + <item msgid="5558598599408514296">"નીચે ખસેડો"</item> + <item msgid="4844142668312841831">"જમણે ખસેડો"</item> + <item msgid="5640521437931460125">"ઉપર ખસેડો"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"આ સત્ર કાસ્ટ કરવા માટે, કૃપા કરીને ઍપ ખોલો."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"અજાણી ઍપ"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"કાસ્ટ કરવાનું રોકો"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"ઑડિયો આઉટપુટ માટે ઉપલબ્ધ ડિવાઇસ."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"બ્રોડકાસ્ટ પ્રક્રિયાની કામ કરવાની રીત"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"બ્રોડકાસ્ટ કરો"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"સુસંગત બ્લૂટૂથ ડિવાઇસ ધરાવતા નજીકના લોકો તમે જે મીડિયા બ્રોડકાસ્ટ કરી રહ્યાં છો તે સાંભળી શકે છે"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"કૉપિ કરેલી છબીમાં ફેરફાર કરો"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"નજીકના ડિવાઇસને મોકલો"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"જોવા માટે ટૅપ કરો"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"ટેક્સ્ટ કૉપિ કરી"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"છબી કૉપિ કરી"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"કન્ટેન્ટ કૉપિ કર્યું"</string> <string name="add" msgid="81036585205287996">"ઉમેરો"</string> <string name="manage_users" msgid="1823875311934643849">"વપરાશકર્તાઓને મેનેજ કરો"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"આ નોટિફિકેશન તેને સ્પ્લિટસ્ક્રીનમાં ખેંચવાની સુવિધાને સપોર્ટ કરતું નથી."</string> diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml index 2ed1d4387f7e..adbee780cab7 100644 --- a/packages/SystemUI/res/values-hi/strings.xml +++ b/packages/SystemUI/res/values-hi/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"खोलने के लिए ऊपर स्वाइप करें"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"डिवाइस अनलॉक करने के लिए, अनलॉक आइकॉन को दबाएं"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"चेहरे से अनलॉक किया. डिवाइस अनलॉक करने के लिए, अनलॉक आइकॉन को दबाएं."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"बाईं ओर ले जाएं"</item> + <item msgid="5558598599408514296">"नीचे ले जाएं"</item> + <item msgid="4844142668312841831">"दाईं ओर ले जाएं"</item> + <item msgid="5640521437931460125">"ऊपर ले जाएं"</item> + </string-array> <string name="keyguard_retry" msgid="886802522584053523">"फिर से कोशिश करने के लिए ऊपर की ओर स्वाइप करें"</string> <string name="require_unlock_for_nfc" msgid="1305686454823018831">"एनएफ़सी इस्तेमाल करने के लिए स्क्रीन को अनलॉक करें"</string> <string name="do_disclosure_generic" msgid="4896482821974707167">"इस डिवाइस का मालिकाना हक आपके संगठन के पास है"</string> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"इस सेशन को कास्ट करने के लिए, कृपया ऐप्लिकेशन खोलें."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"अनजान ऐप्लिकेशन"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"कास्टिंग करना रोकें"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"ऑडियो आउटपुट के लिए उपलब्ध डिवाइस."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"ब्रॉडकास्ट करने की सुविधा कैसे काम करती है"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"ब्रॉडकास्ट करें"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"आपके आस-पास मौजूद लोग, ब्रॉडकास्ट किए जा रहे मीडिया को सुन सकते हैं. हालांकि, इसके लिए उनके पास ऐसे ब्लूटूथ डिवाइस होने चाहिए जिन पर मीडिया चलाया जा सके"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"कॉपी की गई इमेज में बदलाव करें"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"कॉन्टेंट को आस-पास मौजूद डिवाइस पर भेजें"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"देखने के लिए टैप करें"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"टेक्स्ट कॉपी किया गया"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"इमेज कॉपी की गई"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"कॉन्टेंट कॉपी किया गया"</string> <string name="add" msgid="81036585205287996">"जोड़ें"</string> <string name="manage_users" msgid="1823875311934643849">"उपयोगकर्ताओं को मैनेज करें"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"इस सूचना को स्प्लिट स्क्रीन मोड में, खींचा और छोड़ा नहीं जा सकता."</string> diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml index f1bad8898505..f04b34d77eed 100644 --- a/packages/SystemUI/res/values-hr/strings.xml +++ b/packages/SystemUI/res/values-hr/strings.xml @@ -315,10 +315,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Prijeđite prstom prema gore da biste otvorili"</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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Pomicanje ulijevo"</item> + <item msgid="5558598599408514296">"Pomicanje prema dolje"</item> + <item msgid="4844142668312841831">"Pomicanje udesno"</item> + <item msgid="5640521437931460125">"Pomicanje prema gore"</item> + </string-array> <string name="keyguard_retry" msgid="886802522584053523">"Prijeđite prstom prema gore za ponovni pokušaj"</string> <string name="require_unlock_for_nfc" msgid="1305686454823018831">"Otključajte da biste upotrijebili NFC"</string> <string name="do_disclosure_generic" msgid="4896482821974707167">"Ovaj uređaj pripada vašoj organizaciji"</string> @@ -847,8 +849,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Da biste emitirali ovu sesiju, otvorite aplikaciju."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Nepoznata aplikacija"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Zaustavi emitiranje"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Dostupni uređaji za audioizlaz."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Kako emitiranje funkcionira"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Emitiranje"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Osobe u blizini s kompatibilnim Bluetooth uređajima mogu slušati medije koje emitirate"</string> diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml index c1166a366ff3..7e8ba00975aa 100644 --- a/packages/SystemUI/res/values-hu/strings.xml +++ b/packages/SystemUI/res/values-hu/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Csúsztasson felfelé a megnyitáshoz"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Mozgatás balra"</item> + <item msgid="5558598599408514296">"Mozgatás lefelé"</item> + <item msgid="4844142668312841831">"Mozgatás jobbra"</item> + <item msgid="5640521437931460125">"Mozgatás felfelé"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"A munkamenet átküldéséhez nyissa meg az alkalmazást."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Ismeretlen alkalmazás"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Átküldés leállítása"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Rendelkezésre álló eszközök a hangkimenethez."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"A közvetítés működése"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Közvetítés"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"A közelben tartózkodó, kompatibilis Bluetooth-eszközzel rendelkező személyek meghallgathatják az Ön közvetített médiatartalmait"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Vágólapra másolt kép szerkesztése"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Küldés közeli eszközre"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Koppintson a megtekintéshez"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Szöveg másolva"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Kép másolva"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Tartalom másolva"</string> <string name="add" msgid="81036585205287996">"Hozzáadás"</string> <string name="manage_users" msgid="1823875311934643849">"Felhasználók kezelése"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Az értesítés nem támogatja a megosztott képernyőre való áthúzást."</string> diff --git a/packages/SystemUI/res/values-hy/strings.xml b/packages/SystemUI/res/values-hy/strings.xml index aa9194a8f452..227fbf3eb2ea 100644 --- a/packages/SystemUI/res/values-hy/strings.xml +++ b/packages/SystemUI/res/values-hy/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Բացելու համար սահեցրեք վերև"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Բացեք՝ սեղմելով ապակողպման պատկերակը"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Ապակողպվել է դեմքով։ Բացեք՝ սեղմելով ապակողպման պատկերակը։"</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Տեղափոխել ձախ"</item> + <item msgid="5558598599408514296">"Տեղափոխել ներքև"</item> + <item msgid="4844142668312841831">"Տեղափոխել աջ"</item> + <item msgid="5640521437931460125">"Տեղափոխել վերև"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Այս աշխատաշրջանը հեռարձակելու համար բացեք հավելվածը"</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Անհայտ հավելված"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Կանգնեցնել հեռարձակումը"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Հասանելի սարքեր ձայնի արտածման համար։"</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Ինչպես է աշխատում հեռարձակումը"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Հեռարձակում"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Ձեր մոտակայքում գտնվող՝ համատեղելի Bluetooth սարքերով մարդիկ կարող են լսել մեդիա ֆայլերը, որոնք դուք հեռարձակում եք։"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Փոփոխել պատճենված պատկերը"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Ուղարկել մոտակա սարքի"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Հպեք դիտելու համար"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Տեքստը պատճենվեց"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Պատկերը պատճենվեց"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Բովանդակությունը պատճենվեց"</string> <string name="add" msgid="81036585205287996">"Ավելացնել"</string> <string name="manage_users" msgid="1823875311934643849">"Օգտատերերի կառավարում"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Այս ծանուցումը հնարավոր չէ քաշել տրոհված էկրանի մեկ հատվածից մյուսը։"</string> diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml index 50bc5d4d9a07..001e8ff78834 100644 --- a/packages/SystemUI/res/values-in/strings.xml +++ b/packages/SystemUI/res/values-in/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Geser ke atas untuk membuka"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Pindah ke kiri"</item> + <item msgid="5558598599408514296">"Pindah ke bawah"</item> + <item msgid="4844142668312841831">"Pindah ke kanan"</item> + <item msgid="5640521437931460125">"Pindah ke atas"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Buka aplikasi untuk mentransmisikan sesi ini."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Aplikasi tidak dikenal"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Hentikan transmisi"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Perangkat yang tersedia untuk output audio."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Cara kerja siaran"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Siaran"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Orang di dekat Anda dengan perangkat Bluetooth yang kompatibel dapat mendengarkan media yang sedang Anda siarkan"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Edit gambar yang disalin"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Kirim ke perangkat di sekitar"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Ketuk untuk melihat"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Teks disalin"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Gambar disalin"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Konten disalin"</string> <string name="add" msgid="81036585205287996">"Tambahkan"</string> <string name="manage_users" msgid="1823875311934643849">"Kelola pengguna"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Notifikasi ini tidak mendukung fitur tarik ke Layar terpisah."</string> diff --git a/packages/SystemUI/res/values-is/strings.xml b/packages/SystemUI/res/values-is/strings.xml index 5050d018fe6d..c3d3b7579598 100644 --- a/packages/SystemUI/res/values-is/strings.xml +++ b/packages/SystemUI/res/values-is/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Strjúktu upp til að opna"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Færa til vinstri"</item> + <item msgid="5558598599408514296">"Færa niður"</item> + <item msgid="4844142668312841831">"Færa til hægri"</item> + <item msgid="5640521437931460125">"Færa upp"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Opnaðu forritið til að senda þessa lotu út."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Óþekkt forrit"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Stöðva útsendingu"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Tæki í boði fyrir hljóðúttak."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Svona virkar útsending"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Útsending"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Fólk nálægt þér með samhæf Bluetooth-tæki getur hlustað á efnið sem þú sendir út"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Breyta afritaðri mynd"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Senda í nálægt tæki"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Ýttu til að skoða"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Texti afritaður"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Mynd afrituð"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Efni afritað"</string> <string name="add" msgid="81036585205287996">"Bæta við"</string> <string name="manage_users" msgid="1823875311934643849">"Stjórna notendum"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Þessi tilkynning styður ekki að draga yfir á skiptan skjá."</string> diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml index 032ae05f7660..eecc2d2dc012 100644 --- a/packages/SystemUI/res/values-it/strings.xml +++ b/packages/SystemUI/res/values-it/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Scorri verso l\'alto per aprire"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Sposta a sinistra"</item> + <item msgid="5558598599408514296">"Sposta giù"</item> + <item msgid="4844142668312841831">"Sposta a destra"</item> + <item msgid="5640521437931460125">"Sposta su"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Per trasmettere questa sessione devi aprire l\'app."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"App sconosciuta"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Interrompi trasmissione"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Dispositivi disponibili per l\'uscita audio."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Come funziona la trasmissione"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Annuncio"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Le persone vicine a te che hanno dispositivi Bluetooth compatibili possono ascoltare i contenuti multimediali che stai trasmettendo"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Modifica immagine copiata"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Invia a dispositivo nelle vicinanze"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Tocca per visualizzare"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Testo copiato"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Immagine copiata"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Contenuti copiati"</string> <string name="add" msgid="81036585205287996">"Aggiungi"</string> <string name="manage_users" msgid="1823875311934643849">"Gestisci utenti"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Non è possibile trascinare questa notifica tra le due parti dello schermo diviso."</string> diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml index 24875390d75d..b4eccc450a11 100644 --- a/packages/SystemUI/res/values-iw/strings.xml +++ b/packages/SystemUI/res/values-iw/strings.xml @@ -317,10 +317,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"צריך להחליק כדי לפתוח"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"לפתיחה, לוחצים על סמל ביטול הנעילה"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"הנעילה בוטלה בזיהוי פנים. פותחים בלחיצה על סמל ביטול הנעילה."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"הזזה שמאלה"</item> + <item msgid="5558598599408514296">"הזזה למטה"</item> + <item msgid="4844142668312841831">"הזזה ימינה"</item> + <item msgid="5640521437931460125">"הזזה למעלה"</item> + </string-array> <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> @@ -853,8 +855,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"כדי להעביר (cast) את הסשן הזה, צריך לפתוח את האפליקציה."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"אפליקציה לא ידועה"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"עצירת ההעברה (casting)"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"מכשירים זמינים לפלט אודיו."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"הסבר על שידורים"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"שידור"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"אנשים בקרבת מקום עם מכשירי Bluetooth תואמים יכולים להאזין למדיה שמשודרת על ידך"</string> @@ -953,12 +954,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"עריכת התמונה שהועתקה"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"שליחה למכשיר בקרבת מקום"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"יש להקיש כדי להציג"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"הטקסט הועתק"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"התמונה הועתקה"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"התוכן הועתק"</string> <string name="add" msgid="81036585205287996">"הוספה"</string> <string name="manage_users" msgid="1823875311934643849">"ניהול משתמשים"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"ההתראה הזו לא תומכת בגרירה למסך מפוצל."</string> diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml index 9de7bd5b1b64..eb9774caa78d 100644 --- a/packages/SystemUI/res/values-ja/strings.xml +++ b/packages/SystemUI/res/values-ja/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"開くには上にスワイプします"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"ロック解除アイコンを押して開きます"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"顔でロック解除しました。ロック解除アイコンを押して開きます。"</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"左に移動"</item> + <item msgid="5558598599408514296">"下に移動"</item> + <item msgid="4844142668312841831">"右に移動"</item> + <item msgid="5640521437931460125">"上に移動"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"このセッションをキャストするには、アプリを開いてください。"</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"不明なアプリ"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"キャストを停止"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"音声出力ができるデバイスです。"</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"ブロードキャストの仕組み"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"ブロードキャスト"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Bluetooth 対応デバイスを持っている付近のユーザーは、あなたがブロードキャストしているメディアを聴けます"</string> diff --git a/packages/SystemUI/res/values-ka/strings.xml b/packages/SystemUI/res/values-ka/strings.xml index ded0dde5112a..c68cb0591da0 100644 --- a/packages/SystemUI/res/values-ka/strings.xml +++ b/packages/SystemUI/res/values-ka/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"გასახსნელად გადაფურცლეთ ზემოთ"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"გასახსნელად დააჭირეთ განბლოკვის ხატულას"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"განიბლოკა სახით. გასახსნელად დააჭირეთ განბლოკვის ხატულას."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"მარცხნივ გადატანა"</item> + <item msgid="5558598599408514296">"ქვემოთ გადატანა"</item> + <item msgid="4844142668312841831">"მარჯვნივ გადატანა"</item> + <item msgid="5640521437931460125">"ზემოთ გადატანა"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"ამ სესიის ტრანსლირებისთვის გახსენით აპი."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"უცნობი აპი"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"ტრანსლირების შეწყვეტა"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"ხელმისაწვდომი მოწყობილობები გამომავალი აუდიოსთვის."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"ტრანსლირების მუშაობის პრინციპი"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"ტრანსლაცია"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"თქვენთან ახლოს მყოფ ხალხს თავსებადი Bluetooth მოწყობილობით შეუძლიათ თქვენ მიერ ტრანსლირებული მედიის მოსმენა"</string> diff --git a/packages/SystemUI/res/values-kk/strings.xml b/packages/SystemUI/res/values-kk/strings.xml index 7dbe8e992f90..adf14827b5ea 100644 --- a/packages/SystemUI/res/values-kk/strings.xml +++ b/packages/SystemUI/res/values-kk/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Ашу үшін жоғары қарай сырғытыңыз."</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Ашу үшін құлыпты ашу белгішесін басыңыз."</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Бет үлгісі арқылы ашылды. Ашу үшін құлыпты ашу белгішесін басыңыз."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Солға жылжыту"</item> + <item msgid="5558598599408514296">"Төмен жылжыту"</item> + <item msgid="4844142668312841831">"Оңға жылжыту"</item> + <item msgid="5640521437931460125">"Жоғары жылжыту"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Бұл сеансты трансляциялау үшін қолданбаны ашыңыз."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Белгісіз қолданба"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Трансляцияны тоқтату"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Аудио шығыс үшін қолжетімді құрылғылар бар."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Тарату қалай жүзеге асады"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Тарату"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Үйлесімді Bluetooth құрылғылары бар маңайдағы адамдар сіз таратып жатқан медиамазмұнды тыңдай алады."</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Көшірілген суретті өңдеу"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Маңайдағы құрылғыға жіберу"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Көру үшін түртіңіз."</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Мәтін көшірілді."</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Сурет көшірілді."</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Мазмұн көшірілді."</string> <string name="add" msgid="81036585205287996">"Қосу"</string> <string name="manage_users" msgid="1823875311934643849">"Пайдаланушыларды басқару"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Бұл хабарландыруды бөлінген экранға сүйреп апару мүмкін емес."</string> diff --git a/packages/SystemUI/res/values-km/strings.xml b/packages/SystemUI/res/values-km/strings.xml index b0eb861ed3d6..e7c0b7a69bfb 100644 --- a/packages/SystemUI/res/values-km/strings.xml +++ b/packages/SystemUI/res/values-km/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"អូសឡើងលើដើម្បីបើក"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"ចុចរូបដោះសោ ដើម្បីបើក"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"បានដោះសោដោយប្រើមុខ។ សូមចុចរូបដោះសោ ដើម្បីបើក។"</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"ផ្លាស់ទីទៅឆ្វេង"</item> + <item msgid="5558598599408514296">"ផ្លាស់ទីចុះក្រោម"</item> + <item msgid="4844142668312841831">"ផ្លាស់ទីទៅស្តាំ"</item> + <item msgid="5640521437931460125">"ផ្លាស់ទីឡើងលើ"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"ដើម្បីភ្ជាប់វគ្គនេះ សូមបើកកម្មវិធី។"</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"កម្មវិធីដែលមិនស្គាល់"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"បញ្ឈប់ការភ្ជាប់"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"ឧបករណ៍ដែលអាចប្រើបានសម្រាប់ឧបករណ៍បញ្ចេញសំឡេង។"</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"របៀបដែលការផ្សាយដំណើរការ"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"ការផ្សាយ"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"មនុស្សនៅជិតអ្នកដែលមានឧបករណ៍ប៊្លូធូសត្រូវគ្នាអាចស្តាប់មេឌៀដែលអ្នកកំពុងផ្សាយបាន"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"កែរូបភាពដែលបានចម្លង"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"ផ្ញើទៅឧបករណ៍នៅជិត"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"ចុចដើម្បីមើល"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"បានចម្លងអត្ថបទ"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"បានចម្លងរូបភាព"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"បានចម្លងខ្លឹមសារ"</string> <string name="add" msgid="81036585205287996">"បញ្ចូល"</string> <string name="manage_users" msgid="1823875311934643849">"គ្រប់គ្រងអ្នកប្រើប្រាស់"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"ការជូនដំណឹងនេះមិនអាចឱ្យអូសដើម្បីបំបែកអេក្រង់បានទេ។"</string> diff --git a/packages/SystemUI/res/values-kn/strings.xml b/packages/SystemUI/res/values-kn/strings.xml index 6cd28717b69e..25e0d88306f1 100644 --- a/packages/SystemUI/res/values-kn/strings.xml +++ b/packages/SystemUI/res/values-kn/strings.xml @@ -101,7 +101,7 @@ <string name="screenrecord_device_audio_and_mic_label" msgid="1831323771978646841">"ಸಾಧನ ಆಡಿಯೋ ಮತ್ತು ಮೈಕ್ರೊಫೋನ್"</string> <string name="screenrecord_start" msgid="330991441575775004">"ಪ್ರಾರಂಭಿಸಿ"</string> <string name="screenrecord_ongoing_screen_only" msgid="4459670242451527727">"ಸ್ಕ್ರೀನ್ ರೆಕಾರ್ಡಿಂಗ್"</string> - <string name="screenrecord_ongoing_screen_and_audio" msgid="5351133763125180920">"ಸ್ಕ್ರೀನ್ ಮತ್ತು ಆಡಿಯೊ ರೆಕಾರ್ಡಿಂಗ್"</string> + <string name="screenrecord_ongoing_screen_and_audio" msgid="5351133763125180920">"ಸ್ಕ್ರೀನ್ ಮತ್ತು ಆಡಿಯೋ ರೆಕಾರ್ಡಿಂಗ್"</string> <string name="screenrecord_taps_label" msgid="1595690528298857649">"ಸ್ಪರ್ಶಗಳನ್ನು ಸ್ಕ್ರೀನ್ ಮೇಲೆ ತೋರಿಸಿ"</string> <string name="screenrecord_stop_label" msgid="72699670052087989">"ನಿಲ್ಲಿಸಿ"</string> <string name="screenrecord_share_label" msgid="5025590804030086930">"ಹಂಚಿಕೊಳ್ಳಿ"</string> @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"ತೆರೆಯಲು ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"ತೆರೆಯಲು ಅನ್ಲಾಕ್ ಐಕಾನ್ ಅನ್ನು ಒತ್ತಿ"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"ಮುಖವನ್ನು ಬಳಸಿ ಅನ್ಲಾಕ್ ಮಾಡಲಾಗಿದೆ. ತೆರೆಯಲು ಅನ್ಲಾಕ್ ಐಕಾನ್ ಅನ್ನು ಒತ್ತಿ."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"ಎಡಕ್ಕೆ ಸರಿಸಿ"</item> + <item msgid="5558598599408514296">"ಕೆಳಗೆ ಸರಿಸಿ"</item> + <item msgid="4844142668312841831">"ಬಲಕ್ಕೆ ಸರಿಸಿ"</item> + <item msgid="5640521437931460125">"ಮೇಲಕ್ಕೆ ಸರಿಸಿ"</item> + </string-array> <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> @@ -351,8 +353,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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"ಈ ಸೆಶನ್ ಕಾಸ್ಟ್ ಮಾಡಲು, ಆ್ಯಪ್ ಅನ್ನು ತೆರೆಯಿರಿ."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"ಅಪರಿಚಿತ ಆ್ಯಪ್"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"ಬಿತ್ತರಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿ"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"ಆಡಿಯೋ ಔಟ್ಪುಟ್ಗಾಗಿ ಲಭ್ಯವಿರುವ ಸಾಧನಗಳು."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"ಪ್ರಸಾರವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"ಪ್ರಸಾರ"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"ಹೊಂದಾಣಿಕೆಯಾಗುವ ಬ್ಲೂಟೂತ್ ಸಾಧನಗಳನ್ನು ಹೊಂದಿರುವ ಸಮೀಪದಲ್ಲಿರುವ ಜನರು ನೀವು ಪ್ರಸಾರ ಮಾಡುತ್ತಿರುವ ಮಾಧ್ಯಮವನ್ನು ಆಲಿಸಬಹುದು"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"ನಕಲಿಸಿದ ಚಿತ್ರವನ್ನು ಎಡಿಟ್ ಮಾಡಿ"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"ಸಮೀಪದಲ್ಲಿರುವ ಸಾಧನಕ್ಕೆ ಕಳುಹಿಸಿ"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"ವೀಕ್ಷಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"ಪಠ್ಯವನ್ನು ನಕಲಿಸಲಾಗಿದೆ"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"ಚಿತ್ರವನ್ನು ನಕಲಿಸಲಾಗಿದೆ"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"ವಿಷಯವನ್ನು ನಕಲಿಸಲಾಗಿದೆ"</string> <string name="add" msgid="81036585205287996">"ಸೇರಿಸಿ"</string> <string name="manage_users" msgid="1823875311934643849">"ಬಳಕೆದಾರರನ್ನು ನಿರ್ವಹಿಸಿ"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"ಸ್ಪ್ಲಿಟ್ ಸ್ಕ್ರೀನ್ಗೆ ಡ್ರ್ಯಾಗ್ ಮಾಡುವುದನ್ನು ಈ ಅಧಿಸೂಚನೆಯು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ."</string> diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml index 733704134470..0881e410af51 100644 --- a/packages/SystemUI/res/values-ko/strings.xml +++ b/packages/SystemUI/res/values-ko/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"위로 스와이프하여 열기"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"기기를 열려면 잠금 해제 아이콘을 누르세요."</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"얼굴 인식으로 잠금 해제되었습니다. 기기를 열려면 잠금 해제 아이콘을 누르세요."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"왼쪽으로 이동"</item> + <item msgid="5558598599408514296">"아래로 이동"</item> + <item msgid="4844142668312841831">"오른쪽으로 이동"</item> + <item msgid="5640521437931460125">"위로 이동"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"세션을 전송하려면 앱을 열어 주세요"</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"알 수 없는 앱"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"전송 중지"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"오디오 출력에 사용 가능한 기기입니다."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"브로드캐스팅 작동 원리"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"브로드캐스트"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"호환되는 블루투스 기기를 가진 근처의 사용자가 내가 브로드캐스트 중인 미디어를 수신 대기할 수 있습니다."</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"복사된 이미지 편집"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"근처 기기에 전송"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"탭하여 보기"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"텍스트 복사됨"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"이미지 복사됨"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"콘텐츠 복사됨"</string> <string name="add" msgid="81036585205287996">"추가"</string> <string name="manage_users" msgid="1823875311934643849">"사용자 관리"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"드래그하여 화면을 분할하는 기능이 지원되지 않는 알림입니다."</string> diff --git a/packages/SystemUI/res/values-ky/strings.xml b/packages/SystemUI/res/values-ky/strings.xml index 9efd495c36fd..9dc516c98ba8 100644 --- a/packages/SystemUI/res/values-ky/strings.xml +++ b/packages/SystemUI/res/values-ky/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Ачуу үчүн өйдө сүрүңүз"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Ачуу үчүн кулпусун ачуу сүрөтчөсүн басыңыз"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Кулпусун жүзүңүз менен ачтыңыз. Ачуу үчүн кулпусун ачуу сүрөтчөсүн басыңыз."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Солго жылдыруу"</item> + <item msgid="5558598599408514296">"Төмөн жылдыруу"</item> + <item msgid="4844142668312841831">"Оңго жылдыруу"</item> + <item msgid="5640521437931460125">"Жогору жылдыруу"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Бул сеансты тышкы экранга чыгаруу үчүн колдонмону ачыңыз."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Белгисиз колдонмо"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Тышкы экранга чыгарууну токтотуу"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Аудио чыгаруу үчүн жеткиликтүү түзмөктөр."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Кабарлоо кантип иштейт"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Кабарлоо"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Шайкеш Bluetooth түзмөктөрү болгон жакын жердеги кишилер кабарлап жаткан медиаңызды уга алышат"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Көчүрүлгөн сүрөттү түзөтүү"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Жакын жердеги түзмөккө жөнөтүү"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Көрүү үчүн таптаңыз"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Текст көчүрүлдү"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Сүрөт көчүрүлдү"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Мазмун көчүрүлдү"</string> <string name="add" msgid="81036585205287996">"Кошуу"</string> <string name="manage_users" msgid="1823875311934643849">"Колдонуучуларды башкаруу"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Бул билдирмени бөлүнгөн экранда сүйрөөгө болбойт."</string> diff --git a/packages/SystemUI/res/values-lo/strings.xml b/packages/SystemUI/res/values-lo/strings.xml index ae8613db00e1..314ee4c97781 100644 --- a/packages/SystemUI/res/values-lo/strings.xml +++ b/packages/SystemUI/res/values-lo/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"ປັດຂຶ້ນເພື່ອເປີດ"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"ກົດໄອຄອນປົດລັອກເພື່ອເປີດ"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"ປົດລັອກດ້ວຍໜ້າແລ້ວ. ກົດໄອຄອນປົດລັອກເພື່ອເປີດ."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"ຍ້າຍໄປຊ້າຍ"</item> + <item msgid="5558598599408514296">"ຍ້າຍລົງ"</item> + <item msgid="4844142668312841831">"ຍ້າຍໄປຂວາ"</item> + <item msgid="5640521437931460125">"ຍ້າຍຂຶ້ນ"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"ເພື່ອສົ່ງສັນຍານເຊດຊັນນີ້, ກະລຸນາເປີດແອັບ."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"ແອັບທີ່ບໍ່ຮູ້ຈັກ"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"ຢຸດການສົ່ງສັນຍານ"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"ອຸປະກອນທີ່ສາມາດໃຊ້ໄດ້ສຳລັບເອົ້າພຸດສຽງ."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"ການອອກອາກາດເຮັດວຽກແນວໃດ"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"ອອກອາກາດ"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"ຄົນທີ່ຢູ່ໃກ້ທ່ານທີ່ມີອຸປະກອນ Bluetooth ທີ່ເຂົ້າກັນໄດ້ຈະສາມາດຟັງມີເດຍທີ່ທ່ານກຳລັງອອກອາກາດຢູ່ໄດ້"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"ແກ້ໄຂຮູບທີ່ສຳເນົາແລ້ວ"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"ສົ່ງໄປຫາອຸປະກອນທີ່ຢູ່ໃກ້ຄຽງ"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"ແຕະເພື່ອເບິ່ງ"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"ສຳເນົາຂໍ້ຄວາມແລ້ວ"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"ສຳເນົາຮູບແລ້ວ"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"ສຳເນົາເນື້ອຫາແລ້ວ"</string> <string name="add" msgid="81036585205287996">"ເພີ່ມ"</string> <string name="manage_users" msgid="1823875311934643849">"ຈັດການຜູ້ໃຊ້"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"ການແຈ້ງເຕືອນນີ້ບໍ່ຮອງຮັບການລາກໄປໃສ່ Splitscreen."</string> diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml index 800fd586a44c..1b937a98fbb8 100644 --- a/packages/SystemUI/res/values-lt/strings.xml +++ b/packages/SystemUI/res/values-lt/strings.xml @@ -317,10 +317,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Perbraukite aukštyn, kad atidarytumėte"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Paspauskite atrakinimo piktogramą, kad atidarytumėte"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Atrakinta pagal veidą. Pasp. atr. pikt., kad atidarytumėte."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Perkelti kairėn"</item> + <item msgid="5558598599408514296">"Perkelti žemyn"</item> + <item msgid="4844142668312841831">"Perkelti dešinėn"</item> + <item msgid="5640521437931460125">"Perkelti aukštyn"</item> + </string-array> <string name="keyguard_retry" msgid="886802522584053523">"Jei norite bandyti dar kartą, perbraukite aukštyn"</string> <string name="require_unlock_for_nfc" msgid="1305686454823018831">"Norėdami naudoti NFC, atrakinkite"</string> <string name="do_disclosure_generic" msgid="4896482821974707167">"Šis įrenginys priklauso jūsų organizacijai"</string> @@ -853,8 +855,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Jei norite perduoti šį seansą, atidarykite programą."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Nežinoma programa"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Sustabdyti perdavimą"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Pasiekiami garso išvesties įrenginiai."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Kaip veikia transliacija"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Transliacija"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Netoliese esantys žmonės, turintys suderinamus „Bluetooth“ įrenginius, gali klausyti jūsų transliuojamos medijos"</string> @@ -953,12 +954,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Redaguoti nukopijuotą vaizdą"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Siųsti į įrenginį netoliese"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Palieskite ir peržiūrėkite"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Tekstas nukopijuotas"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Vaizdas nukopijuotas"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Turinys nukopijuotas"</string> <string name="add" msgid="81036585205287996">"Pridėti"</string> <string name="manage_users" msgid="1823875311934643849">"Tvarkyti naudotojus"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Šio pranešimo vilkimas išskaidyto ekrano režimu nepalaikomas."</string> diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml index dcf270681e7d..6ff287f8715e 100644 --- a/packages/SystemUI/res/values-lv/strings.xml +++ b/packages/SystemUI/res/values-lv/strings.xml @@ -315,10 +315,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Velciet augšup, lai atvērtu"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Pārvietojiet pirkstu pa kreisi"</item> + <item msgid="5558598599408514296">"Pārvietojiet pirkstu lejup"</item> + <item msgid="4844142668312841831">"Pārvietojiet pirkstu pa labi"</item> + <item msgid="5640521437931460125">"Pārvietojiet pirkstu augšup"</item> + </string-array> <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> @@ -847,8 +849,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Lai apraidītu šo sesiju, lūdzu, atveriet lietotni."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Nezināma lietotne"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Apturēt apraidi"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Audio izvadei pieejamās ierīces."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Kā darbojas apraide"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Apraide"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Tuvumā esošās personas ar saderīgām Bluetooth ierīcēm var klausīties jūsu apraidīto multivides saturu."</string> @@ -946,12 +947,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Rediģēt nokopēto attēlu"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Sūtīt uz tuvumā esošu ierīci"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Pieskarieties, lai skatītu"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Teksts ir nokopēts"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Attēls ir nokopēts"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Saturs ir nokopēts"</string> <string name="add" msgid="81036585205287996">"Pievienot"</string> <string name="manage_users" msgid="1823875311934643849">"Pārvaldīt lietotājus"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Šis paziņojums neatbalsta vilkšanu uz dalīto ekrānu."</string> diff --git a/packages/SystemUI/res/values-mk/strings.xml b/packages/SystemUI/res/values-mk/strings.xml index 2aa4a20ac480..bde13f324e17 100644 --- a/packages/SystemUI/res/values-mk/strings.xml +++ b/packages/SystemUI/res/values-mk/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Повлечете за да отворите"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Притиснете ја иконата за отклучување за да отворите"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Отклучено со лице. Притиснете ја иконата за отклучување за да отворите."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Премести налево"</item> + <item msgid="5558598599408514296">"Премести надолу"</item> + <item msgid="4844142668312841831">"Премести надесно"</item> + <item msgid="5640521437931460125">"Премести нагоре"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"За да ја емитувате сесијава, отворете ја апликацијата."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Непозната апликација"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Сопри со емитување"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Достапни уреди за аудиоизлез."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Како функционира емитувањето"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Емитување"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Луѓето во ваша близина со компатибилни уреди со Bluetooth може да ги слушаат аудиозаписите што ги емитувате"</string> diff --git a/packages/SystemUI/res/values-ml/strings.xml b/packages/SystemUI/res/values-ml/strings.xml index 663d94095cef..6f5189049863 100644 --- a/packages/SystemUI/res/values-ml/strings.xml +++ b/packages/SystemUI/res/values-ml/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"തുറക്കാൻ മുകളിലോട്ട് സ്വൈപ്പ് ചെയ്യുക"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"തുറക്കാൻ അൺലോക്ക് ഐക്കൺ അമർത്തുക"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"മുഖം ഉപയോഗിച്ച് അൺലോക്ക് ചെയ്തു. തുറക്കാൻ അൺലോക്ക് ഐക്കൺ അമർത്തുക."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"ഇടത്തേക്ക് നീക്കുക"</item> + <item msgid="5558598599408514296">"താഴേക്ക് നീക്കുക"</item> + <item msgid="4844142668312841831">"വലത്തേക്ക് നീക്കുക"</item> + <item msgid="5640521437931460125">"മുകളിലേക്ക് നീക്കുക"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"ഈ സെഷൻ കാസ്റ്റ് ചെയ്യാൻ, ആപ്പ് തുറക്കുക."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"അജ്ഞാതമായ ആപ്പ്"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"കാസ്റ്റ് ചെയ്യുന്നത് നിർത്തുക"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"ഓഡിയോ ഔട്ട്പുട്ടിന് ലഭ്യമായ ഉപകരണങ്ങൾ."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"ബ്രോഡ്കാസ്റ്റ് എങ്ങനെയാണ് പ്രവർത്തിക്കുന്നത്"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"ബ്രോഡ്കാസ്റ്റ്"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"അനുയോജ്യമായ Bluetooth ഉപകരണങ്ങളോടെ സമീപമുള്ള ആളുകൾക്ക് നിങ്ങൾ ബ്രോഡ്കാസ്റ്റ് ചെയ്യുന്ന മീഡിയ കേൾക്കാനാകും"</string> diff --git a/packages/SystemUI/res/values-mn/strings.xml b/packages/SystemUI/res/values-mn/strings.xml index f69a4e9095bd..1caca1ee16f4 100644 --- a/packages/SystemUI/res/values-mn/strings.xml +++ b/packages/SystemUI/res/values-mn/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Нээхийн тулд дээш шударна уу"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Нээхийн тулд түгжээг тайлах дүрс тэмдэг дээр дараарай"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Царайгаар түгжээг тайлсан. Нээхийн тулд түгжээг тайлах дүрс тэмдэг дээр дараарай."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Зүүн тийш зөөх"</item> + <item msgid="5558598599408514296">"Доош зөөх"</item> + <item msgid="4844142668312841831">"Баруун тийш зөөх"</item> + <item msgid="5640521437931460125">"Дээш зөөх"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Энэ үйл явдлыг дамжуулахын тулд аппыг нээнэ үү."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Үл мэдэгдэх апп"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Дамжуулахыг зогсоох"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Аудио гаралт хийх боломжтой төхөөрөмжүүд."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Нэвтрүүлэлт хэрхэн ажилладаг вэ?"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Нэвтрүүлэлт"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Тохиромжтой Bluetooth төхөөрөмжүүдтэй таны ойролцоох хүмүүс таны нэвтрүүлж буй медиаг сонсох боломжтой"</string> diff --git a/packages/SystemUI/res/values-mr/strings.xml b/packages/SystemUI/res/values-mr/strings.xml index 2d25ab48b20b..f1719829a804 100644 --- a/packages/SystemUI/res/values-mr/strings.xml +++ b/packages/SystemUI/res/values-mr/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"उघडण्यासाठी वर स्वाइप करा"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"उघडण्यासाठी अनलॉक करा आयकन दाबा"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"चेहऱ्याने अनलॉक केले. उघडण्यासाठी अनलॉक करा आयकन दाबा."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"डावीकडे हलवा"</item> + <item msgid="5558598599408514296">"खाली हलवा"</item> + <item msgid="4844142668312841831">"उजवीकडे हलवा"</item> + <item msgid="5640521437931460125">"वर हलवा"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"हे सेशन कास्ट करण्यासाठी, कृपया ॲप उघडा."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"अज्ञात अॅप"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"कास्ट करणे थांबवा"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"ऑडिओ आउटपुटसाठी उपलब्ध डिव्हाइस."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"ब्रॉडकास्टिंग कसे काम करते"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"ब्रॉडकास्ट करा"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"कंपॅटिबिल ब्लूटूथ डिव्हाइस असलेले तुमच्या जवळपासचे लोक हे तुम्ही ब्रॉडकास्ट करत असलेला मीडिया ऐकू शकतात"</string> diff --git a/packages/SystemUI/res/values-ms/strings.xml b/packages/SystemUI/res/values-ms/strings.xml index 744184782315..fd0d57d1db5b 100644 --- a/packages/SystemUI/res/values-ms/strings.xml +++ b/packages/SystemUI/res/values-ms/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Leret ke atas untuk buka"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Alih ke kiri"</item> + <item msgid="5558598599408514296">"Alih ke bawah"</item> + <item msgid="4844142668312841831">"Alih ke kanan"</item> + <item msgid="5640521437931460125">"Alih ke atas"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Untuk menghantar sesi ini, sila buka apl."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Apl yang tidak diketahui"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Berhenti menghantar"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Peranti tersedia untuk audio output."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Cara siaran berfungsi"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Siarkan"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Orang berdekatan anda dengan peranti Bluetooth yang serasi boleh mendengar media yang sedang anda siarkan"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Edit imej yang disalin"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Hantar ke peranti berdekatan"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Ketik untuk lihat"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Teks disalin"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Imej disalin"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Kandungan disalin"</string> <string name="add" msgid="81036585205287996">"Tambah"</string> <string name="manage_users" msgid="1823875311934643849">"Urus pengguna"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Pemberitahuan ini tidak menyokong penyeretan ke Skrin pisah."</string> diff --git a/packages/SystemUI/res/values-my/strings.xml b/packages/SystemUI/res/values-my/strings.xml index 7343bcf04928..d0d74bf80b26 100644 --- a/packages/SystemUI/res/values-my/strings.xml +++ b/packages/SystemUI/res/values-my/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"ဖွင့်ရန် အပေါ်သို့ပွတ်ဆွဲပါ"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"ဖွင့်ရန် လော့ခ်ဖွင့်သင်္ကေတကို နှိပ်ပါ"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"မျက်နှာဖြင့် ဖွင့်ထားသည်။ ဖွင့်ရန် လော့ခ်ဖွင့်သင်္ကေတကို နှိပ်ပါ။"</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"ဘယ်ဘက်သို့ရွှေ့ရန်"</item> + <item msgid="5558598599408514296">"အောက်သို့ရွှေ့ရန်"</item> + <item msgid="4844142668312841831">"ညာဘက်သို့ရွှေ့ရန်"</item> + <item msgid="5640521437931460125">"အပေါ်သို့ရွှေ့ရန်"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"အက်ပ်ဖွင့်ပြီး ဤစက်ရှင်ကို ကာစ်လုပ်နိုင်သည်။"</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"အမည်မသိ အက်ပ်"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"ကာစ် ရပ်ရန်"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"အသံအထွက်အတွက် ရရှိနိုင်သောစက်များ။"</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"ထုတ်လွှင့်မှုဆောင်ရွက်ပုံ"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"ထုတ်လွှင့်ခြင်း"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"အနီးရှိတွဲသုံးနိုင်သော ဘလူးတုသ်သုံးစက် အသုံးပြုသူများက သင်ထုတ်လွှင့်နေသော မီဒီယာကို နားဆင်နိုင်သည်"</string> diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml index 5882d757e5fd..2f74e7712b25 100644 --- a/packages/SystemUI/res/values-nb/strings.xml +++ b/packages/SystemUI/res/values-nb/strings.xml @@ -939,12 +939,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Rediger det kopierte bildet"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Send til en enhet i nærheten"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Trykk for å se"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Teksten er kopiert"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Bildet er kopiert"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Innholdet er kopiert"</string> <string name="add" msgid="81036585205287996">"Legg til"</string> <string name="manage_users" msgid="1823875311934643849">"Administrer brukere"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Dette varselet støtter ikke at du drar det til en delt skjerm."</string> diff --git a/packages/SystemUI/res/values-ne/strings.xml b/packages/SystemUI/res/values-ne/strings.xml index 23f1fca7e2b8..cb016d694140 100644 --- a/packages/SystemUI/res/values-ne/strings.xml +++ b/packages/SystemUI/res/values-ne/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"खोल्न माथितिर स्वाइप गर्नुहोस्"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"खोल्न अनलक आइकनमा थिच्नुहोस्"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"अनुहार प्रयोग गरी अनलक गरियो। खोल्न अनलक आइकनमा थिच्नुहोस्।"</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"बायाँ सार्नुहोस्"</item> + <item msgid="5558598599408514296">"तल सार्नुहोस्"</item> + <item msgid="4844142668312841831">"दायाँ सार्नुहोस्"</item> + <item msgid="5640521437931460125">"माथि सार्नुहोस्"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"यो सत्र कास्ट गर्न चाहनुहुन्छ भने कृपया एप खोल्नुहोस्।"</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"अज्ञात एप"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"कास्ट गर्न छाड्नुहोस्"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"अडियो आउटपुटका लागि उपलब्ध डिभाइसहरू।"</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"प्रसारण गर्ने सुविधाले कसरी काम गर्छ"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"प्रसारण"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"कम्प्याटिबल ब्लुटुथ डिभाइस भएका नजिकैका मान्छेहरू तपाईंले प्रसारण गरिरहनुभएको मिडिया सुन्न सक्छन्"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"कपी गरिएको फोटो सम्पादन गर्नुहोस्"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"नजिकैको डिभाइसमा पठाउनुहोस्"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"हेर्न ट्याप गर्नुहोस्"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"टेक्स्ट कपी गरिएको छ"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"फोटो कपी गरिएको छ"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"सामग्री कपी गरिएको छ"</string> <string name="add" msgid="81036585205287996">"हाल्नुहोस्"</string> <string name="manage_users" msgid="1823875311934643849">"प्रयोगकर्ताहरूको व्यवस्थापन गर्नुहोस्"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"यो सूचना ड्र्याग गरेर स्प्लिटस्क्रिनमा लैजान मिल्दैन।"</string> diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml index 2cfaa50e3fd2..558587106077 100644 --- a/packages/SystemUI/res/values-nl/strings.xml +++ b/packages/SystemUI/res/values-nl/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Swipe omhoog om te openen"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Naar links verplaatsen"</item> + <item msgid="5558598599408514296">"Omlaag verplaatsen"</item> + <item msgid="4844142668312841831">"Naar rechts verplaatsen"</item> + <item msgid="5640521437931460125">"Omhoog verplaatsen"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Als je deze sessie wilt casten, open je de app."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Onbekende app"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Casten stoppen"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Beschikbare apparaten voor audio-uitvoer."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Hoe uitzenden werkt"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Uitzending"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Mensen bij jou in de buurt met geschikte bluetooth-apparaten kunnen luisteren naar de media die je uitzendt"</string> diff --git a/packages/SystemUI/res/values-or/strings.xml b/packages/SystemUI/res/values-or/strings.xml index da17cd7bdc3c..019447a12f1c 100644 --- a/packages/SystemUI/res/values-or/strings.xml +++ b/packages/SystemUI/res/values-or/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"ଖୋଲିବା ପାଇଁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"ଖୋଲିବାକୁ ଅନଲକ ଆଇକନ ଦବାନ୍ତୁ"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"ଫେସ ମାଧ୍ୟମରେ ଅନଲକ କରାଯାଇଛି। ଖୋଲିବାକୁ ଅନଲକ ଆଇକନ ଦବାନ୍ତୁ।"</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"ବାମକୁ ମୁଭ କରନ୍ତୁ"</item> + <item msgid="5558598599408514296">"ତଳକୁ ମୁଭ କରନ୍ତୁ"</item> + <item msgid="4844142668312841831">"ଡାହାଣକୁ ମୁଭ କରନ୍ତୁ"</item> + <item msgid="5640521437931460125">"ଉପରକୁ ମୁଭ କରନ୍ତୁ"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"ଏହି ସେସନକୁ କାଷ୍ଟ କରିବା ପାଇଁ, ଦୟାକରି ଆପ ଖୋଲନ୍ତୁ।"</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"ଅଜଣା ଆପ"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"କାଷ୍ଟ କରିବା ବନ୍ଦ କରନ୍ତୁ"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"ଅଡିଓ ଆଉଟପୁଟ ପାଇଁ ଉପଲବ୍ଧ ଡିଭାଇସଗୁଡ଼ିକ।"</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"ବ୍ରଡକାଷ୍ଟିଂ କିପରି କାମ କରେ"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"ବ୍ରଡକାଷ୍ଟ"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"ଆପଣଙ୍କ ଆଖପାଖର କମ୍ପାଟିବଲ ବ୍ଲୁଟୁଥ ଡିଭାଇସ ଥିବା ଲୋକମାନେ ଆପଣ ବ୍ରଡକାଷ୍ଟ କରୁଥିବା ମିଡିଆ ଶୁଣିପାରିବେ"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"କପି କରାଯାଇଥିବା ଇମେଜକୁ ଏଡିଟ କରନ୍ତୁ"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"ନିକଟସ୍ଥ ଡିଭାଇସକୁ ପଠାନ୍ତୁ"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"ଦେଖିବାକୁ ଟାପ କରନ୍ତୁ"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"ଟେକ୍ସଟ କପି କରାଯାଇଛି"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"ଇମେଜ କପି କରାଯାଇଛି"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"ବିଷୟବସ୍ତୁ କପି କରାଯାଇଛି"</string> <string name="add" msgid="81036585205287996">"ଯୋଗ କରନ୍ତୁ"</string> <string name="manage_users" msgid="1823875311934643849">"ଉପଯୋଗକର୍ତ୍ତାମାନଙ୍କୁ ପରିଚାଳନା କରନ୍ତୁ"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"ଏହି ବିଜ୍ଞପ୍ତି ସ୍ପ୍ଲିଟସ୍କ୍ରିନକୁ ଡ୍ରାଗ କରିବାକୁ ସମର୍ଥନ କରେ ନାହିଁ।"</string> diff --git a/packages/SystemUI/res/values-pa/strings.xml b/packages/SystemUI/res/values-pa/strings.xml index e8636dbca4f6..5ab17ce76e13 100644 --- a/packages/SystemUI/res/values-pa/strings.xml +++ b/packages/SystemUI/res/values-pa/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"ਖੋਲ੍ਹਣ ਲਈ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"ਖੋਲ੍ਹਣ ਲਈ \'ਅਣਲਾਕ ਕਰੋ\' ਪ੍ਰਤੀਕ ਨੂੰ ਦਬਾਓ"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"ਚਿਹਰੇ ਰਾਹੀਂ ਅਣਲਾਕ ਕੀਤਾ ਗਿਆ। ਖੋਲ੍ਹਣ ਲਈ \'ਅਣਲਾਕ ਕਰੋ\' ਪ੍ਰਤੀਕ ਨੂੰ ਦਬਾਓ।"</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"ਖੱਬੇ ਲਿਜਾਓ"</item> + <item msgid="5558598599408514296">"ਹੇਠਾਂ ਲਿਜਾਓ"</item> + <item msgid="4844142668312841831">"ਸੱਜੇ ਲਿਜਾਓ"</item> + <item msgid="5640521437931460125">"ਉੱਪਰ ਲਿਜਾਓ"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"ਇਸ ਸੈਸ਼ਨ ਨੂੰ ਕਾਸਟ ਕਰਨ ਲਈ, ਕਿਰਪਾ ਕਰਕੇ ਐਪ ਖੋਲ੍ਹੋ।"</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"ਅਗਿਆਤ ਐਪ"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"ਕਾਸਟ ਕਰਨਾ ਬੰਦ ਕਰੋ"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"ਆਡੀਓ ਆਊਟਪੁੱਟ ਲਈ ਉਪਲਬਧ ਡੀਵਾਈਸ।"</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"ਪ੍ਰਸਾਰਨ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"ਪ੍ਰਸਾਰਨ"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"ਅਨੁਰੂਪ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸਾਂ ਨਾਲ ਨਜ਼ਦੀਕੀ ਲੋਕ ਤੁਹਾਡੇ ਵੱਲੋਂ ਪ੍ਰਸਾਰਨ ਕੀਤੇ ਜਾ ਰਹੇ ਮੀਡੀਆ ਨੂੰ ਸੁਣ ਸਕਦੇ ਹਨ"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"ਕਾਪੀ ਕੀਤੇ ਗਏ ਚਿੱਤਰ ਦਾ ਸੰਪਾਦਨ ਕਰੋ"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"ਨਜ਼ਦੀਕੀ ਡੀਵਾਈਸ \'ਤੇ ਭੇਜੋ"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"ਦੇਖਣ ਲਈ ਟੈਪ ਕਰੋ"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"ਲਿਖਤ ਕਾਪੀ ਕੀਤੀ ਗਈ"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"ਚਿੱਤਰ ਕਾਪੀ ਕੀਤਾ ਗਿਆ"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"ਸਮੱਗਰੀ ਕਾਪੀ ਕੀਤੀ ਗਈ"</string> <string name="add" msgid="81036585205287996">"ਸ਼ਾਮਲ ਕਰੋ"</string> <string name="manage_users" msgid="1823875311934643849">"ਵਰਤੋਂਕਾਰਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"ਇਹ ਸੂਚਨਾ ਸਪਲਿਟ ਸਕ੍ਰੀਨ \'ਤੇ ਘਸੀਟਣ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੀ ਹੈ।"</string> diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml index 137cfa7845e0..504a48b3f510 100644 --- a/packages/SystemUI/res/values-pl/strings.xml +++ b/packages/SystemUI/res/values-pl/strings.xml @@ -953,12 +953,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Edytuj skopiowany obraz"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Wyślij na urządzenie w pobliżu"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Kliknij, aby wyświetlić"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Tekst został skopiowany"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Zdjęcie zostało skopiowane"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Treści zostały skopiowane"</string> <string name="add" msgid="81036585205287996">"Dodaj"</string> <string name="manage_users" msgid="1823875311934643849">"Zarządzaj użytkownikami"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"To powiadomienie nie obsługuje dzielenia ekranu przez przeciąganie."</string> diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml index af48ceda1174..0ca3fe44c9b9 100644 --- a/packages/SystemUI/res/values-pt-rBR/strings.xml +++ b/packages/SystemUI/res/values-pt-rBR/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Deslize para cima para abrir"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Pressione o ícone de desbloqueio para abrir"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Desbloqueado pelo rosto. Pressione o ícone de desbloqueio para abrir."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Mais para a esquerda"</item> + <item msgid="5558598599408514296">"Mais para baixo"</item> + <item msgid="4844142668312841831">"Mais para a direita"</item> + <item msgid="5640521437931460125">"Mais para cima"</item> + </string-array> <string name="keyguard_retry" msgid="886802522584053523">"Deslize para cima para tentar novamente"</string> <string name="require_unlock_for_nfc" msgid="1305686454823018831">"Desbloqueie para usar a NFC"</string> <string name="do_disclosure_generic" msgid="4896482821974707167">"Este dispositivo pertence à sua organização"</string> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Abra o app para transmitir esta sessão."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"App desconhecido"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Parar transmissão"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Dispositivos disponíveis para saída de áudio."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Como funciona a transmissão"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Transmitir"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"As pessoas próximas a você com dispositivos Bluetooth compatíveis podem ouvir a mídia que você está transmitindo"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Editar imagem copiada"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Enviar para dispositivo próximo"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Toque para ver"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Texto copiado"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Imagem copiada"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Conteúdo copiado"</string> <string name="add" msgid="81036585205287996">"Adicionar"</string> <string name="manage_users" msgid="1823875311934643849">"Gerenciar usuários"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Esta notificação não tem suporte para ser arrastada para a tela dividida."</string> diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml index f990ac4b2952..64eda2cf6f36 100644 --- a/packages/SystemUI/res/values-pt-rPT/strings.xml +++ b/packages/SystemUI/res/values-pt-rPT/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Deslize rapidamente para cima para abrir"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Prima o ícone de desbloqueio para abrir"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Desbloqueado com o rosto. Prima o ícone de desbl. p/ abrir."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Mover para a esquerda"</item> + <item msgid="5558598599408514296">"Mover para baixo"</item> + <item msgid="4844142668312841831">"Mover para a direita"</item> + <item msgid="5640521437931460125">"Mover para cima"</item> + </string-array> <string name="keyguard_retry" msgid="886802522584053523">"Deslize rapidamente para cima para tentar novamente."</string> <string name="require_unlock_for_nfc" msgid="1305686454823018831">"Desbloquear para utilizar o NFC"</string> <string name="do_disclosure_generic" msgid="4896482821974707167">"Este dispositivo pertence à sua entidade."</string> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Para transmitir esta sessão, abra a app."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"App desconhecida"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Parar transmissão"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Dispositivos disponíveis para a saída de áudio."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Como funciona a transmissão"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Transmissão"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"As pessoas próximas de si com dispositivos Bluetooth compatíveis podem ouvir o conteúdo multimédia que está a transmitir"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Editar imagem copiada"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Enviar para dispositivo próximo"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Toque para ver"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Texto copiado"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Imagem copiada"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Conteúdo copiado"</string> <string name="add" msgid="81036585205287996">"Adicionar"</string> <string name="manage_users" msgid="1823875311934643849">"Gerir utilizadores"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Esta notificação não pode ser arrastada para o ecrã dividido."</string> diff --git a/packages/SystemUI/res/values-pt-rPT/tiles_states_strings.xml b/packages/SystemUI/res/values-pt-rPT/tiles_states_strings.xml index 8ffa760f637c..c8e557b38f9b 100644 --- a/packages/SystemUI/res/values-pt-rPT/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-pt-rPT/tiles_states_strings.xml @@ -58,7 +58,7 @@ </string-array> <string-array name="tile_states_flashlight"> <item msgid="3465257127433353857">"Indisponível"</item> - <item msgid="5044688398303285224">"Desligado"</item> + <item msgid="5044688398303285224">"Desligada"</item> <item msgid="8527389108867454098">"Ligado"</item> </string-array> <string-array name="tile_states_rotation"> diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml index af48ceda1174..0ca3fe44c9b9 100644 --- a/packages/SystemUI/res/values-pt/strings.xml +++ b/packages/SystemUI/res/values-pt/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Deslize para cima para abrir"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Pressione o ícone de desbloqueio para abrir"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Desbloqueado pelo rosto. Pressione o ícone de desbloqueio para abrir."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Mais para a esquerda"</item> + <item msgid="5558598599408514296">"Mais para baixo"</item> + <item msgid="4844142668312841831">"Mais para a direita"</item> + <item msgid="5640521437931460125">"Mais para cima"</item> + </string-array> <string name="keyguard_retry" msgid="886802522584053523">"Deslize para cima para tentar novamente"</string> <string name="require_unlock_for_nfc" msgid="1305686454823018831">"Desbloqueie para usar a NFC"</string> <string name="do_disclosure_generic" msgid="4896482821974707167">"Este dispositivo pertence à sua organização"</string> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Abra o app para transmitir esta sessão."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"App desconhecido"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Parar transmissão"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Dispositivos disponíveis para saída de áudio."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Como funciona a transmissão"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Transmitir"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"As pessoas próximas a você com dispositivos Bluetooth compatíveis podem ouvir a mídia que você está transmitindo"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Editar imagem copiada"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Enviar para dispositivo próximo"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Toque para ver"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Texto copiado"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Imagem copiada"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Conteúdo copiado"</string> <string name="add" msgid="81036585205287996">"Adicionar"</string> <string name="manage_users" msgid="1823875311934643849">"Gerenciar usuários"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Esta notificação não tem suporte para ser arrastada para a tela dividida."</string> diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml index d535259884ba..b5c9720be1d1 100644 --- a/packages/SystemUI/res/values-ro/strings.xml +++ b/packages/SystemUI/res/values-ro/strings.xml @@ -315,10 +315,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Glisați în sus pentru a deschide"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Deplasați spre stânga"</item> + <item msgid="5558598599408514296">"Deplasați în jos"</item> + <item msgid="4844142668312841831">"Deplasați spre dreapta"</item> + <item msgid="5640521437931460125">"Deplasați în sus"</item> + </string-array> <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> @@ -847,8 +849,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Pentru a proiecta această sesiune, deschideți aplicația."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Aplicație necunoscută"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Nu mai proiectați"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Dispozitive disponibile pentru ieșire audio."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Cum funcționează transmisia"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Transmiteți"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Persoanele din apropiere cu dispozitive Bluetooth compatibile pot asculta conținutul pe care îl transmiteți"</string> diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml index 1d1c19265ffc..bcef80ccc347 100644 --- a/packages/SystemUI/res/values-ru/strings.xml +++ b/packages/SystemUI/res/values-ru/strings.xml @@ -317,10 +317,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Проведите вверх, чтобы открыть"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Нажмите на значок разблокировки."</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Сканирование выполнено. Нажмите на значок разблокировки."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Переместите палец влево"</item> + <item msgid="5558598599408514296">"Переместите палец вниз"</item> + <item msgid="4844142668312841831">"Переместите палец вправо"</item> + <item msgid="5640521437931460125">"Переместите палец вверх"</item> + </string-array> <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> @@ -853,8 +855,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Чтобы начать трансляцию сеанса, откройте приложение"</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Неизвестное приложение"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Остановить трансляцию"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Доступные устройства для вывода звука."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Как работают трансляции"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Трансляция"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Находящиеся рядом с вами люди с совместимыми устройствами Bluetooth могут слушать медиафайлы, которые вы транслируете."</string> @@ -953,12 +954,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Изменить скопированное изображение"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Отправить на устройство поблизости"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Нажмите, чтобы посмотреть"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Текст скопирован"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Изображение скопировано"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Данные скопированы"</string> <string name="add" msgid="81036585205287996">"Добавить"</string> <string name="manage_users" msgid="1823875311934643849">"Управление пользователями"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Это уведомление нельзя перетаскивать между частями разделенного экрана."</string> diff --git a/packages/SystemUI/res/values-si/strings.xml b/packages/SystemUI/res/values-si/strings.xml index b6ca3ace38aa..174259cb3286 100644 --- a/packages/SystemUI/res/values-si/strings.xml +++ b/packages/SystemUI/res/values-si/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"විවෘත කිරීමට ස්වයිප් කරන්න"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"විවෘත කිරීමට අගුලු හැරීමේ නිරූපකය ඔබන්න"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"මුහුණ මගින් අගුලු හරින ලදි. විවෘත කිරීමට අගුලු හැරීමේ නිරූපකය ඔබන්න."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"වමට ගෙන යන්න"</item> + <item msgid="5558598599408514296">"පහළට ගෙන යන්න"</item> + <item msgid="4844142668312841831">"දකුණට ගෙන යන්න"</item> + <item msgid="5640521437931460125">"ඉහළට ගෙන යන්න"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"මෙම සැසිය විකාශය කිරීමට, කරුණාකර යෙදුම විවෘත කරන්න."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"නොදන්නා යෙදුම"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"විකාශය නවතන්න"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"ශ්රව්ය ප්රතිදානය සඳහා තිබෙන උපාංග."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"විකාශනය ක්රියා කරන ආකාරය"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"විකාශනය"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"ගැළපෙන බ්ලූටූත් උපාංග සහිත ඔබ අවට සිටින පුද්ගලයින්ට ඔබ විකාශනය කරන මාධ්යයට සවන් දිය හැකිය"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"පිටපත් කළ රූපය සංස්කරණය කරන්න"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"අවට උපාංගය වෙත යවන්න"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"බැලීමට තට්ටු කරන්න"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"පෙළ පිටපත් කරන ලදී"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"රූපය පිටපත් කරන ලදි"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"අන්තර්ගතය පිටපත් කරන ලදි"</string> <string name="add" msgid="81036585205287996">"එක් කරන්න"</string> <string name="manage_users" msgid="1823875311934643849">"පරිශීලකයන් කළමනාකරණය කරන්න"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"මෙම දැනුම්දීම බෙදුම් තිරය වෙත ඇද ගෙන යාමට සහාය නොදක්වයි."</string> diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml index 61ceda3b288c..cad59bf7f96d 100644 --- a/packages/SystemUI/res/values-sk/strings.xml +++ b/packages/SystemUI/res/values-sk/strings.xml @@ -317,10 +317,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Otvorte potiahnutím prstom nahor"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Posunúť doľava"</item> + <item msgid="5558598599408514296">"Posunúť nadol"</item> + <item msgid="4844142668312841831">"Posunúť doprava"</item> + <item msgid="5640521437931460125">"Posunúť nahor"</item> + </string-array> <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> @@ -853,8 +855,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Ak chcete túto reláciu prenášať, otvorte aplikáciu."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Neznáma aplikácia"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Zastaviť prenos"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Dostupné zariadenia pre zvukový výstup."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Ako vysielanie funguje"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Vysielanie"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Ľudia v okolí s kompatibilnými zariadeniami s rozhraním Bluetooth si môžu vypočuť médiá, ktoré vysielate"</string> @@ -953,12 +954,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Upraviť skopírovaný obrázok"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Odoslať do zariadenia v okolí"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Zobrazíte klepnutím"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Text bol skopírovaný"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Obrázok bol skopírovaný"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Obsah bol skopírovaný"</string> <string name="add" msgid="81036585205287996">"Pridať"</string> <string name="manage_users" msgid="1823875311934643849">"Spravovať používateľov"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Toto upozornenie nepodporuje presun na rozdelenú obrazovku."</string> diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml index 8978ffe83038..9260d842f065 100644 --- a/packages/SystemUI/res/values-sl/strings.xml +++ b/packages/SystemUI/res/values-sl/strings.xml @@ -317,10 +317,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Povlecite navzgor, da odprete"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Premik levo"</item> + <item msgid="5558598599408514296">"Premik navzdol"</item> + <item msgid="4844142668312841831">"Premik desno"</item> + <item msgid="5640521437931460125">"Premik navzgor"</item> + </string-array> <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> @@ -853,8 +855,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Če želite predvajati to sejo, odprite aplikacijo."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Neznana aplikacija"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Ustavi predvajanje"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Razpoložljive naprave za zvočni izhod"</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Kako deluje oddajanje"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Oddajanje"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Osebe v bližini z združljivo napravo Bluetooth lahko poslušajo predstavnost, ki jo oddajate."</string> @@ -953,12 +954,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Uredi kopirano sliko"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Pošlji v napravo v bližini"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Dotaknite se za ogled"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Besedilo je kopirano"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Slika je kopirana"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Vsebina je kopirana"</string> <string name="add" msgid="81036585205287996">"Dodaj"</string> <string name="manage_users" msgid="1823875311934643849">"Upravljanje uporabnikov"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"To obvestilo ne podpira vlečenja v razdeljen zaslon."</string> diff --git a/packages/SystemUI/res/values-sq/strings.xml b/packages/SystemUI/res/values-sq/strings.xml index e326e0dc5dff..0516adf75511 100644 --- a/packages/SystemUI/res/values-sq/strings.xml +++ b/packages/SystemUI/res/values-sq/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Rrëshqit lart për ta hapur"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Lëvize majtas"</item> + <item msgid="5558598599408514296">"Lëvize poshtë"</item> + <item msgid="4844142668312841831">"Lëvize djathtas"</item> + <item msgid="5640521437931460125">"Lëvize lart"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Hap aplikacionin për të transmetuar këtë seancë."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Aplikacion i panjohur"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Ndalo transmetimin"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Pajisjet që ofrohen për daljen e audios."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Si funksionon transmetimi"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Transmetimi"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Personat në afërsi me ty me pajisje të përputhshme me Bluetooth mund të dëgjojnë median që ti po transmeton"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Modifiko imazhin e kopjuar"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Dërgo te pajisja në afërsi"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Trokit për të parë"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Teksti u kopjua"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Imazhi u kopjua"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Përmbajtja u kopjua"</string> <string name="add" msgid="81036585205287996">"Shto"</string> <string name="manage_users" msgid="1823875311934643849">"Menaxho përdoruesit"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Ky njoftim nuk mbështet zvarritjen në \"Ekranin e ndarë\"."</string> diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml index c94c68894a82..9e6b55856760 100644 --- a/packages/SystemUI/res/values-sr/strings.xml +++ b/packages/SystemUI/res/values-sr/strings.xml @@ -315,10 +315,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Превуците нагоре да бисте отворили"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Притисните икону откључавања за отварање"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Откључано је лицем. Притисните икону откључавања за отварање"</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Померите налево"</item> + <item msgid="5558598599408514296">"Померите надоле"</item> + <item msgid="4844142668312841831">"Померите надесно"</item> + <item msgid="5640521437931460125">"Померите нагоре"</item> + </string-array> <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> @@ -847,8 +849,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Да бисте пребацивали ову сесију, отворите апликацију."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Непозната апликација"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Заустави пребацивање"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Доступни уређаји за аудио излаз."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Како функционише емитовање"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Емитовање"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Људи у близини са компатибилним Bluetooth уређајима могу да слушају медијски садржај који емитујете"</string> @@ -940,18 +941,15 @@ <string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"Заустављено"</string> <string name="clipboard_edit_text_done" msgid="4551887727694022409">"Готово"</string> <string name="clipboard_overlay_text_copied" msgid="1872624400464891363">"Копирано је"</string> - <string name="clipboard_edit_source" msgid="9156488177277788029">"Из: <xliff:g id="APPNAME">%1$s</xliff:g>"</string> + <string name="clipboard_edit_source" msgid="9156488177277788029">"Од: <xliff:g id="APPNAME">%1$s</xliff:g>"</string> <string name="clipboard_dismiss_description" msgid="7544573092766945657">"Одбаци копирање корисничког интерфејса"</string> <string name="clipboard_edit_text_description" msgid="805254383912962103">"Измените копирани текст"</string> <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Измените копирану слику"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Пошаљи на уређај у близини"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Додирните да бисте прегледали"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Текст је копиран"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Слика је копирана"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Садржај је копиран"</string> <string name="add" msgid="81036585205287996">"Додај"</string> <string name="manage_users" msgid="1823875311934643849">"Управљаjте корисницима"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Ово обавештење не подржава превлачење на подељени екран."</string> diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml index 0c574bcd0e59..eac570b6072c 100644 --- a/packages/SystemUI/res/values-sv/strings.xml +++ b/packages/SystemUI/res/values-sv/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Öppna genom att svepa uppåt"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Flytta åt vänster"</item> + <item msgid="5558598599408514296">"Flytta nedåt"</item> + <item msgid="4844142668312841831">"Flytta åt höger"</item> + <item msgid="5640521437931460125">"Flytta uppåt"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Öppna appen om du vill casta den här sessionen."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Okänd app"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Sluta casta"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Enheter som är tillgängliga för ljudutdata."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Så fungerar utsändning"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Utsändning"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Personer i närheten med kompatibla Bluetooth-enheter kan lyssna på medieinnehåll som du sänder ut"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Redigera kopierad bild"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Skicka till enhet i närheten"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Tryck för att visa"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Texten har kopierats"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Bilden har kopierats"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Innehållet har kopierats"</string> <string name="add" msgid="81036585205287996">"Lägg till"</string> <string name="manage_users" msgid="1823875311934643849">"Hantera användare"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Det går inte att dra den här aviseringen till delad skärm."</string> diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml index cd55ef49d1f9..a5d7abcaf588 100644 --- a/packages/SystemUI/res/values-sw/strings.xml +++ b/packages/SystemUI/res/values-sw/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Telezesha kidole juu ili ufungue"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Sogeza kushoto"</item> + <item msgid="5558598599408514296">"Sogeza chini"</item> + <item msgid="4844142668312841831">"Sogeza kulia"</item> + <item msgid="5640521437931460125">"Sogeza juu"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Ili utume kipindi hiki, tafadhali fungua programu."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Programu isiyojulikana"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Acha kutuma"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Vifaa vya kutoa sauti vilivyopo"</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Jinsi utangazaji unavyofanya kazi"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Tangaza"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Watu walio karibu nawe wenye vifaa oanifu vya Bluetooth wanaweza kusikiliza maudhui unayoyatangaza"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Badilisha picha iliyonakiliwa"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Tuma kwenye kifaa kilicho karibu"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Gusa ili uangalie"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Maandishi yamenakiliwa"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Picha imenakiliwa"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Maudhui yamenakiliwa"</string> <string name="add" msgid="81036585205287996">"Weka"</string> <string name="manage_users" msgid="1823875311934643849">"Dhibiti watumiaji"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Arifa hii hairuhusu kuburuta kwenye Skrini iliyogawanyika."</string> diff --git a/packages/SystemUI/res/values-ta/strings.xml b/packages/SystemUI/res/values-ta/strings.xml index fae4f6f31e0d..0f4168106727 100644 --- a/packages/SystemUI/res/values-ta/strings.xml +++ b/packages/SystemUI/res/values-ta/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"திறப்பதற்கு மேல் நோக்கி ஸ்வைப் செய்யவும்"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"திறக்க, அன்லாக் ஐகானை அழுத்தவும்"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"முகம் மூலம் அன்லாக் செய்யப்பட்டது. திறக்க, அன்லாக் ஐகானை அழுத்துக."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"இடதுபுறம் நகர்த்துங்கள்"</item> + <item msgid="5558598599408514296">"கீழே நகர்த்துங்கள்"</item> + <item msgid="4844142668312841831">"வலதுபுறம் நகர்த்துங்கள்"</item> + <item msgid="5640521437931460125">"மேலே நகர்த்துங்கள்"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"இந்த அமர்வை அலைபரப்ப ஆப்ஸைத் திறங்கள்."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"அறியப்படாத ஆப்ஸ்"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"அலைபரப்புவதை நிறுத்து"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"ஆடியோ அவுட்புட்டுக்குக் கிடைக்கும் சாதனங்கள்."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"பிராட்காஸ்ட் எவ்வாறு செயல்படுகிறது?"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"பிராட்காஸ்ட்"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"நீங்கள் பிராட்காஸ்ட் செய்யும் மீடியாவை அருகிலுள்ளவர்கள் இணக்கமான புளூடூத் சாதனங்கள் மூலம் கேட்கலாம்"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"நகலெடுத்த படத்தைத் திருத்து"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"அருகிலுள்ள சாதனத்திற்கு அனுப்பு"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"பார்க்க தட்டுங்கள்"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"வார்த்தைகள் நகலெடுக்கப்பட்டன"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"படம் நகலெடுக்கப்பட்டது"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"உள்ளடக்கம் நகலெடுக்கப்பட்டது"</string> <string name="add" msgid="81036585205287996">"சேர்"</string> <string name="manage_users" msgid="1823875311934643849">"பயனர்களை நிர்வகித்தல்"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"பிரிக்கப்பட்ட திரைக்குள் இந்த அறிவிப்பை இழுத்துவிட முடியாது."</string> diff --git a/packages/SystemUI/res/values-te/strings.xml b/packages/SystemUI/res/values-te/strings.xml index 4ddec56a6b74..fe0ec88f47e5 100644 --- a/packages/SystemUI/res/values-te/strings.xml +++ b/packages/SystemUI/res/values-te/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"తెరవడానికి, పైకి స్వైప్ చేయండి"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"తెరవడానికి అన్లాక్ చిహ్నాన్ని నొక్కండి"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"ముఖం ద్వారా అన్లాక్ చేయబడింది. తెరవడానికి అన్లాక్ చిహ్నాన్ని నొక్కండి."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"ఎడమవైపుగా జరపండి"</item> + <item msgid="5558598599408514296">"కిందికి జరపండి"</item> + <item msgid="4844142668312841831">"కుడివైపుగా జరపండి"</item> + <item msgid="5640521437931460125">"పైకి జరపండి"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"ఈ సెషన్ను ప్రసారం చేయడానికి, దయచేసి యాప్ను తెరవండి."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"తెలియని యాప్"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"ప్రసారాన్ని ఆపివేయండి"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"ఆడియో అవుట్పుట్ కోసం అందుబాటులో ఉన్న పరికరాలు."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"ప్రసారం కావడం అనేది ఎలా పని చేస్తుంది"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"ప్రసారం"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"మీకు సమీపంలో ఉన్న వ్యక్తులు అనుకూలత ఉన్న బ్లూటూత్ పరికరాలతో మీరు ప్రసారం చేస్తున్న మీడియాను వినగలరు"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"కాపీ చేసిన ఇమేజ్లను ఎడిట్ చేయండి"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"సమీపంలోని పరికరానికి పంపండి"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"చూడటానికి ట్యాప్ చేయండి"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"టెక్స్ట్ కాపీ చేయబడింది"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"ఇమేజ్ కాపీ చేయబడింది"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"కంటెంట్ కాపీ చేయబడింది"</string> <string name="add" msgid="81036585205287996">"జోడించండి"</string> <string name="manage_users" msgid="1823875311934643849">"యూజర్లను మేనేజ్ చేయండి"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"ఈ నోటిఫికేషన్ స్ప్లిట్స్క్రీన్కు లాగడానికి సపోర్ట్ చేయదు."</string> diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml index 935ca7ee579d..7dcaf44ab96f 100644 --- a/packages/SystemUI/res/values-th/strings.xml +++ b/packages/SystemUI/res/values-th/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"เลื่อนขึ้นเพื่อเปิด"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"กดไอคอนปลดล็อกเพื่อเปิด"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"ปลดล็อกด้วยใบหน้าแล้ว กดไอคอนปลดล็อกเพื่อเปิด"</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"เลื่อนนิ้วไปทางซ้าย"</item> + <item msgid="5558598599408514296">"เลื่อนนิ้วลง"</item> + <item msgid="4844142668312841831">"เลื่อนนิ้วไปทางขวา"</item> + <item msgid="5640521437931460125">"เลื่อนนิ้วขึ้น"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"โปรดเปิดแอปหากต้องการแคสต์เซสชันนี้"</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"แอปที่ไม่รู้จัก"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"หยุดแคสต์"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"อุปกรณ์ที่พร้อมใช้งานสำหรับเอาต์พุตเสียง"</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"วิธีการทำงานของการออกอากาศ"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"ประกาศ"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"ผู้ที่อยู่ใกล้คุณและมีอุปกรณ์บลูทูธที่รองรับสามารถรับฟังสื่อที่คุณกำลังออกอากาศได้"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"แก้ไขรูปภาพที่คัดลอก"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"ส่งไปยังอุปกรณ์ที่อยู่ใกล้เคียง"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"แตะเพื่อดู"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"คัดลอกข้อความแล้ว"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"คัดลอกรูปภาพแล้ว"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"คัดลอกเนื้อหาแล้ว"</string> <string name="add" msgid="81036585205287996">"เพิ่ม"</string> <string name="manage_users" msgid="1823875311934643849">"จัดการผู้ใช้"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"การแจ้งเตือนนี้ไม่รองรับการลากเพื่อแบ่งหน้าจอ"</string> diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml index eb948e9b81bc..e844e3978ac0 100644 --- a/packages/SystemUI/res/values-tl/strings.xml +++ b/packages/SystemUI/res/values-tl/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Mag-swipe pataas para buksan"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Pindutin ang icon ng unlock para buksan"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Na-unlock gamit ang mukha. Pindutin ang icon ng unlock para buksan."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Ilipat pakaliwa"</item> + <item msgid="5558598599408514296">"Ibaba"</item> + <item msgid="4844142668312841831">"Ilipat pakanan"</item> + <item msgid="5640521437931460125">"Itaas"</item> + </string-array> <string name="keyguard_retry" msgid="886802522584053523">"Mag-swipe pataas para subukan ulit"</string> <string name="require_unlock_for_nfc" msgid="1305686454823018831">"I-unlock para magamit ang NFC"</string> <string name="do_disclosure_generic" msgid="4896482821974707167">"Pagmamay-ari ng iyong organisasyon ang device na ito"</string> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Para ma-cast ang session na ito, buksan ang app."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Hindi kilalang app"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Ihinto ang pag-cast"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Mga available na device para sa audio output."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Paano gumagana ang pag-broadcast"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Broadcast"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Makakapakinig ang mga taong malapit sa iyo na may mga compatible na Bluetooth device sa media na bino-broadcast mo"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"I-edit ang kinopyang larawan"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Ipadala sa kalapit na device"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"I-tap para tingnan"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Nakopya ang text"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Nakopya ang larawan"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Nakopya ang content"</string> <string name="add" msgid="81036585205287996">"Magdagdag"</string> <string name="manage_users" msgid="1823875311934643849">"Pamahalaan ang mga user"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Hindi sinusuportahan ng notification na ito ang pag-drag sa Splitscreen."</string> diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml index a88fd9221010..250b0dd81e8a 100644 --- a/packages/SystemUI/res/values-tr/strings.xml +++ b/packages/SystemUI/res/values-tr/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Açmak için yukarı kaydırın"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Sola taşı"</item> + <item msgid="5558598599408514296">"Aşağı taşı"</item> + <item msgid="4844142668312841831">"Sağa taşı"</item> + <item msgid="5640521437931460125">"Yukarı taşı"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Bu oturumu yayınlamak için lütfen uygulamayı açın."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Bilinmeyen uygulama"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Yayını durdur"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Ses çıkışı için kullanılabilir cihazlar."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Yayınlamanın işleyiş şekli"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Anons"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Yakınınızda ve uyumlu Bluetooth cihazları olan kişiler yayınladığınız medya içeriğini dinleyebilir"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Kopyalanan resmi düzenle"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Yakındaki cihaza gönder"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Görüntülemek için dokunun"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Metin kopyalandı"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Resim kopyalandı"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"İçerik kopyalandı"</string> <string name="add" msgid="81036585205287996">"Ekle"</string> <string name="manage_users" msgid="1823875311934643849">"Kullanıcıları yönet"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Bu bildirim, bölünmüş ekrana sürüklenmeyi desteklemiyor."</string> diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml index ec3805a26803..96d5e95106c7 100644 --- a/packages/SystemUI/res/values-uk/strings.xml +++ b/packages/SystemUI/res/values-uk/strings.xml @@ -953,12 +953,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Редагувати скопійоване зображення"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Надіслати на пристрій поблизу"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Натисніть, щоб переглянути"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Текст скопійовано"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Зображення скопійовано"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Вміст скопійовано"</string> <string name="add" msgid="81036585205287996">"Додати"</string> <string name="manage_users" msgid="1823875311934643849">"Керувати користувачами"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Це сповіщення не підтримує режим розділеного екрана."</string> diff --git a/packages/SystemUI/res/values-ur/strings.xml b/packages/SystemUI/res/values-ur/strings.xml index 717bb9a7c5bf..f5fa9f275c9c 100644 --- a/packages/SystemUI/res/values-ur/strings.xml +++ b/packages/SystemUI/res/values-ur/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"کھولنے کے لیے اوپر سوائپ کريں"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"کھولنے کیلئے انلاک آئیکن دبائیں"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"چہرے سے انلاک کیا گیا۔ کھولنے کیلئے انلاک آئیکن دبائیں۔"</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"دائیں منتقل کریں"</item> + <item msgid="5558598599408514296">"نیچے منتقل کریں"</item> + <item msgid="4844142668312841831">"بائیں منتقل کریں"</item> + <item msgid="5640521437931460125">"اوپر منتقل کریں"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"اس سیشن کو کاسٹ کرنے کیلئے، براہ کرم ایپ کھولیں۔"</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"نامعلوم ایپ"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"کاسٹ کرنا بند کریں"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"آڈیو آؤٹ پٹ کے لیے دستیاب آلات۔"</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"براڈکاسٹنگ کیسے کام کرتا ہے"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"براڈکاسٹ"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"موافق بلوٹوتھ آلات کے ساتھ آپ کے قریبی لوگ آپ کے نشر کردہ میڈیا کو سن سکتے ہیں"</string> @@ -933,18 +934,15 @@ <string name="fgs_manager_app_item_stop_button_stopped_label" msgid="6950382004441263922">"رکی ہوئی ہے"</string> <string name="clipboard_edit_text_done" msgid="4551887727694022409">"ہو گیا"</string> <string name="clipboard_overlay_text_copied" msgid="1872624400464891363">"کاپی کر دیا گیا ہے"</string> - <string name="clipboard_edit_source" msgid="9156488177277788029">"<xliff:g id="APPNAME">%1$s</xliff:g> سے"</string> + <string name="clipboard_edit_source" msgid="9156488177277788029">"<xliff:g id="APPNAME">%1$s</xliff:g> سے"</string> <string name="clipboard_dismiss_description" msgid="7544573092766945657">"کاپی شدہ UI کو برخاست کریں"</string> <string name="clipboard_edit_text_description" msgid="805254383912962103">"کاپی کردہ ٹیکسٹ میں ترمیم کریں"</string> <string name="clipboard_edit_image_description" msgid="8904857948976041306">"کاپی کردہ تصویر میں ترمیم کریں"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"قریبی آلے کو بھیجیں"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"دیکھنے کے لیے تھپتھپائیں"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"متن کاپی ہو گیا"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"تصویر کاپی ہو گئی"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"مواد کاپی ہو گیا"</string> <string name="add" msgid="81036585205287996">"شامل کریں"</string> <string name="manage_users" msgid="1823875311934643849">"صارفین کا نظم کریں"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"یہ اطلاع اسپلٹ اسکرین کو گھسیٹنے کو سپورٹ نہیں کرتا ہے۔"</string> diff --git a/packages/SystemUI/res/values-uz/strings.xml b/packages/SystemUI/res/values-uz/strings.xml index 47697227fb76..5e0bb9cc627a 100644 --- a/packages/SystemUI/res/values-uz/strings.xml +++ b/packages/SystemUI/res/values-uz/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Ochish uchun tepaga suring"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Chapga siljitish"</item> + <item msgid="5558598599408514296">"Pastga siljitish"</item> + <item msgid="4844142668312841831">"Oʻngga siljitish"</item> + <item msgid="5640521437931460125">"Tepaga siljitish"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Bu seansni translatsiya qilish uchun ilovani oching."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Notanish ilova"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Toʻxtatish"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Audio chiqish uchun mavjud qurilmalar."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Translatsiya qanday ishlaydi"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Translatsiya"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Atrofingizdagi mos Bluetooth qurilmasiga ega foydalanuvchilar siz translatsiya qilayotgan mediani tinglay olishadi"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Nusxa olingan rasmni tahrirlash"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Yaqin-atrofdagi qurilmaga yuborish"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Koʻrish uchun bosing"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Matndan nuxsa olindi"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Rasmdan nusxa olindi"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Kontentdan nusxa olindi."</string> <string name="add" msgid="81036585205287996">"Kiritish"</string> <string name="manage_users" msgid="1823875311934643849">"Foydalanuvchilarni boshqarish"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Bu bildirishnoma ikkiga ajratilgan ekranda ishlamaydi."</string> diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml index f9085c41bf20..b1302698aba4 100644 --- a/packages/SystemUI/res/values-vi/strings.xml +++ b/packages/SystemUI/res/values-vi/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Vuốt lên để mở"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"Nhấn biểu tượng mở khoá để mở"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Đã mở khoá bằng khuôn mặt. Nhấn biểu tượng mở khoá để mở."</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Di chuyển sang trái"</item> + <item msgid="5558598599408514296">"Di chuyển xuống"</item> + <item msgid="4844142668312841831">"Di chuyển sang phải"</item> + <item msgid="5640521437931460125">"Di chuyển lên"</item> + </string-array> <string name="keyguard_retry" msgid="886802522584053523">"Vuốt lên để thử lại"</string> <string name="require_unlock_for_nfc" msgid="1305686454823018831">"Mở khóa để sử dụng NFC"</string> <string name="do_disclosure_generic" msgid="4896482821974707167">"Thiết bị này thuộc về tổ chức của bạn"</string> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Vui lòng mở ứng dụng để truyền phiên này."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"Ứng dụng không xác định"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Dừng truyền"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Các thiết bị có sẵn để xuất âm thanh."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Cách tính năng truyền hoạt động"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Truyền"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Những người ở gần có thiết bị Bluetooth tương thích có thể nghe nội dung nghe nhìn bạn đang truyền"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"Chỉnh sửa hình ảnh đã sao chép"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"Gửi đến thiết bị ở gần"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"Nhấn để xem"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"Đã sao chép văn bản"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"Đã sao chép hình ảnh"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"Đã sao chép nội dung"</string> <string name="add" msgid="81036585205287996">"Thêm"</string> <string name="manage_users" msgid="1823875311934643849">"Quản lý người dùng"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"Thông báo này không hỗ trợ thao tác kéo để Chia đôi màn hình."</string> diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml index d60a032ca38d..e2d6832dd2bf 100644 --- a/packages/SystemUI/res/values-zh-rCN/strings.xml +++ b/packages/SystemUI/res/values-zh-rCN/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"向上滑动即可打开"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"按下解锁图标即可打开"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"已通过面孔识别解锁。按下解锁图标即可打开。"</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"左移"</item> + <item msgid="5558598599408514296">"下移"</item> + <item msgid="4844142668312841831">"右移"</item> + <item msgid="5640521437931460125">"上移"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"如需投射此会话,请打开相关应用。"</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"未知应用"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"停止投射"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"音频输出的可用设备。"</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"广播的运作方式"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"广播"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"附近使用兼容蓝牙设备的用户可以收听您广播的媒体内容"</string> diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml index 137ebdcf5f8e..a4d8f1131c77 100644 --- a/packages/SystemUI/res/values-zh-rHK/strings.xml +++ b/packages/SystemUI/res/values-zh-rHK/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"向上滑動即可開啟"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"按解鎖圖示即可開啟"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"已使用面孔解鎖。按解鎖圖示即可開啟。"</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"向左移"</item> + <item msgid="5558598599408514296">"向下移"</item> + <item msgid="4844142668312841831">"向右移"</item> + <item msgid="5640521437931460125">"向上移"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"如要投放此工作階段,請開啟應用程式。"</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"不明應用程式"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"停止投放"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"可用作音訊輸出的裝置"</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"廣播運作方式"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"廣播"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"附近有兼容藍牙裝置的人可收聽您正在廣播的媒體內容"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"編輯已複製的圖片"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"傳送至附近的裝置"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"輕按即可查看"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"已複製文字"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"已複製圖片"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"已複製內容"</string> <string name="add" msgid="81036585205287996">"新增"</string> <string name="manage_users" msgid="1823875311934643849">"管理使用者"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"此通知無法拖曳到分割螢幕中。"</string> diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml index 674829289b60..aee93b0e9188 100644 --- a/packages/SystemUI/res/values-zh-rTW/strings.xml +++ b/packages/SystemUI/res/values-zh-rTW/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"向上滑動即可開啟"</string> <string name="keyguard_unlock_press" msgid="9140109453735019209">"按下「解鎖」圖示即可開啟"</string> <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"裝置已透過人臉解鎖,按下「解鎖」圖示即可開啟。"</string> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"向左移"</item> + <item msgid="5558598599408514296">"向下移"</item> + <item msgid="4844142668312841831">"向右移"</item> + <item msgid="5640521437931460125">"向上移"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"如要投放這個工作階段,請開啟應用程式。"</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"不明的應用程式"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"停止投放"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"可用於輸出音訊的裝置。"</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"廣播功能的運作方式"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"廣播"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"如果附近的人有相容的藍牙裝置,就可以聽到你正在廣播的媒體內容"</string> @@ -939,12 +940,9 @@ <string name="clipboard_edit_image_description" msgid="8904857948976041306">"編輯複製的圖片"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"傳送到鄰近裝置"</string> <string name="clipboard_text_hidden" msgid="7926899867471812305">"輕觸即可查看"</string> - <!-- no translation found for clipboard_text_copied (5100836834278976679) --> - <skip /> - <!-- no translation found for clipboard_image_copied (3793365360174328722) --> - <skip /> - <!-- no translation found for clipboard_content_copied (144452398567828145) --> - <skip /> + <string name="clipboard_text_copied" msgid="5100836834278976679">"已複製文字"</string> + <string name="clipboard_image_copied" msgid="3793365360174328722">"已複製圖片"</string> + <string name="clipboard_content_copied" msgid="144452398567828145">"已複製內容"</string> <string name="add" msgid="81036585205287996">"新增"</string> <string name="manage_users" msgid="1823875311934643849">"管理使用者"</string> <string name="drag_split_not_supported" msgid="4326847447699729722">"這項通知無法拖曳到分割畫面中。"</string> diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml index ae19c2367b69..99215e3c8386 100644 --- a/packages/SystemUI/res/values-zu/strings.xml +++ b/packages/SystemUI/res/values-zu/strings.xml @@ -313,10 +313,12 @@ <string name="keyguard_unlock" msgid="8031975796351361601">"Swayiphela phezulu ukuze uvule"</string> <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> - <!-- no translation found for udfps_accessibility_touch_hints:0 (1901953991150295169) --> - <!-- no translation found for udfps_accessibility_touch_hints:1 (5558598599408514296) --> - <!-- no translation found for udfps_accessibility_touch_hints:2 (4844142668312841831) --> - <!-- no translation found for udfps_accessibility_touch_hints:3 (5640521437931460125) --> + <string-array name="udfps_accessibility_touch_hints"> + <item msgid="1901953991150295169">"Yisa kwesokunxele"</item> + <item msgid="5558598599408514296">"Yehlisa"</item> + <item msgid="4844142668312841831">"Yisa kwesokudla"</item> + <item msgid="5640521437931460125">"Khuphula"</item> + </string-array> <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> @@ -841,8 +843,7 @@ <string name="media_output_dialog_launch_app_text" msgid="1527413319632586259">"Ukuze usakaze le seshini, sicela uvule i-app."</string> <string name="media_output_dialog_unknown_launch_app_name" msgid="1084899329829371336">"I-app engaziwa"</string> <string name="media_output_dialog_button_stop_casting" msgid="6581379537930199189">"Misa ukusakaza"</string> - <!-- no translation found for media_output_dialog_accessibility_title (4681741064190167888) --> - <skip /> + <string name="media_output_dialog_accessibility_title" msgid="4681741064190167888">"Amadivayisi atholakalayo okukhipha umsindo."</string> <string name="media_output_first_broadcast_title" msgid="6292237789860753022">"Indlela ukusakaza okusebenza ngayo"</string> <string name="media_output_broadcast" msgid="3555580945878071543">"Sakaza"</string> <string name="media_output_first_notify_broadcast_message" msgid="6353857724136398494">"Abantu abaseduze nawe abanamadivayisi e-Bluetooth ahambisanayo bangalalela imidiya oyisakazayo"</string> diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index c8fff39cc8e5..74e46933b784 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -77,9 +77,9 @@ internet,bt,flashlight,dnd,alarm,airplane,controls,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle,custom(com.android.permissioncontroller/.permission.service.SafetyCenterQsTileService) </string> - <!-- The component name of the Safety Quick Settings Tile --> - <string name="safety_quick_settings_tile" translatable="false"> - custom(com.android.permissioncontroller/.permission.service.SafetyCenterQsTileService) + <!-- The class path of the Safety Quick Settings Tile --> + <string name="safety_quick_settings_tile_class" translatable="false"> + com.android.permissioncontroller.permission.service.v33.SafetyCenterQsTileService </string> <!-- The minimum number of tiles to display in QuickSettings --> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index 8ee29d7037db..40664992ba59 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -295,7 +295,8 @@ <dimen name="overlay_border_width_neg">-4dp</dimen> <dimen name="clipboard_preview_size">@dimen/overlay_x_scale</dimen> - + <dimen name="clipboard_overlay_min_font">10sp</dimen> + <dimen name="clipboard_overlay_max_font">50sp</dimen> <!-- The width of the view containing navigation buttons --> <dimen name="navigation_key_width">70dp</dimen> diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index 7010a289df68..0fe744dcb03d 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -2485,7 +2485,7 @@ <!-- Text informing user where text being edited was copied from [CHAR LIMIT=NONE] --> <string name="clipboard_edit_source">From <xliff:g id="appName" example="Gmail">%1$s</xliff:g></string> <!-- Label for button to dismiss clipboard overlay [CHAR LIMIT=NONE] --> - <string name="clipboard_dismiss_description">Dismiss copy UI</string> + <string name="clipboard_dismiss_description">Dismiss copied text</string> <!-- Label for button to edit text that was copied to the clipboard [CHAR LIMIT=NONE] --> <string name="clipboard_edit_text_description">Edit copied text</string> <!-- Label for button to edit an image that was copied to the clipboard [CHAR LIMIT=NONE] --> @@ -2494,6 +2494,8 @@ <string name="clipboard_send_nearby_description">Send to nearby device</string> <!-- Text informing user that copied content is hidden [CHAR LIMIT=NONE] --> <string name="clipboard_text_hidden">Tap to view</string> + <!-- Asterisks replacing sensitive text content --> + <string name="clipboard_asterisks" translatable="false">••••••</string> <!-- Accessibility announcement informing user that text has been copied [CHAR LIMIT=NONE] --> <string name="clipboard_text_copied">Text copied</string> <!-- Accessibility announcement informing user that text has been copied [CHAR LIMIT=NONE] --> diff --git a/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java b/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java index 685c585a52be..088dfb41900e 100644 --- a/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java +++ b/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java @@ -159,6 +159,8 @@ public class ScreenDecorations extends CoreStartable implements Tunable , Dumpab @VisibleForTesting protected DisplayDecorationSupport mHwcScreenDecorationSupport; private Display.Mode mDisplayMode; + @VisibleForTesting + protected DisplayInfo mDisplayInfo = new DisplayInfo(); private CameraAvailabilityListener.CameraTransitionCallback mCameraTransitionCallback = new CameraAvailabilityListener.CameraTransitionCallback() { @@ -325,9 +327,10 @@ public class ScreenDecorations extends CoreStartable implements Tunable , Dumpab private void startOnScreenDecorationsThread() { mWindowManager = mContext.getSystemService(WindowManager.class); mDisplayManager = mContext.getSystemService(DisplayManager.class); - mRotation = mContext.getDisplay().getRotation(); - mDisplayMode = mContext.getDisplay().getMode(); - mDisplayUniqueId = mContext.getDisplay().getUniqueId(); + mContext.getDisplay().getDisplayInfo(mDisplayInfo); + mRotation = mDisplayInfo.rotation; + mDisplayMode = mDisplayInfo.getMode(); + mDisplayUniqueId = mDisplayInfo.uniqueId; mRoundedCornerResDelegate = new RoundedCornerResDelegate(mContext.getResources(), mDisplayUniqueId); mRoundedCornerResDelegate.setPhysicalPixelDisplaySizeRatio( @@ -351,8 +354,9 @@ public class ScreenDecorations extends CoreStartable implements Tunable , Dumpab @Override public void onDisplayChanged(int displayId) { - final int newRotation = mContext.getDisplay().getRotation(); - final Display.Mode newDisplayMode = mContext.getDisplay().getMode(); + mContext.getDisplay().getDisplayInfo(mDisplayInfo); + final int newRotation = mDisplayInfo.rotation; + final Display.Mode newDisplayMode = mDisplayInfo.getMode(); if ((mOverlays != null || mScreenDecorHwcWindow != null) && (mRotation != newRotation || displayModeChanged(mDisplayMode, newDisplayMode))) { @@ -398,7 +402,7 @@ public class ScreenDecorations extends CoreStartable implements Tunable , Dumpab } } - final String newUniqueId = mContext.getDisplay().getUniqueId(); + final String newUniqueId = mDisplayInfo.uniqueId; if (!Objects.equals(newUniqueId, mDisplayUniqueId)) { mDisplayUniqueId = newUniqueId; final DisplayDecorationSupport newScreenDecorationSupport = @@ -923,11 +927,10 @@ public class ScreenDecorations extends CoreStartable implements Tunable , Dumpab @VisibleForTesting float getPhysicalPixelDisplaySizeRatio() { final Point stableDisplaySize = mDisplayManager.getStableDisplaySize(); - final DisplayInfo displayInfo = new DisplayInfo(); - mContext.getDisplay().getDisplayInfo(displayInfo); + mContext.getDisplay().getDisplayInfo(mDisplayInfo); return DisplayUtils.getPhysicalPixelDisplaySizeRatio( - stableDisplaySize.x, stableDisplaySize.y, displayInfo.getNaturalWidth(), - displayInfo.getNaturalHeight()); + stableDisplaySize.x, stableDisplaySize.y, mDisplayInfo.getNaturalWidth(), + mDisplayInfo.getNaturalHeight()); } @Override @@ -1004,11 +1007,12 @@ public class ScreenDecorations extends CoreStartable implements Tunable , Dumpab "must call on " + mHandler.getLooper().getThread() + ", but was " + Thread.currentThread()); - int newRotation = mContext.getDisplay().getRotation(); + mContext.getDisplay().getDisplayInfo(mDisplayInfo); + final int newRotation = mDisplayInfo.rotation; if (mRotation != newRotation) { mDotViewController.setNewRotation(newRotation); } - final Display.Mode newMod = mContext.getDisplay().getMode(); + final Display.Mode newMod = mDisplayInfo.getMode(); if (!mPendingConfigChange && (newRotation != mRotation || displayModeChanged(mDisplayMode, newMod))) { @@ -1220,7 +1224,7 @@ public class ScreenDecorations extends CoreStartable implements Tunable , Dumpab @Override public void updateRotation(int rotation) { mRotation = rotation; - updateCutout(); + super.updateRotation(rotation); } @VisibleForTesting(otherwise = VisibleForTesting.PROTECTED) @@ -1431,9 +1435,10 @@ public class ScreenDecorations extends CoreStartable implements Tunable , Dumpab @Override public boolean onPreDraw() { - final int displayRotation = mContext.getDisplay().getRotation(); - final Display.Mode displayMode = mContext.getDisplay().getMode(); - if (displayRotation != mRotation && displayModeChanged(mDisplayMode, displayMode) + mContext.getDisplay().getDisplayInfo(mDisplayInfo); + final int displayRotation = mDisplayInfo.rotation; + final Display.Mode displayMode = mDisplayInfo.getMode(); + if ((displayRotation != mRotation || displayModeChanged(mDisplayMode, displayMode)) && !mPendingConfigChange) { if (DEBUG) { if (displayRotation != mRotation) { diff --git a/packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayController.java b/packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayController.java index 1203d1a1ec97..345f8a3c15d6 100644 --- a/packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayController.java +++ b/packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayController.java @@ -24,10 +24,13 @@ import static android.view.WindowManager.LayoutParams.TYPE_SCREENSHOT; import static com.android.internal.config.sysui.SystemUiDeviceConfigFlags.CLIPBOARD_OVERLAY_SHOW_ACTIONS; import static com.android.internal.config.sysui.SystemUiDeviceConfigFlags.CLIPBOARD_OVERLAY_SHOW_EDIT_BUTTON; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_ACTION_TAPPED; +import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_DISMISSED_OTHER; +import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_DISMISS_TAPPED; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_EDIT_TAPPED; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_REMOTE_COPY_TAPPED; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_SHARE_TAPPED; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_SWIPE_DISMISSED; +import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_TAP_OUTSIDE; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_TIMED_OUT; import static java.util.Objects.requireNonNull; @@ -51,8 +54,10 @@ import android.content.IntentFilter; import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; import android.content.res.Configuration; +import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.Insets; +import android.graphics.Paint; import android.graphics.Rect; import android.graphics.Region; import android.graphics.drawable.Icon; @@ -67,8 +72,10 @@ import android.util.DisplayMetrics; import android.util.Log; import android.util.MathUtils; import android.util.Size; +import android.util.TypedValue; import android.view.Display; import android.view.DisplayCutout; +import android.view.Gravity; import android.view.InputEvent; import android.view.InputEventReceiver; import android.view.InputMonitor; @@ -121,6 +128,7 @@ public class ClipboardOverlayController { private static final int CLIPBOARD_DEFAULT_TIMEOUT_MILLIS = 6000; private static final int SWIPE_PADDING_DP = 12; // extra padding around views to allow swipe + private static final int FONT_SEARCH_STEP_PX = 4; private final Context mContext; private final UiEventLogger mUiEventLogger; @@ -138,7 +146,7 @@ public class ClipboardOverlayController { private final View mClipboardPreview; private final ImageView mImagePreview; private final TextView mTextPreview; - private final TextView mHiddenTextPreview; + private final TextView mHiddenPreview; private final View mPreviewBorder; private final OverlayActionChip mEditChip; private final OverlayActionChip mShareChip; @@ -203,11 +211,14 @@ public class ClipboardOverlayController { mClipboardPreview = requireNonNull(mView.findViewById(R.id.clipboard_preview)); mImagePreview = requireNonNull(mView.findViewById(R.id.image_preview)); mTextPreview = requireNonNull(mView.findViewById(R.id.text_preview)); - mHiddenTextPreview = requireNonNull(mView.findViewById(R.id.hidden_text_preview)); + mHiddenPreview = requireNonNull(mView.findViewById(R.id.hidden_preview)); mPreviewBorder = requireNonNull(mView.findViewById(R.id.preview_border)); mEditChip = requireNonNull(mView.findViewById(R.id.edit_chip)); mShareChip = requireNonNull(mView.findViewById(R.id.share_chip)); mRemoteCopyChip = requireNonNull(mView.findViewById(R.id.remote_copy_chip)); + mEditChip.setAlpha(1); + mShareChip.setAlpha(1); + mRemoteCopyChip.setAlpha(1); mDismissButton = requireNonNull(mView.findViewById(R.id.dismiss_button)); mView.setCallbacks(new DraggableConstraintLayout.SwipeDismissCallbacks() { @@ -235,7 +246,10 @@ public class ClipboardOverlayController { return true; }); - mDismissButton.setOnClickListener(view -> animateOut()); + mDismissButton.setOnClickListener(view -> { + mUiEventLogger.log(CLIPBOARD_OVERLAY_DISMISS_TAPPED); + animateOut(); + }); mEditChip.setIcon(Icon.createWithResource(mContext, R.drawable.ic_screenshot_edit), true); mRemoteCopyChip.setIcon( @@ -276,6 +290,7 @@ public class ClipboardOverlayController { @Override public void onReceive(Context context, Intent intent) { if (ACTION_CLOSE_SYSTEM_DIALOGS.equals(intent.getAction())) { + mUiEventLogger.log(CLIPBOARD_OVERLAY_DISMISSED_OTHER); animateOut(); } } @@ -287,6 +302,7 @@ public class ClipboardOverlayController { @Override public void onReceive(Context context, Intent intent) { if (SCREENSHOT_ACTION.equals(intent.getAction())) { + mUiEventLogger.log(CLIPBOARD_OVERLAY_DISMISSED_OTHER); animateOut(); } } @@ -328,7 +344,7 @@ public class ClipboardOverlayController { } if (isSensitive) { showEditableText( - mContext.getResources().getString(R.string.clipboard_text_hidden), true); + mContext.getResources().getString(R.string.clipboard_asterisks), true); } else { showEditableText(item.getText(), false); } @@ -352,12 +368,12 @@ public class ClipboardOverlayController { PackageManager packageManager = mContext.getPackageManager(); if (remoteCopyIntent != null && packageManager.resolveActivity( remoteCopyIntent, PackageManager.ResolveInfoFlags.of(0)) != null) { + mRemoteCopyChip.setVisibility(View.VISIBLE); mRemoteCopyChip.setOnClickListener((v) -> { mUiEventLogger.log(CLIPBOARD_OVERLAY_REMOTE_COPY_TAPPED); mContext.startActivity(remoteCopyIntent); animateOut(); }); - mRemoteCopyChip.setAlpha(1f); mActionContainerBackground.setVisibility(View.VISIBLE); } else { mRemoteCopyChip.setVisibility(View.GONE); @@ -403,7 +419,7 @@ public class ClipboardOverlayController { private void showShareChip(ClipData clip) { mShareChip.setVisibility(View.VISIBLE); - mShareChip.setAlpha(1f); + mActionContainerBackground.setVisibility(View.VISIBLE); mShareChip.setOnClickListener((v) -> shareContent(clip)); } @@ -450,6 +466,7 @@ public class ClipboardOverlayController { touchRegion.op(tmpRect, Region.Op.UNION); if (!touchRegion.contains( (int) motionEvent.getRawX(), (int) motionEvent.getRawY())) { + mUiEventLogger.log(CLIPBOARD_OVERLAY_TAP_OUTSIDE); animateOut(); } } @@ -500,25 +517,73 @@ public class ClipboardOverlayController { private void showSinglePreview(View v) { mTextPreview.setVisibility(View.GONE); mImagePreview.setVisibility(View.GONE); - mHiddenTextPreview.setVisibility(View.GONE); + mHiddenPreview.setVisibility(View.GONE); v.setVisibility(View.VISIBLE); } private void showTextPreview(CharSequence text, TextView textView) { showSinglePreview(textView); - textView.setText(text.subSequence(0, Math.min(500, text.length()))); + final CharSequence truncatedText = text.subSequence(0, Math.min(500, text.length())); + textView.setText(truncatedText); + updateTextSize(truncatedText, textView); + + textView.addOnLayoutChangeListener( + (v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> { + if (right - left != oldRight - oldLeft) { + updateTextSize(truncatedText, textView); + } + }); mEditChip.setVisibility(View.GONE); } + private void updateTextSize(CharSequence text, TextView textView) { + Paint paint = new Paint(textView.getPaint()); + Resources res = textView.getResources(); + float minFontSize = res.getDimensionPixelSize(R.dimen.clipboard_overlay_min_font); + float maxFontSize = res.getDimensionPixelSize(R.dimen.clipboard_overlay_max_font); + if (isOneWord(text) && fitsInView(text, textView, paint, minFontSize)) { + // If the text is a single word and would fit within the TextView at the min font size, + // find the biggest font size that will fit. + float fontSizePx = minFontSize; + while (fontSizePx + FONT_SEARCH_STEP_PX < maxFontSize + && fitsInView(text, textView, paint, fontSizePx + FONT_SEARCH_STEP_PX)) { + fontSizePx += FONT_SEARCH_STEP_PX; + } + // Need to turn off autosizing, otherwise setTextSize is a no-op. + textView.setAutoSizeTextTypeWithDefaults(TextView.AUTO_SIZE_TEXT_TYPE_NONE); + // It's possible to hit the max font size and not fill the width, so centering + // horizontally looks better in this case. + textView.setGravity(Gravity.CENTER); + textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, (int) fontSizePx); + } else { + // Otherwise just stick with autosize. + textView.setAutoSizeTextTypeUniformWithConfiguration((int) minFontSize, + (int) maxFontSize, FONT_SEARCH_STEP_PX, TypedValue.COMPLEX_UNIT_PX); + textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.START); + } + } + + private static boolean fitsInView(CharSequence text, TextView textView, Paint paint, + float fontSizePx) { + paint.setTextSize(fontSizePx); + float size = paint.measureText(text.toString()); + float availableWidth = textView.getWidth() - textView.getPaddingLeft() + - textView.getPaddingRight(); + return size < availableWidth; + } + + private static boolean isOneWord(CharSequence text) { + return text.toString().split("\\s+", 2).length == 1; + } + private void showEditableText(CharSequence text, boolean hidden) { - TextView textView = hidden ? mHiddenTextPreview : mTextPreview; + TextView textView = hidden ? mHiddenPreview : mTextPreview; showTextPreview(text, textView); View.OnClickListener listener = v -> editText(); if (DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI, CLIPBOARD_OVERLAY_SHOW_EDIT_BUTTON, false)) { mEditChip.setVisibility(View.VISIBLE); mActionContainerBackground.setVisibility(View.VISIBLE); - mEditChip.setAlpha(1f); mEditChip.setContentDescription( mContext.getString(R.string.clipboard_edit_text_description)); mEditChip.setOnClickListener(listener); @@ -532,9 +597,10 @@ public class ClipboardOverlayController { String mimeType = resolver.getType(uri); boolean isEditableImage = mimeType != null && mimeType.startsWith("image"); if (isSensitive) { - showSinglePreview(mHiddenTextPreview); + mHiddenPreview.setText(mContext.getString(R.string.clipboard_text_hidden)); + showSinglePreview(mHiddenPreview); if (isEditableImage) { - mHiddenTextPreview.setOnClickListener(listener); + mHiddenPreview.setOnClickListener(listener); } } else if (isEditableImage) { // if the MIMEtype is image, try to load try { @@ -560,7 +626,6 @@ public class ClipboardOverlayController { if (isEditableImage && DeviceConfig.getBoolean( DeviceConfig.NAMESPACE_SYSTEMUI, CLIPBOARD_OVERLAY_SHOW_EDIT_BUTTON, false)) { mEditChip.setVisibility(View.VISIBLE); - mEditChip.setAlpha(1f); mActionContainerBackground.setVisibility(View.VISIBLE); mEditChip.setOnClickListener(listener); mEditChip.setContentDescription( @@ -764,6 +829,8 @@ public class ClipboardOverlayController { mView.setAlpha(0); mActionContainerBackground.setVisibility(View.GONE); mShareChip.setVisibility(View.GONE); + mEditChip.setVisibility(View.GONE); + mRemoteCopyChip.setVisibility(View.GONE); resetActionChips(); mTimeoutHandler.cancelTimeout(); } diff --git a/packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayEvent.java b/packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayEvent.java index 90739790b1c1..a0b2ab99e240 100644 --- a/packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayEvent.java +++ b/packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayEvent.java @@ -27,7 +27,7 @@ public enum ClipboardOverlayEvent implements UiEventLogger.UiEventEnum { @UiEvent(doc = "clipboard edit tapped") CLIPBOARD_OVERLAY_EDIT_TAPPED(951), @UiEvent(doc = "clipboard share tapped") - CLIPBOARD_OVERLAY_SHARE_TAPPED(RESERVE_NEW_UI_EVENT_ID), + CLIPBOARD_OVERLAY_SHARE_TAPPED(1067), @UiEvent(doc = "clipboard action tapped") CLIPBOARD_OVERLAY_ACTION_TAPPED(952), @UiEvent(doc = "clipboard remote copy tapped") @@ -37,7 +37,11 @@ public enum ClipboardOverlayEvent implements UiEventLogger.UiEventEnum { @UiEvent(doc = "clipboard overlay dismiss tapped") CLIPBOARD_OVERLAY_DISMISS_TAPPED(955), @UiEvent(doc = "clipboard overlay swipe dismissed") - CLIPBOARD_OVERLAY_SWIPE_DISMISSED(956); + CLIPBOARD_OVERLAY_SWIPE_DISMISSED(956), + @UiEvent(doc = "clipboard overlay tapped outside") + CLIPBOARD_OVERLAY_TAP_OUTSIDE(1077), + @UiEvent(doc = "clipboard overlay dismissed, miscellaneous reason") + CLIPBOARD_OVERLAY_DISMISSED_OTHER(1078); private final int mId; diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt index 44879aa9e85b..b8a00133c728 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt @@ -261,7 +261,7 @@ class ControlActionCoordinatorImpl @Inject constructor( taskViewFactory.get().create(context, uiExecutor, { dialog = DetailDialog( activityContext, broadcastSender, - it, pendingIntent, cvh + it, pendingIntent, cvh, keyguardStateController, activityStarter ).also { it.setOnDismissListener { _ -> dialog = null } it.show() diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/DetailDialog.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/DetailDialog.kt index 80589a2711cc..edd1c6891946 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/ui/DetailDialog.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/ui/DetailDialog.kt @@ -34,6 +34,8 @@ import android.widget.ImageView import com.android.internal.policy.ScreenDecorationsUtils import com.android.systemui.R import com.android.systemui.broadcast.BroadcastSender +import com.android.systemui.plugins.ActivityStarter +import com.android.systemui.statusbar.policy.KeyguardStateController import com.android.wm.shell.TaskView /** @@ -46,7 +48,9 @@ class DetailDialog( val broadcastSender: BroadcastSender, val taskView: TaskView, val pendingIntent: PendingIntent, - val cvh: ControlViewHolder + val cvh: ControlViewHolder, + val keyguardStateController: KeyguardStateController, + val activityStarter: ActivityStarter ) : Dialog( activityContext, R.style.Theme_SystemUI_Dialog_Control_DetailPanel @@ -145,12 +149,25 @@ class DetailDialog( requireViewById<ImageView>(R.id.control_detail_open_in_app).apply { setOnClickListener { v: View -> - // Remove the task explicitly, since onRelease() callback will be executed after - // startActivity() below is called. removeDetailTask() dismiss() - broadcastSender.closeSystemDialogs() - pendingIntent.send() + + val action = ActivityStarter.OnDismissAction { + // Remove the task explicitly, since onRelease() callback will be executed after + // startActivity() below is called. + broadcastSender.closeSystemDialogs() + pendingIntent.send() + false + } + if (keyguardStateController.isUnlocked()) { + action.onDismiss() + } else { + activityStarter.dismissKeyguardThenExecute( + action, + null /* cancel */, + true /* afterKeyguardGone */ + ) + } } } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardUnlockAnimationController.kt b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardUnlockAnimationController.kt index 6dfc5e192abb..d63403033723 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardUnlockAnimationController.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardUnlockAnimationController.kt @@ -409,7 +409,19 @@ class KeyguardUnlockAnimationController @Inject constructor( if (willUnlockWithSmartspaceTransition) { lockscreenSmartspaceBounds = Rect().apply { lockscreenSmartspace!!.getBoundsOnScreen(this) + + // The smartspace container on the lockscreen has left and top padding to align it + // with other lockscreen content. This padding is inside the bounds on screen, so + // add it to those bounds so that the padding-less launcher smartspace is properly + // aligned. offset(lockscreenSmartspace!!.paddingLeft, lockscreenSmartspace!!.paddingTop) + + // Also offset by the current card's top padding, if it has any. This allows us to + // align the tops of the lockscreen/launcher smartspace cards. Some cards, such as + // the three-line date/weather/alarm card, only have three lines on lockscreen but + // two on launcher. + offset(0, (lockscreenSmartspace + as? BcSmartspaceDataPlugin.SmartspaceView)?.currentCardTopPadding ?: 0) } } diff --git a/packages/SystemUI/src/com/android/systemui/media/ColorSchemeTransition.kt b/packages/SystemUI/src/com/android/systemui/media/ColorSchemeTransition.kt index 6e8423801a5d..9b0d43272fd3 100644 --- a/packages/SystemUI/src/com/android/systemui/media/ColorSchemeTransition.kt +++ b/packages/SystemUI/src/com/android/systemui/media/ColorSchemeTransition.kt @@ -24,6 +24,8 @@ import android.content.res.ColorStateList import android.graphics.Color import android.graphics.drawable.GradientDrawable import android.graphics.drawable.RippleDrawable +import android.content.res.Configuration +import android.content.res.Configuration.UI_MODE_NIGHT_YES import com.android.internal.R import com.android.internal.annotations.VisibleForTesting import com.android.settingslib.Utils @@ -124,7 +126,6 @@ class ColorSchemeTransition internal constructor( val accentColorList = ColorStateList.valueOf(accentPrimary) mediaViewHolder.actionPlayPause.backgroundTintList = accentColorList mediaViewHolder.gutsViewHolder.setAccentPrimaryColor(accentPrimary) - mediaViewHolder.seamlessButton.backgroundTintList = accentColorList } val accentSecondary = animatingColorTransitionFactory( @@ -138,6 +139,19 @@ class ColorSchemeTransition internal constructor( } } + val colorSeamless = animatingColorTransitionFactory( + loadDefaultColor(R.attr.textColorPrimary), + { colorScheme: ColorScheme -> + // A1-100 dark in dark theme, A1-200 in light theme + if (context.resources.configuration.uiMode and + Configuration.UI_MODE_NIGHT_MASK == UI_MODE_NIGHT_YES) + colorScheme.accent1[2] + else colorScheme.accent1[3] + }, { seamlessColor: Int -> + val accentColorList = ColorStateList.valueOf(seamlessColor) + mediaViewHolder.seamlessButton.backgroundTintList = accentColorList + }) + val textPrimary = animatingColorTransitionFactory( loadDefaultColor(R.attr.textColorPrimary), ::textPrimaryFromScheme @@ -185,6 +199,7 @@ class ColorSchemeTransition internal constructor( val colorTransitions = arrayOf( surfaceColor, + colorSeamless, accentPrimary, accentSecondary, textPrimary, diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt b/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt index 0f8687183e94..e9caaaf54422 100644 --- a/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt +++ b/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt @@ -150,12 +150,13 @@ class MediaCarouselController @Inject constructor( } private val configListener = object : ConfigurationController.ConfigurationListener { override fun onDensityOrFontScaleChanged() { - recreatePlayers() + // System font changes should only happen when UMO is offscreen or a flicker may occur + updatePlayers(recreateMedia = true) inflateSettingsButton() } override fun onThemeChanged() { - recreatePlayers() + updatePlayers(recreateMedia = false) inflateSettingsButton() } @@ -165,7 +166,7 @@ class MediaCarouselController @Inject constructor( } override fun onUiModeChanged() { - recreatePlayers() + updatePlayers(recreateMedia = false) inflateSettingsButton() } } @@ -539,7 +540,7 @@ class MediaCarouselController @Inject constructor( } } - private fun recreatePlayers() { + private fun updatePlayers(recreateMedia: Boolean) { pageIndicator.tintList = ColorStateList.valueOf( context.getColor(R.color.media_paging_indicator) ) @@ -554,7 +555,9 @@ class MediaCarouselController @Inject constructor( } } else { val isSsReactivated = MediaPlayerData.isSsReactivated(key) - removePlayer(key, dismissMediaData = false, dismissRecommendation = false) + if (recreateMedia) { + removePlayer(key, dismissMediaData = false, dismissRecommendation = false) + } addOrUpdatePlayer( key = key, oldKey = null, data = data, isSsReactivated = isSsReactivated) } @@ -945,6 +948,7 @@ internal object MediaPlayerData { .thenByDescending { shouldPrioritizeSs == it.isSsMediaRec } .thenByDescending { !it.data.resumption } .thenByDescending { it.data.playbackLocation != MediaData.PLAYBACK_CAST_REMOTE } + .thenByDescending { it.data.lastActive } .thenByDescending { it.updateTime } .thenByDescending { it.data.notificationKey } diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputBaseDialog.java b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputBaseDialog.java index fa6db01275b0..9b964a5cc09f 100644 --- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputBaseDialog.java +++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputBaseDialog.java @@ -314,19 +314,19 @@ public abstract class MediaOutputBaseDialog extends SystemUIDialog implements mHeaderIcon.setImageResource(iconRes); } else if (iconCompat != null) { Icon icon = iconCompat.toIcon(mContext); - Configuration config = mContext.getResources().getConfiguration(); - int currentNightMode = config.uiMode & Configuration.UI_MODE_NIGHT_MASK; - boolean isDarkThemeOn = currentNightMode == Configuration.UI_MODE_NIGHT_YES; - WallpaperColors wallpaperColors = WallpaperColors.fromBitmap(icon.getBitmap()); - colorSetUpdated = !wallpaperColors.equals(mWallpaperColors); - if (colorSetUpdated) { - mAdapter.updateColorScheme(wallpaperColors, isDarkThemeOn); - ColorFilter buttonColorFilter = new PorterDuffColorFilter( - mAdapter.getController().getColorButtonBackground(), - PorterDuff.Mode.SRC_IN); - mDoneButton.getBackground().setColorFilter(buttonColorFilter); - mStopButton.getBackground().setColorFilter(buttonColorFilter); - mDoneButton.setTextColor(mAdapter.getController().getColorPositiveButtonText()); + if (icon.getType() != Icon.TYPE_BITMAP && icon.getType() != Icon.TYPE_ADAPTIVE_BITMAP) { + // icon doesn't support getBitmap, use default value for color scheme + updateButtonBackgroundColorFilter(); + } else { + Configuration config = mContext.getResources().getConfiguration(); + int currentNightMode = config.uiMode & Configuration.UI_MODE_NIGHT_MASK; + boolean isDarkThemeOn = currentNightMode == Configuration.UI_MODE_NIGHT_YES; + WallpaperColors wallpaperColors = WallpaperColors.fromBitmap(icon.getBitmap()); + colorSetUpdated = !wallpaperColors.equals(mWallpaperColors); + if (colorSetUpdated) { + mAdapter.updateColorScheme(wallpaperColors, isDarkThemeOn); + updateButtonBackgroundColorFilter(); + } } mHeaderIcon.setVisibility(View.VISIBLE); mHeaderIcon.setImageIcon(icon); @@ -368,6 +368,15 @@ public abstract class MediaOutputBaseDialog extends SystemUIDialog implements mStopButton.setOnClickListener(v -> onStopButtonClick()); } + private void updateButtonBackgroundColorFilter() { + ColorFilter buttonColorFilter = new PorterDuffColorFilter( + mAdapter.getController().getColorButtonBackground(), + PorterDuff.Mode.SRC_IN); + mDoneButton.getBackground().setColorFilter(buttonColorFilter); + mStopButton.getBackground().setColorFilter(buttonColorFilter); + mDoneButton.setTextColor(mAdapter.getController().getColorPositiveButtonText()); + } + private Drawable resizeDrawable(Drawable drawable, int size) { if (drawable == null) { return null; diff --git a/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java b/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java index 429f2df6b50c..731e17742538 100644 --- a/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java +++ b/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java @@ -292,10 +292,8 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI { return; } - final int warningLevel = mContext.getResources().getInteger( - com.android.internal.R.integer.config_lowBatteryWarningLevel); final String percentage = NumberFormat.getPercentInstance() - .format((double) warningLevel / 100.0); + .format((double) mCurrentBatterySnapshot.getBatteryLevel() / 100.0); final String title = mContext.getString(R.string.battery_low_title); final String contentText = mContext.getString( R.string.battery_low_description, percentage); @@ -309,7 +307,6 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI { .setContentText(contentText) .setContentTitle(title) .setOnlyAlertOnce(true) - .setOngoing(true) .setStyle(new Notification.BigTextStyle().bigText(contentText)) .setVisibility(Notification.VISIBILITY_PUBLIC); if (hasBatterySettings()) { @@ -340,8 +337,7 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI { } private boolean showSevereLowBatteryDialog() { - final boolean isSevereState = !mCurrentBatterySnapshot.isHybrid() || mBucket < -1; - return isSevereState && mUseSevereDialog; + return mBucket < -1 && mUseSevereDialog; } /** diff --git a/packages/SystemUI/src/com/android/systemui/power/PowerUI.java b/packages/SystemUI/src/com/android/systemui/power/PowerUI.java index dcdd784bd2a1..67dae9e7a0ea 100644 --- a/packages/SystemUI/src/com/android/systemui/power/PowerUI.java +++ b/packages/SystemUI/src/com/android/systemui/power/PowerUI.java @@ -359,11 +359,7 @@ public class PowerUI extends CoreStartable implements CommandQueue.Callbacks { } mWarnings.updateSnapshot(mCurrentBatteryStateSnapshot); - if (mCurrentBatteryStateSnapshot.isHybrid()) { - maybeShowHybridWarning(mCurrentBatteryStateSnapshot, mLastBatteryStateSnapshot); - } else { - maybeShowBatteryWarning(mCurrentBatteryStateSnapshot, mLastBatteryStateSnapshot); - } + maybeShowHybridWarning(mCurrentBatteryStateSnapshot, mLastBatteryStateSnapshot); } // updates the time estimate if we don't have one or battery level has changed. diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java index 90a3d4586fd3..f1fdae7db482 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java @@ -451,11 +451,11 @@ public class InternetDialogController implements AccessPointController.AccessPoi final SignalStrength strength = mTelephonyManager.getSignalStrength(); int level = (strength == null) ? 0 : strength.getLevel(); int numLevels = SignalStrength.NUM_SIGNAL_STRENGTH_BINS; - if ((mSubscriptionManager != null && shouldInflateSignalStrength(mDefaultDataSubId)) - || isCarrierNetworkActive) { - level = isCarrierNetworkActive - ? SignalStrength.NUM_SIGNAL_STRENGTH_BINS - : (level + 1); + if (isCarrierNetworkActive) { + level = getCarrierNetworkLevel(); + numLevels = WifiEntry.WIFI_LEVEL_MAX + 1; + } else if (mSubscriptionManager != null && shouldInflateSignalStrength(mDefaultDataSubId)) { + level += 1; numLevels += 1; } return getSignalStrengthIcon(mContext, level, numLevels, NO_CELL_DATA_TYPE_ICON, @@ -689,6 +689,17 @@ public class InternetDialogController implements AccessPointController.AccessPoi return mergedCarrierEntry != null && mergedCarrierEntry.isDefaultNetwork(); } + int getCarrierNetworkLevel() { + final MergedCarrierEntry mergedCarrierEntry = + mAccessPointController.getMergedCarrierEntry(); + if (mergedCarrierEntry == null) return WifiEntry.WIFI_LEVEL_MIN; + + int level = mergedCarrierEntry.getLevel(); + // To avoid icons not found with WIFI_LEVEL_UNREACHABLE(-1), use WIFI_LEVEL_MIN(0) instead. + if (level < WifiEntry.WIFI_LEVEL_MIN) level = WifiEntry.WIFI_LEVEL_MIN; + return level; + } + @WorkerThread void setMergedCarrierWifiEnabledIfNeed(int subId, boolean enabled) { // If the Carrier Provisions Wi-Fi Merged Networks enabled, do not set the merged carrier diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java index 489f881c36cf..8ce422ac93f8 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java @@ -27,6 +27,7 @@ import static com.android.systemui.screenshot.LogConfig.DEBUG_INPUT; import static com.android.systemui.screenshot.LogConfig.DEBUG_UI; import static com.android.systemui.screenshot.LogConfig.DEBUG_WINDOW; import static com.android.systemui.screenshot.LogConfig.logTag; +import static com.android.systemui.screenshot.ScreenshotEvent.SCREENSHOT_DISMISSED_OTHER; import static java.util.Objects.requireNonNull; @@ -349,6 +350,7 @@ public class ScreenshotController { @Override public void onReceive(Context context, Intent intent) { if (ClipboardOverlayController.COPY_OVERLAY_ACTION.equals(intent.getAction())) { + mUiEventLogger.log(SCREENSHOT_DISMISSED_OTHER); dismissScreenshot(false); } } diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotEvent.java b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotEvent.java index d49ff9311718..8b5a24c0e2ff 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotEvent.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotEvent.java @@ -62,6 +62,8 @@ public enum ScreenshotEvent implements UiEventLogger.UiEventEnum { SCREENSHOT_EXPLICIT_DISMISSAL(311), @UiEvent(doc = "screenshot swiped to dismiss") SCREENSHOT_SWIPE_DISMISSED(656), + @UiEvent(doc = "screenshot dismissed, miscellaneous reason") + SCREENSHOT_DISMISSED_OTHER(1076), @UiEvent(doc = "screenshot reentered for new screenshot") SCREENSHOT_REENTERED(640), @UiEvent(doc = "Long screenshot button was shown to the user") diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java b/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java index 2621f6da7afa..90e7631b4b03 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java @@ -25,6 +25,7 @@ import static com.android.systemui.screenshot.LogConfig.DEBUG_CALLBACK; import static com.android.systemui.screenshot.LogConfig.DEBUG_DISMISS; import static com.android.systemui.screenshot.LogConfig.DEBUG_SERVICE; import static com.android.systemui.screenshot.LogConfig.logTag; +import static com.android.systemui.screenshot.ScreenshotEvent.SCREENSHOT_DISMISSED_OTHER; import android.annotation.MainThread; import android.app.Service; @@ -83,6 +84,7 @@ public class TakeScreenshotService extends Service { Log.d(TAG, "Received ACTION_CLOSE_SYSTEM_DIALOGS"); } if (!mScreenshot.isPendingSharedTransition()) { + mUiEventLogger.log(SCREENSHOT_DISMISSED_OTHER); mScreenshot.dismissScreenshot(false); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/RemoteInputController.java b/packages/SystemUI/src/com/android/systemui/statusbar/RemoteInputController.java index 31ab6bdf0240..f44f59805889 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/RemoteInputController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/RemoteInputController.java @@ -114,14 +114,17 @@ public class RemoteInputController { public void addRemoteInput(NotificationEntry entry, Object token) { Objects.requireNonNull(entry); Objects.requireNonNull(token); - + boolean isActive = isRemoteInputActive(entry); boolean found = pruneWeakThenRemoveAndContains( entry /* contains */, null /* remove */, token /* removeToken */); if (!found) { mOpen.add(new Pair<>(new WeakReference<>(entry), token)); } - - apply(entry); + // If the remote input focus is being transferred between different notification layouts + // (ex: Expanded->Contracted), then we don't want to re-apply. + if (!isActive) { + apply(entry); + } } /** diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableView.java index 929dda60b1b7..d71e76801b3b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableView.java @@ -422,7 +422,7 @@ public abstract class ExpandableView extends FrameLayout implements Dumpable { outRect.top += getTop() + getTranslationY(); } outRect.bottom = outRect.top + getActualHeight(); - outRect.top += getClipTopAmount(); + outRect.top += Math.max(0, getClipTopAmount()); } public boolean isSummaryWithChildren() { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java index dad06d91dea1..34fce4c29c25 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java @@ -855,7 +855,7 @@ public class NotificationChildrenContainer extends ViewGroup for (int childIdx = 0; childIdx < count; childIdx++) { ExpandableNotificationRow slidingChild = mAttachedChildren.get(childIdx); float childTop = slidingChild.getTranslationY(); - float top = childTop + slidingChild.getClipTopAmount(); + float top = childTop + Math.max(0, slidingChild.getClipTopAmount()); float bottom = childTop + slidingChild.getActualHeight(); if (y >= top && y <= bottom) { return slidingChild; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculator.kt index 9ea36d540f4d..d05c3385e982 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculator.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculator.kt @@ -28,14 +28,15 @@ import com.android.systemui.statusbar.StatusBarState.KEYGUARD import com.android.systemui.statusbar.SysuiStatusBarStateController import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow import com.android.systemui.statusbar.notification.row.ExpandableView +import com.android.systemui.util.Compile import com.android.systemui.util.children import javax.inject.Inject import kotlin.math.max import kotlin.math.min import kotlin.properties.Delegates.notNull -private const val TAG = "NotificationStackSizeCalculator" -private const val DEBUG = false +private const val TAG = "NotifStackSizeCalc" +private val DEBUG = Compile.IS_DEBUG && Log.isLoggable(TAG, Log.DEBUG) /** Calculates number of notifications to display and the height of the notification stack. */ @SysUISingleton @@ -229,7 +230,7 @@ constructor( return true } - private fun log(s: () -> String) { + private inline fun log(s: () -> String) { if (DEBUG) { Log.d(TAG, s()) } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/AutoTileManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/AutoTileManager.java index 61780cd53bb2..8782be50794f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/AutoTileManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/AutoTileManager.java @@ -17,6 +17,7 @@ package com.android.systemui.statusbar.phone; import static com.android.systemui.qs.dagger.QSFlagsModule.RBC_AVAILABLE; import android.annotation.Nullable; +import android.content.ComponentName; import android.content.Context; import android.content.res.Resources; import android.hardware.display.ColorDisplayManager; @@ -118,13 +119,18 @@ public class AutoTileManager implements UserAwareController { mDeviceControlsController = deviceControlsController; mWalletController = walletController; mSafetyController = safetyController; - String safetySpecRes; + String safetySpecClass; try { - safetySpecRes = context.getResources().getString(R.string.safety_quick_settings_tile); + safetySpecClass = + context.getResources().getString(R.string.safety_quick_settings_tile_class); + if (safetySpecClass.length() == 0) { + safetySpecClass = null; + } } catch (Resources.NotFoundException | NullPointerException e) { - safetySpecRes = null; + safetySpecClass = null; } - mSafetySpec = safetySpecRes; + mSafetySpec = safetySpecClass != null ? CustomTile.toSpec(new ComponentName(mContext + .getPackageManager().getPermissionControllerPackageName(), safetySpecClass)) : null; } /** 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 62bb85ab029b..81270c55411f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java @@ -4712,6 +4712,11 @@ public class NotificationPanelViewController extends PanelViewController { duration = StackStateAnimator.ANIMATION_DURATION_STANDARD; } mKeyguardStatusBarViewController.animateKeyguardStatusBarOut(startDelay, duration); + if (mSplitShadeEnabled) { + // temporary workaround for QS height not being updated during lockscreen to + // shade transition + setQsExpanded(true); + } updateQSMinHeight(); } else if (oldState == StatusBarState.SHADE_LOCKED && statusBarState == KEYGUARD) { 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 0e77866bef1d..5e7dc115d7f9 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java @@ -906,9 +906,19 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump } if (mQsExpansion > 0) { behindAlpha = MathUtils.lerp(behindAlpha, mDefaultScrimAlpha, mQsExpansion); + float tintProgress = mQsExpansion; + if (mStatusBarKeyguardViewManager.isBouncerInTransit()) { + // this is case of - on lockscreen - going from expanded QS to bouncer. + // Because mQsExpansion is already interpolated and transition between tints + // is too slow, we want to speed it up and make it more aligned to bouncer + // showing up progress. This issue is visible on large screens, both portrait and + // split shade because then transition is between very different tints + tintProgress = BouncerPanelExpansionCalculator + .showBouncerProgress(mPanelExpansionFraction); + } int stateTint = mClipsQsScrim ? ScrimState.SHADE_LOCKED.getNotifTint() : ScrimState.SHADE_LOCKED.getBehindTint(); - behindTint = ColorUtils.blendARGB(behindTint, stateTint, mQsExpansion); + behindTint = ColorUtils.blendARGB(behindTint, stateTint, tintProgress); } // If the keyguard is going away, we should not be opaque. diff --git a/packages/SystemUI/tests/src/com/android/systemui/ScreenDecorationsTest.java b/packages/SystemUI/tests/src/com/android/systemui/ScreenDecorationsTest.java index 57253af57f0e..92e49473927f 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/ScreenDecorationsTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/ScreenDecorationsTest.java @@ -63,6 +63,7 @@ import android.util.RotationUtils; import android.util.Size; import android.view.Display; import android.view.DisplayCutout; +import android.view.DisplayInfo; import android.view.Surface; import android.view.View; import android.view.ViewGroup; @@ -136,6 +137,8 @@ public class ScreenDecorationsTest extends SysuiTestCase { private CornerDecorProvider mPrivacyDotBottomRightDecorProvider; @Mock private Display.Mode mDisplayMode; + @Mock + private DisplayInfo mDisplayInfo; private PrivacyDotViewController.ShowingListener mPrivacyDotShowingListener; @Before @@ -159,7 +162,7 @@ public class ScreenDecorationsTest extends SysuiTestCase { when(mContext.getDisplay()).thenReturn(mDisplay); // Not support hwc layer by default doReturn(null).when(mDisplay).getDisplayDecorationSupport(); - doReturn(mDisplayMode).when(mDisplay).getMode(); + doReturn(mDisplayMode).when(mDisplayInfo).getMode(); when(mMockTypedArray.length()).thenReturn(0); mPrivacyDotTopLeftDecorProvider = spy(new PrivacyDotCornerDecorProviderImpl( @@ -214,6 +217,7 @@ public class ScreenDecorationsTest extends SysuiTestCase { mExecutor.runAllReady(); } }); + mScreenDecorations.mDisplayInfo = mDisplayInfo; doReturn(1f).when(mScreenDecorations).getPhysicalPixelDisplaySizeRatio(); reset(mTunerService); @@ -977,7 +981,7 @@ public class ScreenDecorationsTest extends SysuiTestCase { getTestsDrawable(com.android.systemui.tests.R.drawable.rounded4px) /* roundedBottomDrawable */, 0 /* roundedPadding */, false /* fillCutout */, true /* privacyDot */); - doReturn(Surface.ROTATION_0).when(mDisplay).getRotation(); + mDisplayInfo.rotation = Surface.ROTATION_0; mScreenDecorations.start(); @@ -991,7 +995,7 @@ public class ScreenDecorationsTest extends SysuiTestCase { getTestsDrawable(com.android.systemui.tests.R.drawable.rounded5px) /* roundedBottomDrawable */, 0 /* roundedPadding */, false /* fillCutout */, true /* privacyDot */); - doReturn(Surface.ROTATION_270).when(mDisplay).getRotation(); + mDisplayInfo.rotation = Surface.ROTATION_270; mScreenDecorations.onConfigurationChanged(null); @@ -1274,7 +1278,6 @@ public class ScreenDecorationsTest extends SysuiTestCase { final ScreenDecorHwcLayer hwcLayer = mScreenDecorations.mScreenDecorHwcLayer; spyOn(hwcLayer); doReturn(mDisplay).when(hwcLayer).getDisplay(); - doReturn(mDisplayMode).when(mDisplay).getMode(); mScreenDecorations.mDisplayListener.onDisplayChanged(1); @@ -1298,7 +1301,6 @@ public class ScreenDecorationsTest extends SysuiTestCase { mScreenDecorations.mCutoutViews[BOUNDS_POSITION_TOP]; spyOn(cutoutView); doReturn(mDisplay).when(cutoutView).getDisplay(); - doReturn(mDisplayMode).when(mDisplay).getMode(); mScreenDecorations.mDisplayListener.onDisplayChanged(1); diff --git a/packages/SystemUI/tests/src/com/android/systemui/controls/ui/DetailDialogTest.kt b/packages/SystemUI/tests/src/com/android/systemui/controls/ui/DetailDialogTest.kt index 0166fa25d526..6a6a65a601fb 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/controls/ui/DetailDialogTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/controls/ui/DetailDialogTest.kt @@ -22,6 +22,8 @@ import android.testing.TestableLooper import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.broadcast.BroadcastSender +import com.android.systemui.plugins.ActivityStarter +import com.android.systemui.statusbar.policy.KeyguardStateController import com.android.wm.shell.TaskView import org.junit.Before import org.junit.Test @@ -45,6 +47,10 @@ class DetailDialogTest : SysuiTestCase() { private lateinit var controlViewHolder: ControlViewHolder @Mock private lateinit var pendingIntent: PendingIntent + @Mock + private lateinit var keyguardStateController: KeyguardStateController + @Mock + private lateinit var activityStarter: ActivityStarter @Before fun setUp() { @@ -69,7 +75,9 @@ class DetailDialogTest : SysuiTestCase() { broadcastSender, taskView, pendingIntent, - controlViewHolder + controlViewHolder, + keyguardStateController, + activityStarter ) } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/ColorSchemeTransitionTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/ColorSchemeTransitionTest.kt index ea841b7fd7a1..8fd2d2f81dce 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/media/ColorSchemeTransitionTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/media/ColorSchemeTransitionTest.kt @@ -146,6 +146,6 @@ class ColorSchemeTransitionTest : SysuiTestCase() { @Test fun testColorSchemeTransition_update() { colorSchemeTransition.updateColorScheme(colorScheme, true) - verify(mockAnimatingTransition, times(9)).updateColorScheme(colorScheme) + verify(mockAnimatingTransition, times(10)).updateColorScheme(colorScheme) } } 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 ceb811b8d8aa..219b3c8561b2 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/media/MediaCarouselControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/media/MediaCarouselControllerTest.kt @@ -136,9 +136,18 @@ class MediaCarouselControllerTest : SysuiTestCase() { val resume2 = Triple("resume 2", DATA.copy(active = false, isPlaying = false, - playbackLocation = MediaData.PLAYBACK_LOCAL, resumption = true), + playbackLocation = MediaData.PLAYBACK_LOCAL, resumption = true), 1000L) + val activeMoreRecent = Triple("active more recent", + DATA.copy(active = false, isPlaying = false, + playbackLocation = MediaData.PLAYBACK_LOCAL, resumption = true, lastActive = 2L), + 1000L) + + val activeLessRecent = Triple("active less recent", + DATA.copy(active = false, isPlaying = false, + playbackLocation = MediaData.PLAYBACK_LOCAL, resumption = true, lastActive = 1L), + 1000L) // Expected ordering for media players: // Actively playing local sessions // Actively playing cast sessions 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 e42ae1c2f878..9a7b129f7597 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataManagerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataManagerTest.kt @@ -38,6 +38,7 @@ import com.android.systemui.util.time.FakeSystemClock import com.google.common.truth.Truth.assertThat import org.junit.After import org.junit.Before +import org.junit.Ignore import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith @@ -574,6 +575,7 @@ class MediaDataManagerTest : SysuiTestCase() { .onSmartspaceMediaDataLoaded(anyObject(), anyObject(), anyBoolean()) } + @Ignore("b/233283726") @Test fun testOnSmartspaceMediaDataLoaded_hasNoneMediaTarget_callsRemoveListener() { smartspaceMediaDataProvider.onTargetsAvailable(listOf(mediaSmartspaceTarget)) diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogControllerTest.java index 4a8cb0b76dc4..7b1e5c9f7264 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogControllerTest.java @@ -1,9 +1,15 @@ package com.android.systemui.qs.tiles.dialog; import static android.provider.Settings.Global.AIRPLANE_MODE_ON; +import static android.telephony.SignalStrength.NUM_SIGNAL_STRENGTH_BINS; +import static android.telephony.SignalStrength.SIGNAL_STRENGTH_GREAT; +import static android.telephony.SignalStrength.SIGNAL_STRENGTH_POOR; import static com.android.systemui.qs.tiles.dialog.InternetDialogController.TOAST_PARAMS_HORIZONTAL_WEIGHT; import static com.android.systemui.qs.tiles.dialog.InternetDialogController.TOAST_PARAMS_VERTICAL_WEIGHT; +import static com.android.wifitrackerlib.WifiEntry.WIFI_LEVEL_MAX; +import static com.android.wifitrackerlib.WifiEntry.WIFI_LEVEL_MIN; +import static com.android.wifitrackerlib.WifiEntry.WIFI_LEVEL_UNREACHABLE; import static com.google.common.truth.Truth.assertThat; @@ -17,6 +23,7 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -28,6 +35,7 @@ import android.net.ConnectivityManager; import android.net.wifi.WifiManager; import android.os.Handler; import android.telephony.ServiceState; +import android.telephony.SignalStrength; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.testing.AndroidTestingRunner; @@ -140,6 +148,8 @@ public class InternetDialogControllerTest extends SysuiTestCase { private View mDialogLaunchView; @Mock private WifiStateWorker mWifiStateWorker; + @Mock + private SignalStrength mSignalStrength; private TestableResources mTestableResources; private InternetDialogController mInternetDialogController; @@ -152,6 +162,8 @@ public class InternetDialogControllerTest extends SysuiTestCase { MockitoAnnotations.initMocks(this); mTestableResources = mContext.getOrCreateTestableResources(); doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(anyInt()); + when(mTelephonyManager.getSignalStrength()).thenReturn(mSignalStrength); + when(mSignalStrength.getLevel()).thenReturn(SIGNAL_STRENGTH_GREAT); when(mKeyguardStateController.isUnlocked()).thenReturn(true); when(mConnectedEntry.isDefaultNetwork()).thenReturn(true); when(mConnectedEntry.hasInternetAccess()).thenReturn(true); @@ -380,7 +392,7 @@ public class InternetDialogControllerTest extends SysuiTestCase { @Test public void getInternetWifiDrawable_withWifiLevelUnreachable_returnNull() { - when(mConnectedEntry.getLevel()).thenReturn(WifiEntry.WIFI_LEVEL_UNREACHABLE); + when(mConnectedEntry.getLevel()).thenReturn(WIFI_LEVEL_UNREACHABLE); Drawable drawable = mInternetDialogController.getInternetWifiDrawable(mConnectedEntry); @@ -638,6 +650,57 @@ public class InternetDialogControllerTest extends SysuiTestCase { assertThat(mInternetDialogController.isWifiScanEnabled()).isTrue(); } + @Test + public void getSignalStrengthDrawableWithLevel_carrierNetworkIsNotActive_useMobileDataLevel() { + // Fake mobile data level as SIGNAL_STRENGTH_POOR(1) + when(mSignalStrength.getLevel()).thenReturn(SIGNAL_STRENGTH_POOR); + // Fake carrier network level as WIFI_LEVEL_MAX(4) + when(mInternetDialogController.getCarrierNetworkLevel()).thenReturn(WIFI_LEVEL_MAX); + + InternetDialogController spyController = spy(mInternetDialogController); + spyController.getSignalStrengthDrawableWithLevel(false /* isCarrierNetworkActive */); + + verify(spyController).getSignalStrengthIcon(any(), eq(SIGNAL_STRENGTH_POOR), + eq(NUM_SIGNAL_STRENGTH_BINS), anyInt(), anyBoolean()); + } + + @Test + public void getSignalStrengthDrawableWithLevel_carrierNetworkIsActive_useCarrierNetworkLevel() { + // Fake mobile data level as SIGNAL_STRENGTH_POOR(1) + when(mSignalStrength.getLevel()).thenReturn(SIGNAL_STRENGTH_POOR); + // Fake carrier network level as WIFI_LEVEL_MAX(4) + when(mInternetDialogController.getCarrierNetworkLevel()).thenReturn(WIFI_LEVEL_MAX); + + InternetDialogController spyController = spy(mInternetDialogController); + spyController.getSignalStrengthDrawableWithLevel(true /* isCarrierNetworkActive */); + + verify(spyController).getSignalStrengthIcon(any(), eq(WIFI_LEVEL_MAX), + eq(WIFI_LEVEL_MAX + 1), anyInt(), anyBoolean()); + } + + @Test + public void getCarrierNetworkLevel_mergedCarrierEntryIsNull_returnMinLevel() { + when(mAccessPointController.getMergedCarrierEntry()).thenReturn(null); + + assertThat(mInternetDialogController.getCarrierNetworkLevel()).isEqualTo(WIFI_LEVEL_MIN); + } + + @Test + public void getCarrierNetworkLevel_getUnreachableLevel_returnMinLevel() { + when(mMergedCarrierEntry.getLevel()).thenReturn(WIFI_LEVEL_UNREACHABLE); + + assertThat(mInternetDialogController.getCarrierNetworkLevel()).isEqualTo(WIFI_LEVEL_MIN); + } + + @Test + public void getCarrierNetworkLevel_getAvailableLevel_returnSameLevel() { + for (int level = WIFI_LEVEL_MIN; level <= WIFI_LEVEL_MAX; level++) { + when(mMergedCarrierEntry.getLevel()).thenReturn(level); + + assertThat(mInternetDialogController.getCarrierNetworkLevel()).isEqualTo(level); + } + } + private String getResourcesString(String name) { return mContext.getResources().getString(getResourcesId(name)); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/smartspace/DreamSmartspaceControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/smartspace/DreamSmartspaceControllerTest.kt index 834090057334..2cfe6be5c6b2 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/smartspace/DreamSmartspaceControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/smartspace/DreamSmartspaceControllerTest.kt @@ -151,6 +151,8 @@ class DreamSmartspaceControllerTest : SysuiTestCase() { override fun setMediaTarget(target: SmartspaceTarget?) {} override fun getSelectedPage(): Int { return 0; } + + override fun getCurrentCardTopPadding(): Int { return 0; } } /** diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceControllerTest.kt index 64aa7fb57da8..b44f53c67714 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceControllerTest.kt @@ -603,6 +603,10 @@ class LockscreenSmartspaceControllerTest : SysuiTestCase() { override fun getSelectedPage(): Int { return -1 } + + override fun getCurrentCardTopPadding(): Int { + return 0 + } }) } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/AutoTileManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/AutoTileManagerTest.java index 03a6c19dc86a..371119cc6d01 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/AutoTileManagerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/AutoTileManagerTest.java @@ -36,6 +36,7 @@ import static org.mockito.Mockito.when; import android.content.ComponentName; import android.content.Context; +import android.content.pm.PackageManager; import android.hardware.display.ColorDisplayManager; import android.hardware.display.NightDisplayListener; import android.os.Handler; @@ -70,7 +71,9 @@ import org.junit.runner.RunWith; import org.mockito.Answers; import org.mockito.InOrder; import org.mockito.Mock; +import org.mockito.Mockito; import org.mockito.MockitoAnnotations; +import org.mockito.Spy; import java.util.Collections; import java.util.List; @@ -87,7 +90,10 @@ public class AutoTileManagerTest extends SysuiTestCase { private static final String TEST_SETTING_COMPONENT = "setting_component"; private static final String TEST_COMPONENT = "test_pkg/test_cls"; private static final String TEST_CUSTOM_SPEC = "custom(" + TEST_COMPONENT + ")"; - private static final String TEST_CUSTOM_SAFETY_SPEC = "custom(safety_pkg/safety_cls)"; + private static final String TEST_CUSTOM_SAFETY_CLASS = "safety_cls"; + private static final String TEST_CUSTOM_SAFETY_PKG = "safety_pkg"; + private static final String TEST_CUSTOM_SAFETY_SPEC = CustomTile.toSpec(new ComponentName( + TEST_CUSTOM_SAFETY_PKG, TEST_CUSTOM_SAFETY_CLASS)); private static final String SEPARATOR = AutoTileManager.SETTING_SEPARATOR; private static final int USER = 0; @@ -106,6 +112,7 @@ public class AutoTileManagerTest extends SysuiTestCase { @Mock(answer = Answers.RETURNS_SELF) private AutoAddTracker.Builder mAutoAddTrackerBuilder; @Mock private Context mUserContext; + @Spy private PackageManager mPackageManager; private final boolean mIsReduceBrightColorsAvailable = true; private AutoTileManager mAutoTileManager; @@ -126,13 +133,18 @@ public class AutoTileManagerTest extends SysuiTestCase { mContext.getOrCreateTestableResources().addOverride( com.android.internal.R.bool.config_nightDisplayAvailable, true); mContext.getOrCreateTestableResources().addOverride( - R.string.safety_quick_settings_tile, TEST_CUSTOM_SAFETY_SPEC); + R.string.safety_quick_settings_tile_class, TEST_CUSTOM_SAFETY_CLASS); when(mAutoAddTrackerBuilder.build()).thenReturn(mAutoAddTracker); when(mQsTileHost.getUserContext()).thenReturn(mUserContext); when(mUserContext.getUser()).thenReturn(UserHandle.of(USER)); + mPackageManager = Mockito.spy(mContext.getPackageManager()); + when(mPackageManager.getPermissionControllerPackageName()) + .thenReturn(TEST_CUSTOM_SAFETY_PKG); + Context context = Mockito.spy(mContext); + when(context.getPackageManager()).thenReturn(mPackageManager); - mAutoTileManager = createAutoTileManager(mContext); + mAutoTileManager = createAutoTileManager(context); mAutoTileManager.init(); } 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 5f8dda359563..09009c6ee260 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 @@ -19,6 +19,8 @@ package com.android.systemui.statusbar.phone; import static com.android.systemui.statusbar.phone.ScrimController.OPAQUE; import static com.android.systemui.statusbar.phone.ScrimController.SEMI_TRANSPARENT; import static com.android.systemui.statusbar.phone.ScrimController.TRANSPARENT; +import static com.android.systemui.statusbar.phone.ScrimState.BOUNCER; +import static com.android.systemui.statusbar.phone.ScrimState.SHADE_LOCKED; import static com.google.common.truth.Truth.assertThat; @@ -275,7 +277,7 @@ public class ScrimControllerTest extends SysuiTestCase { @Test public void transitionToShadeLocked() { - mScrimController.transitionTo(ScrimState.SHADE_LOCKED); + mScrimController.transitionTo(SHADE_LOCKED); mScrimController.setQsPosition(1f, 0); finishAnimationsImmediately(); @@ -293,7 +295,7 @@ public class ScrimControllerTest extends SysuiTestCase { @Test public void transitionToShadeLocked_clippingQs() { mScrimController.setClipsQsScrim(true); - mScrimController.transitionTo(ScrimState.SHADE_LOCKED); + mScrimController.transitionTo(SHADE_LOCKED); mScrimController.setQsPosition(1f, 0); finishAnimationsImmediately(); @@ -542,7 +544,7 @@ public class ScrimControllerTest extends SysuiTestCase { @Test public void transitionToKeyguardBouncer() { - mScrimController.transitionTo(ScrimState.BOUNCER); + mScrimController.transitionTo(BOUNCER); finishAnimationsImmediately(); // Front scrim should be transparent // Back scrim should be visible without tint @@ -561,7 +563,7 @@ public class ScrimControllerTest extends SysuiTestCase { @Test public void transitionToKeyguardBouncer_clippingQs() { mScrimController.setClipsQsScrim(true); - mScrimController.transitionTo(ScrimState.BOUNCER); + mScrimController.transitionTo(BOUNCER); finishAnimationsImmediately(); // Front scrim should be transparent // Back scrim should be clipping QS @@ -581,7 +583,7 @@ public class ScrimControllerTest extends SysuiTestCase { @Test public void disableClipQsScrimWithoutStateTransition_updatesTintAndAlpha() { mScrimController.setClipsQsScrim(true); - mScrimController.transitionTo(ScrimState.BOUNCER); + mScrimController.transitionTo(BOUNCER); mScrimController.setClipsQsScrim(false); @@ -602,7 +604,7 @@ public class ScrimControllerTest extends SysuiTestCase { @Test public void enableClipQsScrimWithoutStateTransition_updatesTintAndAlpha() { mScrimController.setClipsQsScrim(false); - mScrimController.transitionTo(ScrimState.BOUNCER); + mScrimController.transitionTo(BOUNCER); mScrimController.setClipsQsScrim(true); @@ -672,9 +674,9 @@ public class ScrimControllerTest extends SysuiTestCase { finishAnimationsImmediately(); assertEquals(mScrimState, ScrimState.UNLOCKED); - mScrimController.transitionTo(ScrimState.BOUNCER); + mScrimController.transitionTo(BOUNCER); finishAnimationsImmediately(); - assertEquals(mScrimState, ScrimState.BOUNCER); + assertEquals(mScrimState, BOUNCER); mScrimController.transitionTo(ScrimState.BOUNCER_SCRIMMED); finishAnimationsImmediately(); @@ -1081,9 +1083,9 @@ public class ScrimControllerTest extends SysuiTestCase { HashSet<ScrimState> lowPowerModeStates = new HashSet<>(Arrays.asList( ScrimState.OFF, ScrimState.AOD, ScrimState.PULSING)); HashSet<ScrimState> regularStates = new HashSet<>(Arrays.asList( - ScrimState.UNINITIALIZED, ScrimState.KEYGUARD, ScrimState.BOUNCER, + ScrimState.UNINITIALIZED, ScrimState.KEYGUARD, BOUNCER, ScrimState.DREAMING, ScrimState.BOUNCER_SCRIMMED, ScrimState.BRIGHTNESS_MIRROR, - ScrimState.UNLOCKED, ScrimState.SHADE_LOCKED, ScrimState.AUTH_SCRIMMED, + ScrimState.UNLOCKED, SHADE_LOCKED, ScrimState.AUTH_SCRIMMED, ScrimState.AUTH_SCRIMMED_SHADE)); for (ScrimState state : ScrimState.values()) { @@ -1228,7 +1230,7 @@ public class ScrimControllerTest extends SysuiTestCase { @Test public void testNotificationScrimVisible_afterOpeningShadeFromLockscreen() { mScrimController.setRawPanelExpansionFraction(1); - mScrimController.transitionTo(ScrimState.SHADE_LOCKED); + mScrimController.transitionTo(SHADE_LOCKED); finishAnimationsImmediately(); assertScrimAlpha(Map.of( @@ -1237,10 +1239,26 @@ public class ScrimControllerTest extends SysuiTestCase { } @Test + public void qsExpansion_BehindTint_shadeLocked_bouncerActive_usesBouncerProgress() { + when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(true); + // clipping doesn't change tested logic but allows to assert scrims more in line with + // their expected large screen behaviour + mScrimController.setClipsQsScrim(false); + mScrimController.transitionTo(SHADE_LOCKED); + + mScrimController.setQsPosition(1f, 100 /* value doesn't matter */); + assertTintAfterExpansion(mScrimBehind, SHADE_LOCKED.getBehindTint(), /* expansion= */ 1f); + + mScrimController.setQsPosition(0.8f, 100 /* value doesn't matter */); + // panel expansion of 0.6 means its fully transitioned with bouncer progress interpolation + assertTintAfterExpansion(mScrimBehind, BOUNCER.getBehindTint(), /* expansion= */ 0.6f); + } + + @Test public void expansionNotificationAlpha_shadeLocked_bouncerActive_usesBouncerInterpolator() { when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(true); - mScrimController.transitionTo(ScrimState.SHADE_LOCKED); + mScrimController.transitionTo(SHADE_LOCKED); float expansion = 0.8f; float expectedAlpha = @@ -1256,7 +1274,7 @@ public class ScrimControllerTest extends SysuiTestCase { public void expansionNotificationAlpha_shadeLocked_bouncerNotActive_usesShadeInterpolator() { when(mStatusBarKeyguardViewManager.isBouncerInTransit()).thenReturn(false); - mScrimController.transitionTo(ScrimState.SHADE_LOCKED); + mScrimController.transitionTo(SHADE_LOCKED); float expansion = 0.8f; float expectedAlpha = ShadeInterpolation.getNotificationScrimAlpha(expansion); @@ -1352,7 +1370,7 @@ public class ScrimControllerTest extends SysuiTestCase { @Test public void testNotificationTransparency_followsTransitionToFullShade() { - mScrimController.transitionTo(ScrimState.SHADE_LOCKED); + mScrimController.transitionTo(SHADE_LOCKED); mScrimController.setRawPanelExpansionFraction(1.0f); finishAnimationsImmediately(); float shadeLockedAlpha = mNotificationsScrim.getViewAlpha(); @@ -1379,7 +1397,7 @@ public class ScrimControllerTest extends SysuiTestCase { @Test public void notificationTransparency_followsNotificationScrimProgress() { - mScrimController.transitionTo(ScrimState.SHADE_LOCKED); + mScrimController.transitionTo(SHADE_LOCKED); mScrimController.setRawPanelExpansionFraction(1.0f); finishAnimationsImmediately(); mScrimController.transitionTo(ScrimState.KEYGUARD); @@ -1473,7 +1491,7 @@ public class ScrimControllerTest extends SysuiTestCase { mScrimBehind, TRANSPARENT, mNotificationsScrim, TRANSPARENT)); - mScrimController.transitionTo(ScrimState.SHADE_LOCKED); + mScrimController.transitionTo(SHADE_LOCKED); finishAnimationsImmediately(); assertScrimAlpha(Map.of( mScrimInFront, TRANSPARENT, @@ -1504,6 +1522,15 @@ public class ScrimControllerTest extends SysuiTestCase { assertEquals(expectedAlpha, scrim.getViewAlpha(), 0.2); } + private void assertTintAfterExpansion(ScrimView scrim, int expectedTint, float expansion) { + String message = "Tint test failed with expected scrim tint: " + + Integer.toHexString(expectedTint) + " and actual tint: " + + Integer.toHexString(scrim.getTint()) + " for scrim: " + getScrimName(scrim); + mScrimController.setRawPanelExpansionFraction(expansion); + finishAnimationsImmediately(); + assertEquals(message, expectedTint, scrim.getTint(), 0.1); + } + private void assertScrimTinted(Map<ScrimView, Boolean> scrimToTint) { scrimToTint.forEach((scrim, hasTint) -> assertScrimTint(scrim, hasTint)); } diff --git a/services/autofill/java/com/android/server/autofill/ui/SaveUi.java b/services/autofill/java/com/android/server/autofill/ui/SaveUi.java index 826a98afe2f8..078a1d97f5b7 100644 --- a/services/autofill/java/com/android/server/autofill/ui/SaveUi.java +++ b/services/autofill/java/com/android/server/autofill/ui/SaveUi.java @@ -348,7 +348,9 @@ final class SaveUi { window.setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY); window.addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL + | WindowManager.LayoutParams.FLAG_DIM_BEHIND | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH); + window.setDimAmount(0.6f); window.addPrivateFlags(WindowManager.LayoutParams.SYSTEM_FLAG_SHOW_FOR_ALL_USERS); window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); window.setGravity(Gravity.BOTTOM | Gravity.CENTER); diff --git a/services/core/java/com/android/server/VcnManagementService.java b/services/core/java/com/android/server/VcnManagementService.java index f26d9f9f49e6..76cac934fdfe 100644 --- a/services/core/java/com/android/server/VcnManagementService.java +++ b/services/core/java/com/android/server/VcnManagementService.java @@ -24,6 +24,7 @@ import static android.net.vcn.VcnManager.VCN_STATUS_CODE_ACTIVE; import static android.net.vcn.VcnManager.VCN_STATUS_CODE_INACTIVE; import static android.net.vcn.VcnManager.VCN_STATUS_CODE_NOT_CONFIGURED; import static android.net.vcn.VcnManager.VCN_STATUS_CODE_SAFE_MODE; +import static android.telephony.SubscriptionManager.isValidSubscriptionId; import static com.android.server.vcn.TelephonySubscriptionTracker.TelephonySubscriptionSnapshot; import static com.android.server.vcn.TelephonySubscriptionTracker.TelephonySubscriptionTrackerCallback; @@ -167,6 +168,10 @@ public class VcnManagementService extends IVcnManagementService.Stub { static final String VCN_CONFIG_FILE = new File(Environment.getDataSystemDirectory(), "vcn/configs.xml").getPath(); + // TODO(b/176956496): Directly use CarrierServiceBindHelper.UNBIND_DELAY_MILLIS + @VisibleForTesting(visibility = Visibility.PRIVATE) + static final long CARRIER_PRIVILEGES_LOST_TEARDOWN_DELAY_MS = TimeUnit.SECONDS.toMillis(30); + /* Binder context for this service */ @NonNull private final Context mContext; @NonNull private final Dependencies mDeps; @@ -360,15 +365,12 @@ public class VcnManagementService extends IVcnManagementService.Stub { /** Notifies the VcnManagementService that external dependencies can be set up. */ public void systemReady() { - // Always run on the handler thread to ensure consistency. - mHandler.post(() -> { - mNetworkProvider.register(); - mContext.getSystemService(ConnectivityManager.class) - .registerNetworkCallback( - new NetworkRequest.Builder().clearCapabilities().build(), - mTrackingNetworkCallback); - mTelephonySubscriptionTracker.register(); - }); + mNetworkProvider.register(); + mContext.getSystemService(ConnectivityManager.class) + .registerNetworkCallback( + new NetworkRequest.Builder().clearCapabilities().build(), + mTrackingNetworkCallback); + mTelephonySubscriptionTracker.register(); } private void enforcePrimaryUser() { @@ -509,15 +511,22 @@ public class VcnManagementService extends IVcnManagementService.Stub { if (!mVcns.containsKey(subGrp)) { startVcnLocked(subGrp, entry.getValue()); } + + // Cancel any scheduled teardowns for active subscriptions + mHandler.removeCallbacksAndMessages(mVcns.get(subGrp)); } } - // Schedule teardown of any VCN instances that have lost carrier privileges + // Schedule teardown of any VCN instances that have lost carrier privileges (after a + // delay) for (Entry<ParcelUuid, Vcn> entry : mVcns.entrySet()) { final ParcelUuid subGrp = entry.getKey(); final VcnConfig config = mConfigs.get(subGrp); final boolean isActiveSubGrp = isActiveSubGroup(subGrp, snapshot); + final boolean isValidActiveDataSubIdNotInVcnSubGrp = + isValidSubscriptionId(snapshot.getActiveDataSubscriptionId()) + && !isActiveSubGroup(subGrp, snapshot); // TODO(b/193687515): Support multiple VCNs active at the same time if (config == null @@ -527,12 +536,31 @@ public class VcnManagementService extends IVcnManagementService.Stub { final ParcelUuid uuidToTeardown = subGrp; final Vcn instanceToTeardown = entry.getValue(); - stopVcnLocked(uuidToTeardown); - - // TODO(b/181789060): invoke asynchronously after Vcn notifies - // through VcnCallback - notifyAllPermissionedStatusCallbacksLocked( - uuidToTeardown, VCN_STATUS_CODE_INACTIVE); + // TODO(b/193687515): Support multiple VCNs active at the same time + // If directly switching to a subscription not in the current group, + // teardown immediately to prevent other subscription's network from being + // outscored by the VCN. Otherwise, teardown after a delay to ensure that + // SIM profile switches do not trigger the VCN to cycle. + final long teardownDelayMs = + isValidActiveDataSubIdNotInVcnSubGrp + ? 0 + : CARRIER_PRIVILEGES_LOST_TEARDOWN_DELAY_MS; + mHandler.postDelayed(() -> { + synchronized (mLock) { + // Guard against case where this is run after a old instance was + // torn down, and a new instance was started. Verify to ensure + // correct instance is torn down. This could happen as a result of a + // Carrier App manually removing/adding a VcnConfig. + if (mVcns.get(uuidToTeardown) == instanceToTeardown) { + stopVcnLocked(uuidToTeardown); + + // TODO(b/181789060): invoke asynchronously after Vcn notifies + // through VcnCallback + notifyAllPermissionedStatusCallbacksLocked( + uuidToTeardown, VCN_STATUS_CODE_INACTIVE); + } + } + }, instanceToTeardown, teardownDelayMs); } else { // If this VCN's status has not changed, update it with the new snapshot entry.getValue().updateSubscriptionSnapshot(mLastSnapshot); diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java index 48b3d0e106d3..e9eebbf322bc 100644 --- a/services/core/java/com/android/server/am/ActiveServices.java +++ b/services/core/java/com/android/server/am/ActiveServices.java @@ -76,6 +76,7 @@ import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM; import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME; import android.Manifest; +import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.UptimeMillisLong; @@ -174,6 +175,8 @@ import java.io.FileDescriptor; import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; @@ -211,6 +214,24 @@ public final class ActiveServices { | ServiceInfo.FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE | ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION; + // Foreground service is stopped for unknown reason. + static final int FGS_STOP_REASON_UNKNOWN = 0; + // Foreground service is stopped by app calling Service.stopForeground(). + static final int FGS_STOP_REASON_STOP_FOREGROUND = 1; + // Foreground service is stopped because service is brought down either by app calling + // stopService() or unbindService(), or service process is killed by the system. + static final int FGS_STOP_REASON_STOP_SERVICE = 2; + /** + * The list of FGS stop reasons. + */ + @IntDef(flag = true, prefix = { "FGS_STOP_REASON_" }, value = { + FGS_STOP_REASON_UNKNOWN, + FGS_STOP_REASON_STOP_FOREGROUND, + FGS_STOP_REASON_STOP_SERVICE, + }) + @Retention(RetentionPolicy.SOURCE) + @interface FgsStopReason {} + final ActivityManagerService mAm; // Maximum number of services that we allow to start in the background @@ -721,7 +742,7 @@ public final class ActiveServices { showFgsBgRestrictedNotificationLocked(r); logFGSStateChangeLocked(r, FrameworkStatsLog.FOREGROUND_SERVICE_STATE_CHANGED__STATE__DENIED, - 0); + 0, FGS_STOP_REASON_UNKNOWN); if (CompatChanges.isChangeEnabled(FGS_START_EXCEPTION_CHANGE_ID, callingUid)) { throw new ForegroundServiceStartNotAllowedException(msg); } @@ -1909,7 +1930,7 @@ public final class ActiveServices { ignoreForeground = true; logFGSStateChangeLocked(r, FrameworkStatsLog.FOREGROUND_SERVICE_STATE_CHANGED__STATE__DENIED, - 0); + 0, FGS_STOP_REASON_UNKNOWN); if (CompatChanges.isChangeEnabled(FGS_START_EXCEPTION_CHANGE_ID, r.appInfo.uid)) { throw new ForegroundServiceStartNotAllowedException(msg); @@ -1984,7 +2005,7 @@ public final class ActiveServices { mAm.updateForegroundServiceUsageStats(r.name, r.userId, true); logFGSStateChangeLocked(r, FrameworkStatsLog.FOREGROUND_SERVICE_STATE_CHANGED__STATE__ENTER, - 0); + 0, FGS_STOP_REASON_UNKNOWN); } // Even if the service is already a FGS, we need to update the notification, // so we need to call it again. @@ -2066,7 +2087,8 @@ public final class ActiveServices { logFGSStateChangeLocked(r, FrameworkStatsLog.FOREGROUND_SERVICE_STATE_CHANGED__STATE__EXIT, r.mFgsExitTime > r.mFgsEnterTime - ? (int)(r.mFgsExitTime - r.mFgsEnterTime) : 0); + ? (int) (r.mFgsExitTime - r.mFgsEnterTime) : 0, + FGS_STOP_REASON_STOP_FOREGROUND); r.mFgsNotificationWasDeferred = false; signalForegroundServiceObserversLocked(r); resetFgsRestrictionLocked(r); @@ -4652,7 +4674,8 @@ public final class ActiveServices { logFGSStateChangeLocked(r, FrameworkStatsLog.FOREGROUND_SERVICE_STATE_CHANGED__STATE__EXIT, r.mFgsExitTime > r.mFgsEnterTime - ? (int)(r.mFgsExitTime - r.mFgsEnterTime) : 0); + ? (int) (r.mFgsExitTime - r.mFgsEnterTime) : 0, + FGS_STOP_REASON_STOP_SERVICE); mAm.updateForegroundServiceUsageStats(r.name, r.userId, false); } @@ -6846,7 +6869,8 @@ public final class ActiveServices { * @param state one of ENTER/EXIT/DENIED event. * @param durationMs Only meaningful for EXIT event, the duration from ENTER and EXIT state. */ - private void logFGSStateChangeLocked(ServiceRecord r, int state, int durationMs) { + private void logFGSStateChangeLocked(ServiceRecord r, int state, int durationMs, + @FgsStopReason int fgsStopReason) { if (!ActivityManagerUtils.shouldSamplePackageForAtom( r.packageName, mAm.mConstants.mFgsAtomSampleRate)) { return; @@ -6861,6 +6885,8 @@ public final class ActiveServices { allowWhileInUsePermissionInFgs = r.mAllowWhileInUsePermissionInFgs; fgsStartReasonCode = r.mAllowStartForeground; } + final int callerTargetSdkVersion = r.mRecentCallerApplicationInfo != null + ? r.mRecentCallerApplicationInfo.targetSdkVersion : 0; FrameworkStatsLog.write(FrameworkStatsLog.FOREGROUND_SERVICE_STATE_CHANGED, r.appInfo.uid, r.shortInstanceName, @@ -6869,8 +6895,7 @@ public final class ActiveServices { fgsStartReasonCode, r.appInfo.targetSdkVersion, r.mRecentCallingUid, - r.mRecentCallerApplicationInfo != null - ? r.mRecentCallerApplicationInfo.targetSdkVersion : 0, + callerTargetSdkVersion, r.mInfoTempFgsAllowListReason != null ? r.mInfoTempFgsAllowListReason.mCallingUid : INVALID_UID, r.mFgsNotificationWasDeferred, @@ -6879,6 +6904,30 @@ public final class ActiveServices { r.mStartForegroundCount, ActivityManagerUtils.hashComponentNameForAtom(r.shortInstanceName), r.mFgsHasNotificationPermission); + + int event = 0; + if (state == FrameworkStatsLog.FOREGROUND_SERVICE_STATE_CHANGED__STATE__ENTER) { + event = EventLogTags.AM_FOREGROUND_SERVICE_START; + } else if (state == FrameworkStatsLog.FOREGROUND_SERVICE_STATE_CHANGED__STATE__EXIT) { + event = EventLogTags.AM_FOREGROUND_SERVICE_STOP; + } else if (state == FrameworkStatsLog.FOREGROUND_SERVICE_STATE_CHANGED__STATE__DENIED) { + event = EventLogTags.AM_FOREGROUND_SERVICE_DENIED; + } else { + // Unknown event. + return; + } + EventLog.writeEvent(event, + r.userId, + r.shortInstanceName, + allowWhileInUsePermissionInFgs ? 1 : 0, + reasonCodeToString(fgsStartReasonCode), + r.appInfo.targetSdkVersion, + callerTargetSdkVersion, + r.mFgsNotificationWasDeferred ? 1 : 0, + r.mFgsNotificationShown ? 1 : 0, + durationMs, + r.mStartForegroundCount, + fgsStopReasonToString(fgsStopReason)); } boolean canAllowWhileInUsePermissionInFgsLocked(int callingPid, int callingUid, @@ -6903,4 +6952,15 @@ public final class ActiveServices { return mAm.getPackageManagerInternal().isSameApp(packageName, uid, UserHandle.getUserId(uid)); } + + private static String fgsStopReasonToString(@FgsStopReason int stopReason) { + switch (stopReason) { + case FGS_STOP_REASON_STOP_SERVICE: + return "STOP_SERVICE"; + case FGS_STOP_REASON_STOP_FOREGROUND: + return "STOP_FOREGROUND"; + default: + return "UNKNOWN"; + } + } } diff --git a/services/core/java/com/android/server/am/AppBatteryTracker.java b/services/core/java/com/android/server/am/AppBatteryTracker.java index 1a566a9e2bc5..661902579317 100644 --- a/services/core/java/com/android/server/am/AppBatteryTracker.java +++ b/services/core/java/com/android/server/am/AppBatteryTracker.java @@ -839,6 +839,8 @@ final class AppBatteryTracker extends BaseAppStateTracker<AppBatteryPolicy> @Override void dumpAsProto(ProtoOutputStream proto, int uid) { + // Force an update. + updateBatteryUsageStatsIfNecessary(mInjector.currentTimeMillis(), true); synchronized (mLock) { final SparseArray<ImmutableBatteryUsage> uidConsumers = mUidBatteryUsageInWindow; if (uid != android.os.Process.INVALID_UID) { diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java index 7253b4946661..7fe3c1f5272b 100644 --- a/services/core/java/com/android/server/am/BatteryStatsService.java +++ b/services/core/java/com/android/server/am/BatteryStatsService.java @@ -2260,7 +2260,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub private void dumpHelp(PrintWriter pw) { pw.println("Battery stats (batterystats) dump options:"); pw.println(" [--checkin] [--proto] [--history] [--history-start] [--charged] [-c]"); - pw.println(" [--daily] [--reset] [--write] [--new-daily] [--read-daily] [-h] [<package.name>]"); + pw.println(" [--daily] [--reset] [--reset-all] [--write] [--new-daily] [--read-daily]"); + pw.println(" [-h] [<package.name>]"); pw.println(" --checkin: generate output for a checkin report; will write (and clear) the"); pw.println(" last old completed stats when they had been reset."); pw.println(" -c: write the current stats in checkin format."); @@ -2271,6 +2272,7 @@ public final class BatteryStatsService extends IBatteryStats.Stub pw.println(" --charged: only output data since last charged."); pw.println(" --daily: only output full daily data."); pw.println(" --reset: reset the stats, clearing all current data."); + pw.println(" --reset-all: reset the stats, clearing all current and past data."); pw.println(" --write: force write current collected stats to disk."); pw.println(" --new-daily: immediately create and write new daily stats record."); pw.println(" --read-daily: read-load last written daily stats."); @@ -2407,6 +2409,14 @@ public final class BatteryStatsService extends IBatteryStats.Stub flags |= BatteryStats.DUMP_CHARGED_ONLY; } else if ("--daily".equals(arg)) { flags |= BatteryStats.DUMP_DAILY_ONLY; + } else if ("--reset-all".equals(arg)) { + awaitCompletion(); + synchronized (mStats) { + mStats.resetAllStatsCmdLocked(); + mBatteryUsageStatsStore.removeAllSnapshots(); + pw.println("Battery stats and history reset."); + noOutput = true; + } } else if ("--reset".equals(arg)) { awaitCompletion(); synchronized (mStats) { diff --git a/services/core/java/com/android/server/am/EventLogTags.logtags b/services/core/java/com/android/server/am/EventLogTags.logtags index b250a0cbae9e..d080036733a5 100644 --- a/services/core/java/com/android/server/am/EventLogTags.logtags +++ b/services/core/java/com/android/server/am/EventLogTags.logtags @@ -116,3 +116,11 @@ option java_package com.android.server.am 30086 ssm_user_stopping (userId|1|5) 30087 ssm_user_stopped (userId|1|5) 30088 ssm_user_completed_event (userId|1|5),(eventFlag|1|5) + +# Foreground service start/stop events. +30100 am_foreground_service_start (User|1|5),(Component Name|3),(allowWhileInUse|1),(startReasonCode|3),(targetSdk|1|1),(callerTargetSdk|1|1),(notificationWasDeferred|1),(notificationShown|1),(durationMs|1|3),(startForegroundCount|1|1),(stopReason|3) +30101 am_foreground_service_denied (User|1|5),(Component Name|3),(allowWhileInUse|1),(startReasonCode|3),(targetSdk|1|1),(callerTargetSdk|1|1),(notificationWasDeferred|1),(notificationShown|1),(durationMs|1|3),(startForegroundCount|1|1),(stopReason|3) +30102 am_foreground_service_stop (User|1|5),(Component Name|3),(allowWhileInUse|1),(startReasonCode|3),(targetSdk|1|1),(callerTargetSdk|1|1),(notificationWasDeferred|1),(notificationShown|1),(durationMs|1|3),(startForegroundCount|1|1),(stopReason|3) + + + diff --git a/services/core/java/com/android/server/am/ProcessErrorStateRecord.java b/services/core/java/com/android/server/am/ProcessErrorStateRecord.java index 7fe270084e25..653ece4a883c 100644 --- a/services/core/java/com/android/server/am/ProcessErrorStateRecord.java +++ b/services/core/java/com/android/server/am/ProcessErrorStateRecord.java @@ -126,6 +126,12 @@ class ProcessErrorStateRecord { private AppNotRespondingDialog.Data mAnrData; /** + * Annotation from process killed due to an ANR. + */ + @GuardedBy("mService") + private String mAnrAnnotation; + + /** * Optional local handler to be invoked in the process crash. */ @CompositeRWLock({"mService", "mProcLock"}) @@ -193,6 +199,16 @@ class ProcessErrorStateRecord { mCrashingReport = crashingReport; } + @GuardedBy("mService") + String getAnrAnnotation() { + return mAnrAnnotation; + } + + @GuardedBy("mService") + void setAnrAnnotation(String anrAnnotation) { + mAnrAnnotation = anrAnnotation; + } + @GuardedBy(anyOf = {"mService", "mProcLock"}) ActivityManager.ProcessErrorStateInfo getNotRespondingReport() { return mNotRespondingReport; @@ -243,6 +259,8 @@ class ProcessErrorStateRecord { mApp.getWindowProcessController().appEarlyNotResponding(annotation, () -> { synchronized (mService) { + // Store annotation here as instance below races with this killLocked. + setAnrAnnotation(annotation); mApp.killLocked("anr", ApplicationExitInfo.REASON_ANR, true); } }); @@ -256,6 +274,9 @@ class ProcessErrorStateRecord { final int pid = mApp.getPid(); final UUID errorId; synchronized (mService) { + // Store annotation here as instance above will not be hit on all paths. + setAnrAnnotation(annotation); + // PowerManager.reboot() can block for a long time, so ignore ANRs while shutting down. if (mService.mAtmInternal.isShuttingDown()) { Slog.i(TAG, "During shutdown skipping ANR: " + this + " " + annotation); diff --git a/services/core/java/com/android/server/am/ProcessRecord.java b/services/core/java/com/android/server/am/ProcessRecord.java index ac5cb2da6945..07b6fcdcb0ca 100644 --- a/services/core/java/com/android/server/am/ProcessRecord.java +++ b/services/core/java/com/android/server/am/ProcessRecord.java @@ -1071,6 +1071,10 @@ class ProcessRecord implements WindowProcessListener { @SubReason int subReason, boolean noisy) { if (!mKilledByAm) { Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "kill"); + if (reasonCode == ApplicationExitInfo.REASON_ANR + && mErrorState.getAnrAnnotation() != null) { + description = description + ": " + mErrorState.getAnrAnnotation(); + } if (mService != null && (noisy || info.uid == mService.mCurOomAdjUid)) { mService.reportUidInfoMessageLocked(TAG, "Killing " + toShortString() + " (adj " + mState.getSetAdj() diff --git a/services/core/java/com/android/server/am/TEST_MAPPING b/services/core/java/com/android/server/am/TEST_MAPPING index 03eddc9634d7..e4f624d4ac28 100644 --- a/services/core/java/com/android/server/am/TEST_MAPPING +++ b/services/core/java/com/android/server/am/TEST_MAPPING @@ -63,6 +63,32 @@ ] } ], + "presubmit-large": [ + { + "name": "CtsUsageStatsTestCases", + "file_patterns": [ + "ActivityManagerService\\.java", + "BroadcastQueue\\.java" + ], + "options": [ + { + "include-filter": "android.app.usage.cts.BroadcastResponseStatsTest" + }, + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + }, + { + "exclude-annotation": "android.platform.test.annotations.FlakyTest" + }, + { + "exclude-annotation": "androidx.test.filters.MediumTest" + }, + { + "exclude-annotation": "androidx.test.filters.LargeTest" + } + ] + } + ], "postsubmit": [ { "name": "FrameworksServicesTests", diff --git a/services/core/java/com/android/server/audio/PlaybackActivityMonitor.java b/services/core/java/com/android/server/audio/PlaybackActivityMonitor.java index 565783f91f1b..a4468a3e1eec 100644 --- a/services/core/java/com/android/server/audio/PlaybackActivityMonitor.java +++ b/services/core/java/com/android/server/audio/PlaybackActivityMonitor.java @@ -494,7 +494,7 @@ public final class PlaybackActivityMonitor } pw.println("\n"); // muted players: - pw.print("\n muted players (piids) awaiting device connection: BL3 ####"); + pw.print("\n muted players (piids) awaiting device connection:"); for (int piid : mMutedPlayersAwaitingConnection) { pw.print(" " + piid); } @@ -1235,9 +1235,7 @@ public final class PlaybackActivityMonitor @GuardedBy("mPlayerLock") private void unmutePlayersExpectingDevice() { - if (mMutedPlayersAwaitingConnection.isEmpty()) { - return; - } + mMutedUsagesAwaitingConnection = null; for (int piid : mMutedPlayersAwaitingConnection) { final AudioPlaybackConfiguration apc = mPlayers.get(piid); if (apc == null) { @@ -1254,7 +1252,6 @@ public final class PlaybackActivityMonitor } } mMutedPlayersAwaitingConnection.clear(); - mMutedUsagesAwaitingConnection = null; } //================================================================= @@ -1278,8 +1275,8 @@ public final class PlaybackActivityMonitor public void handleMessage(Message msg) { switch (msg.what) { case MSG_L_TIMEOUT_MUTE_AWAIT_CONNECTION: - Log.i(TAG, "Timeout for muting waiting for " - + (AudioDeviceAttributes) msg.obj + ", unmuting"); + sEventLogger.loglogi("Timeout for muting waiting for " + + (AudioDeviceAttributes) msg.obj + ", unmuting", TAG); synchronized (mPlayerLock) { unmutePlayersExpectingDevice(); } diff --git a/services/core/java/com/android/server/audio/SpatializerHelper.java b/services/core/java/com/android/server/audio/SpatializerHelper.java index c61bad41eb4a..5b26672c7de2 100644 --- a/services/core/java/com/android/server/audio/SpatializerHelper.java +++ b/services/core/java/com/android/server/audio/SpatializerHelper.java @@ -34,6 +34,7 @@ import android.media.ISpatializerHeadTrackerAvailableCallback; import android.media.ISpatializerHeadTrackingCallback; import android.media.ISpatializerHeadTrackingModeCallback; import android.media.ISpatializerOutputCallback; +import android.media.MediaMetrics; import android.media.SpatializationLevel; import android.media.SpatializationMode; import android.media.Spatializer; @@ -524,6 +525,7 @@ public class SpatializerHelper { final int deviceType = ada.getType(); final boolean wireless = isWireless(deviceType); boolean isInList = false; + SADeviceState deviceUpdated = null; // non-null on update. for (SADeviceState deviceState : mSADevices) { if (deviceType == deviceState.mDeviceType @@ -531,6 +533,7 @@ public class SpatializerHelper { isInList = true; if (forceEnable) { deviceState.mEnabled = true; + deviceUpdated = deviceState; } break; } @@ -540,25 +543,54 @@ public class SpatializerHelper { wireless ? ada.getAddress() : ""); dev.mEnabled = true; mSADevices.add(dev); + deviceUpdated = dev; + } + if (deviceUpdated != null) { + onRoutingUpdated(); + mAudioService.persistSpatialAudioDeviceSettings(); + logDeviceState(deviceUpdated, "addCompatibleAudioDevice"); } - onRoutingUpdated(); - mAudioService.persistSpatialAudioDeviceSettings(); + } + + private static final String METRICS_DEVICE_PREFIX = "audio.spatializer.device."; + + // Device logging is accomplished in the Java Audio Service level. + // (System capabilities is done in the Native AudioPolicyManager level). + // + // There may be different devices with the same device type (aliasing). + // We always send the full device state info on each change. + private void logDeviceState(SADeviceState deviceState, String event) { + final String deviceName = AudioSystem.getDeviceName(deviceState.mDeviceType); + new MediaMetrics.Item(METRICS_DEVICE_PREFIX + deviceName) + .set(MediaMetrics.Property.ADDRESS, deviceState.mDeviceAddress) + .set(MediaMetrics.Property.ENABLED, deviceState.mEnabled ? "true" : "false") + .set(MediaMetrics.Property.EVENT, TextUtils.emptyIfNull(event)) + .set(MediaMetrics.Property.HAS_HEAD_TRACKER, + deviceState.mHasHeadTracker ? "true" : "false") // this may be updated later. + .set(MediaMetrics.Property.HEAD_TRACKER_ENABLED, + deviceState.mHeadTrackerEnabled ? "true" : "false") + .record(); } synchronized void removeCompatibleAudioDevice(@NonNull AudioDeviceAttributes ada) { loglogi("removeCompatibleAudioDevice: dev=" + ada); final int deviceType = ada.getType(); final boolean wireless = isWireless(deviceType); + SADeviceState deviceUpdated = null; // non-null on update. for (SADeviceState deviceState : mSADevices) { if (deviceType == deviceState.mDeviceType && (!wireless || ada.getAddress().equals(deviceState.mDeviceAddress))) { deviceState.mEnabled = false; + deviceUpdated = deviceState; break; } } - onRoutingUpdated(); - mAudioService.persistSpatialAudioDeviceSettings(); + if (deviceUpdated != null) { + onRoutingUpdated(); + mAudioService.persistSpatialAudioDeviceSettings(); + logDeviceState(deviceUpdated, "removeCompatibleAudioDevice"); + } } /** @@ -630,8 +662,10 @@ public class SpatializerHelper { } } if (!knownDevice) { - mSADevices.add(new SADeviceState(ada.getType(), ada.getAddress())); + final SADeviceState deviceState = new SADeviceState(ada.getType(), ada.getAddress()); + mSADevices.add(deviceState); mAudioService.persistSpatialAudioDeviceSettings(); + logDeviceState(deviceState, "addWirelessDeviceIfNew"); // may be updated later. } } @@ -1070,6 +1104,7 @@ public class SpatializerHelper { Log.i(TAG, "setHeadTrackerEnabled enabled:" + enabled + " device:" + ada); deviceState.mHeadTrackerEnabled = enabled; mAudioService.persistSpatialAudioDeviceSettings(); + logDeviceState(deviceState, "setHeadTrackerEnabled"); break; } } @@ -1119,6 +1154,7 @@ public class SpatializerHelper { if (!deviceState.mHasHeadTracker) { deviceState.mHasHeadTracker = true; mAudioService.persistSpatialAudioDeviceSettings(); + logDeviceState(deviceState, "setHasHeadTracker"); } return deviceState.mHeadTrackerEnabled; } @@ -1585,6 +1621,7 @@ public class SpatializerHelper { SADeviceState devState = SADeviceState.fromPersistedString(setting); if (devState != null) { mSADevices.add(devState); + logDeviceState(devState, "setSADeviceSettings"); } } } diff --git a/services/core/java/com/android/server/content/ContentService.java b/services/core/java/com/android/server/content/ContentService.java index f93e06d73a10..2564ae8d8783 100644 --- a/services/core/java/com/android/server/content/ContentService.java +++ b/services/core/java/com/android/server/content/ContentService.java @@ -26,6 +26,7 @@ import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.UserIdInt; import android.app.ActivityManager; +import android.app.ActivityManager.RestrictionLevel; import android.app.ActivityManagerInternal; import android.app.AppGlobals; import android.app.AppOpsManager; @@ -52,6 +53,7 @@ import android.content.pm.ProviderInfo; import android.database.IContentObserver; import android.database.sqlite.SQLiteException; import android.net.Uri; +import android.os.AppBackgroundRestrictionsInfo; import android.os.Binder; import android.os.Build; import android.os.Bundle; @@ -1544,7 +1546,8 @@ public final class ContentService extends IContentService.Stub { } if (procState <= ActivityManager.PROCESS_STATE_IMPORTANT_FOREGROUND || isUidActive) { FrameworkStatsLog.write(FrameworkStatsLog.SYNC_EXEMPTION_OCCURRED, - callingUid, getProcStateForStatsd(procState), isUidActive); + callingUid, getProcStateForStatsd(procState), isUidActive, + getRestrictionLevelForStatsd(ami.getRestrictionLevel(callingUid))); return ContentResolver.SYNC_EXEMPTION_PROMOTE_BUCKET; } return ContentResolver.SYNC_EXEMPTION_NONE; @@ -1599,6 +1602,27 @@ public final class ContentService extends IContentService.Stub { } } + private int getRestrictionLevelForStatsd(@RestrictionLevel int level) { + switch (level) { + case ActivityManager.RESTRICTION_LEVEL_UNKNOWN: + return AppBackgroundRestrictionsInfo.LEVEL_UNKNOWN; + case ActivityManager.RESTRICTION_LEVEL_UNRESTRICTED: + return AppBackgroundRestrictionsInfo.LEVEL_UNRESTRICTED; + case ActivityManager.RESTRICTION_LEVEL_EXEMPTED: + return AppBackgroundRestrictionsInfo.LEVEL_EXEMPTED; + case ActivityManager.RESTRICTION_LEVEL_ADAPTIVE_BUCKET: + return AppBackgroundRestrictionsInfo.LEVEL_ADAPTIVE_BUCKET; + case ActivityManager.RESTRICTION_LEVEL_RESTRICTED_BUCKET: + return AppBackgroundRestrictionsInfo.LEVEL_RESTRICTED_BUCKET; + case ActivityManager.RESTRICTION_LEVEL_BACKGROUND_RESTRICTED: + return AppBackgroundRestrictionsInfo.LEVEL_BACKGROUND_RESTRICTED; + case ActivityManager.RESTRICTION_LEVEL_HIBERNATION: + return AppBackgroundRestrictionsInfo.LEVEL_HIBERNATION; + default: + return AppBackgroundRestrictionsInfo.LEVEL_UNKNOWN; + } + } + /** {@hide} */ @VisibleForTesting public static final class ObserverNode { diff --git a/services/core/java/com/android/server/input/InputManagerService.java b/services/core/java/com/android/server/input/InputManagerService.java index b624d438a4f7..72612a0468cd 100644 --- a/services/core/java/com/android/server/input/InputManagerService.java +++ b/services/core/java/com/android/server/input/InputManagerService.java @@ -146,6 +146,7 @@ import java.util.Locale; import java.util.Map; import java.util.Objects; import java.util.OptionalInt; +import java.util.function.Consumer; /** The system implementation of {@link IInputManager} that manages input devices. */ public class InputManagerService extends IInputManager.Stub @@ -168,6 +169,8 @@ public class InputManagerService extends IInputManager.Stub private static final int MSG_POINTER_DISPLAY_ID_CHANGED = 7; private static final int DEFAULT_VIBRATION_MAGNITUDE = 192; + private static final AdditionalDisplayInputProperties + DEFAULT_ADDITIONAL_DISPLAY_INPUT_PROPERTIES = new AdditionalDisplayInputProperties(); /** * We know the issue and are working to fix it, so suppressing the toast to not annoy @@ -281,6 +284,7 @@ public class InputManagerService extends IInputManager.Stub // Guards per-display input properties and properties relating to the mouse pointer. // Threads can wait on this lock to be notified the next time the display on which the mouse // pointer is shown has changed. + // WARNING: Do not call other services outside of input while holding this lock. private final Object mAdditionalDisplayInputPropertiesLock = new Object(); // Forces the PointerController to target a specific display id. @@ -299,6 +303,11 @@ public class InputManagerService extends IInputManager.Stub @GuardedBy("mAdditionalDisplayInputPropertiesLock") private final SparseArray<AdditionalDisplayInputProperties> mAdditionalDisplayInputProperties = new SparseArray<>(); + // This contains the per-display properties that are currently applied by native code. It should + // be kept in sync with the properties for mRequestedPointerDisplayId. + @GuardedBy("mAdditionalDisplayInputPropertiesLock") + private final AdditionalDisplayInputProperties mCurrentDisplayProperties = + new AdditionalDisplayInputProperties(); @GuardedBy("mAdditionalDisplayInputPropertiesLock") private int mIconType = PointerIcon.TYPE_NOT_SPECIFIED; @GuardedBy("mAdditionalDisplayInputPropertiesLock") @@ -571,27 +580,19 @@ public class InputManagerService extends IInputManager.Stub } private void setDisplayViewportsInternal(List<DisplayViewport> viewports) { - synchronized (mAdditionalDisplayInputPropertiesLock) { - final DisplayViewport[] vArray = new DisplayViewport[viewports.size()]; - for (int i = viewports.size() - 1; i >= 0; --i) { - vArray[i] = viewports.get(i); - } - mNative.setDisplayViewports(vArray); - // Always attempt to update the pointer display when viewports change. - updatePointerDisplayId(); + final DisplayViewport[] vArray = new DisplayViewport[viewports.size()]; + for (int i = viewports.size() - 1; i >= 0; --i) { + vArray[i] = viewports.get(i); + } + mNative.setDisplayViewports(vArray); - if (mOverriddenPointerDisplayId != Display.INVALID_DISPLAY) { - final AdditionalDisplayInputProperties properties = - mAdditionalDisplayInputProperties.get(mOverriddenPointerDisplayId); - if (properties != null) { - updatePointerIconVisibleLocked(properties.pointerIconVisible); - updatePointerAccelerationLocked(properties.pointerAcceleration); - return; - } + // Attempt to update the pointer display when viewports change when there is no override. + // Take care to not make calls to window manager while holding internal locks. + final int pointerDisplayId = mWindowManagerCallbacks.getPointerDisplayId(); + synchronized (mAdditionalDisplayInputPropertiesLock) { + if (mOverriddenPointerDisplayId == Display.INVALID_DISPLAY) { + updatePointerDisplayIdLocked(pointerDisplayId); } - updatePointerIconVisibleLocked( - AdditionalDisplayInputProperties.DEFAULT_POINTER_ICON_VISIBLE); - updatePointerAccelerationLocked(IInputConstants.DEFAULT_POINTER_ACCELERATION); } } @@ -1743,12 +1744,7 @@ public class InputManagerService extends IInputManager.Stub mPointerIconDisplayContext = null; } - synchronized (mAdditionalDisplayInputPropertiesLock) { - setPointerIconVisible(AdditionalDisplayInputProperties.DEFAULT_POINTER_ICON_VISIBLE, - displayId); - setPointerAcceleration(AdditionalDisplayInputProperties.DEFAULT_POINTER_ACCELERATION, - displayId); - } + updateAdditionalDisplayInputProperties(displayId, AdditionalDisplayInputProperties::reset); mNative.displayRemoved(displayId); } @@ -1835,57 +1831,13 @@ public class InputManagerService extends IInputManager.Stub } private void setPointerAcceleration(float acceleration, int displayId) { - synchronized (mAdditionalDisplayInputPropertiesLock) { - AdditionalDisplayInputProperties properties = - mAdditionalDisplayInputProperties.get(displayId); - if (properties == null) { - properties = new AdditionalDisplayInputProperties(); - mAdditionalDisplayInputProperties.put(displayId, properties); - } - properties.pointerAcceleration = acceleration; - if (properties.allDefaults()) { - mAdditionalDisplayInputProperties.remove(displayId); - } - if (mOverriddenPointerDisplayId == displayId) { - updatePointerAccelerationLocked(acceleration); - } - } - } - - @GuardedBy("mAdditionalDisplayInputPropertiesLock") - private void updatePointerAccelerationLocked(float acceleration) { - mNative.setPointerAcceleration(acceleration); + updateAdditionalDisplayInputProperties(displayId, + properties -> properties.pointerAcceleration = acceleration); } private void setPointerIconVisible(boolean visible, int displayId) { - synchronized (mAdditionalDisplayInputPropertiesLock) { - AdditionalDisplayInputProperties properties = - mAdditionalDisplayInputProperties.get(displayId); - if (properties == null) { - properties = new AdditionalDisplayInputProperties(); - mAdditionalDisplayInputProperties.put(displayId, properties); - } - properties.pointerIconVisible = visible; - if (properties.allDefaults()) { - mAdditionalDisplayInputProperties.remove(displayId); - } - if (mOverriddenPointerDisplayId == displayId) { - updatePointerIconVisibleLocked(visible); - } - } - } - - @GuardedBy("mAdditionalDisplayInputPropertiesLock") - private void updatePointerIconVisibleLocked(boolean visible) { - if (visible) { - if (mIconType == PointerIcon.TYPE_CUSTOM) { - mNative.setCustomPointerIcon(mIcon); - } else { - mNative.setPointerIconType(mIconType); - } - } else { - mNative.setPointerIconType(PointerIcon.TYPE_NULL); - } + updateAdditionalDisplayInputProperties(displayId, + properties -> properties.pointerIconVisible = visible); } private void registerPointerSpeedSettingObserver() { @@ -2023,22 +1975,18 @@ public class InputManagerService extends IInputManager.Stub /** * Update the display on which the mouse pointer is shown. - * If there is an overridden display for the mouse pointer, use that. Otherwise, query - * WindowManager for the pointer display. * * @return true if the pointer displayId changed, false otherwise. */ - private boolean updatePointerDisplayId() { - synchronized (mAdditionalDisplayInputPropertiesLock) { - final int pointerDisplayId = mOverriddenPointerDisplayId != Display.INVALID_DISPLAY - ? mOverriddenPointerDisplayId : mWindowManagerCallbacks.getPointerDisplayId(); - if (mRequestedPointerDisplayId == pointerDisplayId) { - return false; - } - mRequestedPointerDisplayId = pointerDisplayId; - mNative.setPointerDisplayId(pointerDisplayId); - return true; + @GuardedBy("mAdditionalDisplayInputPropertiesLock") + private boolean updatePointerDisplayIdLocked(int pointerDisplayId) { + if (mRequestedPointerDisplayId == pointerDisplayId) { + return false; } + mRequestedPointerDisplayId = pointerDisplayId; + mNative.setPointerDisplayId(pointerDisplayId); + applyAdditionalDisplayInputProperties(); + return true; } private void handlePointerDisplayIdChanged(PointerDisplayIdChangedArgs args) { @@ -2051,25 +1999,23 @@ public class InputManagerService extends IInputManager.Stub args.mPointerDisplayId, args.mXPosition, args.mYPosition); } - private boolean setVirtualMousePointerDisplayIdBlocking(int displayId) { - // Indicates whether this request is for removing the override. - final boolean removingOverride = displayId == Display.INVALID_DISPLAY; + private boolean setVirtualMousePointerDisplayIdBlocking(int overrideDisplayId) { + final boolean isRemovingOverride = overrideDisplayId == Display.INVALID_DISPLAY; + + // Take care to not make calls to window manager while holding internal locks. + final int resolvedDisplayId = isRemovingOverride + ? mWindowManagerCallbacks.getPointerDisplayId() + : overrideDisplayId; synchronized (mAdditionalDisplayInputPropertiesLock) { - mOverriddenPointerDisplayId = displayId; - if (!removingOverride) { - final AdditionalDisplayInputProperties properties = - mAdditionalDisplayInputProperties.get(displayId); - if (properties != null) { - updatePointerAccelerationLocked(properties.pointerAcceleration); - updatePointerIconVisibleLocked(properties.pointerIconVisible); - } - } - if (!updatePointerDisplayId() && mAcknowledgedPointerDisplayId == displayId) { + mOverriddenPointerDisplayId = overrideDisplayId; + + if (!updatePointerDisplayIdLocked(resolvedDisplayId) + && mAcknowledgedPointerDisplayId == resolvedDisplayId) { // The requested pointer display is already set. return true; } - if (removingOverride && mAcknowledgedPointerDisplayId == Display.INVALID_DISPLAY) { + if (isRemovingOverride && mAcknowledgedPointerDisplayId == Display.INVALID_DISPLAY) { // The pointer display override is being removed, but the current pointer display // is already invalid. This can happen when the PointerController is destroyed as a // result of the removal of all input devices that can control the pointer. @@ -2087,7 +2033,7 @@ public class InputManagerService extends IInputManager.Stub // reported new displayId is the one we requested. This check ensures that if two // competing overrides are requested in succession, the caller can be notified if one // of them fails. - return removingOverride || mAcknowledgedPointerDisplayId == displayId; + return isRemovingOverride || mAcknowledgedPointerDisplayId == overrideDisplayId; } } @@ -2393,15 +2339,10 @@ public class InputManagerService extends IInputManager.Stub synchronized (mAdditionalDisplayInputPropertiesLock) { mIcon = null; mIconType = iconType; - if (mOverriddenPointerDisplayId != Display.INVALID_DISPLAY) { - final AdditionalDisplayInputProperties properties = - mAdditionalDisplayInputProperties.get(mOverriddenPointerDisplayId); - if (properties == null || properties.pointerIconVisible) { - mNative.setPointerIconType(mIconType); - } - } else { - mNative.setPointerIconType(mIconType); - } + + if (!mCurrentDisplayProperties.pointerIconVisible) return; + + mNative.setPointerIconType(mIconType); } } @@ -2412,17 +2353,10 @@ public class InputManagerService extends IInputManager.Stub synchronized (mAdditionalDisplayInputPropertiesLock) { mIconType = PointerIcon.TYPE_CUSTOM; mIcon = icon; - if (mOverriddenPointerDisplayId != Display.INVALID_DISPLAY) { - final AdditionalDisplayInputProperties properties = - mAdditionalDisplayInputProperties.get(mOverriddenPointerDisplayId); - if (properties == null || properties.pointerIconVisible) { - // Only set the icon if it is not currently hidden; otherwise, it will be set - // once it's no longer hidden. - mNative.setCustomPointerIcon(mIcon); - } - } else { - mNative.setCustomPointerIcon(mIcon); - } + + if (!mCurrentDisplayProperties.pointerIconVisible) return; + + mNative.setCustomPointerIcon(mIcon); } } @@ -3852,14 +3786,79 @@ public class InputManagerService extends IInputManager.Stub (float) IInputConstants.DEFAULT_POINTER_ACCELERATION; // The pointer acceleration for this display. - public float pointerAcceleration = DEFAULT_POINTER_ACCELERATION; + public float pointerAcceleration; // Whether the pointer icon should be visible or hidden on this display. - public boolean pointerIconVisible = DEFAULT_POINTER_ICON_VISIBLE; + public boolean pointerIconVisible; + + AdditionalDisplayInputProperties() { + reset(); + } public boolean allDefaults() { return Float.compare(pointerAcceleration, DEFAULT_POINTER_ACCELERATION) == 0 && pointerIconVisible == DEFAULT_POINTER_ICON_VISIBLE; } + + public void reset() { + pointerAcceleration = DEFAULT_POINTER_ACCELERATION; + pointerIconVisible = DEFAULT_POINTER_ICON_VISIBLE; + } + } + + private void applyAdditionalDisplayInputProperties() { + synchronized (mAdditionalDisplayInputPropertiesLock) { + AdditionalDisplayInputProperties properties = + mAdditionalDisplayInputProperties.get(mRequestedPointerDisplayId); + if (properties == null) properties = DEFAULT_ADDITIONAL_DISPLAY_INPUT_PROPERTIES; + applyAdditionalDisplayInputPropertiesLocked(properties); + } + } + + @GuardedBy("mAdditionalDisplayInputPropertiesLock") + private void applyAdditionalDisplayInputPropertiesLocked( + AdditionalDisplayInputProperties properties) { + // Handle changes to each of the individual properties. + if (properties.pointerIconVisible != mCurrentDisplayProperties.pointerIconVisible) { + mCurrentDisplayProperties.pointerIconVisible = properties.pointerIconVisible; + if (properties.pointerIconVisible) { + if (mIconType == PointerIcon.TYPE_CUSTOM) { + Objects.requireNonNull(mIcon); + mNative.setCustomPointerIcon(mIcon); + } else { + mNative.setPointerIconType(mIconType); + } + } else { + mNative.setPointerIconType(PointerIcon.TYPE_NULL); + } + } + + if (properties.pointerAcceleration != mCurrentDisplayProperties.pointerAcceleration) { + mCurrentDisplayProperties.pointerAcceleration = properties.pointerAcceleration; + mNative.setPointerAcceleration(properties.pointerAcceleration); + } + } + + private void updateAdditionalDisplayInputProperties(int displayId, + Consumer<AdditionalDisplayInputProperties> updater) { + synchronized (mAdditionalDisplayInputPropertiesLock) { + AdditionalDisplayInputProperties properties = + mAdditionalDisplayInputProperties.get(displayId); + if (properties == null) { + properties = new AdditionalDisplayInputProperties(); + mAdditionalDisplayInputProperties.put(displayId, properties); + } + updater.accept(properties); + if (properties.allDefaults()) { + mAdditionalDisplayInputProperties.remove(displayId); + } + if (displayId != mRequestedPointerDisplayId) { + Log.i(TAG, "Not applying additional properties for display " + displayId + + " because the pointer is currently targeting display " + + mRequestedPointerDisplayId + "."); + return; + } + applyAdditionalDisplayInputPropertiesLocked(properties); + } } } diff --git a/services/core/java/com/android/server/location/LocationManagerService.java b/services/core/java/com/android/server/location/LocationManagerService.java index 31d5136c80a5..e5eed9928411 100644 --- a/services/core/java/com/android/server/location/LocationManagerService.java +++ b/services/core/java/com/android/server/location/LocationManagerService.java @@ -17,6 +17,7 @@ package com.android.server.location; import static android.Manifest.permission.ACCESS_FINE_LOCATION; +import static android.Manifest.permission.INTERACT_ACROSS_USERS; import static android.Manifest.permission.WRITE_SECURE_SETTINGS; import static android.app.compat.CompatChanges.isChangeEnabled; import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE; @@ -1030,8 +1031,10 @@ public class LocationManagerService extends ILocationManager.Stub implements @Override public void addProviderRequestListener(IProviderRequestListener listener) { - for (LocationProviderManager manager : mProviderManagers) { - manager.addProviderRequestListener(listener); + if (mContext.checkCallingOrSelfPermission(INTERACT_ACROSS_USERS) == PERMISSION_GRANTED) { + for (LocationProviderManager manager : mProviderManagers) { + manager.addProviderRequestListener(listener); + } } } diff --git a/services/core/java/com/android/server/location/gnss/GnssNetworkConnectivityHandler.java b/services/core/java/com/android/server/location/gnss/GnssNetworkConnectivityHandler.java index 70b86898c24b..2e1aaf85d25a 100644 --- a/services/core/java/com/android/server/location/gnss/GnssNetworkConnectivityHandler.java +++ b/services/core/java/com/android/server/location/gnss/GnssNetworkConnectivityHandler.java @@ -16,6 +16,8 @@ package com.android.server.location.gnss; +import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED; + import android.content.Context; import android.net.ConnectivityManager; import android.net.LinkAddress; @@ -47,7 +49,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; - /** * Handles network connection requests and network state change updates for AGPS data download. */ @@ -582,6 +583,7 @@ class GnssNetworkConnectivityHandler { if (mNiHandler.getInEmergency() && mActiveSubId >= 0) { if (DEBUG) Log.d(TAG, "Adding Network Specifier: " + Integer.toString(mActiveSubId)); networkRequestBuilder.setNetworkSpecifier(Integer.toString(mActiveSubId)); + networkRequestBuilder.removeCapability(NET_CAPABILITY_NOT_RESTRICTED); } NetworkRequest networkRequest = networkRequestBuilder.build(); // Make sure we only have a single request. diff --git a/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java b/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java index 1937852fa333..098e8f74749c 100644 --- a/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java +++ b/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java @@ -45,14 +45,15 @@ import android.os.RemoteException; import android.os.UserHandle; import android.util.ArrayMap; import android.util.Slog; +import android.view.ContentRecordingSession; import android.window.WindowContainerToken; import com.android.internal.util.ArrayUtils; import com.android.internal.util.DumpUtils; import com.android.server.LocalServices; import com.android.server.SystemService; -import com.android.server.SystemService.TargetUser; import com.android.server.Watchdog; +import com.android.server.wm.WindowManagerInternal; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -381,6 +382,27 @@ public final class MediaProjectionManagerService extends SystemService } } + /** + * Updates the current content mirroring session. + */ + @Override + public void setContentRecordingSession(@Nullable ContentRecordingSession incomingSession, + @NonNull IMediaProjection projection) { + final long origId = Binder.clearCallingIdentity(); + try { + synchronized (mLock) { + if (!isValidMediaProjection(projection)) { + throw new SecurityException("Invalid media projection"); + } + LocalServices.getService( + WindowManagerInternal.class).setContentRecordingSession( + incomingSession); + } + } finally { + Binder.restoreCallingIdentity(origId); + } + } + @Override // Binder call public void dump(FileDescriptor fd, final PrintWriter pw, String[] args) { if (!DumpUtils.checkDumpPermission(mContext, TAG, pw)) return; diff --git a/services/core/java/com/android/server/pm/ApkChecksums.java b/services/core/java/com/android/server/pm/ApkChecksums.java index 39119948fa3e..c2f2b0af997a 100644 --- a/services/core/java/com/android/server/pm/ApkChecksums.java +++ b/services/core/java/com/android/server/pm/ApkChecksums.java @@ -77,6 +77,7 @@ import java.io.InputStream; import java.io.OutputStream; import java.io.RandomAccessFile; import java.nio.ByteBuffer; +import java.nio.ByteOrder; import java.nio.file.Files; import java.security.DigestException; import java.security.InvalidParameterException; @@ -584,7 +585,7 @@ public class ApkChecksums { }); checksums.put(TYPE_WHOLE_MERKLE_ROOT_4K_SHA256, new ApkChecksum(split, TYPE_WHOLE_MERKLE_ROOT_4K_SHA256, - generatedRootHash)); + verityHashForFile(file, generatedRootHash))); } catch (IOException | NoSuchAlgorithmException | DigestException e) { Slog.e(TAG, "Error calculating WHOLE_MERKLE_ROOT_4K_SHA256", e); } @@ -649,19 +650,20 @@ public class ApkChecksums { // Skip /product folder. // TODO(b/231354111): remove this hack once we are allowed to change SELinux rules. if (!containsFile(Environment.getProductDirectory(), filePath)) { - byte[] hash = VerityUtils.getFsverityRootHash(filePath); - if (hash != null) { - return new ApkChecksum(split, TYPE_WHOLE_MERKLE_ROOT_4K_SHA256, hash); + byte[] verityHash = VerityUtils.getFsverityRootHash(filePath); + if (verityHash != null) { + return new ApkChecksum(split, TYPE_WHOLE_MERKLE_ROOT_4K_SHA256, verityHash); } } // v4 next try { ApkSignatureSchemeV4Verifier.VerifiedSigner signer = ApkSignatureSchemeV4Verifier.extractCertificates(filePath); - byte[] hash = signer.contentDigests.getOrDefault(CONTENT_DIGEST_VERITY_CHUNKED_SHA256, - null); - if (hash != null) { - return new ApkChecksum(split, TYPE_WHOLE_MERKLE_ROOT_4K_SHA256, hash); + byte[] rootHash = signer.contentDigests.getOrDefault( + CONTENT_DIGEST_VERITY_CHUNKED_SHA256, null); + if (rootHash != null) { + return new ApkChecksum(split, TYPE_WHOLE_MERKLE_ROOT_4K_SHA256, + verityHashForFile(new File(filePath), rootHash)); } } catch (SignatureNotFoundException e) { // Nothing @@ -671,6 +673,41 @@ public class ApkChecksums { return null; } + /** + * Returns fs-verity digest as described in + * https://www.kernel.org/doc/html/latest/filesystems/fsverity.html#fs-verity-descriptor + * @param file the Merkle tree is built over + * @param rootHash Merkle tree root hash + */ + static byte[] verityHashForFile(File file, byte[] rootHash) { + try { + ByteBuffer buffer = ByteBuffer.allocate(256); // sizeof(fsverity_descriptor) + buffer.order(ByteOrder.LITTLE_ENDIAN); + buffer.put((byte) 1); // __u8 version, must be 1 + buffer.put((byte) 1); // __u8 hash_algorithm, FS_VERITY_HASH_ALG_SHA256 + buffer.put((byte) 12); // __u8, FS_VERITY_LOG_BLOCKSIZE + buffer.put((byte) 0); // __u8, size of salt in bytes; 0 if none + buffer.putInt(0); // __le32 __reserved_0x04, must be 0 + buffer.putLong(file.length()); // __le64 data_size + buffer.put(rootHash); // root_hash, first 32 bytes + final int padding = 32 + 32 + 144; // root_hash, last 32 bytes, we are using sha256. + // salt, 32 bytes + // reserved, 144 bytes + for (int i = 0; i < padding; ++i) { + buffer.put((byte) 0); + } + + buffer.flip(); + + final MessageDigest md = MessageDigest.getInstance(ALGO_SHA256); + md.update(buffer); + return md.digest(); + } catch (NoSuchAlgorithmException e) { + Slog.e(TAG, "Device does not support MessageDigest algorithm", e); + return null; + } + } + private static Map<Integer, ApkChecksum> extractHashFromV2V3Signature( String split, String filePath, int types) { Map<Integer, byte[]> contentDigests = null; diff --git a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java index 703be169f14c..719c3b767b46 100644 --- a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java +++ b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java @@ -1069,7 +1069,7 @@ public class PackageManagerServiceUtils { if (ArrayUtils.isEmpty(hashInfo.rawRootHash)) { throw new IOException("Root has not present"); } - return hashInfo.rawRootHash; + return ApkChecksums.verityHashForFile(new File(filename), hashInfo.rawRootHash); } catch (IOException ignore) { Slog.e(TAG, "ERROR: could not load root hash from incremental install"); } diff --git a/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java b/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java index 67960655b618..cc1c943c2540 100644 --- a/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java +++ b/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java @@ -603,15 +603,10 @@ final class DefaultPermissionGrantPolicy { final String setupWizardPackage = ArrayUtils.firstOrNull(getKnownPackages( KnownPackages.PACKAGE_SETUP_WIZARD, userId)); grantPermissionsToSystemPackage(pm, setupWizardPackage, userId, PHONE_PERMISSIONS, - CONTACTS_PERMISSIONS, ALWAYS_LOCATION_PERMISSIONS, CAMERA_PERMISSIONS); + CONTACTS_PERMISSIONS, ALWAYS_LOCATION_PERMISSIONS, CAMERA_PERMISSIONS, + NEARBY_DEVICES_PERMISSIONS); grantSystemFixedPermissionsToSystemPackage(pm, setupWizardPackage, userId, NOTIFICATION_PERMISSIONS); - if (mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WATCH, 0) - || mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE, - 0)) { - grantPermissionsToSystemPackage( - pm, setupWizardPackage, userId, NEARBY_DEVICES_PERMISSIONS); - } // SearchSelector grantPermissionsToSystemPackage(pm, getDefaultSearchSelectorPackage(), userId, 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 8552bba5d608..d34682df3413 100644 --- a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java +++ b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java @@ -2516,7 +2516,6 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt final int[] userIds = filterUserId == UserHandle.USER_ALL ? getAllUserIds() : new int[] { filterUserId }; - boolean installPermissionsChanged = false; boolean runtimePermissionsRevoked = false; int[] updatedUserIds = EMPTY_INT_ARRAY; @@ -2635,7 +2634,7 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt UidPermissionState origState = uidState; - boolean installPermissionsChangedForUser = false; + boolean changedInstallPermission = false; if (replace) { userState.setInstallPermissionsFixed(ps.getPackageName(), false); @@ -2801,7 +2800,7 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt && origState.isPermissionGranted(permName))))) { // Grant an install permission. if (uidState.grantPermission(bp)) { - installPermissionsChangedForUser = true; + changedInstallPermission = true; } } else if (bp.isRuntime()) { boolean hardRestricted = bp.isHardRestricted(); @@ -2941,12 +2940,12 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt } } if (uidState.removePermissionState(bp.getName())) { - installPermissionsChangedForUser = true; + changedInstallPermission = true; } } } - if ((installPermissionsChangedForUser || replace) + if ((changedInstallPermission || replace) && !userState.areInstallPermissionsFixed(ps.getPackageName()) && !ps.isSystem() || ps.getTransientState().isUpdatedSystemApp()) { // This is the first that we have heard about this package, so the @@ -2955,12 +2954,6 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt userState.setInstallPermissionsFixed(ps.getPackageName(), true); } - if (installPermissionsChangedForUser) { - installPermissionsChanged = true; - if (replace) { - updatedUserIds = ArrayUtils.appendInt(updatedUserIds, userId); - } - } updatedUserIds = revokePermissionsNoLongerImplicitLocked(uidState, pkg.getPackageName(), uidImplicitPermissions, uidTargetSdkVersion, userId, updatedUserIds); @@ -2977,12 +2970,8 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt // Persist the runtime permissions state for users with changes. If permissions // were revoked because no app in the shared user declares them we have to // write synchronously to avoid losing runtime permissions state. - // Also write synchronously if we changed any install permission for an updated app, because - // the install permission state is likely already fixed before update, and if we lose the - // changes here the app won't be reconsidered for newly-added install permissions. if (callback != null) { - callback.onPermissionUpdated(updatedUserIds, - (replace && installPermissionsChanged) || runtimePermissionsRevoked); + callback.onPermissionUpdated(updatedUserIds, runtimePermissionsRevoked); } for (int userId : updatedUserIds) { diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java index ea0db30ee4db..b8162cd3d008 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java +++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java @@ -1789,13 +1789,13 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { } @Override - public BackNavigationInfo startBackNavigation() { + public BackNavigationInfo startBackNavigation(boolean requestAnimation) { mAmInternal.enforceCallingPermission(START_TASKS_FROM_RECENTS, "startBackNavigation()"); if (mBackNavigationController == null) { return null; } - return mBackNavigationController.startBackNavigation(mWindowManager); + return mBackNavigationController.startBackNavigation(mWindowManager, requestAnimation); } /** diff --git a/services/core/java/com/android/server/wm/BackNavigationController.java b/services/core/java/com/android/server/wm/BackNavigationController.java index dac72d820251..d07cc68af890 100644 --- a/services/core/java/com/android/server/wm/BackNavigationController.java +++ b/services/core/java/com/android/server/wm/BackNavigationController.java @@ -61,10 +61,6 @@ class BackNavigationController { return SystemProperties.getInt("persist.wm.debug.predictive_back_screenshot", 0) != 0; } - private static boolean isAnimationEnabled() { - return SystemProperties.getInt("persist.wm.debug.predictive_back_anim", 0) != 0; - } - /** * Set up the necessary leashes and build a {@link BackNavigationInfo} instance for an upcoming * back gesture animation. @@ -74,20 +70,21 @@ class BackNavigationController { * fallback on dispatching the key event. */ @Nullable - BackNavigationInfo startBackNavigation(@NonNull WindowManagerService wmService) { - return startBackNavigation(wmService, null); + BackNavigationInfo startBackNavigation(@NonNull WindowManagerService wmService, + boolean requestAnimation) { + return startBackNavigation(wmService, null, requestAnimation); } /** * @param tx, a transaction to be used for the attaching the animation leash. * This is used in tests. If null, the object will be initialized with a new {@link * SurfaceControl.Transaction} - * @see #startBackNavigation(WindowManagerService) + * @see #startBackNavigation(WindowManagerService, boolean) */ @VisibleForTesting @Nullable BackNavigationInfo startBackNavigation(WindowManagerService wmService, - @Nullable SurfaceControl.Transaction tx) { + @Nullable SurfaceControl.Transaction tx, boolean requestAnimation) { if (tx == null) { tx = new SurfaceControl.Transaction(); @@ -295,7 +292,7 @@ class BackNavigationController { } // Special handling for back to home animation - if (backType == BackNavigationInfo.TYPE_RETURN_TO_HOME && isAnimationEnabled() + if (backType == BackNavigationInfo.TYPE_RETURN_TO_HOME && requestAnimation && prevTask != null) { currentTask.mBackGestureStarted = true; // Make launcher show from behind by marking its top activity as visible and @@ -350,7 +347,7 @@ class BackNavigationController { Task finalTask = currentTask; RemoteCallback onBackNavigationDone = new RemoteCallback(result -> onBackNavigationDone( result, finalRemovedWindowContainer, finalBackType, finalTask, - finalprevActivity)); + finalprevActivity, requestAnimation)); infoBuilder.setOnBackNavigationDone(onBackNavigationDone); } @@ -384,14 +381,14 @@ class BackNavigationController { private void onBackNavigationDone( Bundle result, WindowContainer<?> windowContainer, int backType, - Task task, ActivityRecord prevActivity) { + Task task, ActivityRecord prevActivity, boolean requestAnimation) { SurfaceControl surfaceControl = windowContainer.getSurfaceControl(); boolean triggerBack = result != null && result.getBoolean( BackNavigationInfo.KEY_TRIGGER_BACK); ProtoLog.d(WM_DEBUG_BACK_PREVIEW, "onBackNavigationDone backType=%s, " + "task=%s, prevActivity=%s", backType, task, prevActivity); - if (backType == BackNavigationInfo.TYPE_RETURN_TO_HOME && isAnimationEnabled()) { + if (backType == BackNavigationInfo.TYPE_RETURN_TO_HOME && requestAnimation) { if (triggerBack) { if (surfaceControl != null && surfaceControl.isValid()) { // When going back to home, hide the task surface before it is re-parented to diff --git a/services/core/java/com/android/server/wm/ConfigurationContainer.java b/services/core/java/com/android/server/wm/ConfigurationContainer.java index e7c03aa7a099..fcdf175cb809 100644 --- a/services/core/java/com/android/server/wm/ConfigurationContainer.java +++ b/services/core/java/com/android/server/wm/ConfigurationContainer.java @@ -126,6 +126,10 @@ public abstract class ConfigurationContainer<E extends ConfigurationContainer> { mResolvedTmpConfig.setTo(mResolvedOverrideConfiguration); resolveOverrideConfiguration(newParentConfig); mFullConfiguration.setTo(newParentConfig); + // Do not inherit always-on-top property from parent, otherwise the always-on-top + // property is propagated to all children. In that case, newly added child is + // always being positioned at bottom (behind the always-on-top siblings). + mFullConfiguration.windowConfiguration.unsetAlwaysOnTop(); mFullConfiguration.updateFrom(mResolvedOverrideConfiguration); onMergedOverrideConfigurationChanged(); if (!mResolvedTmpConfig.equals(mResolvedOverrideConfiguration)) { @@ -228,6 +232,10 @@ public abstract class ConfigurationContainer<E extends ConfigurationContainer> { final ConfigurationContainer parent = getParent(); if (parent != null) { mMergedOverrideConfiguration.setTo(parent.getMergedOverrideConfiguration()); + // Do not inherit always-on-top property from parent, otherwise the always-on-top + // property is propagated to all children. In that case, newly added child is + // always being positioned at bottom (behind the always-on-top siblings). + mMergedOverrideConfiguration.windowConfiguration.unsetAlwaysOnTop(); mMergedOverrideConfiguration.updateFrom(mResolvedOverrideConfiguration); } else { mMergedOverrideConfiguration.setTo(mResolvedOverrideConfiguration); diff --git a/services/core/java/com/android/server/wm/ContentRecorder.java b/services/core/java/com/android/server/wm/ContentRecorder.java index 87523f44d4b6..5d2d5826f227 100644 --- a/services/core/java/com/android/server/wm/ContentRecorder.java +++ b/services/core/java/com/android/server/wm/ContentRecorder.java @@ -207,7 +207,8 @@ final class ContentRecorder { // Update the cached session state first, since updating the service will result in always // returning to this instance to update recording state. mContentRecordingSession = null; - mDisplayContent.mWmService.setContentRecordingSession(null); + mDisplayContent.mWmService.mContentRecordingController.setContentRecordingSessionLocked( + null, mDisplayContent.mWmService); } /** diff --git a/services/core/java/com/android/server/wm/WindowManagerInternal.java b/services/core/java/com/android/server/wm/WindowManagerInternal.java index c0d7d1362ac3..9eee7ba871a2 100644 --- a/services/core/java/com/android/server/wm/WindowManagerInternal.java +++ b/services/core/java/com/android/server/wm/WindowManagerInternal.java @@ -30,6 +30,7 @@ import android.hardware.display.DisplayManagerInternal; import android.os.Bundle; import android.os.IBinder; import android.util.Pair; +import android.view.ContentRecordingSession; import android.view.Display; import android.view.IInputFilter; import android.view.IRemoteAnimationFinishedCallback; @@ -869,4 +870,16 @@ public abstract class WindowManagerInternal { */ public abstract boolean isPointInsideWindow( @NonNull IBinder windowToken, int displayId, float displayX, float displayY); + + /** + * Updates the content recording session. If a different session is already in progress, then + * the pre-existing session is stopped, and the new incoming session takes over. + * + * The DisplayContent for the new session will begin recording when + * {@link RootWindowContainer#onDisplayChanged} is invoked for the new {@link VirtualDisplay}. + * Must be invoked for a valid MediaProjection session. + * + * @param incomingSession the nullable incoming content recording session + */ + public abstract void setContentRecordingSession(ContentRecordingSession incomingSession); } diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 7a5480401de8..902218621cd0 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -2956,16 +2956,6 @@ public class WindowManagerService extends IWindowManager.Stub } } - /** - * Updates the current content mirroring session. - */ - @Override - public void setContentRecordingSession(@Nullable ContentRecordingSession incomingSession) { - synchronized (mGlobalLock) { - mContentRecordingController.setContentRecordingSessionLocked(incomingSession, this); - } - } - // TODO(multi-display): remove when no default display use case. void prepareAppTransitionNone() { if (!checkCallingPermission(MANAGE_APP_TOKENS, "prepareAppTransition()")) { @@ -8242,6 +8232,14 @@ public class WindowManagerService extends IWindowManager.Stub return w.getBounds().contains((int) displayX, (int) displayY); } } + + @Override + public void setContentRecordingSession(@Nullable ContentRecordingSession incomingSession) { + synchronized (mGlobalLock) { + mContentRecordingController.setContentRecordingSessionLocked(incomingSession, + WindowManagerService.this); + } + } } void registerAppFreezeListener(AppFreezeListener listener) { diff --git a/services/tests/mockingservicestests/src/com/android/server/DeviceIdleControllerTest.java b/services/tests/mockingservicestests/src/com/android/server/DeviceIdleControllerTest.java index ac115a26f9e4..cb14864876ab 100644 --- a/services/tests/mockingservicestests/src/com/android/server/DeviceIdleControllerTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/DeviceIdleControllerTest.java @@ -284,7 +284,7 @@ public class DeviceIdleControllerTest { @Override public void onDeviceStationaryChanged(boolean isStationary) { if (isStationary == motionExpected) { - fail("Unexpected device stationary status: " + isStationary); + fail("Got unexpected device stationary status: " + isStationary); } this.isStationary = isStationary; } @@ -2096,6 +2096,70 @@ public class DeviceIdleControllerTest { eq(SensorManager.SENSOR_DELAY_NORMAL)); } + @Test + public void testStationaryDetection_NoDoze_AfterMotion() { + // Short timeout for testing. + mConstants.MOTION_INACTIVE_TIMEOUT = 6000L; + doReturn(Sensor.REPORTING_MODE_CONTINUOUS).when(mMotionSensor).getReportingMode(); + setAlarmSoon(true); + + final ArgumentCaptor<AlarmManager.OnAlarmListener> regAlarmListener = ArgumentCaptor + .forClass(AlarmManager.OnAlarmListener.class); + final ArgumentCaptor<AlarmManager.OnAlarmListener> motionAlarmListener = ArgumentCaptor + .forClass(AlarmManager.OnAlarmListener.class); + doNothing().when(mAlarmManager).setWindow( + anyInt(), anyLong(), anyLong(), eq("DeviceIdleController.motion"), + motionAlarmListener.capture(), any()); + doNothing().when(mAlarmManager).setWindow(anyInt(), anyLong(), anyLong(), + eq("DeviceIdleController.motion_registration"), + regAlarmListener.capture(), any()); + ArgumentCaptor<SensorEventListener> listenerCaptor = + ArgumentCaptor.forClass(SensorEventListener.class); + + StationaryListenerForTest stationaryListener = new StationaryListenerForTest(); + spyOn(stationaryListener); + InOrder inOrder = inOrder(stationaryListener, mSensorManager, mAlarmManager); + + stationaryListener.motionExpected = true; + mDeviceIdleController.registerStationaryListener(stationaryListener); + inOrder.verify(stationaryListener, timeout(1000L).times(1)) + .onDeviceStationaryChanged(eq(false)); + assertFalse(stationaryListener.isStationary); + inOrder.verify(mSensorManager) + .registerListener(listenerCaptor.capture(), eq(mMotionSensor), + eq(SensorManager.SENSOR_DELAY_NORMAL)); + inOrder.verify(mAlarmManager).setWindow( + anyInt(), eq(mInjector.nowElapsed + mConstants.MOTION_INACTIVE_TIMEOUT), anyLong(), + eq("DeviceIdleController.motion"), any(), any()); + final SensorEventListener listener = listenerCaptor.getValue(); + + // Trigger motion + listener.onSensorChanged(mock(SensorEvent.class)); + inOrder.verify(stationaryListener, timeout(1000L).times(1)) + .onDeviceStationaryChanged(eq(false)); + final ArgumentCaptor<Long> registrationTimeCaptor = ArgumentCaptor.forClass(Long.class); + inOrder.verify(mAlarmManager).setWindow( + anyInt(), registrationTimeCaptor.capture(), anyLong(), + eq("DeviceIdleController.motion_registration"), any(), any()); + + // Make sure the listener is re-registered. + mInjector.nowElapsed = registrationTimeCaptor.getValue(); + regAlarmListener.getValue().onAlarm(); + inOrder.verify(mSensorManager) + .registerListener(eq(listener), eq(mMotionSensor), + eq(SensorManager.SENSOR_DELAY_NORMAL)); + final ArgumentCaptor<Long> timeoutCaptor = ArgumentCaptor.forClass(Long.class); + inOrder.verify(mAlarmManager).setWindow(anyInt(), timeoutCaptor.capture(), anyLong(), + eq("DeviceIdleController.motion"), any(), any()); + + // No motion before timeout + stationaryListener.motionExpected = false; + mInjector.nowElapsed = timeoutCaptor.getValue(); + motionAlarmListener.getValue().onAlarm(); + inOrder.verify(stationaryListener, timeout(1000L).times(1)) + .onDeviceStationaryChanged(eq(true)); + } + private void enterDeepState(int state) { switch (state) { case STATE_ACTIVE: diff --git a/services/tests/servicestests/src/com/android/server/input/InputManagerServiceTests.kt b/services/tests/servicestests/src/com/android/server/input/InputManagerServiceTests.kt index e78f0c77d6b3..844f5d4cd3eb 100644 --- a/services/tests/servicestests/src/com/android/server/input/InputManagerServiceTests.kt +++ b/services/tests/servicestests/src/com/android/server/input/InputManagerServiceTests.kt @@ -36,6 +36,7 @@ import org.mockito.ArgumentMatchers.anyInt import org.mockito.ArgumentMatchers.eq import org.mockito.Mock import org.mockito.Mockito.`when` +import org.mockito.Mockito.clearInvocations import org.mockito.Mockito.doAnswer import org.mockito.Mockito.never import org.mockito.Mockito.spy @@ -226,7 +227,8 @@ class InputManagerServiceTests { @Test fun onDisplayRemoved_resetAllAdditionalInputProperties() { - localService.setVirtualMousePointerDisplayId(10) + setVirtualMousePointerDisplayIdAndVerify(10) + localService.setPointerIconVisible(false, 10) verify(native).setPointerIconType(eq(PointerIcon.TYPE_NULL)) localService.setPointerAcceleration(5f, 10) @@ -237,9 +239,66 @@ class InputManagerServiceTests { verify(native).setPointerIconType(eq(PointerIcon.TYPE_NOT_SPECIFIED)) verify(native).setPointerAcceleration( eq(IInputConstants.DEFAULT_POINTER_ACCELERATION.toFloat())) + verifyNoMoreInteractions(native) + // This call should not block because the virtual mouse pointer override was never removed. localService.setVirtualMousePointerDisplayId(10) + verify(native).setPointerDisplayId(eq(10)) verifyNoMoreInteractions(native) } + + @Test + fun updateAdditionalInputPropertiesForOverrideDisplay() { + setVirtualMousePointerDisplayIdAndVerify(10) + + localService.setPointerIconVisible(false, 10) + verify(native).setPointerIconType(eq(PointerIcon.TYPE_NULL)) + localService.setPointerAcceleration(5f, 10) + verify(native).setPointerAcceleration(eq(5f)) + + localService.setPointerIconVisible(true, 10) + verify(native).setPointerIconType(eq(PointerIcon.TYPE_NOT_SPECIFIED)) + localService.setPointerAcceleration(1f, 10) + verify(native).setPointerAcceleration(eq(1f)) + + // Verify that setting properties on a different display is not propagated until the + // pointer is moved to that display. + localService.setPointerIconVisible(false, 20) + localService.setPointerAcceleration(6f, 20) + verifyNoMoreInteractions(native) + + clearInvocations(native) + setVirtualMousePointerDisplayIdAndVerify(20) + + verify(native).setPointerIconType(eq(PointerIcon.TYPE_NULL)) + verify(native).setPointerAcceleration(eq(6f)) + } + + @Test + fun setAdditionalInputPropertiesBeforeOverride() { + localService.setPointerIconVisible(false, 10) + localService.setPointerAcceleration(5f, 10) + + verifyNoMoreInteractions(native) + + setVirtualMousePointerDisplayIdAndVerify(10) + + verify(native).setPointerIconType(eq(PointerIcon.TYPE_NULL)) + verify(native).setPointerAcceleration(eq(5f)) + } + + private fun setVirtualMousePointerDisplayIdAndVerify(overrideDisplayId: Int) { + val thread = Thread { localService.setVirtualMousePointerDisplayId(overrideDisplayId) } + thread.start() + + // Allow some time for the set override call to park while waiting for the native callback. + Thread.sleep(100 /*millis*/) + verify(native).setPointerDisplayId(overrideDisplayId) + + service.onPointerDisplayIdChanged(overrideDisplayId, 0f, 0f) + testLooper.dispatchNext() + verify(wmCallbacks).notifyPointerDisplayIdChanged(overrideDisplayId, 0f, 0f) + thread.join(100 /*millis*/) + } } diff --git a/services/tests/wmtests/src/com/android/server/wm/BackNavigationControllerTests.java b/services/tests/wmtests/src/com/android/server/wm/BackNavigationControllerTests.java index 873d9f3fc023..2c1c38f3bee8 100644 --- a/services/tests/wmtests/src/com/android/server/wm/BackNavigationControllerTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/BackNavigationControllerTests.java @@ -86,7 +86,7 @@ public class BackNavigationControllerTests extends WindowTestsBase { SurfaceControl.Transaction tx = mock(SurfaceControl.Transaction.class); BackNavigationInfo backNavigationInfo = mBackNavigationController.startBackNavigation(mWm, - tx); + tx, true); assertWithMessage("BackNavigationInfo").that(backNavigationInfo).isNotNull(); assertThat(backNavigationInfo.getDepartingAnimationTarget()).isNotNull(); assertThat(backNavigationInfo.getTaskWindowConfiguration()).isNotNull(); @@ -242,7 +242,7 @@ public class BackNavigationControllerTests extends WindowTestsBase { @Nullable private BackNavigationInfo startBackNavigation() { - return mBackNavigationController.startBackNavigation(mWm, new StubTransaction()); + return mBackNavigationController.startBackNavigation(mWm, new StubTransaction(), true); } @NonNull diff --git a/services/tests/wmtests/src/com/android/server/wm/ConfigurationContainerTests.java b/services/tests/wmtests/src/com/android/server/wm/ConfigurationContainerTests.java index 59b12e406d70..5d824e9204db 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ConfigurationContainerTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ConfigurationContainerTests.java @@ -21,6 +21,7 @@ import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD; import static android.app.WindowConfiguration.ACTIVITY_TYPE_UNDEFINED; import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM; import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN; +import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW; import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED; import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE; import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_PORTRAIT; @@ -210,6 +211,20 @@ public class ConfigurationContainerTests { } @Test + public void testSetAlwaysOnTop() { + final TestConfigurationContainer root = new TestConfigurationContainer(); + final TestConfigurationContainer child1 = root.addChild(); + final TestConfigurationContainer child2 = root.addChild(); + root.setWindowingMode(WINDOWING_MODE_MULTI_WINDOW); + root.setAlwaysOnTop(true); + final TestConfigurationContainer child3 = root.addChild(); + assertEquals(true, root.isAlwaysOnTop()); + assertEquals(false, child1.isAlwaysOnTop()); + assertEquals(false, child2.isAlwaysOnTop()); + assertEquals(false, child3.isAlwaysOnTop()); + } + + @Test public void testSetWindowingMode() { final TestConfigurationContainer root = new TestConfigurationContainer(); root.setWindowingMode(WINDOWING_MODE_UNDEFINED); diff --git a/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java b/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java index c5f785ea7680..32f3bfe5166c 100644 --- a/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java @@ -2441,7 +2441,7 @@ public class DisplayContentTests extends WindowTestsBase { ContentRecordingSession session = ContentRecordingSession.createDisplaySession( tokenToMirror); session.setDisplayId(displayId); - mWm.setContentRecordingSession(session); + mWm.mContentRecordingController.setContentRecordingSessionLocked(session, mWm); actualDC.updateRecording(); // THEN mirroring is not started, since a null surface indicates the VirtualDisplay is off. @@ -2470,7 +2470,7 @@ public class DisplayContentTests extends WindowTestsBase { ContentRecordingSession session = ContentRecordingSession.createDisplaySession( tokenToMirror); session.setDisplayId(displayId); - mWm.setContentRecordingSession(session); + mWm.mContentRecordingController.setContentRecordingSessionLocked(session, mWm); mWm.mRoot.onDisplayAdded(displayId); // WHEN getting the DisplayContent for the new virtual display. diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskDisplayAreaTests.java b/services/tests/wmtests/src/com/android/server/wm/TaskDisplayAreaTests.java index e5e0145095c1..e8f1d2390c34 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TaskDisplayAreaTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/TaskDisplayAreaTests.java @@ -674,8 +674,6 @@ public class TaskDisplayAreaTests extends WindowTestsBase { taskDisplayArea.positionChildAt(POSITION_TOP, alwaysOnTopRootTask, false /* includingParents */); assertTrue(alwaysOnTopRootTask.isAlwaysOnTop()); - // Ensure always on top state is synced to the children of the root task. - assertTrue(alwaysOnTopRootTask.getTopNonFinishingActivity().isAlwaysOnTop()); assertEquals(alwaysOnTopRootTask, taskDisplayArea.getTopRootTask()); final Task pinnedRootTask = taskDisplayArea.createRootTask( diff --git a/services/usage/java/com/android/server/usage/TEST_MAPPING b/services/usage/java/com/android/server/usage/TEST_MAPPING index 523d5f95c6f3..1c0c71b65fd7 100644 --- a/services/usage/java/com/android/server/usage/TEST_MAPPING +++ b/services/usage/java/com/android/server/usage/TEST_MAPPING @@ -20,6 +20,28 @@ ] } ], + "presubmit-large": [ + { + "name": "CtsUsageStatsTestCases", + "options": [ + { + "include-filter": "android.app.usage.cts.BroadcastResponseStatsTest" + }, + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + }, + { + "exclude-annotation": "android.platform.test.annotations.FlakyTest" + }, + { + "exclude-annotation": "androidx.test.filters.MediumTest" + }, + { + "exclude-annotation": "androidx.test.filters.LargeTest" + } + ] + } + ], "postsubmit": [ { "name": "CtsUsageStatsTestCases", diff --git a/services/usb/java/com/android/server/usb/UsbDirectMidiDevice.java b/services/usb/java/com/android/server/usb/UsbDirectMidiDevice.java index dc96c66bff29..15e5e6465643 100644 --- a/services/usb/java/com/android/server/usb/UsbDirectMidiDevice.java +++ b/services/usb/java/com/android/server/usb/UsbDirectMidiDevice.java @@ -80,9 +80,13 @@ public final class UsbDirectMidiDevice implements Closeable { // of cycles and not being permanently stuck. private static final int BULK_TRANSFER_TIMEOUT_MILLISECONDS = 10; + // Arbitrary number for timeout when closing a thread + private static final int THREAD_JOIN_TIMEOUT_MILLISECONDS = 200; + private ArrayList<UsbDeviceConnection> mUsbDeviceConnections; private ArrayList<ArrayList<UsbEndpoint>> mInputUsbEndpoints; private ArrayList<ArrayList<UsbEndpoint>> mOutputUsbEndpoints; + private ArrayList<Thread> mThreads; private UsbMidiBlockParser mMidiBlockParser = new UsbMidiBlockParser(); private int mDefaultMidiProtocol = MidiDeviceInfo.PROTOCOL_UMP_MIDI_1_0_UP_TO_64_BITS; @@ -273,9 +277,10 @@ public final class UsbDirectMidiDevice implements Closeable { // to USB MIDI for each USB output. mUsbMidiPacketConverter = new UsbMidiPacketConverter(mNumOutputs); - mUsbDeviceConnections = new ArrayList<UsbDeviceConnection>(mUsbInterfaces.size()); - mInputUsbEndpoints = new ArrayList<ArrayList<UsbEndpoint>>(mUsbInterfaces.size()); - mOutputUsbEndpoints = new ArrayList<ArrayList<UsbEndpoint>>(mUsbInterfaces.size()); + mUsbDeviceConnections = new ArrayList<UsbDeviceConnection>(); + mInputUsbEndpoints = new ArrayList<ArrayList<UsbEndpoint>>(); + mOutputUsbEndpoints = new ArrayList<ArrayList<UsbEndpoint>>(); + mThreads = new ArrayList<Thread>(); for (int interfaceIndex = 0; interfaceIndex < mUsbInterfaces.size(); interfaceIndex++) { ArrayList<UsbEndpoint> inputEndpoints = new ArrayList<UsbEndpoint>(); @@ -327,7 +332,7 @@ public final class UsbDirectMidiDevice implements Closeable { mInputUsbEndpoints.get(connectionIndex).get(endpointIndex); final int portFinal = portNumber; - new Thread("UsbDirectMidiDevice input thread " + portFinal) { + Thread newThread = new Thread("UsbDirectMidiDevice input thread " + portFinal) { @Override public void run() { final UsbRequest request = new UsbRequest(); @@ -335,9 +340,12 @@ public final class UsbDirectMidiDevice implements Closeable { request.initialize(connectionFinal, endpointFinal); byte[] inputBuffer = new byte[endpointFinal.getMaxPacketSize()]; while (true) { + if (Thread.currentThread().interrupted()) { + Log.w(TAG, "input thread interrupted"); + break; + } // Record time of event immediately after waking. long timestamp = System.nanoTime(); - if (!mIsOpen) break; final ByteBuffer byteBuffer = ByteBuffer.wrap(inputBuffer); if (!request.queue(byteBuffer)) { Log.w(TAG, "Cannot queue request"); @@ -362,6 +370,10 @@ public final class UsbDirectMidiDevice implements Closeable { convertedArray = swapEndiannessPerWord(inputBuffer, bytesRead); } else { + if (mUsbMidiPacketConverter == null) { + Log.w(TAG, "mUsbMidiPacketConverter is null"); + break; + } convertedArray = mUsbMidiPacketConverter.usbMidiToRawMidi( inputBuffer, bytesRead); @@ -371,19 +383,28 @@ public final class UsbDirectMidiDevice implements Closeable { logByteArray("Input after conversion ", convertedArray, 0, convertedArray.length); } + + if ((outputReceivers == null) + || (outputReceivers[portFinal] == null)) { + Log.w(TAG, "outputReceivers is null"); + break; + } outputReceivers[portFinal].send(convertedArray, 0, convertedArray.length, timestamp); } } } catch (IOException e) { Log.d(TAG, "reader thread exiting"); + } catch (NullPointerException e) { + Log.e(TAG, "input thread: ", e); } finally { request.close(); } Log.d(TAG, "input thread exit"); } - }.start(); - + }; + newThread.start(); + mThreads.add(newThread); portNumber++; } } @@ -402,52 +423,66 @@ public final class UsbDirectMidiDevice implements Closeable { final int portFinal = portNumber; final MidiEventScheduler eventSchedulerFinal = mEventSchedulers[portFinal]; - new Thread("UsbDirectMidiDevice output thread " + portFinal) { + Thread newThread = new Thread("UsbDirectMidiDevice output thread " + portFinal) { @Override public void run() { - while (true) { - MidiEvent event; - try { - event = (MidiEvent) eventSchedulerFinal.waitNextEvent(); - } catch (InterruptedException e) { - // try again - continue; - } - if (event == null) { - break; - } + try { + while (true) { + if (Thread.currentThread().interrupted()) { + Log.w(TAG, "output thread interrupted"); + break; + } + MidiEvent event; + try { + event = (MidiEvent) eventSchedulerFinal.waitNextEvent(); + } catch (InterruptedException e) { + Log.w(TAG, "event scheduler interrupted"); + break; + } + if (event == null) { + Log.w(TAG, "event is null"); + break; + } - if (DEBUG) { - logByteArray("Output before conversion ", event.data, 0, - event.count); - } + if (DEBUG) { + logByteArray("Output before conversion ", event.data, 0, + event.count); + } - byte[] convertedArray; - if (mIsUniversalMidiDevice) { - // For USB, each 32 bit word of a UMP is - // sent with the least significant byte first. - convertedArray = swapEndiannessPerWord(event.data, - event.count); - } else { - convertedArray = - mUsbMidiPacketConverter.rawMidiToUsbMidi( - event.data, event.count, portFinal); - } + byte[] convertedArray; + if (mIsUniversalMidiDevice) { + // For USB, each 32 bit word of a UMP is + // sent with the least significant byte first. + convertedArray = swapEndiannessPerWord(event.data, + event.count); + } else { + if (mUsbMidiPacketConverter == null) { + Log.w(TAG, "mUsbMidiPacketConverter is null"); + break; + } + convertedArray = + mUsbMidiPacketConverter.rawMidiToUsbMidi( + event.data, event.count, portFinal); + } - if (DEBUG) { - logByteArray("Output after conversion ", convertedArray, 0, - convertedArray.length); - } + if (DEBUG) { + logByteArray("Output after conversion ", convertedArray, 0, + convertedArray.length); + } - connectionFinal.bulkTransfer(endpointFinal, convertedArray, - convertedArray.length, - BULK_TRANSFER_TIMEOUT_MILLISECONDS); - eventSchedulerFinal.addEventToPool(event); + connectionFinal.bulkTransfer(endpointFinal, convertedArray, + convertedArray.length, + BULK_TRANSFER_TIMEOUT_MILLISECONDS); + eventSchedulerFinal.addEventToPool(event); + } + } catch (NullPointerException e) { + Log.e(TAG, "output thread: ", e); } Log.d(TAG, "output thread exit"); } - }.start(); - + }; + newThread.start(); + mThreads.add(newThread); portNumber++; } } @@ -523,6 +558,27 @@ public final class UsbDirectMidiDevice implements Closeable { private void closeLocked() { Log.d(TAG, "closeLocked()"); + + // Send an interrupt signal to threads. + for (Thread thread : mThreads) { + if (thread != null) { + thread.interrupt(); + } + } + + // Wait for threads to actually stop. + for (Thread thread : mThreads) { + if (thread != null) { + try { + thread.join(THREAD_JOIN_TIMEOUT_MILLISECONDS); + } catch (InterruptedException e) { + Log.w(TAG, "thread join interrupted"); + break; + } + } + } + mThreads = null; + for (int i = 0; i < mEventSchedulers.length; i++) { mMidiInputPortReceivers[i].setReceiver(null); mEventSchedulers[i].close(); diff --git a/tests/vcn/java/com/android/server/VcnManagementServiceTest.java b/tests/vcn/java/com/android/server/VcnManagementServiceTest.java index 54b3c400af4f..f924b2e9b932 100644 --- a/tests/vcn/java/com/android/server/VcnManagementServiceTest.java +++ b/tests/vcn/java/com/android/server/VcnManagementServiceTest.java @@ -23,6 +23,7 @@ import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR; import static android.net.NetworkCapabilities.TRANSPORT_WIFI; import static android.net.vcn.VcnManager.VCN_STATUS_CODE_ACTIVE; import static android.net.vcn.VcnManager.VCN_STATUS_CODE_SAFE_MODE; +import static android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID; import static android.telephony.TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS; import static android.telephony.TelephonyManager.CARRIER_PRIVILEGE_STATUS_NO_ACCESS; @@ -276,7 +277,6 @@ public class VcnManagementServiceTest { @Test public void testSystemReady() throws Exception { mVcnMgmtSvc.systemReady(); - mTestLooper.dispatchAll(); verify(mConnMgr).registerNetworkProvider(any(VcnNetworkProvider.class)); verify(mSubscriptionTracker).register(); @@ -494,8 +494,10 @@ public class VcnManagementServiceTest { mVcnMgmtSvc.addVcnUnderlyingNetworkPolicyListener(mMockPolicyListener); triggerSubscriptionTrackerCbAndGetSnapshot(null, Collections.emptySet()); - mTestLooper.dispatchAll(); + // Verify teardown after delay + mTestLooper.moveTimeForward(VcnManagementService.CARRIER_PRIVILEGES_LOST_TEARDOWN_DELAY_MS); + mTestLooper.dispatchAll(); verify(vcn).teardownAsynchronously(); verify(mMockPolicyListener).onPolicyChanged(); } @@ -521,6 +523,92 @@ public class VcnManagementServiceTest { assertEquals(0, mVcnMgmtSvc.getAllVcns().size()); } + /** + * Tests an intermediate state where carrier privileges are marked as lost before active data + * subId changes during a SIM ejection. + * + * <p>The expected outcome is that the VCN is torn down after a delay, as opposed to + * immediately. + */ + @Test + public void testTelephonyNetworkTrackerCallbackLostCarrierPrivilegesBeforeActiveDataSubChanges() + throws Exception { + setupActiveSubscription(TEST_UUID_2); + + final TelephonySubscriptionTrackerCallback cb = getTelephonySubscriptionTrackerCallback(); + final Vcn vcn = startAndGetVcnInstance(TEST_UUID_2); + + // Simulate privileges lost + triggerSubscriptionTrackerCbAndGetSnapshot( + TEST_SUBSCRIPTION_ID, + TEST_UUID_2, + Collections.emptySet(), + Collections.emptyMap(), + false /* hasCarrierPrivileges */); + + // Verify teardown after delay + mTestLooper.moveTimeForward(VcnManagementService.CARRIER_PRIVILEGES_LOST_TEARDOWN_DELAY_MS); + mTestLooper.dispatchAll(); + verify(vcn).teardownAsynchronously(); + } + + @Test + public void testTelephonyNetworkTrackerCallbackSimSwitchesDoNotKillVcnInstances() + throws Exception { + setupActiveSubscription(TEST_UUID_2); + + final TelephonySubscriptionTrackerCallback cb = getTelephonySubscriptionTrackerCallback(); + final Vcn vcn = startAndGetVcnInstance(TEST_UUID_2); + + // Simulate SIM unloaded + triggerSubscriptionTrackerCbAndGetSnapshot( + INVALID_SUBSCRIPTION_ID, + null /* activeDataSubscriptionGroup */, + Collections.emptySet(), + Collections.emptyMap(), + false /* hasCarrierPrivileges */); + + // Simulate new SIM loaded right during teardown delay. + mTestLooper.moveTimeForward( + VcnManagementService.CARRIER_PRIVILEGES_LOST_TEARDOWN_DELAY_MS / 2); + mTestLooper.dispatchAll(); + triggerSubscriptionTrackerCbAndGetSnapshot(TEST_UUID_2, Collections.singleton(TEST_UUID_2)); + + // Verify that even after the full timeout duration, the VCN instance is not torn down + mTestLooper.moveTimeForward(VcnManagementService.CARRIER_PRIVILEGES_LOST_TEARDOWN_DELAY_MS); + mTestLooper.dispatchAll(); + verify(vcn, never()).teardownAsynchronously(); + } + + @Test + public void testTelephonyNetworkTrackerCallbackDoesNotKillNewVcnInstances() throws Exception { + setupActiveSubscription(TEST_UUID_2); + + final TelephonySubscriptionTrackerCallback cb = getTelephonySubscriptionTrackerCallback(); + final Vcn oldInstance = startAndGetVcnInstance(TEST_UUID_2); + + // Simulate SIM unloaded + triggerSubscriptionTrackerCbAndGetSnapshot(null, Collections.emptySet()); + + // Config cleared, SIM reloaded & config re-added right before teardown delay, staring new + // vcnInstance. + mTestLooper.moveTimeForward( + VcnManagementService.CARRIER_PRIVILEGES_LOST_TEARDOWN_DELAY_MS / 2); + mTestLooper.dispatchAll(); + mVcnMgmtSvc.clearVcnConfig(TEST_UUID_2, TEST_PACKAGE_NAME); + triggerSubscriptionTrackerCbAndGetSnapshot(TEST_UUID_2, Collections.singleton(TEST_UUID_2)); + final Vcn newInstance = startAndGetVcnInstance(TEST_UUID_2); + + // Verify that new instance was different, and the old one was torn down + assertTrue(oldInstance != newInstance); + verify(oldInstance).teardownAsynchronously(); + + // Verify that even after the full timeout duration, the new VCN instance is not torn down + mTestLooper.moveTimeForward(VcnManagementService.CARRIER_PRIVILEGES_LOST_TEARDOWN_DELAY_MS); + mTestLooper.dispatchAll(); + verify(newInstance, never()).teardownAsynchronously(); + } + @Test public void testPackageChangeListenerRegistered() throws Exception { verify(mMockContext).registerReceiver(any(BroadcastReceiver.class), argThat(filter -> { @@ -910,8 +998,6 @@ public class VcnManagementServiceTest { private void setupSubscriptionAndStartVcn( int subId, ParcelUuid subGrp, boolean isVcnActive, boolean hasCarrierPrivileges) { mVcnMgmtSvc.systemReady(); - mTestLooper.dispatchAll(); - triggerSubscriptionTrackerCbAndGetSnapshot( subGrp, Collections.singleton(subGrp), @@ -1007,7 +1093,6 @@ public class VcnManagementServiceTest { private void setupTrackedCarrierWifiNetwork(NetworkCapabilities caps) { mVcnMgmtSvc.systemReady(); - mTestLooper.dispatchAll(); final ArgumentCaptor<NetworkCallback> captor = ArgumentCaptor.forClass(NetworkCallback.class); @@ -1252,14 +1337,15 @@ public class VcnManagementServiceTest { true /* isActive */, true /* hasCarrierPrivileges */); - // VCN is currently active. Lose carrier privileges for TEST_PACKAGE so the VCN goes - // inactive. + // VCN is currently active. Lose carrier privileges for TEST_PACKAGE and hit teardown + // timeout so the VCN goes inactive. final TelephonySubscriptionSnapshot snapshot = triggerSubscriptionTrackerCbAndGetSnapshot( TEST_UUID_1, Collections.singleton(TEST_UUID_1), Collections.singletonMap(TEST_SUBSCRIPTION_ID, TEST_UUID_1), false /* hasCarrierPrivileges */); + mTestLooper.moveTimeForward(VcnManagementService.CARRIER_PRIVILEGES_LOST_TEARDOWN_DELAY_MS); mTestLooper.dispatchAll(); // Giving TEST_PACKAGE privileges again will restart the VCN (which will indicate ACTIVE |