diff options
295 files changed, 4292 insertions, 1647 deletions
diff --git a/Android.bp b/Android.bp index f6bfe6545284..4f715f8a3101 100644 --- a/Android.bp +++ b/Android.bp @@ -150,7 +150,6 @@ filegroup { ":framework-javastream-protos", ":statslog-framework-java-gen", // FrameworkStatsLog.java ":audio_policy_configuration_V7_0", - ":perfetto_trace_javastream_protos", ], } @@ -425,6 +424,7 @@ java_defaults { "audiopolicy-aidl-java", "sounddose-aidl-java", "modules-utils-expresslog", + "perfetto_trace_javastream_protos_jarjar", ], } @@ -664,6 +664,16 @@ filegroup { visibility: ["//frameworks/base/api"], } +java_library { + name: "perfetto_trace_javastream_protos_jarjar", + srcs: [ + ":perfetto_trace_javastream_protos", + ], + jarjar_rules: ":framework-jarjar-rules", + sdk_version: "core_platform", + installable: false, +} + build = [ "AconfigFlags.bp", "ProtoLibraries.bp", diff --git a/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java b/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java index 0d3dc4901d8d..6310d32515c5 100644 --- a/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java +++ b/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java @@ -1280,6 +1280,24 @@ public class Bmgr { return "START_PACKAGE_RESTORE"; case BackupManagerMonitor.LOG_EVENT_ID_AGENT_FAILURE: return "AGENT_FAILURE"; + case BackupManagerMonitor.LOG_EVENT_ID_RESTORE_AT_INSTALL_INVOKED: + return "RESTORE_AT_INSTALL_INVOKED"; + case BackupManagerMonitor.LOG_EVENT_ID_SKIP_RESTORE_AT_INSTALL: + return "SKIP_RESTORE_AT_INSTALL"; + case BackupManagerMonitor.LOG_EVENT_ID_PACKAGE_ACCEPTED_FOR_RESTORE: + return "PACKAGE_ACCEPTED_FOR_RESTORE"; + case BackupManagerMonitor.LOG_EVENT_ID_RESTORE_DATA_DOES_NOT_BELONG_TO_PACKAGE: + return "RESTORE_DATA_DOES_NOT_BELONG_TO_PACKAGE"; + case BackupManagerMonitor.LOG_EVENT_ID_UNABLE_TO_CREATE_AGENT_FOR_RESTORE: + return "UNABLE_TO_CREATE_AGENT_FOR_RESTORE"; + case BackupManagerMonitor.LOG_EVENT_ID_AGENT_CRASHED_BEFORE_RESTORE_DATA_IS_SENT: + return "AGENT_CRASHED_BEFORE_RESTORE_DATA_IS_SEN"; + case BackupManagerMonitor.LOG_EVENT_ID_FAILED_TO_SEND_DATA_TO_AGENT_DURING_RESTORE: + return "FAILED_TO_SEND_DATA_TO_AGENT_DURING_RESTORE"; + case BackupManagerMonitor.LOG_EVENT_ID_AGENT_FAILURE_DURING_RESTORE: + return "AGENT_FAILURE_DURING_RESTORE"; + case BackupManagerMonitor.LOG_EVENT_ID_FAILED_TO_READ_DATA_FROM_TRANSPORT: + return "FAILED_TO_READ_DATA_FROM_TRANSPORT"; default: return "UNKNOWN_ID"; } diff --git a/core/java/Android.bp b/core/java/Android.bp index db5888ec64b4..fae411d495ca 100644 --- a/core/java/Android.bp +++ b/core/java/Android.bp @@ -582,7 +582,9 @@ java_library { srcs: [ "com/android/internal/protolog/ProtoLogImpl.java", "com/android/internal/protolog/ProtoLogViewerConfigReader.java", - ":perfetto_trace_javastream_protos", + ], + static_libs: [ + "perfetto_trace_javastream_protos_jarjar", ], } diff --git a/core/java/android/app/NotificationChannel.java b/core/java/android/app/NotificationChannel.java index 7c803ebde384..193c524e5673 100644 --- a/core/java/android/app/NotificationChannel.java +++ b/core/java/android/app/NotificationChannel.java @@ -434,6 +434,40 @@ public final class NotificationChannel implements Parcelable { /** * @hide */ + public NotificationChannel copy() { + NotificationChannel copy = new NotificationChannel(mId, mName, mImportance); + copy.setDescription(mDesc); + copy.setBypassDnd(mBypassDnd); + copy.setLockscreenVisibility(mLockscreenVisibility); + copy.setSound(mSound, mAudioAttributes); + copy.setLightColor(mLightColor); + copy.enableLights(mLights); + copy.setVibrationPattern(mVibrationPattern); + if (Flags.notificationChannelVibrationEffectApi()) { + copy.setVibrationEffect(mVibrationEffect); + } + copy.lockFields(mUserLockedFields); + copy.setUserVisibleTaskShown(mUserVisibleTaskShown); + copy.enableVibration(mVibrationEnabled); + copy.setShowBadge(mShowBadge); + copy.setDeleted(mDeleted); + copy.setGroup(mGroup); + copy.setBlockable(mBlockableSystem); + copy.setAllowBubbles(mAllowBubbles); + copy.setOriginalImportance(mOriginalImportance); + copy.setConversationId(mParentId, mConversationId); + copy.setDemoted(mDemoted); + copy.setImportantConversation(mImportantConvo); + copy.setDeletedTimeMs(mDeletedTime); + copy.setImportanceLockedByCriticalDeviceFunction(mImportanceLockedDefaultApp); + copy.setLastNotificationUpdateTimeMs(mLastNotificationUpdateTimeMs); + + return copy; + } + + /** + * @hide + */ @TestApi public void lockFields(int field) { mUserLockedFields |= field; diff --git a/core/java/android/app/admin/flags/flags.aconfig b/core/java/android/app/admin/flags/flags.aconfig index cb6d0c6dd177..1425063c6190 100644 --- a/core/java/android/app/admin/flags/flags.aconfig +++ b/core/java/android/app/admin/flags/flags.aconfig @@ -43,6 +43,14 @@ flag { } flag { + name: "cross_user_suspension_enabled_ro" + namespace: "enterprise" + description: "Allow holders of INTERACT_ACROSS_USERS_FULL to suspend apps in different users." + bug: "263464464" + is_fixed_read_only: true +} + +flag { name: "dedicated_device_control_enabled" namespace: "enterprise" description: "Allow the device management role holder to control which platform features are available on dedicated devices." diff --git a/core/java/android/app/backup/BackupManagerMonitor.java b/core/java/android/app/backup/BackupManagerMonitor.java index c66478f6cf84..e741bc2bf608 100644 --- a/core/java/android/app/backup/BackupManagerMonitor.java +++ b/core/java/android/app/backup/BackupManagerMonitor.java @@ -269,6 +269,33 @@ public class BackupManagerMonitor { /** V to U restore attempt, allowlist and denlist are set @hide */ public static final int LOG_EVENT_ID_V_TO_U_RESTORE_SET_LIST = 72; + /** As part of package install, {@link PackageManager} invoked restore. + @hide */ + public static final int LOG_EVENT_ID_RESTORE_AT_INSTALL_INVOKED = 73; + /** Skipping restore at package install + @hide */ + public static final int LOG_EVENT_ID_SKIP_RESTORE_AT_INSTALL = 74; + /** Package is eligible and is accepted for restore + @hide */ + public static final int LOG_EVENT_ID_PACKAGE_ACCEPTED_FOR_RESTORE = 75; + /** Restore data doesn't belong to the package for which restore is started + @hide */ + public static final int LOG_EVENT_ID_RESTORE_DATA_DOES_NOT_BELONG_TO_PACKAGE = 76; + /** Unable to create BackupAgent for package for restore + @hide */ + public static final int LOG_EVENT_ID_UNABLE_TO_CREATE_AGENT_FOR_RESTORE = 77; + /** BackupAgent crashed after creation but before accepting any data + @hide */ + public static final int LOG_EVENT_ID_AGENT_CRASHED_BEFORE_RESTORE_DATA_IS_SENT = 78; + /** Failure in streaming restore data to BackupAgent + @hide */ + public static final int LOG_EVENT_ID_FAILED_TO_SEND_DATA_TO_AGENT_DURING_RESTORE = 79; + /** BackupAgent related failure during restore + @hide */ + public static final int LOG_EVENT_ID_AGENT_FAILURE_DURING_RESTORE = 80; + /** Failure in reading data from TransportPackage during restore + @hide */ + public static final int LOG_EVENT_ID_FAILED_TO_READ_DATA_FROM_TRANSPORT = 81; /** * This method will be called each time something important happens on BackupManager. diff --git a/core/java/android/app/notification.aconfig b/core/java/android/app/notification.aconfig index ce06772bef59..00827321e18f 100644 --- a/core/java/android/app/notification.aconfig +++ b/core/java/android/app/notification.aconfig @@ -89,4 +89,25 @@ flag { namespace: "systemui" description: "Changes notification sort order to be by time within a section" bug: "330193582" +} + +flag { + name: "restrict_audio_attributes_call" + namespace: "systemui" + description: "Only CallStyle notifs can use USAGE_NOTIFICATION_RINGTONE" + bug: "331793339" +} + +flag { + name: "restrict_audio_attributes_alarm" + namespace: "systemui" + description: "Only alarm category notifs can use USAGE_ALARM" + bug: "331793339" +} + +flag { + name: "restrict_audio_attributes_media" + namespace: "systemui" + description: "No notifs can use USAGE_UNKNOWN or USAGE_MEDIA" + bug: "331793339" }
\ No newline at end of file diff --git a/core/java/android/app/ondeviceintelligence/IDownloadCallback.aidl b/core/java/android/app/ondeviceintelligence/IDownloadCallback.aidl index 8fc269ea6dac..2d7ea1a7b016 100644 --- a/core/java/android/app/ondeviceintelligence/IDownloadCallback.aidl +++ b/core/java/android/app/ondeviceintelligence/IDownloadCallback.aidl @@ -23,7 +23,7 @@ import android.os.PersistableBundle; * * @hide */ -interface IDownloadCallback { +oneway interface IDownloadCallback { void onDownloadStarted(long bytesToDownload) = 1; void onDownloadProgress(long bytesDownloaded) = 2; void onDownloadFailed(int failureStatus, String errorMessage, in PersistableBundle errorParams) = 3; diff --git a/core/java/android/app/ondeviceintelligence/IFeatureCallback.aidl b/core/java/android/app/ondeviceintelligence/IFeatureCallback.aidl index 93a84ec96757..2e056926e400 100644 --- a/core/java/android/app/ondeviceintelligence/IFeatureCallback.aidl +++ b/core/java/android/app/ondeviceintelligence/IFeatureCallback.aidl @@ -8,7 +8,7 @@ import android.os.PersistableBundle; * * @hide */ -interface IFeatureCallback { +oneway interface IFeatureCallback { void onSuccess(in Feature result) = 1; void onFailure(int errorCode, in String errorMessage, in PersistableBundle errorParams) = 2; } diff --git a/core/java/android/app/ondeviceintelligence/IFeatureDetailsCallback.aidl b/core/java/android/app/ondeviceintelligence/IFeatureDetailsCallback.aidl index d95029059f4a..8688028743d7 100644 --- a/core/java/android/app/ondeviceintelligence/IFeatureDetailsCallback.aidl +++ b/core/java/android/app/ondeviceintelligence/IFeatureDetailsCallback.aidl @@ -8,7 +8,7 @@ import android.os.PersistableBundle; * * @hide */ -interface IFeatureDetailsCallback { +oneway interface IFeatureDetailsCallback { void onSuccess(in FeatureDetails result) = 1; void onFailure(int errorCode, in String errorMessage, in PersistableBundle errorParams) = 2; } diff --git a/core/java/android/app/ondeviceintelligence/IListFeaturesCallback.aidl b/core/java/android/app/ondeviceintelligence/IListFeaturesCallback.aidl index 374cb71977d5..7e5eb57bbc4a 100644 --- a/core/java/android/app/ondeviceintelligence/IListFeaturesCallback.aidl +++ b/core/java/android/app/ondeviceintelligence/IListFeaturesCallback.aidl @@ -9,7 +9,7 @@ import android.os.PersistableBundle; * * @hide */ -interface IListFeaturesCallback { +oneway interface IListFeaturesCallback { void onSuccess(in List<Feature> result) = 1; void onFailure(int errorCode, in String errorMessage, in PersistableBundle errorParams) = 2; } diff --git a/core/java/android/app/ondeviceintelligence/IOnDeviceIntelligenceManager.aidl b/core/java/android/app/ondeviceintelligence/IOnDeviceIntelligenceManager.aidl index 8bf288abb0f9..470b1ec29105 100644 --- a/core/java/android/app/ondeviceintelligence/IOnDeviceIntelligenceManager.aidl +++ b/core/java/android/app/ondeviceintelligence/IOnDeviceIntelligenceManager.aidl @@ -39,7 +39,7 @@ * * @hide */ - interface IOnDeviceIntelligenceManager { +interface IOnDeviceIntelligenceManager { @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE)") void getVersion(in RemoteCallback remoteCallback) = 1; diff --git a/core/java/android/app/ondeviceintelligence/IResponseCallback.aidl b/core/java/android/app/ondeviceintelligence/IResponseCallback.aidl index 45963d2af4e6..270b600e2de5 100644 --- a/core/java/android/app/ondeviceintelligence/IResponseCallback.aidl +++ b/core/java/android/app/ondeviceintelligence/IResponseCallback.aidl @@ -9,7 +9,7 @@ import android.os.RemoteCallback; * * @hide */ -interface IResponseCallback { +oneway interface IResponseCallback { void onSuccess(in Bundle resultBundle) = 1; void onFailure(int errorCode, in String errorMessage, in PersistableBundle errorParams) = 2; void onDataAugmentRequest(in Bundle processedContent, in RemoteCallback responseCallback) = 3; diff --git a/core/java/android/app/ondeviceintelligence/IStreamingResponseCallback.aidl b/core/java/android/app/ondeviceintelligence/IStreamingResponseCallback.aidl index 671abe31ce86..3e902405f3e0 100644 --- a/core/java/android/app/ondeviceintelligence/IStreamingResponseCallback.aidl +++ b/core/java/android/app/ondeviceintelligence/IStreamingResponseCallback.aidl @@ -10,7 +10,7 @@ import android.os.Bundle; * * @hide */ -interface IStreamingResponseCallback { +oneway interface IStreamingResponseCallback { void onNewContent(in Bundle processedResult) = 1; void onSuccess(in Bundle result) = 2; void onFailure(int errorCode, in String errorMessage, in PersistableBundle errorParams) = 3; diff --git a/core/java/android/app/ondeviceintelligence/ITokenInfoCallback.aidl b/core/java/android/app/ondeviceintelligence/ITokenInfoCallback.aidl index 9219a89128df..958bef0a93e0 100644 --- a/core/java/android/app/ondeviceintelligence/ITokenInfoCallback.aidl +++ b/core/java/android/app/ondeviceintelligence/ITokenInfoCallback.aidl @@ -8,7 +8,7 @@ import android.app.ondeviceintelligence.TokenInfo; * * @hide */ -interface ITokenInfoCallback { +oneway interface ITokenInfoCallback { void onSuccess(in TokenInfo tokenInfo) = 1; void onFailure(int errorCode, in String errorMessage, in PersistableBundle errorParams) = 2; } diff --git a/core/java/android/app/ondeviceintelligence/OnDeviceIntelligenceManager.java b/core/java/android/app/ondeviceintelligence/OnDeviceIntelligenceManager.java index bc50d2e492ae..5e1c1e053599 100644 --- a/core/java/android/app/ondeviceintelligence/OnDeviceIntelligenceManager.java +++ b/core/java/android/app/ondeviceintelligence/OnDeviceIntelligenceManager.java @@ -365,7 +365,6 @@ public final class OnDeviceIntelligenceManager { * associated params. */ @RequiresPermission(Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) - public void processRequest(@NonNull Feature feature, @NonNull @InferenceParams Bundle request, @RequestType int requestType, @Nullable CancellationSignal cancellationSignal, @@ -423,16 +422,16 @@ public final class OnDeviceIntelligenceManager { * when the final response contains an enhanced aggregation of the contents already * streamed. * - * @param feature feature associated with the request. - * @param request request and associated params represented by the Bundle - * data. - * @param requestType type of request being sent for processing the content. - * @param cancellationSignal signal to invoke cancellation. - * @param processingSignal signal to send custom signals in the - * remote implementation. - * @param streamingResponseCallback streaming callback to populate the response content and - * associated params. - * @param callbackExecutor executor to run the callback on. + * @param feature feature associated with the request. + * @param request request and associated params represented by the Bundle + * data. + * @param requestType type of request being sent for processing the content. + * @param cancellationSignal signal to invoke cancellation. + * @param processingSignal signal to send custom signals in the + * remote implementation. + * @param streamingProcessingCallback streaming callback to populate the response content and + * associated params. + * @param callbackExecutor executor to run the callback on. */ @RequiresPermission(Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void processRequestStreaming(@NonNull Feature feature, @@ -528,19 +527,18 @@ public final class OnDeviceIntelligenceManager { /** * {@link Bundle}s annotated with this type will be validated that they are in-effect read-only - * when passed to inference service via Binder IPC. Following restrictions apply : + * when passed via Binder IPC. Following restrictions apply : * <ul> + * <li> No Nested Bundles are allowed.</li> + * <li> {@link PersistableBundle}s are allowed.</li> * <li> Any primitive types or their collections can be added as usual.</li> * <li>IBinder objects should *not* be added.</li> * <li>Parcelable data which has no active-objects, should be added as * {@link Bundle#putByteArray}</li> * <li>Parcelables have active-objects, only following types will be allowed</li> * <ul> - * <li>{@link Bitmap} set as {@link Bitmap#setImmutable()}</li> - * <li>{@link android.database.CursorWindow}</li> * <li>{@link android.os.ParcelFileDescriptor} opened in * {@link android.os.ParcelFileDescriptor#MODE_READ_ONLY}</li> - * <li>{@link android.os.SharedMemory} set to {@link OsConstants#PROT_READ}</li> * </ul> * </ul> * @@ -550,9 +548,40 @@ public final class OnDeviceIntelligenceManager { * @hide */ @Target({ElementType.PARAMETER, ElementType.FIELD}) + public @interface StateParams { + } + + /** + * This is an extension of {@link StateParams} but for purpose of inference few other types are + * also allowed as read-only, as listed below. + * + * <li>{@link Bitmap} set as immutable.</li> + * <li>{@link android.database.CursorWindow}</li> + * <li>{@link android.os.SharedMemory} set to {@link OsConstants#PROT_READ}</li> + * </ul> + * </ul> + * + * In all other scenarios the system-server might throw a + * {@link android.os.BadParcelableException} if the Bundle validation fails. + * + * @hide + */ + @Target({ElementType.PARAMETER, ElementType.FIELD, ElementType.TYPE_USE}) public @interface InferenceParams { } + /** + * This is an extension of {@link StateParams} with the exception that it allows writing + * {@link Bitmap} as part of the response. + * + * In all other scenarios the system-server might throw a + * {@link android.os.BadParcelableException} if the Bundle validation fails. + * + * @hide + */ + @Target({ElementType.PARAMETER, ElementType.FIELD}) + public @interface ResponseParams { + } @Nullable private static AndroidFuture<IBinder> configureRemoteCancellationFuture( diff --git a/core/java/android/app/ondeviceintelligence/ProcessingCallback.java b/core/java/android/app/ondeviceintelligence/ProcessingCallback.java index 4d936ea45c54..e50d6b1fa97a 100644 --- a/core/java/android/app/ondeviceintelligence/ProcessingCallback.java +++ b/core/java/android/app/ondeviceintelligence/ProcessingCallback.java @@ -23,6 +23,7 @@ import android.annotation.NonNull; import android.annotation.SystemApi; import android.os.Bundle; import android.app.ondeviceintelligence.OnDeviceIntelligenceManager.InferenceParams; +import android.app.ondeviceintelligence.OnDeviceIntelligenceManager.ResponseParams; import java.util.function.Consumer; @@ -43,7 +44,7 @@ public interface ProcessingCallback { * * @param result Response to be passed as a result. */ - void onResult(@NonNull @InferenceParams Bundle result); + void onResult(@NonNull @ResponseParams Bundle result); /** * Called when the request processing fails. The failure details are indicated by the @@ -64,8 +65,8 @@ public interface ProcessingCallback { * expected to be non-null or EMPTY when there is no response. */ default void onDataAugmentRequest( - @NonNull @InferenceParams Bundle processedContent, - @NonNull Consumer<Bundle> contentConsumer) { + @NonNull @ResponseParams Bundle processedContent, + @NonNull Consumer<@InferenceParams Bundle> contentConsumer) { contentConsumer.accept(Bundle.EMPTY); } } diff --git a/core/java/android/app/ondeviceintelligence/StreamingProcessingCallback.java b/core/java/android/app/ondeviceintelligence/StreamingProcessingCallback.java index 41f1807a9b3d..7ee2af7376ed 100644 --- a/core/java/android/app/ondeviceintelligence/StreamingProcessingCallback.java +++ b/core/java/android/app/ondeviceintelligence/StreamingProcessingCallback.java @@ -22,7 +22,7 @@ import android.annotation.FlaggedApi; import android.annotation.NonNull; import android.annotation.SystemApi; import android.os.Bundle; -import android.app.ondeviceintelligence.OnDeviceIntelligenceManager.InferenceParams; +import android.app.ondeviceintelligence.OnDeviceIntelligenceManager.ResponseParams; /** * Streaming variant of {@link ProcessingCallback} to populate response while processing a given @@ -37,5 +37,5 @@ public interface StreamingProcessingCallback extends ProcessingCallback { * Callback that would be invoked when a part of the response i.e. some response is * already processed, and needs to be passed onto the caller. */ - void onPartialResult(@NonNull @InferenceParams Bundle partialResult); + void onPartialResult(@NonNull @ResponseParams Bundle partialResult); } diff --git a/core/java/android/appwidget/OWNERS b/core/java/android/appwidget/OWNERS index 554b0de82b40..191083303769 100644 --- a/core/java/android/appwidget/OWNERS +++ b/core/java/android/appwidget/OWNERS @@ -1,4 +1,5 @@ -pinyaoting@google.com +fengjial@google.com sihua@google.com +pinyaoting@google.com suprabh@google.com sunnygoyal@google.com diff --git a/core/java/android/companion/virtual/VirtualDeviceManager.java b/core/java/android/companion/virtual/VirtualDeviceManager.java index ec59cf61097b..ed55a3fe4392 100644 --- a/core/java/android/companion/virtual/VirtualDeviceManager.java +++ b/core/java/android/companion/virtual/VirtualDeviceManager.java @@ -66,6 +66,7 @@ import android.os.Looper; import android.os.RemoteException; import android.util.ArraySet; import android.util.Log; +import android.view.Display; import android.view.Surface; import android.view.WindowManager; @@ -338,6 +339,10 @@ public final class VirtualDeviceManager { @TestApi public @VirtualDeviceParams.DevicePolicy int getDevicePolicy( int deviceId, @VirtualDeviceParams.PolicyType int policyType) { + if (deviceId == Context.DEVICE_ID_DEFAULT) { + // Avoid unnecessary binder call, for default device, policy will be always default. + return VirtualDeviceParams.DEVICE_POLICY_DEFAULT; + } if (mService == null) { Log.w(TAG, "Failed to retrieve device policy; no virtual device manager service."); return VirtualDeviceParams.DEVICE_POLICY_DEFAULT; @@ -357,6 +362,10 @@ public final class VirtualDeviceManager { @SuppressLint("UnflaggedApi") // @TestApi without associated feature. @TestApi public int getDeviceIdForDisplayId(int displayId) { + if (displayId == Display.DEFAULT_DISPLAY || displayId == Display.INVALID_DISPLAY) { + // Avoid unnecessary binder call for default / invalid display id. + return Context.DEVICE_ID_DEFAULT; + } if (mService == null) { Log.w(TAG, "Failed to retrieve virtual devices; no virtual device manager service."); return Context.DEVICE_ID_DEFAULT; diff --git a/core/java/android/net/IVpnManager.aidl b/core/java/android/net/IVpnManager.aidl index f30237853a3e..5149967ccac8 100644 --- a/core/java/android/net/IVpnManager.aidl +++ b/core/java/android/net/IVpnManager.aidl @@ -60,6 +60,12 @@ interface IVpnManager { LegacyVpnInfo getLegacyVpnInfo(int userId); boolean updateLockdownVpn(); + /** Profile store APIs */ + byte[] getFromVpnProfileStore(String name); + boolean putIntoVpnProfileStore(String name, in byte[] blob); + boolean removeFromVpnProfileStore(String name); + String[] listFromVpnProfileStore(String prefix); + /** General system APIs */ VpnConfig getVpnConfig(int userId); void factoryReset(); diff --git a/core/java/android/net/VpnManager.java b/core/java/android/net/VpnManager.java index ff47f3fc30aa..c50bc569de72 100644 --- a/core/java/android/net/VpnManager.java +++ b/core/java/android/net/VpnManager.java @@ -717,4 +717,81 @@ public class VpnManager { throw e.rethrowFromSystemServer(); } } + + /** + * Get the vpn profile owned by the calling uid with the given name from the vpn database. + * + * <p>Note this method should not be used for platform VPN profiles. </p> + * + * @param name The name of the profile to retrieve. + * @return the unstructured blob for the matching vpn profile. + * Returns null if no profile with a matching name was found. + * @hide + */ + @Nullable + public byte[] getFromVpnProfileStore(@NonNull String name) { + try { + return mService.getFromVpnProfileStore(name); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + + /** + * Put the given vpn profile owned by the calling uid with the given name into the vpn database. + * Existing profiles with the same name will be replaced. + * + * <p>Note this method should not be used for platform VPN profiles. + * To update a platform VPN, use provisionVpnProfile() instead. </p> + * + * @param name The name of the profile to put. + * @param blob The profile. + * @return true if the profile was successfully added. False otherwise. + * @hide + */ + public boolean putIntoVpnProfileStore(@NonNull String name, @NonNull byte[] blob) { + try { + return mService.putIntoVpnProfileStore(name, blob); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + + /** + * Removes the vpn profile owned by the calling uid with the given name from the vpn database. + * + * <p>Note this method should not be used for platform VPN profiles. + * To remove a platform VPN, use deleteVpnProfile() instead.</p> + * + * @param name The name of the profile to be removed. + * @return true if a profile was removed. False if no profile with a matching name was found. + * @hide + */ + public boolean removeFromVpnProfileStore(@NonNull String name) { + try { + return mService.removeFromVpnProfileStore(name); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + + /** + * Returns a list of the name suffixes of the vpn profiles owned by the calling uid in the vpn + * database matching the given prefix, sorted in ascending order. + * + * <p>Note this method should not be used for platform VPN profiles. </p> + * + * @param prefix The prefix to match. + * @return an array of strings representing the name suffixes stored in the profile database + * matching the given prefix. The return value may be empty but never null. + * @hide + */ + @NonNull + public String[] listFromVpnProfileStore(@NonNull String prefix) { + try { + return mService.listFromVpnProfileStore(prefix); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } } diff --git a/core/java/android/os/Debug.java b/core/java/android/os/Debug.java index 04d6f61d84c9..f785cca4e9f4 100644 --- a/core/java/android/os/Debug.java +++ b/core/java/android/os/Debug.java @@ -210,6 +210,7 @@ public final class Debug @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) public boolean hasSwappedOutPss; + // LINT.IfChange /** @hide */ public static final int HEAP_UNKNOWN = 0; /** @hide */ @@ -311,6 +312,7 @@ public final class Debug public static final int OTHER_ART_APP = 30; /** @hide */ public static final int OTHER_ART_BOOT = 31; + // LINT.ThenChange(/system/memory/libmeminfo/include/meminfo/androidprocheaps.h) /** @hide */ public static final int OTHER_DVK_STAT_ART_START = OTHER_ART_APP - NUM_OTHER_STATS; /** @hide */ diff --git a/core/java/android/service/ondeviceintelligence/IOnDeviceIntelligenceService.aidl b/core/java/android/service/ondeviceintelligence/IOnDeviceIntelligenceService.aidl index a70871814d79..45c43502d6de 100644 --- a/core/java/android/service/ondeviceintelligence/IOnDeviceIntelligenceService.aidl +++ b/core/java/android/service/ondeviceintelligence/IOnDeviceIntelligenceService.aidl @@ -42,7 +42,7 @@ oneway interface IOnDeviceIntelligenceService { void getReadOnlyFileDescriptor(in String fileName, in AndroidFuture<ParcelFileDescriptor> future); void getReadOnlyFeatureFileDescriptorMap(in Feature feature, in RemoteCallback remoteCallback); void requestFeatureDownload(int callerUid, in Feature feature, - in AndroidFuture<ICancellationSignal> cancellationSignal, + in AndroidFuture cancellationSignal, in IDownloadCallback downloadCallback); void registerRemoteServices(in IRemoteProcessingService remoteProcessingService); void notifyInferenceServiceConnected(); diff --git a/core/java/android/service/ondeviceintelligence/IOnDeviceSandboxedInferenceService.aidl b/core/java/android/service/ondeviceintelligence/IOnDeviceSandboxedInferenceService.aidl index 4213a0996e4c..2aa17c4681bd 100644 --- a/core/java/android/service/ondeviceintelligence/IOnDeviceSandboxedInferenceService.aidl +++ b/core/java/android/service/ondeviceintelligence/IOnDeviceSandboxedInferenceService.aidl @@ -36,15 +36,15 @@ import android.service.ondeviceintelligence.IProcessingUpdateStatusCallback; oneway interface IOnDeviceSandboxedInferenceService { void registerRemoteStorageService(in IRemoteStorageService storageService); void requestTokenInfo(int callerUid, in Feature feature, in Bundle request, - in AndroidFuture<ICancellationSignal> cancellationSignal, + in AndroidFuture cancellationSignal, in ITokenInfoCallback tokenInfoCallback); void processRequest(int callerUid, in Feature feature, in Bundle request, in int requestType, - in AndroidFuture<ICancellationSignal> cancellationSignal, - in AndroidFuture<IProcessingSignal> processingSignal, + in AndroidFuture cancellationSignal, + in AndroidFuture processingSignal, in IResponseCallback callback); void processRequestStreaming(int callerUid, in Feature feature, in Bundle request, in int requestType, - in AndroidFuture<ICancellationSignal> cancellationSignal, - in AndroidFuture<IProcessingSignal> processingSignal, + in AndroidFuture cancellationSignal, + in AndroidFuture processingSignal, in IStreamingResponseCallback callback); void updateProcessingState(in Bundle processingState, in IProcessingUpdateStatusCallback callback); diff --git a/core/java/android/service/ondeviceintelligence/OnDeviceIntelligenceService.java b/core/java/android/service/ondeviceintelligence/OnDeviceIntelligenceService.java index 5dc540a50dfc..793e58ac5d3b 100644 --- a/core/java/android/service/ondeviceintelligence/OnDeviceIntelligenceService.java +++ b/core/java/android/service/ondeviceintelligence/OnDeviceIntelligenceService.java @@ -35,7 +35,7 @@ import android.app.ondeviceintelligence.IFeatureDetailsCallback; import android.app.ondeviceintelligence.IListFeaturesCallback; import android.app.ondeviceintelligence.OnDeviceIntelligenceException; import android.app.ondeviceintelligence.OnDeviceIntelligenceManager; -import android.app.ondeviceintelligence.OnDeviceIntelligenceManager.InferenceParams; +import android.app.ondeviceintelligence.OnDeviceIntelligenceManager.StateParams; import android.content.Intent; import android.os.Binder; import android.os.Bundle; @@ -245,13 +245,13 @@ public abstract class OnDeviceIntelligenceService extends Service { * service if there is a state change to be performed. State change could be config updates, * performing initialization or cleanup tasks in the remote inference service. * The Bundle passed in here is expected to be read-only and will be rejected if it has any - * writable fields as detailed under {@link InferenceParams}. + * writable fields as detailed under {@link StateParams}. * * @param processingState the updated state to be applied. * @param callbackExecutor executor to the run status callback on. * @param statusReceiver receiver to get status of the update state operation. */ - public final void updateProcessingState(@NonNull @InferenceParams Bundle processingState, + public final void updateProcessingState(@NonNull @StateParams Bundle processingState, @NonNull @CallbackExecutor Executor callbackExecutor, @NonNull OutcomeReceiver<PersistableBundle, OnDeviceIntelligenceException> statusReceiver) { Objects.requireNonNull(callbackExecutor); diff --git a/core/java/android/service/ondeviceintelligence/OnDeviceSandboxedInferenceService.java b/core/java/android/service/ondeviceintelligence/OnDeviceSandboxedInferenceService.java index 96c45eef3731..29a6db6a12a0 100644 --- a/core/java/android/service/ondeviceintelligence/OnDeviceSandboxedInferenceService.java +++ b/core/java/android/service/ondeviceintelligence/OnDeviceSandboxedInferenceService.java @@ -35,6 +35,7 @@ import android.app.ondeviceintelligence.ITokenInfoCallback; import android.app.ondeviceintelligence.OnDeviceIntelligenceException; import android.app.ondeviceintelligence.OnDeviceIntelligenceManager; import android.app.ondeviceintelligence.OnDeviceIntelligenceManager.InferenceParams; +import android.app.ondeviceintelligence.OnDeviceIntelligenceManager.StateParams; import android.app.ondeviceintelligence.ProcessingCallback; import android.app.ondeviceintelligence.ProcessingSignal; import android.app.ondeviceintelligence.StreamingProcessingCallback; @@ -293,7 +294,7 @@ public abstract class OnDeviceSandboxedInferenceService extends Service { * @param callback callback to populate the update status and if there are params * associated with the status. */ - public abstract void onUpdateProcessingState(@NonNull @InferenceParams Bundle processingState, + public abstract void onUpdateProcessingState(@NonNull @StateParams Bundle processingState, @NonNull OutcomeReceiver<PersistableBundle, OnDeviceIntelligenceException> callback); diff --git a/core/java/android/tracing/flags.aconfig b/core/java/android/tracing/flags.aconfig index 196498603725..c50c384c6e4d 100644 --- a/core/java/android/tracing/flags.aconfig +++ b/core/java/android/tracing/flags.aconfig @@ -15,3 +15,10 @@ flag { bug: "276432490" is_fixed_read_only: true } + +flag { + name: "perfetto_ime_tracing" + namespace: "windowing_tools" + description: "Migrate IME tracing to Perfetto" + bug: "276433199" +} diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index a82c9a8c9e8b..bd8e9c6b4bf8 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -43,6 +43,7 @@ import static android.view.flags.Flags.sensitiveContentAppProtection; import static android.view.flags.Flags.toolkitFrameRateBySizeReadOnly; import static android.view.flags.Flags.toolkitFrameRateDefaultNormalReadOnly; import static android.view.flags.Flags.toolkitFrameRateSmallUsesPercentReadOnly; +import static android.view.flags.Flags.toolkitFrameRateViewEnablingReadOnly; import static android.view.flags.Flags.toolkitMetricsForFrameRateDecision; import static android.view.flags.Flags.toolkitSetFrameRateReadOnly; import static android.view.flags.Flags.viewVelocityApi; @@ -2439,6 +2440,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, private static final boolean sToolkitFrameRateSmallUsesPercentReadOnlyFlagValue = toolkitFrameRateSmallUsesPercentReadOnly(); + private static final boolean sToolkitFrameRateViewEnablingReadOnlyFlagValue = + toolkitFrameRateViewEnablingReadOnly(); // Used to set frame rate compatibility. @Surface.FrameRateCompatibility int mFrameRateCompatibility = @@ -20794,7 +20797,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } // For VRR to vote the preferred frame rate - if (sToolkitSetFrameRateReadOnlyFlagValue) { + if (sToolkitSetFrameRateReadOnlyFlagValue + && sToolkitFrameRateViewEnablingReadOnlyFlagValue) { votePreferredFrameRate(); } @@ -20901,7 +20905,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, protected void damageInParent() { if (mParent != null && mAttachInfo != null) { // For VRR to vote the preferred frame rate - if (sToolkitSetFrameRateReadOnlyFlagValue) { + if (sToolkitSetFrameRateReadOnlyFlagValue + && sToolkitFrameRateViewEnablingReadOnlyFlagValue) { votePreferredFrameRate(); } mParent.onDescendantInvalidated(this, this); @@ -23592,7 +23597,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } mPrivateFlags4 = (mPrivateFlags4 & ~PFLAG4_HAS_MOVED) | PFLAG4_HAS_DRAWN; - if (sToolkitSetFrameRateReadOnlyFlagValue) { + if (sToolkitSetFrameRateReadOnlyFlagValue + && sToolkitFrameRateViewEnablingReadOnlyFlagValue) { updateInfrequentCount(); } @@ -25508,7 +25514,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } private void sizeChange(int newWidth, int newHeight, int oldWidth, int oldHeight) { - if (mAttachInfo != null) { + if (mAttachInfo != null && sToolkitFrameRateViewEnablingReadOnlyFlagValue) { boolean isSmall; if (sToolkitFrameRateSmallUsesPercentReadOnlyFlagValue) { int size = newWidth * newHeight; diff --git a/core/java/android/view/flags/refresh_rate_flags.aconfig b/core/java/android/view/flags/refresh_rate_flags.aconfig index b296e44b778d..d0fe3e0ecb3a 100644 --- a/core/java/android/view/flags/refresh_rate_flags.aconfig +++ b/core/java/android/view/flags/refresh_rate_flags.aconfig @@ -103,4 +103,12 @@ flag { description: "Feature flag to enable the functionality of the dVRR feature" bug: "239979904" is_fixed_read_only: true +} + +flag { + name: "toolkit_frame_rate_view_enabling_read_only" + namespace: "toolkit" + description: "Feature flag to enable the functionality on views for the dVRR feature" + bug: "239979904" + is_fixed_read_only: true }
\ No newline at end of file diff --git a/core/java/com/android/internal/app/SuspendedAppActivity.java b/core/java/com/android/internal/app/SuspendedAppActivity.java index 66201567d7c2..7a8a47e5f9fc 100644 --- a/core/java/com/android/internal/app/SuspendedAppActivity.java +++ b/core/java/com/android/internal/app/SuspendedAppActivity.java @@ -16,7 +16,7 @@ package com.android.internal.app; -import static android.app.admin.flags.Flags.crossUserSuspensionEnabled; +import static android.app.admin.flags.Flags.crossUserSuspensionEnabledRo; import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE; import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE; import static android.content.pm.SuspendDialogInfo.BUTTON_ACTION_MORE_DETAILS; @@ -234,7 +234,7 @@ public class SuspendedAppActivity extends AlertActivity } mSuspendedPackage = intent.getStringExtra(EXTRA_SUSPENDED_PACKAGE); mSuspendingPackage = intent.getStringExtra(EXTRA_SUSPENDING_PACKAGE); - if (crossUserSuspensionEnabled()) { + if (crossUserSuspensionEnabledRo()) { mSuspendingUserId = intent.getIntExtra(EXTRA_SUSPENDING_USER, mUserId); } else { mSuspendingUserId = mUserId; @@ -373,7 +373,7 @@ public class SuspendedAppActivity extends AlertActivity .putExtra(Intent.EXTRA_USER_ID, userId) .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); - if (crossUserSuspensionEnabled() && suspendingPackage != null) { + if (crossUserSuspensionEnabledRo() && suspendingPackage != null) { intent.putExtra(EXTRA_SUSPENDING_USER, suspendingPackage.userId); } return intent; diff --git a/core/java/com/android/internal/protolog/PerfettoProtoLogImpl.java b/core/java/com/android/internal/protolog/PerfettoProtoLogImpl.java index 4ead82f22cfa..561ca2178966 100644 --- a/core/java/com/android/internal/protolog/PerfettoProtoLogImpl.java +++ b/core/java/com/android/internal/protolog/PerfettoProtoLogImpl.java @@ -16,33 +16,34 @@ package com.android.internal.protolog; -import static perfetto.protos.PerfettoTrace.InternedData.PROTOLOG_STACKTRACE; -import static perfetto.protos.PerfettoTrace.InternedData.PROTOLOG_STRING_ARGS; -import static perfetto.protos.PerfettoTrace.InternedString.IID; -import static perfetto.protos.PerfettoTrace.InternedString.STR; -import static perfetto.protos.PerfettoTrace.ProtoLogMessage.BOOLEAN_PARAMS; -import static perfetto.protos.PerfettoTrace.ProtoLogMessage.DOUBLE_PARAMS; -import static perfetto.protos.PerfettoTrace.ProtoLogMessage.MESSAGE_ID; -import static perfetto.protos.PerfettoTrace.ProtoLogMessage.SINT64_PARAMS; -import static perfetto.protos.PerfettoTrace.ProtoLogMessage.STACKTRACE_IID; -import static perfetto.protos.PerfettoTrace.ProtoLogMessage.STR_PARAM_IIDS; -import static perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.GROUPS; -import static perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.Group.ID; -import static perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.Group.NAME; -import static perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.Group.TAG; -import static perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.MESSAGES; -import static perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.MessageData.GROUP_ID; -import static perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.MessageData.LEVEL; -import static perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.MessageData.MESSAGE; -import static perfetto.protos.PerfettoTrace.TracePacket.INTERNED_DATA; -import static perfetto.protos.PerfettoTrace.TracePacket.PROTOLOG_MESSAGE; -import static perfetto.protos.PerfettoTrace.TracePacket.PROTOLOG_VIEWER_CONFIG; -import static perfetto.protos.PerfettoTrace.TracePacket.SEQUENCE_FLAGS; -import static perfetto.protos.PerfettoTrace.TracePacket.SEQ_INCREMENTAL_STATE_CLEARED; -import static perfetto.protos.PerfettoTrace.TracePacket.SEQ_NEEDS_INCREMENTAL_STATE; -import static perfetto.protos.PerfettoTrace.TracePacket.TIMESTAMP; +import static android.internal.perfetto.protos.PerfettoTrace.InternedData.PROTOLOG_STACKTRACE; +import static android.internal.perfetto.protos.PerfettoTrace.InternedData.PROTOLOG_STRING_ARGS; +import static android.internal.perfetto.protos.PerfettoTrace.InternedString.IID; +import static android.internal.perfetto.protos.PerfettoTrace.InternedString.STR; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogMessage.BOOLEAN_PARAMS; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogMessage.DOUBLE_PARAMS; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogMessage.MESSAGE_ID; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogMessage.SINT64_PARAMS; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogMessage.STACKTRACE_IID; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogMessage.STR_PARAM_IIDS; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.GROUPS; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.Group.ID; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.Group.NAME; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.Group.TAG; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.MESSAGES; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.MessageData.GROUP_ID; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.MessageData.LEVEL; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.MessageData.MESSAGE; +import static android.internal.perfetto.protos.PerfettoTrace.TracePacket.INTERNED_DATA; +import static android.internal.perfetto.protos.PerfettoTrace.TracePacket.PROTOLOG_MESSAGE; +import static android.internal.perfetto.protos.PerfettoTrace.TracePacket.PROTOLOG_VIEWER_CONFIG; +import static android.internal.perfetto.protos.PerfettoTrace.TracePacket.SEQUENCE_FLAGS; +import static android.internal.perfetto.protos.PerfettoTrace.TracePacket.SEQ_INCREMENTAL_STATE_CLEARED; +import static android.internal.perfetto.protos.PerfettoTrace.TracePacket.SEQ_NEEDS_INCREMENTAL_STATE; +import static android.internal.perfetto.protos.PerfettoTrace.TracePacket.TIMESTAMP; import android.annotation.Nullable; +import android.internal.perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.MessageData; import android.os.ShellCommand; import android.os.SystemClock; import android.os.Trace; @@ -74,8 +75,6 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.atomic.AtomicInteger; -import perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.MessageData; - /** * A service for the ProtoLog logging system. */ diff --git a/core/java/com/android/internal/protolog/ProtoLogDataSource.java b/core/java/com/android/internal/protolog/ProtoLogDataSource.java index a8ff75d6595e..a2d5e70ee412 100644 --- a/core/java/com/android/internal/protolog/ProtoLogDataSource.java +++ b/core/java/com/android/internal/protolog/ProtoLogDataSource.java @@ -16,13 +16,14 @@ package com.android.internal.protolog; -import static perfetto.protos.PerfettoTrace.DataSourceConfig.PROTOLOG_CONFIG; -import static perfetto.protos.PerfettoTrace.ProtoLogConfig.GROUP_OVERRIDES; -import static perfetto.protos.PerfettoTrace.ProtoLogConfig.TRACING_MODE; -import static perfetto.protos.PerfettoTrace.ProtoLogGroup.COLLECT_STACKTRACE; -import static perfetto.protos.PerfettoTrace.ProtoLogGroup.LOG_FROM; -import static perfetto.protos.PerfettoTrace.ProtoLogGroup.GROUP_NAME; - +import static android.internal.perfetto.protos.PerfettoTrace.DataSourceConfig.PROTOLOG_CONFIG; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogConfig.GROUP_OVERRIDES; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogConfig.TRACING_MODE; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogGroup.COLLECT_STACKTRACE; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogGroup.GROUP_NAME; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogGroup.LOG_FROM; + +import android.internal.perfetto.protos.PerfettoTrace; import android.tracing.perfetto.CreateIncrementalStateArgs; import android.tracing.perfetto.CreateTlsStateArgs; import android.tracing.perfetto.DataSource; @@ -39,8 +40,6 @@ import java.io.IOException; import java.util.HashMap; import java.util.Map; -import perfetto.protos.PerfettoTrace; - public class ProtoLogDataSource extends DataSource<ProtoLogDataSource.Instance, ProtoLogDataSource.TlsState, ProtoLogDataSource.IncrementalState> { diff --git a/core/java/com/android/internal/protolog/ProtoLogViewerConfigReader.java b/core/java/com/android/internal/protolog/ProtoLogViewerConfigReader.java index ae3d4488dbd9..88a7b5482041 100644 --- a/core/java/com/android/internal/protolog/ProtoLogViewerConfigReader.java +++ b/core/java/com/android/internal/protolog/ProtoLogViewerConfigReader.java @@ -1,8 +1,8 @@ package com.android.internal.protolog; -import static perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.MESSAGES; -import static perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.MessageData.MESSAGE; -import static perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.MessageData.MESSAGE_ID; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.MESSAGES; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.MessageData.MESSAGE; +import static android.internal.perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.MessageData.MESSAGE_ID; import android.util.ArrayMap; import android.util.proto.ProtoInputStream; diff --git a/core/jni/android_os_Debug.cpp b/core/jni/android_os_Debug.cpp index a98f94722326..9593fe584195 100644 --- a/core/jni/android_os_Debug.cpp +++ b/core/jni/android_os_Debug.cpp @@ -46,6 +46,7 @@ #include "jni.h" #include <dmabufinfo/dmabuf_sysfs_stats.h> #include <dmabufinfo/dmabufinfo.h> +#include <meminfo/androidprocheaps.h> #include <meminfo/procmeminfo.h> #include <meminfo/sysmeminfo.h> #include <memtrack/memtrack.h> @@ -57,56 +58,7 @@ namespace android { -enum { - HEAP_UNKNOWN, - HEAP_DALVIK, - HEAP_NATIVE, - - HEAP_DALVIK_OTHER, - HEAP_STACK, - HEAP_CURSOR, - HEAP_ASHMEM, - HEAP_GL_DEV, - HEAP_UNKNOWN_DEV, - HEAP_SO, - HEAP_JAR, - HEAP_APK, - HEAP_TTF, - HEAP_DEX, - HEAP_OAT, - HEAP_ART, - HEAP_UNKNOWN_MAP, - HEAP_GRAPHICS, - HEAP_GL, - HEAP_OTHER_MEMTRACK, - - // Dalvik extra sections (heap). - HEAP_DALVIK_NORMAL, - HEAP_DALVIK_LARGE, - HEAP_DALVIK_ZYGOTE, - HEAP_DALVIK_NON_MOVING, - - // Dalvik other extra sections. - HEAP_DALVIK_OTHER_LINEARALLOC, - HEAP_DALVIK_OTHER_ACCOUNTING, - HEAP_DALVIK_OTHER_ZYGOTE_CODE_CACHE, - HEAP_DALVIK_OTHER_APP_CODE_CACHE, - HEAP_DALVIK_OTHER_COMPILER_METADATA, - HEAP_DALVIK_OTHER_INDIRECT_REFERENCE_TABLE, - - // Boot vdex / app dex / app vdex - HEAP_DEX_BOOT_VDEX, - HEAP_DEX_APP_DEX, - HEAP_DEX_APP_VDEX, - - // App art, boot art. - HEAP_ART_APP, - HEAP_ART_BOOT, - - _NUM_HEAP, - _NUM_EXCLUSIVE_HEAP = HEAP_OTHER_MEMTRACK+1, - _NUM_CORE_HEAP = HEAP_NATIVE+1 -}; +using namespace android::meminfo; struct stat_fields { jfieldID pss_field; @@ -146,18 +98,6 @@ static stat_field_names stat_field_names[_NUM_CORE_HEAP] = { static jfieldID otherStats_field; static jfieldID hasSwappedOutPss_field; -struct stats_t { - int pss; - int swappablePss; - int rss; - int privateDirty; - int sharedDirty; - int privateClean; - int sharedClean; - int swappedOut; - int swappedOutPss; -}; - #define BINDER_STATS "/proc/binder/stats" static jlong android_os_Debug_getNativeHeapSize(JNIEnv *env, jobject clazz) @@ -240,190 +180,14 @@ static int read_memtrack_memory(int pid, struct graphics_memory_pss* graphics_me return err; } -static bool load_maps(int pid, stats_t* stats, bool* foundSwapPss) -{ - *foundSwapPss = false; - uint64_t prev_end = 0; - int prev_heap = HEAP_UNKNOWN; - - std::string smaps_path = base::StringPrintf("/proc/%d/smaps", pid); - auto vma_scan = [&](const meminfo::Vma& vma) { - int which_heap = HEAP_UNKNOWN; - int sub_heap = HEAP_UNKNOWN; - bool is_swappable = false; - std::string name; - if (base::EndsWith(vma.name, " (deleted)")) { - name = vma.name.substr(0, vma.name.size() - strlen(" (deleted)")); - } else { - name = vma.name; - } - - uint32_t namesz = name.size(); - if (base::StartsWith(name, "[heap]")) { - which_heap = HEAP_NATIVE; - } else if (base::StartsWith(name, "[anon:libc_malloc]")) { - which_heap = HEAP_NATIVE; - } else if (base::StartsWith(name, "[anon:scudo:")) { - which_heap = HEAP_NATIVE; - } else if (base::StartsWith(name, "[anon:GWP-ASan")) { - which_heap = HEAP_NATIVE; - } else if (base::StartsWith(name, "[stack")) { - which_heap = HEAP_STACK; - } else if (base::StartsWith(name, "[anon:stack_and_tls:")) { - which_heap = HEAP_STACK; - } else if (base::EndsWith(name, ".so")) { - which_heap = HEAP_SO; - is_swappable = true; - } else if (base::EndsWith(name, ".jar")) { - which_heap = HEAP_JAR; - is_swappable = true; - } else if (base::EndsWith(name, ".apk")) { - which_heap = HEAP_APK; - is_swappable = true; - } else if (base::EndsWith(name, ".ttf")) { - which_heap = HEAP_TTF; - is_swappable = true; - } else if ((base::EndsWith(name, ".odex")) || - (namesz > 4 && strstr(name.c_str(), ".dex") != nullptr)) { - which_heap = HEAP_DEX; - sub_heap = HEAP_DEX_APP_DEX; - is_swappable = true; - } else if (base::EndsWith(name, ".vdex")) { - which_heap = HEAP_DEX; - // Handle system@framework@boot and system/framework/boot|apex - if ((strstr(name.c_str(), "@boot") != nullptr) || - (strstr(name.c_str(), "/boot") != nullptr) || - (strstr(name.c_str(), "/apex") != nullptr)) { - sub_heap = HEAP_DEX_BOOT_VDEX; - } else { - sub_heap = HEAP_DEX_APP_VDEX; - } - is_swappable = true; - } else if (base::EndsWith(name, ".oat")) { - which_heap = HEAP_OAT; - is_swappable = true; - } else if (base::EndsWith(name, ".art") || base::EndsWith(name, ".art]")) { - which_heap = HEAP_ART; - // Handle system@framework@boot* and system/framework/boot|apex* - if ((strstr(name.c_str(), "@boot") != nullptr) || - (strstr(name.c_str(), "/boot") != nullptr) || - (strstr(name.c_str(), "/apex") != nullptr)) { - sub_heap = HEAP_ART_BOOT; - } else { - sub_heap = HEAP_ART_APP; - } - is_swappable = true; - } else if (base::StartsWith(name, "/dev/")) { - which_heap = HEAP_UNKNOWN_DEV; - if (base::StartsWith(name, "/dev/kgsl-3d0")) { - which_heap = HEAP_GL_DEV; - } else if (base::StartsWith(name, "/dev/ashmem/CursorWindow")) { - which_heap = HEAP_CURSOR; - } else if (base::StartsWith(name, "/dev/ashmem/jit-zygote-cache")) { - which_heap = HEAP_DALVIK_OTHER; - sub_heap = HEAP_DALVIK_OTHER_ZYGOTE_CODE_CACHE; - } else if (base::StartsWith(name, "/dev/ashmem")) { - which_heap = HEAP_ASHMEM; - } - } else if (base::StartsWith(name, "/memfd:jit-cache")) { - which_heap = HEAP_DALVIK_OTHER; - sub_heap = HEAP_DALVIK_OTHER_APP_CODE_CACHE; - } else if (base::StartsWith(name, "/memfd:jit-zygote-cache")) { - which_heap = HEAP_DALVIK_OTHER; - sub_heap = HEAP_DALVIK_OTHER_ZYGOTE_CODE_CACHE; - } else if (base::StartsWith(name, "[anon:")) { - which_heap = HEAP_UNKNOWN; - if (base::StartsWith(name, "[anon:dalvik-")) { - which_heap = HEAP_DALVIK_OTHER; - if (base::StartsWith(name, "[anon:dalvik-LinearAlloc")) { - sub_heap = HEAP_DALVIK_OTHER_LINEARALLOC; - } else if (base::StartsWith(name, "[anon:dalvik-alloc space") || - base::StartsWith(name, "[anon:dalvik-main space")) { - // This is the regular Dalvik heap. - which_heap = HEAP_DALVIK; - sub_heap = HEAP_DALVIK_NORMAL; - } else if (base::StartsWith(name, - "[anon:dalvik-large object space") || - base::StartsWith( - name, "[anon:dalvik-free list large object space")) { - which_heap = HEAP_DALVIK; - sub_heap = HEAP_DALVIK_LARGE; - } else if (base::StartsWith(name, "[anon:dalvik-non moving space")) { - which_heap = HEAP_DALVIK; - sub_heap = HEAP_DALVIK_NON_MOVING; - } else if (base::StartsWith(name, "[anon:dalvik-zygote space")) { - which_heap = HEAP_DALVIK; - sub_heap = HEAP_DALVIK_ZYGOTE; - } else if (base::StartsWith(name, "[anon:dalvik-indirect ref")) { - sub_heap = HEAP_DALVIK_OTHER_INDIRECT_REFERENCE_TABLE; - } else if (base::StartsWith(name, "[anon:dalvik-jit-code-cache") || - base::StartsWith(name, "[anon:dalvik-data-code-cache")) { - sub_heap = HEAP_DALVIK_OTHER_APP_CODE_CACHE; - } else if (base::StartsWith(name, "[anon:dalvik-CompilerMetadata")) { - sub_heap = HEAP_DALVIK_OTHER_COMPILER_METADATA; - } else { - sub_heap = HEAP_DALVIK_OTHER_ACCOUNTING; // Default to accounting. - } - } - } else if (namesz > 0) { - which_heap = HEAP_UNKNOWN_MAP; - } else if (vma.start == prev_end && prev_heap == HEAP_SO) { - // bss section of a shared library - which_heap = HEAP_SO; - } - - prev_end = vma.end; - prev_heap = which_heap; - - const meminfo::MemUsage& usage = vma.usage; - if (usage.swap_pss > 0 && *foundSwapPss != true) { - *foundSwapPss = true; - } - - uint64_t swapable_pss = 0; - if (is_swappable && (usage.pss > 0)) { - float sharing_proportion = 0.0; - if ((usage.shared_clean > 0) || (usage.shared_dirty > 0)) { - sharing_proportion = (usage.pss - usage.uss) / (usage.shared_clean + usage.shared_dirty); - } - swapable_pss = (sharing_proportion * usage.shared_clean) + usage.private_clean; - } - - stats[which_heap].pss += usage.pss; - stats[which_heap].swappablePss += swapable_pss; - stats[which_heap].rss += usage.rss; - stats[which_heap].privateDirty += usage.private_dirty; - stats[which_heap].sharedDirty += usage.shared_dirty; - stats[which_heap].privateClean += usage.private_clean; - stats[which_heap].sharedClean += usage.shared_clean; - stats[which_heap].swappedOut += usage.swap; - stats[which_heap].swappedOutPss += usage.swap_pss; - if (which_heap == HEAP_DALVIK || which_heap == HEAP_DALVIK_OTHER || - which_heap == HEAP_DEX || which_heap == HEAP_ART) { - stats[sub_heap].pss += usage.pss; - stats[sub_heap].swappablePss += swapable_pss; - stats[sub_heap].rss += usage.rss; - stats[sub_heap].privateDirty += usage.private_dirty; - stats[sub_heap].sharedDirty += usage.shared_dirty; - stats[sub_heap].privateClean += usage.private_clean; - stats[sub_heap].sharedClean += usage.shared_clean; - stats[sub_heap].swappedOut += usage.swap; - stats[sub_heap].swappedOutPss += usage.swap_pss; - } - return true; - }; - - return meminfo::ForEachVmaFromFile(smaps_path, vma_scan); -} - static jboolean android_os_Debug_getDirtyPagesPid(JNIEnv *env, jobject clazz, jint pid, jobject object) { bool foundSwapPss; - stats_t stats[_NUM_HEAP]; + AndroidHeapStats stats[_NUM_HEAP]; memset(&stats, 0, sizeof(stats)); - if (!load_maps(pid, stats, &foundSwapPss)) { + if (!ExtractAndroidHeapStats(pid, stats, &foundSwapPss)) { return JNI_FALSE; } diff --git a/core/res/OWNERS b/core/res/OWNERS index 6924248b33cf..4e61ff25a26b 100644 --- a/core/res/OWNERS +++ b/core/res/OWNERS @@ -43,6 +43,9 @@ per-file res/values/dimens_car.xml = file:/platform/packages/services/Car:/OWNER # Device Idle per-file res/values/config_device_idle.xml = file:/apex/jobscheduler/OWNERS +# Display Manager +per-file res/values/config_display.xml = file:/services/core/java/com/android/server/display/OWNERS + # Wear per-file res/*-watch/* = file:/WEAR_OWNERS diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml index 7cd186f6559f..63cd6b941178 100644 --- a/core/res/res/values-af/strings.xml +++ b/core/res/res/values-af/strings.xml @@ -357,7 +357,7 @@ <string name="capability_desc_canTakeScreenshot" msgid="7762297374317934052">"Kan \'n skermkiekie neem."</string> <string name="dream_preview_title" msgid="5570751491996100804">"Voorskou, <xliff:g id="DREAM_NAME">%1$s</xliff:g>"</string> <string name="permlab_statusBar" msgid="8798267849526214017">"deaktiveer of verander statusbalk"</string> - <string name="permdesc_statusBar" msgid="5809162768651019642">"Laat die program toe om die statusbalk te deaktiveer en stelselikone by te voeg of te verwyder."</string> + <string name="permdesc_statusBar" msgid="5809162768651019642">"Laat die app toe om die statusbalk te deaktiveer en stelselikone by te voeg of te verwyder."</string> <string name="permlab_statusBarService" msgid="2523421018081437981">"wees die statusbalk"</string> <string name="permdesc_statusBarService" msgid="6652917399085712557">"Laat die program toe om die statusbalk te wees."</string> <string name="permlab_expandStatusBar" msgid="1184232794782141698">"vou statusbalk in of uit"</string> @@ -2397,6 +2397,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Toets"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Gemeenskaplik"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Outomaties aan satelliet gekoppel"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Jy kan boodskappe stuur en ontvang sonder ’n selfoon- of wi-fi-netwerk"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Maak Boodskappe oop"</string> diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml index 66c550276d37..799a7ab95a8d 100644 --- a/core/res/res/values-am/strings.xml +++ b/core/res/res/values-am/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"በ<xliff:g id="APP_NAME">%1$s</xliff:g> የሚተዳደር"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"በርቷል"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"ጠፍቷል"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">"፣ "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"ማንኛውም ቀን መቁጠሪያ"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> አንዳንድ ድምጾችን እየዘጋ ነው"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"መሣሪያዎ ላይ የውስጣዊ ችግር አለ፣ የፋብሪካ ውሂብ ዳግም እስኪያስጀምሩት ድረስ ላይረጋጋ ይችላል።"</string> <string name="system_error_manufacturer" msgid="703545241070116315">"መሣሪያዎ ላይ የውስጣዊ ችግር አለ። ዝርዝሮችን ለማግኘት አምራችዎን ያነጋግሩ።"</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"ሙከራ"</string> <string name="profile_label_communal" msgid="8743921499944800427">"የጋራ"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"ከሳተላይት ጋር በራስ-ሰር ተገናኝቷል"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"ያለ ሞባይል ወይም የWi-Fi አውታረ መረብ መልዕክቶችን መላክ እና መቀበል ይችላሉ"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"መልዕክቶች ይክፈቱ"</string> diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml index 881fb291ea7a..fad2cd68274d 100644 --- a/core/res/res/values-ar/strings.xml +++ b/core/res/res/values-ar/strings.xml @@ -319,7 +319,7 @@ <string name="permgroupdesc_contacts" msgid="9163927941244182567">"الوصول إلى جهات اتصالك"</string> <string name="permgrouplab_location" msgid="1858277002233964394">"الموقع الجغرافي"</string> <string name="permgroupdesc_location" msgid="1995955142118450685">"الوصول إلى موقع هذا الجهاز"</string> - <string name="permgrouplab_calendar" msgid="6426860926123033230">"التقويم"</string> + <string name="permgrouplab_calendar" msgid="6426860926123033230">"تقويم Google"</string> <string name="permgroupdesc_calendar" msgid="6762751063361489379">"الوصول إلى تقويمك"</string> <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string> <string name="permgroupdesc_sms" msgid="5726462398070064542">"إرسال رسائل قصيرة SMS وعرضها"</string> @@ -1933,12 +1933,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"تحت إدارة \"<xliff:g id="APP_NAME">%1$s</xliff:g>\""</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"مفعَّل"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"غير مفعَّل"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">"، "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"من <xliff:g id="START">%1$s</xliff:g> إلى <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"أي تقويم"</string> <string name="muted_by" msgid="91464083490094950">"يعمل <xliff:g id="THIRD_PARTY">%1$s</xliff:g> على كتم بعض الأصوات."</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"حدثت مشكلة داخلية في جهازك، وقد لا يستقر وضعه حتى إجراء إعادة الضبط على الإعدادات الأصلية."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"حدثت مشكلة داخلية في جهازك. يمكنك الاتصال بالمصنِّع للحصول على تفاصيل."</string> @@ -2000,7 +1997,7 @@ <string name="work_mode_emergency_call_button" msgid="6818855962881612322">"الطوارئ"</string> <string name="set_up_screen_lock_title" msgid="8346083801616474030">"ضبط قفل شاشة"</string> <string name="set_up_screen_lock_action_label" msgid="2687634803649209367">"ضبط قفل الشاشة"</string> - <string name="private_space_set_up_screen_lock_message" msgid="1109956797005149814">"لاستخدام مساحتك الخاصة، يجب ضبط قفل شاشة على هذا الجهاز."</string> + <string name="private_space_set_up_screen_lock_message" msgid="1109956797005149814">"لاستخدام مساحتك الخاصة، يجب ضبط قفل شاشة على هذا الجهاز"</string> <string name="app_blocked_title" msgid="7353262160455028160">"التطبيق غير متاح"</string> <string name="app_blocked_message" msgid="542972921087873023">"تطبيق <xliff:g id="APP_NAME">%1$s</xliff:g> غير متاح الآن."</string> <string name="app_streaming_blocked_title" msgid="6090945835898766139">"تطبيق <xliff:g id="ACTIVITY">%1$s</xliff:g> غير متاح"</string> @@ -2401,6 +2398,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"ملف شخصي تجريبي"</string> <string name="profile_label_communal" msgid="8743921499944800427">"ملف شخصي مشترك"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"تم الاتصال تلقائيًا بالقمر الصناعي"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"يمكنك إرسال الرسائل واستلامها بدون شبكة الجوّال أو شبكة Wi-Fi."</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"فتح تطبيق \"الرسائل\""</string> diff --git a/core/res/res/values-as/strings.xml b/core/res/res/values-as/strings.xml index aaf715b78543..8b3f8324af20 100644 --- a/core/res/res/values-as/strings.xml +++ b/core/res/res/values-as/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"<xliff:g id="APP_NAME">%1$s</xliff:g>এ পৰিচালনা কৰা"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"অন আছে"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"অফ আছে"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"যিকোনো কেলেণ্ডাৰ"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g>এ কিছুমান ধ্বনি মিউট কৰি আছে"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"আপোনাৰ ডিভাইচত এটা আভ্যন্তৰীণ সমস্যা আছে আৰু আপুনি ফেক্টৰী ডেটা ৰিছেট নকৰালৈকে ই সুস্থিৰভাৱে কাম নকৰিব পাৰে।"</string> <string name="system_error_manufacturer" msgid="703545241070116315">"আপোনাৰ ডিভাইচত এটা আভ্যন্তৰীণ সমস্যা আছে। সবিশেষ জানিবৰ বাবে আপোনাৰ ডিভাইচ নির্মাতাৰ সৈতে যোগাযোগ কৰক।"</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"পৰীক্ষা"</string> <string name="profile_label_communal" msgid="8743921499944800427">"শ্বেয়াৰ কৰা"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"উপগ্ৰহৰ সৈতে স্বয়ংক্ৰিয়ভাৱে সংযুক্ত হৈছে"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"আপুনি ম’বাইল বা ৱাই-ফাই নেটৱৰ্কৰ জৰিয়তে পাঠ বাৰ্তা পঠিয়াব বা লাভ কৰিব পাৰে"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages খোলক"</string> diff --git a/core/res/res/values-az/strings.xml b/core/res/res/values-az/strings.xml index 8a8b2fa9f459..c0b886be2097 100644 --- a/core/res/res/values-az/strings.xml +++ b/core/res/res/values-az/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"<xliff:g id="APP_NAME">%1$s</xliff:g> idarə edir"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Aktiv"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Deaktiv"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"İstənilən təqvim"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> bəzi səsləri səssiz rejimə salır"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Cihazınızın daxili problemi var və istehsalçı sıfırlanması olmayana qədər qeyri-stabil ola bilər."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Cihazınızın daxili problemi var. Əlavə məlumat üçün istehsalçı ilə əlaqə saxlayın."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Kommunal"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Peykə avtomatik qoşulub"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Mobil və ya Wi-Fi şəbəkəsi olmadan mesaj göndərə və qəbul edə bilərsiniz"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Mesajı açın"</string> diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml index 5f012669c144..a275cab86042 100644 --- a/core/res/res/values-b+sr+Latn/strings.xml +++ b/core/res/res/values-b+sr+Latn/strings.xml @@ -1930,12 +1930,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Upravlja: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Uključeno"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Isključeno"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Bilo koji kalendar"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> isključuje neke zvuke"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Došlo je do internog problema u vezi sa uređajem i možda će biti nestabilan dok ne obavite resetovanje na fabrička podešavanja."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Došlo je do internog problema u vezi sa uređajem. Potražite detalje od proizvođača."</string> @@ -2398,6 +2395,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Zajedničko"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Automatski povezano sa satelitom"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Možete da šaljete i primate poruke bez mobilne ili WiFi mreže"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Otvori Messages"</string> diff --git a/core/res/res/values-be/strings.xml b/core/res/res/values-be/strings.xml index 84660349f28f..c0d930f2173a 100644 --- a/core/res/res/values-be/strings.xml +++ b/core/res/res/values-be/strings.xml @@ -1931,12 +1931,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Пад кіраваннем праграмы \"<xliff:g id="APP_NAME">%1$s</xliff:g>\""</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Уключана"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Выключана"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g>-<xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Любы каляндар"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> выключае некаторыя гукі"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"На вашай прыладзе ўзнікла ўнутраная праблема, і яна можа працаваць нестабільна, пакуль вы не зробіце скід да заводскіх налад."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"На вашай прыладзе ўзнікла ўнутраная праблема. Для атрымання дадатковай інфармацыі звярніцеся да вытворцы."</string> @@ -2399,6 +2396,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Тэставы"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Супольны"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Аўтаматычна падключана да сістэм спадарожнікавай сувязі"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Вы можаце адпраўляць і атрымліваць паведамленні без доступу да мабільнай сеткі або Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Адкрыць Паведамленні"</string> diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml index 56b429a862d8..5c793e582cb1 100644 --- a/core/res/res/values-bg/strings.xml +++ b/core/res/res/values-bg/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Управлява се от <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Вкл."</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Изкл."</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Всички календари"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> заглушава някои звуци"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Възникна вътрешен проблем с устройството ви. То може да е нестабилно, докато не възстановите фабричните настройки."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Възникна вътрешен проблем с устройството ви. За подробности се свържете с производителя."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Тестване"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Общи"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Автоматично установена връзка със сателит"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Можете да изпращате и получавате съобщения без мобилна или Wi-Fi мрежа"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Отваряне на Messages"</string> diff --git a/core/res/res/values-bn/strings.xml b/core/res/res/values-bn/strings.xml index 97175364606f..894660759c67 100644 --- a/core/res/res/values-bn/strings.xml +++ b/core/res/res/values-bn/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"<xliff:g id="APP_NAME">%1$s</xliff:g> ম্যানেজ করে"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"চালু আছে"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"বন্ধ আছে"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"যেকোনও ক্যালেন্ডার"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> কিছু সাউন্ডকে মিউট করে দিচ্ছে"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"আপনার ডিভাইসে একটি অভ্যন্তরীন সমস্যা হয়েছে, এবং আপনি যতক্ষণ না পর্যন্ত এটিকে ফ্যাক্টরি ডেটা রিসেট করছেন ততক্ষণ এটি ঠিকভাবে কাজ নাও করতে পারে৷"</string> <string name="system_error_manufacturer" msgid="703545241070116315">"আপনার ডিভাইসে একটি অভ্যন্তরীন সমস্যা হয়েছে৷ বিস্তারিত জানার জন্য প্রস্তুতকারকের সাথে যোগাযোগ করুন৷"</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"পরীক্ষা"</string> <string name="profile_label_communal" msgid="8743921499944800427">"কমিউনাল"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"স্যাটেলাইটের সাথে অটোমেটিক কানেক্ট করা হয়েছে"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"আপনি কোনও মেবাইল বা ওয়াই-ফাই নেটওয়ার্ক ছাড়াই মেসেজ পাঠাতে ও পেতে পারবেন"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages খুলুন"</string> diff --git a/core/res/res/values-bs/strings.xml b/core/res/res/values-bs/strings.xml index 55a014b3fea6..2d08a22dbc06 100644 --- a/core/res/res/values-bs/strings.xml +++ b/core/res/res/values-bs/strings.xml @@ -1930,12 +1930,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Upravlja <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Uključeno"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Isključeno"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Bilo koji kalendar"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> isključuje neke zvukove"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Postoji problem u vašem uređaju i može biti nestabilan dok ga ne vratite na fabričke postavke."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Postoji problem u vašem uređaju. Za više informacija obratite se proizvođaču."</string> @@ -2398,6 +2395,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Testno"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Opće"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Automatski je povezano sa satelitom"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Možete slati i primati poruke bez mobilne ili WiFi mreže"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Otvorite Messages"</string> diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml index 65b0f81d2f2c..263d12982dd1 100644 --- a/core/res/res/values-ca/strings.xml +++ b/core/res/res/values-ca/strings.xml @@ -1930,12 +1930,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Gestionat per <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Activat"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Desactivat"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g>-<xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Qualsevol calendari"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> està silenciant alguns sons"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"S\'ha produït un error intern al dispositiu i és possible que funcioni de manera inestable fins que restableixis les dades de fàbrica."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"S\'ha produït un error intern al dispositiu. Contacta amb el fabricant del dispositiu per obtenir més informació."</string> @@ -1997,7 +1994,7 @@ <string name="work_mode_emergency_call_button" msgid="6818855962881612322">"Emergència"</string> <string name="set_up_screen_lock_title" msgid="8346083801616474030">"Defineix un bloqueig de pantalla"</string> <string name="set_up_screen_lock_action_label" msgid="2687634803649209367">"Defineix un bloqueig de pantalla"</string> - <string name="private_space_set_up_screen_lock_message" msgid="1109956797005149814">"Per utilitzar l\'espai privat, defineix un bloq. de pantalla"</string> + <string name="private_space_set_up_screen_lock_message" msgid="1109956797005149814">"Per utilitzar l\'espai privat, defineix un bloqueig de pantalla en aquest dispositiu"</string> <string name="app_blocked_title" msgid="7353262160455028160">"L\'aplicació no està disponible"</string> <string name="app_blocked_message" msgid="542972921087873023">"Ara mateix, <xliff:g id="APP_NAME">%1$s</xliff:g> no està disponible."</string> <string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> no està disponible"</string> @@ -2398,6 +2395,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Prova"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Compartit"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"S\'ha connectat automàticament a un satèl·lit"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Pots enviar i rebre missatges sense una xarxa mòbil o Wi‑Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Obre Missatges"</string> diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml index 798185cb4c43..a8ad54362866 100644 --- a/core/res/res/values-cs/strings.xml +++ b/core/res/res/values-cs/strings.xml @@ -1931,12 +1931,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Spravováno aplikací <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Zapnuto"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Vypnuto"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"V libovolném kalendáři"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> vypíná určité zvuky"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"V zařízení došlo k internímu problému. Dokud neprovedete obnovení továrních dat, může být nestabilní."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"V zařízení došlo k internímu problému. Další informace vám sdělí výrobce."</string> @@ -2399,6 +2396,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Komunální"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Automaticky připojeno k satelitu"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Zprávy můžete odesílat a přijímat bez mobilní sítě nebo sítě Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Otevřít Zprávy"</string> diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml index 8559d400e980..59be3ddc7e8b 100644 --- a/core/res/res/values-da/strings.xml +++ b/core/res/res/values-da/strings.xml @@ -827,7 +827,7 @@ <string name="permdesc_writeVerificationStateE2eeContactKeys" msgid="8453156829747427041">"Giver appen tilladelse til at opdatere tilstandene for verificering E2EE-kontaktnøgler, som ejes af andre apps"</string> <string name="policylab_limitPassword" msgid="4851829918814422199">"Angiv regler for adgangskoder"</string> <string name="policydesc_limitPassword" msgid="4105491021115793793">"Tjek længden samt tilladte tegn i adgangskoder og pinkoder til skærmlåsen."</string> - <string name="policylab_watchLogin" msgid="7599669460083719504">"Overvåg forsøg på oplåsning af skærm"</string> + <string name="policylab_watchLogin" msgid="7599669460083719504">"Overvåge forsøg på oplåsning af skærm"</string> <string name="policydesc_watchLogin" product="tablet" msgid="2388436408621909298">"Overvåg antallet af forkert indtastede adgangskoder, når du låser skærmen op, og lås din tablet, eller slet alle data i den, hvis der er indtastet for mange forkerte adgangskoder."</string> <string name="policydesc_watchLogin" product="tv" msgid="2140588224468517507">"Registrer antallet af forkerte adgangskoder, der angives ved oplåsning af skærmen, og lås din Android TV-enhed, eller ryd alle dataene på din Android TV-enhed, hvis adgangskoden angives forkert for mange gange."</string> <string name="policydesc_watchLogin" product="automotive" msgid="7011438994051251521">"Registrer antallet af forkert indtastede adgangskoder, når du låser skærmen op, og lås infotainmentsystemet, eller slet alle data i infotainmentsystemet, hvis der er indtastet for mange forkerte adgangskoder."</string> @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Administreres af <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Til"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Fra"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g>-<xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Alle kalendere"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> slår nogle lyde fra"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Der er et internt problem med enheden, og den vil muligvis være ustabil, indtil du gendanner fabriksdataene."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Der er et internt problem med enheden. Kontakt producenten for at få yderligere oplysninger."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Fælles"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Der blev automatisk oprettet forbindelse til satellit"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Du kan sende og modtage beskeder uden et mobil- eller Wi-Fi-netværk"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Åbn Beskeder"</string> diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml index a96bcfdb7764..b4882febd4a2 100644 --- a/core/res/res/values-de/strings.xml +++ b/core/res/res/values-de/strings.xml @@ -2397,6 +2397,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Gemeinsam genutzt"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Automatisch mit Satellit verbunden"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Du kannst Nachrichten ohne Mobilfunknetz oder WLAN senden und empfangen"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages öffnen"</string> diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml index eff6d4dd8d68..1b88a6ac809d 100644 --- a/core/res/res/values-el/strings.xml +++ b/core/res/res/values-el/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Διαχείριση από <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Ενεργός"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Ανενεργός"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Οποιοδήποτε ημερολόγιο"</string> <string name="muted_by" msgid="91464083490094950">"Το τρίτο μέρος <xliff:g id="THIRD_PARTY">%1$s</xliff:g> θέτει ορισμένους ήχους σε σίγαση"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Υπάρχει ένα εσωτερικό πρόβλημα με τη συσκευή σας και ενδέχεται να είναι ασταθής μέχρι την επαναφορά των εργοστασιακών ρυθμίσεων."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Υπάρχει ένα εσωτερικό πρόβλημα με τη συσκευή σας. Επικοινωνήστε με τον κατασκευαστή σας για λεπτομέρειες."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Δοκιμή"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Κοινόχρηστο"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Συνδέθηκε αυτόματα με δορυφόρο"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Μπορείτε να στέλνετε και να λαμβάνετε μηνύματα χωρίς δίκτυο κινητής τηλεφωνίας ή Wi-Fi."</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Άνοιγμα Messages"</string> diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml index c869c7e10232..5a6c6200b0e9 100644 --- a/core/res/res/values-en-rAU/strings.xml +++ b/core/res/res/values-en-rAU/strings.xml @@ -2394,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Communal"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Auto-connected to satellite"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"You can send and receive messages without a mobile or Wi-Fi network"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Open Messages"</string> diff --git a/core/res/res/values-en-rCA/strings.xml b/core/res/res/values-en-rCA/strings.xml index b521bdb0b3f6..86fe49cb7ed3 100644 --- a/core/res/res/values-en-rCA/strings.xml +++ b/core/res/res/values-en-rCA/strings.xml @@ -2394,6 +2394,7 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Communal"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <string name="screen_not_shared_sensitive_content" msgid="7058419185079565001">"App content hidden from screen share for security"</string> <string name="satellite_notification_title" msgid="4026338973463121526">"Auto connected to satellite"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"You can send and receive messages without a mobile or Wi-Fi network"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Open Messages"</string> diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml index 542656de782a..4972e1bc2f44 100644 --- a/core/res/res/values-en-rGB/strings.xml +++ b/core/res/res/values-en-rGB/strings.xml @@ -2394,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Communal"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Auto-connected to satellite"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"You can send and receive messages without a mobile or Wi-Fi network"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Open Messages"</string> diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml index 589e12955012..c35c2ff84850 100644 --- a/core/res/res/values-en-rIN/strings.xml +++ b/core/res/res/values-en-rIN/strings.xml @@ -2394,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Communal"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Auto-connected to satellite"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"You can send and receive messages without a mobile or Wi-Fi network"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Open Messages"</string> diff --git a/core/res/res/values-en-rXC/strings.xml b/core/res/res/values-en-rXC/strings.xml index c0465eef27f6..b7f49980acd7 100644 --- a/core/res/res/values-en-rXC/strings.xml +++ b/core/res/res/values-en-rXC/strings.xml @@ -2394,6 +2394,7 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Communal"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <string name="screen_not_shared_sensitive_content" msgid="7058419185079565001">"App content hidden from screen share for security"</string> <string name="satellite_notification_title" msgid="4026338973463121526">"Auto connected to satellite"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"You can send and receive messages without a mobile or Wi-Fi network"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Open Messages"</string> diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml index f361dd891438..4f7f7a72aac8 100644 --- a/core/res/res/values-es-rUS/strings.xml +++ b/core/res/res/values-es-rUS/strings.xml @@ -2395,6 +2395,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Probar"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Compartido"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Conexión automática a satélite"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Puedes enviar y recibir mensajes incluso si no tienes conexión a una red móvil o Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Abrir Mensajes"</string> diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml index 87a369f17804..bf9d526f403a 100644 --- a/core/res/res/values-es/strings.xml +++ b/core/res/res/values-es/strings.xml @@ -1930,12 +1930,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Gestionado por <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Activado"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Desactivado"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g>-<xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Cualquier calendario"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> silencia algunos sonidos"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Se ha producido un problema interno en el dispositivo y es posible que este no sea estable hasta que restablezcas el estado de fábrica."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Se ha producido un problema interno en el dispositivo. Ponte en contacto con el fabricante para obtener más información."</string> @@ -2398,6 +2395,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Prueba"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Común"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Conectado automáticamente al satélite"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Puedes enviar y recibir mensajes sin una red móvil o Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Abre Mensajes"</string> diff --git a/core/res/res/values-et/strings.xml b/core/res/res/values-et/strings.xml index 3b844b2f9123..cc82e47e1b43 100644 --- a/core/res/res/values-et/strings.xml +++ b/core/res/res/values-et/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Haldab <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Sees"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Väljas"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Mis tahes kalender"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> vaigistab teatud helid"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Seadmes ilmnes sisemine probleem ja seade võib olla ebastabiilne seni, kuni lähtestate seadme tehase andmetele."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Seadmes ilmnes sisemine probleem. Üksikasjaliku teabe saamiseks võtke ühendust tootjaga."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Jagatud"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Satelliidiga loodi automaatselt ühendus"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Teil on võimalik sõnumeid saata ja vastu võtta ilma mobiilside- ja WiFi-võrguta"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Ava rakendus Messages"</string> diff --git a/core/res/res/values-eu/strings.xml b/core/res/res/values-eu/strings.xml index 68ed75c87602..34c066351d4d 100644 --- a/core/res/res/values-eu/strings.xml +++ b/core/res/res/values-eu/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Kudeatzailea: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Aktibatuta"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Desaktibatuta"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g>-<xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Edozein egutegi"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> soinu batzuk isilarazten ari da"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Barneko arazo bat dago zure gailuan eta agian ezegonkor egongo da jatorrizko datuak berrezartzen dituzun arte."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Barneko arazo bat dago zure gailuan. Xehetasunak jakiteko, jarri fabrikatzailearekin harremanetan."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Probakoa"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Partekatua"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Automatikoki konektatu da satelitera"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Mezuak bidal eta jaso ditzakezu sare mugikorrik edo wifi-sarerik gabe"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Ireki Mezuak"</string> diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml index d9e69070bc9b..4f2484e707e8 100644 --- a/core/res/res/values-fa/strings.xml +++ b/core/res/res/values-fa/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"تحتمدیریت <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"روشن"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"خاموش"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">"، "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"هر تقویمی"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> درحال قطع کردن بعضی از صداهاست"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"دستگاهتان یک مشکل داخلی دارد، و ممکن است تا زمانی که بازنشانی دادههای کارخانه انجام نگیرد، بیثبات بماند."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"دستگاهتان یک مشکل داخلی دارد. برای جزئیات آن با سازندهتان تماس بگیرید."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"آزمایش"</string> <string name="profile_label_communal" msgid="8743921499944800427">"عمومی"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"بهطور خودکار به ماهواره متصل شد"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"میتوانید بدون شبکه تلفن همراه یا Wi-Fi پیام ارسال و دریافت کنید"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"باز کردن «پیامها»"</string> diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml index 24b414a409a1..81b984827d9d 100644 --- a/core/res/res/values-fi/strings.xml +++ b/core/res/res/values-fi/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Ylläpitäjä: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Päällä"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Pois päältä"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Kaikki kalenterit"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> mykistää joitakin ääniä"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Laitteellasi on sisäinen ongelma, joka aiheuttaa epävakautta. Voit korjata tilanteen palauttamalla tehdasasetukset."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Laitteesi yhdistäminen ei onnistu sisäisen virheen takia. Saat lisätietoja valmistajalta."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Testi"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Jaettu"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Yhdistetty automaattisesti satelliittiin"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Voit lähettää ja vastaanottaa viestejä ilman mobiili‑ tai Wi-Fi-verkkoa"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Avaa Messages"</string> diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml index d2f9b47e1721..15d36f57b95b 100644 --- a/core/res/res/values-fr-rCA/strings.xml +++ b/core/res/res/values-fr-rCA/strings.xml @@ -2398,6 +2398,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Commun"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Connecté au satellite automatiquement"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Vous pouvez envoyer et recevoir des messages sans avoir recours à un appareil mobile ou à un réseau Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Ouvrir Messages"</string> diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml index cc9bf3fd3063..0346822b0639 100644 --- a/core/res/res/values-fr/strings.xml +++ b/core/res/res/values-fr/strings.xml @@ -1930,12 +1930,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Géré par <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Activé"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Désactivé"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Tous les agendas"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> coupe certains sons"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Un problème interne lié à votre appareil est survenu. Ce dernier risque d\'être instable jusqu\'à ce que vous rétablissiez la configuration d\'usine."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Un problème interne lié à votre appareil est survenu. Veuillez contacter le fabricant pour en savoir plus."</string> @@ -2398,6 +2395,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Commun"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Connecté automatiquement au réseau satellite"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Vous pouvez envoyer et recevoir des messages sans connexion au réseau mobile ou Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Ouvrir Messages"</string> diff --git a/core/res/res/values-gl/strings.xml b/core/res/res/values-gl/strings.xml index 15d0720e65ee..fa48e96fe3de 100644 --- a/core/res/res/values-gl/strings.xml +++ b/core/res/res/values-gl/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Xestionada por <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Activada"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Desactivada"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Calquera calendario"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> está silenciando algúns sons"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Produciuse un erro interno no teu dispositivo e quizais funcione de maneira inestable ata o restablecemento dos datos de fábrica."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Produciuse un erro interno co teu dispositivo. Contacta co teu fabricante para obter máis información."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Proba"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Compartido"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Conexión automática ao satélite"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Podes enviar e recibir mensaxes sen unha rede de telefonía móbil ou wifi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Abrir Mensaxes"</string> diff --git a/core/res/res/values-gu/strings.xml b/core/res/res/values-gu/strings.xml index df92802d0332..fb202bac6fb2 100644 --- a/core/res/res/values-gu/strings.xml +++ b/core/res/res/values-gu/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"<xliff:g id="APP_NAME">%1$s</xliff:g> દ્વારા મેનેજ કરવામાં આવે છે"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"ચાલુ છે"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"બંધ છે"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"કોઈપણ કૅલેન્ડર"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> અમુક અવાજોને મ્યૂટ કરે છે"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"તમારા ઉપકરણમાં આંતરિક સમસ્યા છે અને જ્યાં સુધી તમે ફેક્ટરી ડેટા ફરીથી સેટ કરશો નહીં ત્યાં સુધી તે અસ્થિર રહી શકે છે."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"તમારા ઉપકરણમાં આંતરિક સમસ્યા છે. વિગતો માટે તમારા નિર્માતાનો સંપર્ક કરો."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"પરીક્ષણ કરો"</string> <string name="profile_label_communal" msgid="8743921499944800427">"કૉમ્યુનલ"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"સેટેલાઇટ સાથે ઑટોમૅટિક રીતે કનેક્ટેડ"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"તમે મોબાઇલ અથવા વાઇ-ફાઇ નેટવર્ક વિના મેસેજ મોકલી અને પ્રાપ્ત કરી શકો છો"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages ખોલો"</string> diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml index e9f9df1065c9..fd99d19b59a5 100644 --- a/core/res/res/values-hi/strings.xml +++ b/core/res/res/values-hi/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"मैनेज करने वाला ऐप्लिकेशन: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"चालू है"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"बंद है"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"कोई भी कैलेंडर"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> कुछ आवाज़ें म्यूट कर रहा है"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"आपके डिवाइस में कोई अंदरूनी समस्या है और यह तब तक ठीक नहीं होगी जब तक आप फ़ैक्टरी डेटा रीसेट नहीं करते."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"आपके डिवाइस के साथ कोई आंतरिक गड़बड़ी हुई. विवरणों के लिए अपने निर्माता से संपर्क करें."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"टेस्ट"</string> <string name="profile_label_communal" msgid="8743921499944800427">"कम्यूनिटी"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"सैटलाइट से अपने-आप कनेक्ट हो गया"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"मोबाइल या वाई-फ़ाई नेटवर्क के बिना भी मैसेज भेजे और पाए जा सकते हैं"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages ऐप्लिकेशन खोलें"</string> diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml index 4c322a214522..5ac09ec6fe80 100644 --- a/core/res/res/values-hr/strings.xml +++ b/core/res/res/values-hr/strings.xml @@ -1930,12 +1930,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Upravlja <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Uključeno"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Isključeno"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Bilo koji kalendar"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> isključuje neke zvukove"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Na vašem uređaju postoji interni problem i možda neće biti stabilan dok ga ne vratite na tvorničko stanje."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Na vašem uređaju postoji interni problem. Obratite se proizvođaču za više pojedinosti."</string> @@ -2398,6 +2395,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Zajedničko"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Automatski povezano sa satelitom"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Možete slati i primati poruke bez mobilne mreže ili Wi-Fi mreže"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Otvori Poruke"</string> diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml index 51798b712937..06ca1b6dfbc1 100644 --- a/core/res/res/values-hu/strings.xml +++ b/core/res/res/values-hu/strings.xml @@ -2394,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Teszt"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Közös"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Automatikusan csatlakozva a műholdhoz"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Küldhet és fogadhat üzeneteket mobil- és Wi-Fi-hálózat nélkül is"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"A Messages megnyitása"</string> diff --git a/core/res/res/values-hy/strings.xml b/core/res/res/values-hy/strings.xml index 61219e5aba52..89e087ec7100 100644 --- a/core/res/res/values-hy/strings.xml +++ b/core/res/res/values-hy/strings.xml @@ -1630,7 +1630,7 @@ <string name="validity_period" msgid="1717724283033175968">"Վավերականություն`"</string> <string name="issued_on" msgid="5855489688152497307">"Թողարկվել է`"</string> <string name="expires_on" msgid="1623640879705103121">"Սպառվում է`"</string> - <string name="serial_number" msgid="3479576915806623429">"Հերթական համարը`"</string> + <string name="serial_number" msgid="3479576915806623429">"Հերթական համար`"</string> <string name="fingerprints" msgid="148690767172613723">"Մատնահետքերը`"</string> <string name="sha256_fingerprint" msgid="7103976380961964600">"SHA-256 մատնահետք`"</string> <string name="sha1_fingerprint" msgid="2339915142825390774">"SHA-1 մատնահետք`"</string> @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Կառավարվում է <xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածի կողմից"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Միացված է"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Անջատված է"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Ցանկացած օրացույց"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g>-ն անջատում է որոշ ձայներ"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Սարքում ներքին խնդիր է առաջացել և այն կարող է կրկնվել, մինչև չվերականգնեք գործարանային կարգավորումները:"</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Սարքում ներքին խնդիր է առաջացել: Մանրամասների համար կապվեք արտադրողի հետ:"</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Փորձնական"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Ընդհանուր"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Ավտոմատ միացել է արբանյակին"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Դուք կարող եք ուղարկել և ստանալ հաղորդագրություններ՝ առանց բջջային կամ Wi-Fi կապի"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Բացել Messages-ը"</string> diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml index 75b24770f3b2..616b30b86ffb 100644 --- a/core/res/res/values-in/strings.xml +++ b/core/res/res/values-in/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Dikelola oleh <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Aktif"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Nonaktif"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Kalender mana saja"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> mematikan beberapa suara"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Ada masalah dengan perangkat. Hal ini mungkin membuat perangkat jadi tidak stabil dan perlu dikembalikan ke setelan pabrik."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Ada masalah dengan perangkat. Hubungi produsen perangkat untuk informasi selengkapnya."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Pengujian"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Umum"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Menghubungkan otomatis ke satelit"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Anda dapat mengirim dan menerima pesan tanpa jaringan seluler atau Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Buka Message"</string> diff --git a/core/res/res/values-is/strings.xml b/core/res/res/values-is/strings.xml index c2e138a971ec..5d55ba8f2a58 100644 --- a/core/res/res/values-is/strings.xml +++ b/core/res/res/values-is/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Stýrt af <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Kveikt"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Slökkt"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Öll dagatöl"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> þaggar í einhverjum hljóðum"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Innra vandamál kom upp í tækinu og það kann að vera óstöðugt þangað til þú núllstillir það."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Innra vandamál kom upp í tækinu. Hafðu samband við framleiðanda til að fá nánari upplýsingar."</string> @@ -1977,7 +1974,7 @@ <string name="user_creation_account_exists" msgid="2239146360099708035">"Viltu leyfa <xliff:g id="APP">%1$s</xliff:g> að stofna nýjan notanda með <xliff:g id="ACCOUNT">%2$s</xliff:g> (notandi með þennan reikning er þegar fyrir hendi)?"</string> <string name="user_creation_adding" msgid="7305185499667958364">"Leyfa <xliff:g id="APP">%1$s</xliff:g> að stofna nýjan notanda með <xliff:g id="ACCOUNT">%2$s</xliff:g> ?"</string> <string name="supervised_user_creation_label" msgid="6884904353827427515">"Bæta við stýrðum notanda"</string> - <string name="language_selection_title" msgid="52674936078683285">"Bæta við tungumáli"</string> + <string name="language_selection_title" msgid="52674936078683285">"Bæta tungumáli við"</string> <string name="country_selection_title" msgid="5221495687299014379">"Svæðisval"</string> <string name="search_language_hint" msgid="7004225294308793583">"Sláðu inn heiti tungumáls"</string> <string name="language_picker_section_suggested" msgid="6556199184638990447">"Tillögur"</string> @@ -1995,7 +1992,7 @@ <string name="work_mode_turn_on" msgid="5316648862401307800">"Ljúka hléi"</string> <string name="work_mode_emergency_call_button" msgid="6818855962881612322">"Neyðartilvik"</string> <string name="set_up_screen_lock_title" msgid="8346083801616474030">"Stilltu skjálás"</string> - <string name="set_up_screen_lock_action_label" msgid="2687634803649209367">"Stilltu skjálás"</string> + <string name="set_up_screen_lock_action_label" msgid="2687634803649209367">"Stilla skjálás"</string> <string name="private_space_set_up_screen_lock_message" msgid="1109956797005149814">"Stilltu skjálás í tækinu til að nota leynirými"</string> <string name="app_blocked_title" msgid="7353262160455028160">"Forrit er ekki tiltækt"</string> <string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> er ekki tiltækt núna."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Prófun"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Sameiginlegt"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Tengdist sjálfkrafa við gervihnött"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Þú getur sent og móttekið skilaboð án tengingar við farsímakerfi eða Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Opna Messages"</string> diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml index 3d187e9322bf..9d8d74a3c467 100644 --- a/core/res/res/values-it/strings.xml +++ b/core/res/res/values-it/strings.xml @@ -1930,12 +1930,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Gestione: app <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"On"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Off"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Qualsiasi calendario"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> sta disattivando alcuni suoni"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Si è verificato un problema interno con il dispositivo, che potrebbe essere instabile fino al ripristino dei dati di fabbrica."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Si è verificato un problema interno con il dispositivo. Per informazioni dettagliate, contatta il produttore."</string> @@ -2398,6 +2395,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Condiviso"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Connessione automatica al satellite"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Puoi inviare e ricevere messaggi senza una rete mobile o Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Apri Messaggi"</string> diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml index ccfbd9c153e9..c256de994bd4 100644 --- a/core/res/res/values-iw/strings.xml +++ b/core/res/res/values-iw/strings.xml @@ -1930,12 +1930,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"בניהול של <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"מצב פעיל"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"מצב מושבת"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"כל יומן"</string> <string name="muted_by" msgid="91464083490094950">"חלק מהצלילים מושתקים על ידי <xliff:g id="THIRD_PARTY">%1$s</xliff:g>"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"קיימת בעיה פנימית במכשיר שלך, וייתכן שהוא לא יתפקד כראוי עד שיבוצע איפוס לנתוני היצרן."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"קיימת בעיה פנימית במכשיר שלך. לקבלת פרטים, יש ליצור קשר עם היצרן."</string> @@ -2398,6 +2395,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"בדיקה"</string> <string name="profile_label_communal" msgid="8743921499944800427">"שיתופי"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"חיבור אוטומטי ללוויין"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"אפשר לשלוח ולקבל הודעות ללא רשת סלולרית או רשת Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"לפתיחת Messages"</string> diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml index 6f9654deb4d9..eee2e3dc6a17 100644 --- a/core/res/res/values-ja/strings.xml +++ b/core/res/res/values-ja/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"<xliff:g id="APP_NAME">%1$s</xliff:g> によって管理されています"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"ON"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"OFF"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">"、 "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g>~<xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"すべてのカレンダー"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> により一部の音はミュートに設定"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"デバイスで内部的な問題が発生しました。データが初期化されるまで不安定になる可能性があります。"</string> <string name="system_error_manufacturer" msgid="703545241070116315">"デバイスで内部的な問題が発生しました。詳しくはメーカーにお問い合わせください。"</string> @@ -2376,8 +2373,8 @@ <string name="concurrent_display_notification_name" msgid="1526911253558311131">"デュアル スクリーン"</string> <string name="concurrent_display_notification_active_title" msgid="4892473462327943673">"デュアル スクリーン: ON"</string> <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g>は 2 画面でコンテンツを表示しています"</string> - <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"デバイスが熱くなりすぎています"</string> - <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"スマートフォンが熱くなりすぎているため、デュアル スクリーンを使用できません"</string> + <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"デバイスが熱くなっています"</string> + <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"スマートフォンが熱いため、デュアル スクリーンを使用できません"</string> <string name="concurrent_display_notification_power_save_title" msgid="1794569070730736281">"デュアル スクリーンを使用できません"</string> <string name="concurrent_display_notification_power_save_content" msgid="2198116070583851493">"バッテリー セーバーが ON のため、デュアル スクリーンを使用できません。この動作は設定で OFF にできます。"</string> <string name="device_state_notification_settings_button" msgid="691937505741872749">"設定に移動"</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"テスト"</string> <string name="profile_label_communal" msgid="8743921499944800427">"共用"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"衛星に自動接続しました"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"モバイル ネットワークや Wi-Fi ネットワークを使わずにメッセージを送受信できます"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"メッセージ アプリを開く"</string> diff --git a/core/res/res/values-ka/strings.xml b/core/res/res/values-ka/strings.xml index 0b7f197147c1..ececd928bb6e 100644 --- a/core/res/res/values-ka/strings.xml +++ b/core/res/res/values-ka/strings.xml @@ -2394,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"სატესტო"</string> <string name="profile_label_communal" msgid="8743921499944800427">"საერთო"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"სატელიტთან ავტომატურად დაკავშირებულია"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"შეგიძლიათ გაგზავნოთ და მიიღოთ შეტყობინებები მობილური ან Wi-Fi ქსელის გარეშე"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages-ის გახსნა"</string> diff --git a/core/res/res/values-kk/strings.xml b/core/res/res/values-kk/strings.xml index d935c5302a28..38c6f7721cc3 100644 --- a/core/res/res/values-kk/strings.xml +++ b/core/res/res/values-kk/strings.xml @@ -1283,7 +1283,7 @@ <string name="android_upgrading_starting_apps" msgid="6206161195076057075">"Қолданбалар іске қосылуда."</string> <string name="android_upgrading_complete" msgid="409800058018374746">"Қосуды аяқтауда."</string> <string name="fp_power_button_enrollment_message" msgid="5648173517663246140">"Қуат түймесін бастыңыз. Бұл әдетте экранды өшіреді.\n\nСаусақ ізін реттеу үшін, оны жайлап түртіп көріңіз."</string> - <string name="fp_power_button_enrollment_title" msgid="6976841690455338563">"Реттеуді аяқтау үшін экранды өшіріңіз"</string> + <string name="fp_power_button_enrollment_title" msgid="6976841690455338563">"Реттеуді аяқтау үшін экранды өшіріңіз."</string> <string name="fp_power_button_enrollment_button_text" msgid="3199783266386029200">"Өшіру"</string> <string name="fp_power_button_bp_title" msgid="5585506104526820067">"Саусақ ізін растауды жалғастырасыз ба?"</string> <string name="fp_power_button_bp_message" msgid="2983163038168903393">"Қуат түймесін бастыңыз. Бұл әдетте экранды өшіреді.\n\nСаусақ ізін растау үшін, оны жайлап түртіп көріңіз."</string> @@ -1561,7 +1561,7 @@ <string name="sync_really_delete" msgid="5657871730315579051">"Бұл нәрселер жойылсын"</string> <string name="sync_undo_deletes" msgid="5786033331266418896">"Жойылғандарды кері орындау"</string> <string name="sync_do_nothing" msgid="4528734662446469646">"Қазір ешқандай әрекет жасамаңыз"</string> - <string name="choose_account_label" msgid="5557833752759831548">"Аккаунт таңдау"</string> + <string name="choose_account_label" msgid="5557833752759831548">"Аккаунт таңдаңыз"</string> <string name="add_account_label" msgid="4067610644298737417">"Аккаунт қосу"</string> <string name="add_account_button_label" msgid="322390749416414097">"Аккаунт қосу."</string> <string name="number_picker_increment_button" msgid="7621013714795186298">"Арттыру"</string> @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"<xliff:g id="APP_NAME">%1$s</xliff:g> басқарады."</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Қосулы"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Өшірулі"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Кез келген күнтізбе"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> кейбір дыбыстарды өшіруде"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"There\'s an internal problem with your device, and it may be unstable until you factory data reset."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"There\'s an internal problem with your device. Contact your manufacturer for details."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Сынақ"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Жалпы"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Жерсерік қызметіне автоматты түрде қосылды"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Мобильдік не Wi-Fi желісіне қосылмастан хабар жібере аласыз және ала аласыз."</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages қолданбасын ашу"</string> diff --git a/core/res/res/values-km/strings.xml b/core/res/res/values-km/strings.xml index 6aa927750778..6c0a195be0a4 100644 --- a/core/res/res/values-km/strings.xml +++ b/core/res/res/values-km/strings.xml @@ -1743,7 +1743,7 @@ <string name="color_inversion_feature_name" msgid="2672824491933264951">"ការបញ្ច្រាសពណ៌"</string> <string name="color_correction_feature_name" msgid="7975133554160979214">"ការកែតម្រូវពណ៌"</string> <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"មុខងារប្រើដៃម្ខាង"</string> - <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"ពន្លឺតិចខ្លាំង"</string> + <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"ងងឹតខ្លាំង"</string> <string name="hearing_aids_feature_name" msgid="1125892105105852542">"ឧបករណ៍ជំនួយការស្ដាប់"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"បានសង្កត់គ្រាប់ចុចកម្រិតសំឡេងជាប់។ បានបើក <xliff:g id="SERVICE_NAME">%1$s</xliff:g>។"</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"បានសង្កត់គ្រាប់ចុចកម្រិតសំឡេងជាប់។ បានបិទ <xliff:g id="SERVICE_NAME">%1$s</xliff:g>។"</string> @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"គ្រប់គ្រងដោយ <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"បើក"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"បិទ"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"ប្រតិទិនណាមួយ"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> កំពុងបិទសំឡេងមួយចំនួន"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"មានបញ្ហាខាងក្នុងឧបករណ៍របស់អ្នក ហើយវាអ្នកមិនមានស្ថេរភាព រហូតទាល់តែអ្នកកំណត់ដូចដើមវិញទាំងស្រុង។"</string> <string name="system_error_manufacturer" msgid="703545241070116315">"មានបញ្ហាខាងក្នុងឧបករណ៍របស់អ្នក ទំនាក់ទំនងក្រុមហ៊ុនផលិតឧបករណ៍របស់អ្នកសម្រាប់ព័ត៌មានបន្ថែម។"</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"ការធ្វើតេស្ត"</string> <string name="profile_label_communal" msgid="8743921499944800427">"ទូទៅ"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"ភ្ជាប់ដោយស្វ័យប្រវត្តិទៅផ្កាយរណប"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"អ្នកអាចផ្ញើ និងទទួលសារដោយមិនប្រើបណ្តាញទូរសព្ទចល័ត ឬ Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"បើកកម្មវិធី Messages"</string> diff --git a/core/res/res/values-kn/strings.xml b/core/res/res/values-kn/strings.xml index 65babd09a34d..faa46baf666f 100644 --- a/core/res/res/values-kn/strings.xml +++ b/core/res/res/values-kn/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"<xliff:g id="APP_NAME">%1$s</xliff:g> ಮೂಲಕ ನಿರ್ವಹಿಸಲಾಗಿದೆ"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"ಆನ್ ಆಗಿದೆ"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"ಆಫ್ ಆಗಿದೆ"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"ಯಾವುದೇ ಕ್ಯಾಲೆಂಡರ್"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> ಧ್ವನಿ ಮ್ಯೂಟ್ ಮಾಡುತ್ತಿದ್ದಾರೆ"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಆಂತರಿಕ ಸಮಸ್ಯೆಯಿದೆ ಹಾಗೂ ನೀವು ಫ್ಯಾಕ್ಟರಿ ಡೇಟಾವನ್ನು ರೀಸೆಟ್ ಮಾಡುವವರೆಗೂ ಅದು ಅಸ್ಥಿರವಾಗಬಹುದು."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಆಂತರಿಕ ಸಮಸ್ಯೆಯಿದೆ. ವಿವರಗಳಿಗಾಗಿ ನಿಮ್ಮ ತಯಾರಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"ಪರೀಕ್ಷೆ"</string> <string name="profile_label_communal" msgid="8743921499944800427">"ಸಮುದಾಯ"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"ಸ್ಯಾಟಲೈಟ್ಗೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕನೆಕ್ಟ್ ಆಗಿದೆ"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"ನೀವು ಮೊಬೈಲ್ ಅಥವಾ ವೈ-ಫೈ ನೆಟ್ವರ್ಕ್ ಇಲ್ಲದೆಯೇ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಬಹುದು ಮತ್ತು ಸ್ವೀಕರಿಸಬಹುದು"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages ಅನ್ನು ತೆರೆಯಿರಿ"</string> diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml index 191bb2c510c2..9eaa4147eb30 100644 --- a/core/res/res/values-ko/strings.xml +++ b/core/res/res/values-ko/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"관리자: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"사용"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"사용 중지"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g>~<xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"모든 캘린더"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g>(이)가 일부 소리를 음소거함"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"사용 중인 기기 내부에 문제가 발생했습니다. 초기화할 때까지 불안정할 수 있습니다."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"사용 중인 기기 내부에 문제가 발생했습니다. 자세한 내용은 제조업체에 문의하세요."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"테스트"</string> <string name="profile_label_communal" msgid="8743921499944800427">"공동"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"위성에 자동 연결됨"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"모바일 또는 Wi-Fi 네트워크 없이 메시지를 주고 받을 수 있습니다"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"메시지 열기"</string> diff --git a/core/res/res/values-ky/strings.xml b/core/res/res/values-ky/strings.xml index a6ba8cd0e250..9efccffc829b 100644 --- a/core/res/res/values-ky/strings.xml +++ b/core/res/res/values-ky/strings.xml @@ -1283,7 +1283,7 @@ <string name="android_upgrading_starting_apps" msgid="6206161195076057075">"Колдонмолорду иштетип баштоо"</string> <string name="android_upgrading_complete" msgid="409800058018374746">"Жүктөлүүдө"</string> <string name="fp_power_button_enrollment_message" msgid="5648173517663246140">"Кубат баскычын бастыңыз — адатта, бул экранды өчүрөт.\n\nМанжаңыздын изин жөндөп жатканда аны акырын басып көрүңүз."</string> - <string name="fp_power_button_enrollment_title" msgid="6976841690455338563">"Кошуп бүтүрүү үчүн экранды өчүрүңүз"</string> + <string name="fp_power_button_enrollment_title" msgid="6976841690455338563">"Бүтүрүү үчүн экранды өчүрүңүз"</string> <string name="fp_power_button_enrollment_button_text" msgid="3199783266386029200">"Өчүрүү"</string> <string name="fp_power_button_bp_title" msgid="5585506104526820067">"Манжаңыздын изин ырастоону улантасызбы?"</string> <string name="fp_power_button_bp_message" msgid="2983163038168903393">"Кубат баскычын бастыңыз — адатта, бул экранды өчүрөт.\n\nМанжаңыздын изин ырастоо үчүн аны акырын басып көрүңүз."</string> @@ -2394,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Сыноо"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Жалпы"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Спутникке автоматтык түрдө туташтырылган"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Сиз мобилдик же Wi-Fi тармагы жок эле билдирүүлөрдү жөнөтүп, ала аласыз"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Жазышуулар колдонмосун ачуу"</string> diff --git a/core/res/res/values-lo/strings.xml b/core/res/res/values-lo/strings.xml index 1f85646e50d3..752e68eeeeca 100644 --- a/core/res/res/values-lo/strings.xml +++ b/core/res/res/values-lo/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"ຈັດການໂດຍ <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"ເປີດຢູ່"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"ປິດຢູ່"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"ປະຕິທິນໃດກໍໄດ້"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> ປິດສຽງບາງຢ່າງໄວ້"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"ມີບັນຫາພາຍໃນກັບອຸປະກອນຂອງທ່ານ, ແລະມັນອາດຈະບໍ່ສະຖຽນຈົນກວ່າທ່ານຕັ້ງເປັນຂໍ້ມູນໂຮງງານຄືນແລ້ວ."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"ມີບັນຫາພາຍໃນກັບອຸປະກອນຂອງທ່ານ. ຕິດຕໍ່ຜູ້ຜະລິດຂອງທ່ານສຳລັບລາຍລະອຽດຕ່າງໆ."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"ທົດສອບ"</string> <string name="profile_label_communal" msgid="8743921499944800427">"ສ່ວນກາງ"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"ເຊື່ອມຕໍ່ກັບດາວທຽມໂດຍອັດຕະໂນມັດ"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"ທ່ານສາມາດສົ່ງ ແລະ ຮັບຂໍ້ຄວາມໂດຍບໍ່ຕ້ອງໃຊ້ເຄືອຂ່າຍມືຖື ຫຼື Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"ເປີດ Messages"</string> diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml index 991da27099eb..2fd6ded698b6 100644 --- a/core/res/res/values-lt/strings.xml +++ b/core/res/res/values-lt/strings.xml @@ -1931,12 +1931,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Tvarko „<xliff:g id="APP_NAME">%1$s</xliff:g>“"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Įjungti"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Išjungti"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Bet kuris kalendorius"</string> <string name="muted_by" msgid="91464083490094950">"„<xliff:g id="THIRD_PARTY">%1$s</xliff:g>“ nutildo kai kuriuos garsus"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Iškilo vidinė su jūsų įrenginiu susijusi problema, todėl įrenginys gali veikti nestabiliai, kol neatkursite gamyklinių duomenų."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Iškilo vidinė su jūsų įrenginiu susijusi problema. Jei reikia išsamios informacijos, susisiekite su gamintoju."</string> @@ -2399,6 +2396,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Bandymas"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Bendruomenės"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Automatiškai prisijungta prie palydovinio ryšio"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Galite siųsti ir gauti pranešimus be mobiliojo ryšio ar „Wi-Fi“ tinklo"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Atidaryti programą „Messages“"</string> diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml index a5b0414257f8..066cd4bb0fce 100644 --- a/core/res/res/values-lv/strings.xml +++ b/core/res/res/values-lv/strings.xml @@ -828,7 +828,7 @@ <string name="permdesc_writeVerificationStateE2eeContactKeys" msgid="8453156829747427041">"Atļauj lietotnei atjaunināt citām lietotnēm piederošu E2EE sakaru atslēgu verifikācijas statusus."</string> <string name="policylab_limitPassword" msgid="4851829918814422199">"Paroles kārtulu iestatīšana"</string> <string name="policydesc_limitPassword" msgid="4105491021115793793">"Kontrolēt ekrāna bloķēšanas paroļu un PIN garumu un tajos atļautās rakstzīmes."</string> - <string name="policylab_watchLogin" msgid="7599669460083719504">"Ekrāna atbloķēšanas mēģinājumu pārraudzīšana"</string> + <string name="policylab_watchLogin" msgid="7599669460083719504">"Pārraudzīt ekrāna atbloķēšanas mēģinājumus"</string> <string name="policydesc_watchLogin" product="tablet" msgid="2388436408621909298">"Pārrauga nepareizi ievadīto paroļu skaitu, atbloķējot ekrānu, un bloķē planšetdatoru vai dzēš visus planšetdatora datus, ja tiek ievadīts pārāk daudz nepareizu paroļu."</string> <string name="policydesc_watchLogin" product="tv" msgid="2140588224468517507">"Pārraudzīt nepareizi ievadīto ekrāna atbloķēšanas paroļu skaitu un bloķēt Android TV vai dzēst visus Android TV ierīces datus, ja tiek ievadīts pārāk daudz nepareizu paroļu."</string> <string name="policydesc_watchLogin" product="automotive" msgid="7011438994051251521">"Ekrāna atbloķēšanas laikā pārraudzīt nepareizi ievadīto paroļu skaitu un bloķēt informatīvi izklaidējošo sistēmu vai dzēst visus informatīvi izklaidējošās sistēmas datus, ja tiek ievadīts pārāk daudz nepareizu paroļu."</string> @@ -1930,12 +1930,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Pārvalda <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Ieslēgta"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Izslēgta"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Jebkurš kalendārs"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> izslēdz noteiktas skaņas"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Jūsu ierīcē ir radusies iekšēja problēma, un ierīce var darboties nestabili. Lai to labotu, veiciet rūpnīcas datu atiestatīšanu."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Jūsu ierīcē ir radusies iekšēja problēma. Lai iegūtu plašāku informāciju, lūdzu, sazinieties ar ražotāju."</string> @@ -2398,6 +2395,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Testēšanai"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Kopīgs"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Automātiski izveidots savienojums ar satelītu"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Varat sūtīt un saņemt ziņojumus bez mobilā vai Wi-Fi tīkla."</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Atvērt lietotni Ziņojumi"</string> diff --git a/core/res/res/values-mk/strings.xml b/core/res/res/values-mk/strings.xml index 695cd83f2429..a8d5ea4d341c 100644 --- a/core/res/res/values-mk/strings.xml +++ b/core/res/res/values-mk/strings.xml @@ -1305,7 +1305,7 @@ <string name="dump_heap_ready_text" msgid="5849618132123045516">"Слика од меморијата на <xliff:g id="PROC">%1$s</xliff:g> ви е достапна за споделување. Бидете внимателни: оваа слика од меморијата можеби ги содржи сите чувствителни лични информации до коишто процесот има пристап, што може да вклучуваат работи што сте ги напишале."</string> <string name="sendText" msgid="493003724401350724">"Избери дејство за текст"</string> <string name="volume_ringtone" msgid="134784084629229029">"Јачина на звук на ѕвонче"</string> - <string name="volume_music" msgid="7727274216734955095">"Јачина на аудио/видео звук"</string> + <string name="volume_music" msgid="7727274216734955095">"Јачина на звук за аудио/видео"</string> <string name="volume_music_hint_playing_through_bluetooth" msgid="2614142915948898228">"Се репродуцира преку Bluetooth"</string> <string name="volume_music_hint_silent_ringtone_selected" msgid="1514829655029062233">"Поставено ѕвонење на тивко"</string> <string name="volume_call" msgid="7625321655265747433">"Јачина на звук на дојдовен повик"</string> @@ -1316,7 +1316,7 @@ <string name="volume_icon_description_bluetooth" msgid="7540388479345558400">"Јачина на звук на Bluetooth"</string> <string name="volume_icon_description_ringer" msgid="2187800636867423459">"Јачина на звук на мелодија"</string> <string name="volume_icon_description_incall" msgid="4491255105381227919">"Јачина на звук на повик"</string> - <string name="volume_icon_description_media" msgid="4997633254078171233">"Јачина на аудио/видео звук"</string> + <string name="volume_icon_description_media" msgid="4997633254078171233">"Јачина на звук за аудио/видео"</string> <string name="volume_icon_description_notification" msgid="579091344110747279">"Јачина на звук за известување"</string> <string name="ringtone_default" msgid="9118299121288174597">"Стандардна мелодија"</string> <string name="ringtone_default_with_actual" msgid="2709686194556159773">"Стандардна (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string> @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Управувано од <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Вклучено"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Исклучено"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Кој било календар"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> исклучи некои звуци"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Настана внатрешен проблем со уредот и може да биде нестабилен сè додека не ресетирате на фабричките податоци."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Настана внатрешен проблем со уредот. Контактирајте го производителот за детали."</string> @@ -1995,7 +1992,7 @@ <string name="work_mode_turn_on" msgid="5316648862401307800">"Прекини ја паузата"</string> <string name="work_mode_emergency_call_button" msgid="6818855962881612322">"Итен случај"</string> <string name="set_up_screen_lock_title" msgid="8346083801616474030">"Поставете заклучување екран"</string> - <string name="set_up_screen_lock_action_label" msgid="2687634803649209367">"Поставување заклучување екран"</string> + <string name="set_up_screen_lock_action_label" msgid="2687634803649209367">"Поставете заклучување екран"</string> <string name="private_space_set_up_screen_lock_message" msgid="1109956797005149814">"За да користите „Приватен простор“, поставете заклучување екран на уредов"</string> <string name="app_blocked_title" msgid="7353262160455028160">"Апликацијата не е достапна"</string> <string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> не е достапна во моментов."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Профил за тестирање"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Профил на заедницата"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Поврзано со сателит автоматски"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Може да испраќате и примате пораки без мобилна или Wi-Fi мрежа"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Отворете ја Messages"</string> diff --git a/core/res/res/values-ml/strings.xml b/core/res/res/values-ml/strings.xml index 4c0e9fec959d..32f2daf9153a 100644 --- a/core/res/res/values-ml/strings.xml +++ b/core/res/res/values-ml/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"<xliff:g id="APP_NAME">%1$s</xliff:g> മാനേജ് ചെയ്യുന്നത്"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"ഓണാണ്"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"ഓഫാണ്"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"എല്ലാ കലണ്ടറിലും"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> ചില ശബ്ദങ്ങൾ മ്യൂട്ട് ചെയ്യുന്നു"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"നിങ്ങളുടെ ഉപകരണത്തിൽ ഒരു ആന്തരിക പ്രശ്നമുണ്ട്, ഫാക്ടറി വിവര പുനഃസജ്ജീകരണം ചെയ്യുന്നതുവരെ ഇതു അസ്ഥിരമായിരിക്കാനിടയുണ്ട്."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"നിങ്ങളുടെ ഉപകരണത്തിൽ ഒരു ആന്തരിക പ്രശ്നമുണ്ട്. വിശദാംശങ്ങൾക്കായി നിർമ്മാതാവിനെ ബന്ധപ്പെടുക."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"ടെസ്റ്റ്"</string> <string name="profile_label_communal" msgid="8743921499944800427">"കമ്മ്യൂണൽ"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"സാറ്റലൈറ്റിലേക്ക് സ്വയമേവ കണക്റ്റ് ചെയ്തു"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"മൊബൈലോ വൈഫൈ നെറ്റ്വർക്കോ ഇല്ലാതെ തന്നെ സന്ദേശങ്ങൾ അയയ്ക്കാനും സ്വീകരിക്കാനും നിങ്ങൾക്ക് കഴിയും"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages തുറക്കുക"</string> diff --git a/core/res/res/values-mn/strings.xml b/core/res/res/values-mn/strings.xml index 7f1a44d775b6..a926e60a02a2 100644 --- a/core/res/res/values-mn/strings.xml +++ b/core/res/res/values-mn/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"<xliff:g id="APP_NAME">%1$s</xliff:g>-с удирддаг"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Асаалттай"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Унтраалттай"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Дурын календарь"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> зарим дууны дууг хааж байна"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Таны төхөөрөмжид дотоод алдаа байна.Та төхөөрөмжөө үйлдвэрээс гарсан төлөвт шилжүүлэх хүртэл таны төхөөрөмж чинь тогтворгүй байж болох юм."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Таны төхөөрөмжид дотоод алдаа байна. Дэлгэрэнгүй мэдээлэл авахыг хүсвэл үйлдвэрлэгчтэйгээ холбоо барина уу."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Туршилт"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Нийтийн"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Хиймэл дагуулд автоматаар холбогдсон"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Та мобайл эсвэл Wi-Fi сүлжээгүйгээр мессеж илгээх болон хүлээн авах боломжтой"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Мессежийг нээх"</string> diff --git a/core/res/res/values-mr/strings.xml b/core/res/res/values-mr/strings.xml index 2368bdebeef0..c10b7413fd6a 100644 --- a/core/res/res/values-mr/strings.xml +++ b/core/res/res/values-mr/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"<xliff:g id="APP_NAME">%1$s</xliff:g> द्वारे व्यवस्थापित"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"सुरू आहे"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"बंद आहे"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"कोणतेही कॅलेंडर"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> काही ध्वनी म्यूट करत आहे"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"आपल्या डिव्हाइसमध्ये अंतर्गत समस्या आहे आणि तुमचा फॅक्टरी डेटा रीसेट होईपर्यंत ती अस्थिर असू शकते."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"आपल्या डिव्हाइसमध्ये अंतर्गत समस्या आहे. तपशीलांसाठी आपल्या निर्मात्याशी संपर्क साधा."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"चाचणी"</string> <string name="profile_label_communal" msgid="8743921499944800427">"सामुदायिक"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"उपग्रहाशी आपोआप कनेक्ट केलेले आहे"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"तुम्ही मोबाइल किंवा वाय-फाय नेटवर्कशिवाय मेसेज पाठवू आणि मिळवू शकता"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages उघडा"</string> diff --git a/core/res/res/values-ms/strings.xml b/core/res/res/values-ms/strings.xml index a0656ab09908..4a4ea8817b94 100644 --- a/core/res/res/values-ms/strings.xml +++ b/core/res/res/values-ms/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Diurus oleh <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Hidup"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Mati"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Sebarang kalendar"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> meredamkan sesetengah bunyi"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Terdapat masalah dalaman dengan peranti anda. Peranti mungkin tidak stabil sehingga anda membuat tetapan semula data kilang."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Terdapat masalah dalaman dengan peranti anda. Hubungi pengilang untuk mengetahui butirannya."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Ujian"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Umum"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Disambungkan secara automatik kepada satelit"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Anda boleh menghantar dan menerima mesej tanpa rangkaian mudah alih atau Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Buka Messages"</string> diff --git a/core/res/res/values-my/strings.xml b/core/res/res/values-my/strings.xml index 696cf72f8caf..834613414a31 100644 --- a/core/res/res/values-my/strings.xml +++ b/core/res/res/values-my/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"<xliff:g id="APP_NAME">%1$s</xliff:g> က စီမံသည်"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"ဖွင့်"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"ပိတ်"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">"၊ "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"မည်သည့်ပြက္ခဒိန်မဆို"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> သည် အချို့အသံကို ပိတ်နေသည်"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"သင့်ကိရိယာအတွင်းပိုင်းတွင် ပြဿနာရှိနေပြီး၊ မူလစက်ရုံထုတ်အခြေအနေအဖြစ် ပြန်လည်ရယူနိုင်သည်အထိ အခြေအနေမတည်ငြိမ်နိုင်ပါ။"</string> <string name="system_error_manufacturer" msgid="703545241070116315">"သင့်ကိရိယာအတွင်းပိုင်းတွင် ပြဿနာရှိနေ၏။ အသေးစိတ်သိရန်အတွက် ပစ္စည်းထုတ်လုပ်သူအား ဆက်သွယ်ပါ။"</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"စမ်းသပ်မှု"</string> <string name="profile_label_communal" msgid="8743921499944800427">"အများသုံး"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"ဂြိုဟ်တုနှင့် အလိုအလျောက် ချိတ်ဆက်ထားသည်"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"မိုဘိုင်း (သို့) Wi-Fi ကွန်ရက်မရှိဘဲ မက်ဆေ့ဂျ်များကို ပို့နိုင်၊ လက်ခံနိုင်သည်"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages ဖွင့်ရန်"</string> diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml index c5e4c2af2799..252b4138d8f0 100644 --- a/core/res/res/values-nb/strings.xml +++ b/core/res/res/values-nb/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Administreres av <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"På"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Av"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Hvilken som helst kalender"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> slår av noen lyder"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Det har oppstått et internt problem på enheten din, og den kan være ustabil til du tilbakestiller den til fabrikkdata."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Det har oppstått et internt problem på enheten din. Ta kontakt med produsenten for mer informasjon."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Felles"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Automatisk tilkoblet satellitt"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Du kan sende og motta meldinger uten mobil- eller wifi-nettverk"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Åpne Meldinger"</string> diff --git a/core/res/res/values-ne/strings.xml b/core/res/res/values-ne/strings.xml index 77e3eaa37432..6035bb19312d 100644 --- a/core/res/res/values-ne/strings.xml +++ b/core/res/res/values-ne/strings.xml @@ -827,7 +827,7 @@ <string name="permdesc_writeVerificationStateE2eeContactKeys" msgid="8453156829747427041">"यसले एपलाई अन्य एपको स्वामित्वमा रहेका E2EE कन्ट्याक्ट कीहरूको प्रमाणीकरणको स्थिति अपडेट गर्न दिन्छ"</string> <string name="policylab_limitPassword" msgid="4851829918814422199">"पासवर्ड नियमहरू मिलाउनुहोस्"</string> <string name="policydesc_limitPassword" msgid="4105491021115793793">"स्क्रिन लक पासवर्ड र PIN हरूमा अनुमति दिइएको लम्बाइ र वर्णहरूको नियन्त्रण गर्नुहोस्।"</string> - <string name="policylab_watchLogin" msgid="7599669460083719504">"मनिटरको स्क्रिन अनलक गर्ने प्रयासहरू"</string> + <string name="policylab_watchLogin" msgid="7599669460083719504">"स्क्रिन अनलक गर्न गरिएको प्रयासको अनुगमन गर्ने"</string> <string name="policydesc_watchLogin" product="tablet" msgid="2388436408621909298">"स्क्रिन अनलक गर्दा गलत पासवर्ड टाइप भएको संख्या निरीक्षण गर्नुहोस् र यदि निकै धेरै गलत पासवर्डहरू टाइप भएका छन भने ट्याब्लेट लक गर्नुहोस् वा ट्याब्लेटका सबै डेटा मेट्नुहोस्।"</string> <string name="policydesc_watchLogin" product="tv" msgid="2140588224468517507">"स्क्रिन अनलक गर्दा गलत पासवर्ड टाइप गरेको सङ्ख्या निरीक्षण गर्नुहोस्, र धेरै पटक गलत पासवर्डहरू टाइप गरिएको खण्डमा आफ्नो Android टिभी यन्त्र लक गर्नुहोस् वा डिभाइसमा भएको सम्पूर्ण डेटा मेटाउनुहोस्।"</string> <string name="policydesc_watchLogin" product="automotive" msgid="7011438994051251521">"स्क्रिन अनलक गर्दा कति पटक गलत पासवर्ड टाइप गरिन्छ भन्ने कुरा निगरानी गरियोस् र अत्यन्तै धेरै पटक गलत पासवर्ड टाइप गरिएका खण्डमा यो इन्फोटेनमेन्ट प्रणाली लक गरियोस् वा यस इन्फोटेनमेन्ट प्रणालीका सबै डेटा मेटाइयोस्।"</string> @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"<xliff:g id="APP_NAME">%1$s</xliff:g> ले व्यवस्थापन गरेको"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"अन छ"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"अफ छ"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"कुनै पनि पात्रो"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> ले केही ध्वनिहरू म्युट गर्दै छ"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"तपाईंको यन्त्रसँग आन्तरिक समस्या छ, र तपाईंले फ्याक्ट्री डाटा रिसेट नगर्दासम्म यो अस्थिर रहन्छ।"</string> <string name="system_error_manufacturer" msgid="703545241070116315">"तपाईंको यन्त्रसँग आन्तरिक समस्या छ। विवरणहरूको लागि आफ्नो निर्मातासँग सम्पर्क गर्नुहोस्।"</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"परीक्षण"</string> <string name="profile_label_communal" msgid="8743921499944800427">"सामुदायिक"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"स्याटलाइटमा स्वतः कनेक्ट गरियो"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"तपाईं मोबाइल वा Wi-Fi नेटवर्कविनै म्यासेज पठाउन र प्राप्त गर्न सक्नुहुन्छ"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages खोल्नुहोस्"</string> diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml index b5f2beac053d..5870ca36e92c 100644 --- a/core/res/res/values-nl/strings.xml +++ b/core/res/res/values-nl/strings.xml @@ -1866,7 +1866,7 @@ <string name="print_service_installed_title" msgid="6134880817336942482">"<xliff:g id="NAME">%s</xliff:g>-service geïnstalleerd"</string> <string name="print_service_installed_message" msgid="7005672469916968131">"Tik om aan te zetten"</string> <string name="restr_pin_enter_admin_pin" msgid="1199419462726962697">"Beheerderspincode invoeren"</string> - <string name="restr_pin_enter_pin" msgid="373139384161304555">"Geef de pincode op"</string> + <string name="restr_pin_enter_pin" msgid="373139384161304555">"Voer pincode in"</string> <string name="restr_pin_incorrect" msgid="3861383632940852496">"Onjuist"</string> <string name="restr_pin_enter_old_pin" msgid="7537079094090650967">"Huidige pincode"</string> <string name="restr_pin_enter_new_pin" msgid="3267614461844565431">"Nieuwe pincode"</string> @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Beheerd door <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Aan"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Uit"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Elke agenda"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> zet sommige geluiden uit"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Er is een intern probleem met je apparaat. Het apparaat kan instabiel zijn totdat u het apparaat terugzet naar de fabrieksinstellingen."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Er is een intern probleem met je apparaat. Neem contact op met de fabrikant voor meer informatie."</string> @@ -2206,7 +2203,7 @@ <string name="resolver_cant_access_work_apps_explanation" msgid="1129960195389373279">"Deze content kan niet worden geopend met werk-apps"</string> <string name="resolver_cant_share_with_personal_apps_explanation" msgid="6349766201904601544">"Deze content kan niet worden gedeeld met persoonlijke apps"</string> <string name="resolver_cant_access_personal_apps_explanation" msgid="1679399548862724359">"Deze content kan niet worden geopend met persoonlijke apps"</string> - <string name="resolver_turn_on_work_apps" msgid="1535946298236678122">"Werk-apps zijn onderbroken"</string> + <string name="resolver_turn_on_work_apps" msgid="1535946298236678122">"Werk-apps zijn gepauzeerd"</string> <string name="resolver_switch_on_work" msgid="4527096360772311894">"Hervatten"</string> <string name="resolver_no_work_apps_available" msgid="3298291360133337270">"Geen werk-apps"</string> <string name="resolver_no_personal_apps_available" msgid="6284837227019594881">"Geen persoonlijke apps"</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Gemeenschappelijk"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Automatisch verbonden met satelliet"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Je kunt berichten sturen en krijgen zonder een mobiel of wifi-netwerk"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Berichten openen"</string> diff --git a/core/res/res/values-or/strings.xml b/core/res/res/values-or/strings.xml index b84297e0d3ea..4174d04cf1d1 100644 --- a/core/res/res/values-or/strings.xml +++ b/core/res/res/values-or/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"<xliff:g id="APP_NAME">%1$s</xliff:g> ଦ୍ୱାରା ପରିଚାଳିତ"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"ଚାଲୁ ଅଛି"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"ବନ୍ଦ ଅଛି"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"ଯେକୌଣସି କ୍ୟାଲେଣ୍ଡର୍"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> କିଛି ସାଉଣ୍ଡକୁ ମ୍ୟୁଟ୍ କରୁଛି"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"ଆପଣଙ୍କ ଡିଭାଇସ୍ରେ ଏକ ସମସ୍ୟା ରହିଛି ଏବଂ ଆପଣ ଫ୍ୟାକ୍ଟୋରୀ ଡାଟା ରିସେଟ୍ ନକରିବା ପର୍ଯ୍ୟନ୍ତ ଏହା ଅସ୍ଥିର ରହିପାରେ।"</string> <string name="system_error_manufacturer" msgid="703545241070116315">"ଆପଣଙ୍କ ଡିଭାଇସରେ ଏକ ସମସ୍ୟା ରହିଛି। ବିବରଣୀ ପାଇଁ ଆପଣଙ୍କ ଉତ୍ପାଦକଙ୍କ ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।"</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"ଟେଷ୍ଟ"</string> <string name="profile_label_communal" msgid="8743921499944800427">"କମ୍ୟୁନାଲ"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"ସାଟେଲାଇଟ ସହ ସ୍ୱତଃ କନେକ୍ଟ ହୋଇଛି"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"ଏକ ମୋବାଇଲ କିମ୍ବା ୱାଇ-ଫାଇ ନେଟୱାର୍କ ବିନା ଆପଣ ମେସେଜ ପଠାଇପାରିବେ ଏବଂ ପାଇପାରିବେ"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages ଖୋଲନ୍ତୁ"</string> diff --git a/core/res/res/values-pa/strings.xml b/core/res/res/values-pa/strings.xml index b83492a3adfd..3e7b27e9bb8a 100644 --- a/core/res/res/values-pa/strings.xml +++ b/core/res/res/values-pa/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਵੱਲੋਂ ਪ੍ਰਬੰਧਿਤ"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"ਚਾਲੂ ਹੈ"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"ਬੰਦ ਹੈ"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"ਕੋਈ ਵੀ ਕੈਲੰਡਰ"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> ਕੁਝ ਧੁਨੀਆਂ ਨੂੰ ਮਿਊਟ ਕਰ ਰਹੀ ਹੈ"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨਾਲ ਇੱਕ ਅੰਦਰੂਨੀ ਸਮੱਸਿਆ ਹੈ ਅਤੇ ਇਹ ਅਸਥਿਰ ਹੋ ਸਕਦੀ ਹੈ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਫੈਕਟਰੀ ਡਾਟਾ ਰੀਸੈੱਟ ਨਹੀਂ ਕਰਦੇ।"</string> <string name="system_error_manufacturer" msgid="703545241070116315">"ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨਾਲ ਇੱਕ ਅੰਦਰੂਨੀ ਸਮੱਸਿਆ ਸੀ। ਵੇਰਵਿਆਂ ਲਈ ਆਪਣੇ ਨਿਰਮਾਤਾ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"ਜਾਂਚ"</string> <string name="profile_label_communal" msgid="8743921499944800427">"ਭਾਈਚਾਰਕ"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"ਸੈਟੇਲਾਈਟ ਨਾਲ ਸਵੈ-ਕਨੈਕਟ ਹੋਇਆ"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"ਤੁਸੀਂ ਮੋਬਾਈਲ ਜਾਂ ਵਾਈ-ਫਾਈ ਨੈੱਟਵਰਕ ਤੋਂ ਬਿਨਾਂ ਸੁਨੇਹੇ ਭੇਜ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages ਐਪ ਖੋਲ੍ਹੋ"</string> diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml index 92068a2989b2..ca126f794c06 100644 --- a/core/res/res/values-pl/strings.xml +++ b/core/res/res/values-pl/strings.xml @@ -1931,12 +1931,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Zarządzana przez aplikację <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Włączono"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Wyłączono"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Dowolny kalendarz"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> wycisza niektóre dźwięki"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"W Twoim urządzeniu wystąpił problem wewnętrzny. Może być ono niestabilne, dopóki nie przywrócisz danych fabrycznych."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"W Twoim urządzeniu wystąpił problem wewnętrzny. Skontaktuj się z jego producentem, by otrzymać szczegółowe informacje."</string> @@ -2399,6 +2396,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Testowy"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Wspólny"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Automatycznie połączono z satelitą"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Możesz wymieniać wiadomości bez dostępu do sieci komórkowej lub Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Otwórz Wiadomości"</string> diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml index 74f341fb6d2d..c53b1d50aa35 100644 --- a/core/res/res/values-pt-rBR/strings.xml +++ b/core/res/res/values-pt-rBR/strings.xml @@ -1930,12 +1930,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Gerenciada pelo app <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Ativada"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Desativada"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> a <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Qualquer agenda"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> está silenciando alguns sons"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Há um problema interno com seu dispositivo. Ele pode ficar instável até que você faça a redefinição para configuração original."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Há um problema interno com seu dispositivo. Entre em contato com o fabricante para saber mais detalhes."</string> @@ -2398,6 +2395,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Teste"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Público"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Conectado automaticamente ao satélite"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Você pode enviar e receber mensagens sem um dispositivo móvel ou uma rede Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Abrir o app Mensagens"</string> diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml index d6329c29275a..6b6f5c5af0f6 100644 --- a/core/res/res/values-pt-rPT/strings.xml +++ b/core/res/res/values-pt-rPT/strings.xml @@ -2395,6 +2395,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Teste"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Comum"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Ligação de satélite estabelecida automaticamente"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Pode enviar e receber mensagens sem uma rede móvel ou Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Abre a app Mensagens"</string> diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml index 74f341fb6d2d..c53b1d50aa35 100644 --- a/core/res/res/values-pt/strings.xml +++ b/core/res/res/values-pt/strings.xml @@ -1930,12 +1930,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Gerenciada pelo app <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Ativada"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Desativada"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> a <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Qualquer agenda"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> está silenciando alguns sons"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Há um problema interno com seu dispositivo. Ele pode ficar instável até que você faça a redefinição para configuração original."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Há um problema interno com seu dispositivo. Entre em contato com o fabricante para saber mais detalhes."</string> @@ -2398,6 +2395,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Teste"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Público"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Conectado automaticamente ao satélite"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Você pode enviar e receber mensagens sem um dispositivo móvel ou uma rede Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Abrir o app Mensagens"</string> diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml index d37907c76ec4..5a449e3b14f0 100644 --- a/core/res/res/values-ro/strings.xml +++ b/core/res/res/values-ro/strings.xml @@ -828,7 +828,7 @@ <string name="permdesc_writeVerificationStateE2eeContactKeys" msgid="8453156829747427041">"Permite aplicației să actualizeze starea verificării cheilor E2EE deținute de alte aplicații"</string> <string name="policylab_limitPassword" msgid="4851829918814422199">"Să seteze reguli pentru parolă"</string> <string name="policydesc_limitPassword" msgid="4105491021115793793">"Stabilește lungimea și tipul de caractere permise pentru parolele și codurile PIN de blocare a ecranului."</string> - <string name="policylab_watchLogin" msgid="7599669460083719504">"Să monitorizeze încercările de deblocare a ecranului"</string> + <string name="policylab_watchLogin" msgid="7599669460083719504">"să monitorizeze încercările de deblocare a ecranului"</string> <string name="policydesc_watchLogin" product="tablet" msgid="2388436408621909298">"Monitorizează numărul de parole incorecte introduse la deblocarea ecranului și blochează tableta sau șterge datele acesteia dacă sunt introduse prea multe parole incorecte."</string> <string name="policydesc_watchLogin" product="tv" msgid="2140588224468517507">"Monitorizează numărul de parole incorecte introduse la deblocarea ecranului și blochează dispozitivul Android TV sau șterge toate datele de pe acesta dacă se introduc prea multe parole incorecte."</string> <string name="policydesc_watchLogin" product="automotive" msgid="7011438994051251521">"Monitorizează numărul de parole incorecte introduse la deblocarea ecranului și blochează sistemul de infotainment sau șterge toate datele acestuia dacă sunt introduse prea multe parole incorecte."</string> @@ -841,7 +841,7 @@ <string name="policydesc_resetPassword" msgid="4626419138439341851">"Modifică blocarea ecranului."</string> <string name="policylab_forceLock" msgid="7360335502968476434">"Să blocheze ecranul"</string> <string name="policydesc_forceLock" msgid="1008844760853899693">"Stabilește cum și când se blochează ecranul."</string> - <string name="policylab_wipeData" msgid="1359485247727537311">"Să șteargă toate datele"</string> + <string name="policylab_wipeData" msgid="1359485247727537311">"să șteargă toate datele"</string> <string name="policydesc_wipeData" product="tablet" msgid="7245372676261947507">"Șterge datele de pe tabletă fără avertisment, efectuând resetarea configurării din fabrică."</string> <string name="policydesc_wipeData" product="tv" msgid="513862488950801261">"Șterge datele de pe dispozitivul Android TV fără avertisment, efectuând o revenire la setările din fabrică."</string> <string name="policydesc_wipeData" product="automotive" msgid="660804547737323300">"Șterge datele din sistemul de infotainment fără avertisment, prin revenirea la setările din fabrică."</string> @@ -1930,12 +1930,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Gestionat de <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Activată"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Dezactivată"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Orice calendar"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> dezactivează anumite sunete"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"A apărut o problemă internă pe dispozitiv, iar acesta poate fi instabil până la revenirea la setările din fabrică."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"A apărut o problemă internă pe dispozitiv. Pentru detalii, contactează producătorul."</string> @@ -2398,6 +2395,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Comun"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"S-a conectat automat la satelit"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Poți să trimiți și să primești mesaje fără o rețea mobilă sau Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Deschide Mesaje"</string> diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml index 723672d4cac0..59982ef42804 100644 --- a/core/res/res/values-ru/strings.xml +++ b/core/res/res/values-ru/strings.xml @@ -1285,7 +1285,7 @@ <string name="android_upgrading_starting_apps" msgid="6206161195076057075">"Запуск приложений."</string> <string name="android_upgrading_complete" msgid="409800058018374746">"Окончание загрузки..."</string> <string name="fp_power_button_enrollment_message" msgid="5648173517663246140">"Вы нажали кнопку питания. Обычно это приводит к отключению экрана.\n\nПри добавлении отпечатка пальца слегка прикоснитесь к кнопке."</string> - <string name="fp_power_button_enrollment_title" msgid="6976841690455338563">"Для завершения нужно отключить экран"</string> + <string name="fp_power_button_enrollment_title" msgid="6976841690455338563">"Для завершения нужно отключить экран."</string> <string name="fp_power_button_enrollment_button_text" msgid="3199783266386029200">"Отключить"</string> <string name="fp_power_button_bp_title" msgid="5585506104526820067">"Продолжить сканирование отпечатка?"</string> <string name="fp_power_button_bp_message" msgid="2983163038168903393">"Вы нажали кнопку питания. Обычно это приводит к отключению экрана.\n\nЧтобы отсканировать отпечаток пальца, слегка прикоснитесь к кнопке."</string> @@ -1931,12 +1931,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Под управлением приложения \"<xliff:g id="APP_NAME">%1$s</xliff:g>\""</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Включено"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Отключено"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Любой календарь"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> приглушает некоторые звуки."</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Произошла внутренняя ошибка, и устройство может работать нестабильно, пока вы не выполните сброс настроек."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Произошла внутренняя ошибка. Обратитесь к производителю устройства за подробными сведениями."</string> @@ -2399,6 +2396,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Тестовый"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Совместный"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Автоматически подключено к системам спутниковой связи"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Вы можете отправлять и получать сообщения без доступа к мобильной сети или Wi-Fi."</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Открыть Сообщения"</string> diff --git a/core/res/res/values-si/strings.xml b/core/res/res/values-si/strings.xml index 58866396fd10..04b2c52b425c 100644 --- a/core/res/res/values-si/strings.xml +++ b/core/res/res/values-si/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"<xliff:g id="APP_NAME">%1$s</xliff:g> විසින් කළමනාකරණය කරයි"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"ක්රියාත්මකයි"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"ක්රියාවිරහිතයි"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"ඕනෑම දින දර්ශනයක්"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> සමහර ශබ්ද නිහඬ කරමින්"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"ඔබේ උපාංගය සමගින් ගැටලුවක් ඇති අතර, ඔබේ කර්මාන්තශාලා දත්ත යළි සකසන තෙක් එය අස්ථායි විය හැකිය."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"ඔබේ උපාංගය සමගින් අභ්යන්තර ගැටලුවක් ඇත. විස්තර සඳහා ඔබේ නිෂ්පාදක අමතන්න."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"පරීක්ෂණය"</string> <string name="profile_label_communal" msgid="8743921499944800427">"වාර්ගික"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"චන්ද්රිකාවට ස්වයංක්රීයව සම්බන්ධ වේ"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"ඔබට ජංගම හෝ Wi-Fi ජාලයක් නොමැතිව පණිවිඩ යැවීමට සහ ලැබීමට හැක"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages විවෘත කරන්න"</string> diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml index 5ec599aacb64..76cad30f16ce 100644 --- a/core/res/res/values-sk/strings.xml +++ b/core/res/res/values-sk/strings.xml @@ -1931,12 +1931,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Spravované aplikáciou <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Zapnuté"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Vypnuté"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Ľubovoľný kalendár"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> vypína niektoré zvuky"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Vo vašom zariadení došlo k internému problému. Môže byť nestabilné, kým neobnovíte jeho výrobné nastavenia."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Vo vašom zariadení došlo k internému problému. Ak chcete získať podrobné informácie, obráťte sa na jeho výrobcu."</string> @@ -2399,6 +2396,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Testovací"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Spoločný"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Automaticky pripojené k satelitu"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Správy môžete odosielať a prijímať bez mobilnej siete či siete Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Otvoriť Správy"</string> diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml index 2a66253c5dff..5983929eaed3 100644 --- a/core/res/res/values-sl/strings.xml +++ b/core/res/res/values-sl/strings.xml @@ -2396,6 +2396,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Preizkus"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Skupno"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Samodejno vzpostavljena povezava s satelitom"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Sporočila SMS lahko pošiljate in prejemate brez mobilnega omrežja ali omrežja Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Odpri Sporočila"</string> diff --git a/core/res/res/values-sq/strings.xml b/core/res/res/values-sq/strings.xml index 0e1e791dbb37..5a02d565eb44 100644 --- a/core/res/res/values-sq/strings.xml +++ b/core/res/res/values-sq/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Menaxhohet nga <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Aktivizuar"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Çaktivizuar"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Çdo kalendar"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> po çaktivizon disa tinguj"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Ka një problem të brendshëm me pajisjen tënde. Ajo mund të jetë e paqëndrueshme derisa të rivendosësh të dhënat në gjendje fabrike."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Ka një problem të brendshëm me pajisjen tënde. Kontakto prodhuesin tënd për detaje."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"I përbashkët"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"U lidh automatikisht me satelitin"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Mund të dërgosh dhe të marrësh mesazhe pa një rrjet celular apo rrjet Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Hap \"Mesazhet\""</string> diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml index cb037ccafc8b..637371ced5ce 100644 --- a/core/res/res/values-sr/strings.xml +++ b/core/res/res/values-sr/strings.xml @@ -1930,12 +1930,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Управља: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Укључено"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Искључено"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Било који календар"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> искључује неке звуке"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Дошло је до интерног проблема у вези са уређајем и можда ће бити нестабилан док не обавите ресетовање на фабричка подешавања."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Дошло је до интерног проблема у вези са уређајем. Потражите детаље од произвођача."</string> @@ -2398,6 +2395,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Тест"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Заједничко"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Аутоматски повезано са сателитом"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Можете да шаљете и примате поруке без мобилне или WiFi мреже"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Отвори Messages"</string> diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml index d3198d6c54e3..2dde3a8bcde5 100644 --- a/core/res/res/values-sv/strings.xml +++ b/core/res/res/values-sv/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Hanteras av <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"På"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Av"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Alla kalendrar"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> stänger av vissa ljud"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Ett internt problem har uppstått i enheten, och det kan hända att problemet kvarstår tills du återställer standardinställningarna."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Ett internt problem har uppstått i enheten. Kontakta tillverkaren om du vill veta mer."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Allmän"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Automatiskt ansluten till satellit"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Du kan skicka och ta emot meddelanden utan mobil- eller wifi-nätverk"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Öppna Messages"</string> diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml index d1738ef91f43..2936716a67b5 100644 --- a/core/res/res/values-sw/strings.xml +++ b/core/res/res/values-sw/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Inadhibitiwa na <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Imewashwa"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Imezimwa"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Kalenda yoyote"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> inazima baadhi ya sauti"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Kuna hitilafu ya ndani ya kifaa chako, na huenda kisiwe thabiti mpaka urejeshe mipangilio ya kiwandani."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Kuna hitilafu ya ndani ya kifaa chako. Wasiliana na mtengenezaji wa kifaa chako kwa maelezo."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Jaribio"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Unaoshirikiwa"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Imeunganishwa kiotomatiki na satelaiti"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Unaweza kutuma na kupokea ujumbe bila mtandao wa simu au Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Fungua Programu ya Messages"</string> diff --git a/core/res/res/values-ta/strings.xml b/core/res/res/values-ta/strings.xml index 3c4c457ead56..28ee91ddb448 100644 --- a/core/res/res/values-ta/strings.xml +++ b/core/res/res/values-ta/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"நிர்வகிப்பது: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"ஆன்"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"ஆஃப்"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"ஏதேனும் கேலெண்டர்"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> சில ஒலிகளை முடக்குகிறது"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"சாதனத்தில் அகச் சிக்கல் இருக்கிறது, அதனை ஆரம்பநிலைக்கு மீட்டமைக்கும் வரை நிலையற்று இயங்கலாம்."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"சாதனத்தில் அகச் சிக்கல் இருக்கிறது. விவரங்களுக்கு சாதன தயாரிப்பாளரைத் தொடர்புகொள்ளவும்."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"பரிசோதனை"</string> <string name="profile_label_communal" msgid="8743921499944800427">"பொது"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"சாட்டிலைட்டுடன் தானாக இணைக்கப்பட்டது"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"மொபைல்/வைஃபை நெட்வொர்க் இல்லாமல் நீங்கள் மெசேஜ்களை அனுப்பலாம் பெறலாம்"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages ஆப்ஸைத் திறக்கவும்"</string> diff --git a/core/res/res/values-te/strings.xml b/core/res/res/values-te/strings.xml index 2d6241d4d183..c64c9b6d61ee 100644 --- a/core/res/res/values-te/strings.xml +++ b/core/res/res/values-te/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"<xliff:g id="APP_NAME">%1$s</xliff:g> ద్వారా మేనేజ్ చేయబడుతోంది"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"ఆన్లో ఉంది"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"ఆఫ్లో ఉంది"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"ఏదైనా క్యాలెండర్"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> కొన్ని ధ్వనులను మ్యూట్ చేస్తోంది"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"మీ పరికరంతో అంతర్గత సమస్య ఏర్పడింది మరియు మీరు ఫ్యాక్టరీ డేటా రీసెట్ చేసే వరకు అస్థిరంగా ఉంటుంది."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"మీ పరికరంతో అంతర్గత సమస్య ఏర్పడింది. వివరాల కోసం మీ తయారీదారుని సంప్రదించండి."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"పరీక్ష"</string> <string name="profile_label_communal" msgid="8743921499944800427">"కమ్యూనల్"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"శాటిలైట్కు ఆటోమేటిక్గా కనెక్ట్ చేయబడింది"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"మీరు మొబైల్ లేదా Wi-Fi నెట్వర్క్ లేకుండా మెసేజ్లను పంపవచ్చు, స్వీకరించవచ్చు"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messagesను తెరవండి"</string> diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml index e75cfe18031f..7555f26fd2fa 100644 --- a/core/res/res/values-th/strings.xml +++ b/core/res/res/values-th/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"จัดการโดย <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"เปิด"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"ปิด"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"ปฏิทินทั้งหมด"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> กำลังปิดเสียงบางรายการ"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"อุปกรณ์ของคุณเกิดปัญหาภายในเครื่อง อุปกรณ์อาจทำงานไม่เสถียรจนกว่าคุณจะรีเซ็ตข้อมูลเป็นค่าเริ่มต้น"</string> <string name="system_error_manufacturer" msgid="703545241070116315">"อุปกรณ์ของคุณเกิดปัญหาภายในเครื่อง โปรดติดต่อผู้ผลิตเพื่อขอรายละเอียดเพิ่มเติม"</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"ทดสอบ"</string> <string name="profile_label_communal" msgid="8743921499944800427">"ส่วนกลาง"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"เชื่อมต่อกับดาวเทียมโดยอัตโนมัติ"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"คุณรับส่งข้อความผ่านดาวเทียมได้โดยไม่ต้องใช้เครือข่ายมือถือหรือ Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"เปิด Messages"</string> diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml index 0ba3fc38919d..112da5cc6b3e 100644 --- a/core/res/res/values-tl/strings.xml +++ b/core/res/res/values-tl/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Pinapamahalaan ng <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Naka-on"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Naka-off"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g>, <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Anumang kalendaryo"</string> <string name="muted_by" msgid="91464083490094950">"Minu-mute ng <xliff:g id="THIRD_PARTY">%1$s</xliff:g> ang ilang tunog"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"May internal na problema sa iyong device, at maaaring hindi ito maging stable hanggang sa i-reset mo ang factory data."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"May internal na problema sa iyong device. Makipag-ugnayan sa iyong manufacturer upang malaman ang mga detalye."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Communal"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Awtomatikong nakakonekta sa satellite"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Puwede kang magpadala at tumanggap ng mga mensahe nang walang mobile o Wi-Fi network"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Buksan ang Messages"</string> diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml index b3b59fce4216..2ca545b89612 100644 --- a/core/res/res/values-tr/strings.xml +++ b/core/res/res/values-tr/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"<xliff:g id="APP_NAME">%1$s</xliff:g> tarafından yönetiliyor"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Açık"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Kapalı"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g>-<xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Tüm takvimler"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> bazı sesleri kapatıyor"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Cihazınızla ilgili dahili bir sorun oluştu ve fabrika verilerine sıfırlama işlemi gerçekleştirilene kadar kararsız çalışabilir."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Cihazınızla ilgili dahili bir sorun oluştu. Ayrıntılı bilgi için üreticinizle iletişim kurun."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Paylaşılan"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Uyduya otomatik olarak bağlandı"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Mobil veya kablosuz ağa bağlı olmadan mesaj alıp gönderebilirsiniz"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Mesajlar\'ı aç"</string> diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml index 528b403e9be7..df2c7157b88f 100644 --- a/core/res/res/values-uk/strings.xml +++ b/core/res/res/values-uk/strings.xml @@ -1931,12 +1931,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Керує додаток <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Увімкнено"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Вимкнено"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"З усіх календарів"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> вимикає деякі звуки"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Через внутрішню помилку ваш пристрій може працювати нестабільно. Відновіть заводські налаштування."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"На пристрої сталася внутрішня помилка. Зв’яжіться з виробником пристрою, щоб дізнатися більше."</string> @@ -2399,6 +2396,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Тестовий профіль"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Спільний профіль"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Автоматично підключено до супутника"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Ви можете надсилати й отримувати повідомлення, не використовуючи Wi-Fi або мобільну мережу"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Відкрийте Повідомлення"</string> diff --git a/core/res/res/values-ur/strings.xml b/core/res/res/values-ur/strings.xml index 48c20f5d3612..29bd5bec0415 100644 --- a/core/res/res/values-ur/strings.xml +++ b/core/res/res/values-ur/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"<xliff:g id="APP_NAME">%1$s</xliff:g> کے زیر انتظام ہے"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"آن ہے"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"آف ہے"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">"، "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"کوئی بھی کیلنڈر"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> کچھ آوازوں کو خاموش کر رہا ہے"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"آپ کے آلہ میں ایک داخلی مسئلہ ہے اور جب تک آپ فیکٹری ڈیٹا کو دوبارہ ترتیب نہیں دے دیتے ہیں، ہوسکتا ہے کہ یہ غیر مستحکم رہے۔"</string> <string name="system_error_manufacturer" msgid="703545241070116315">"آپ کے آلہ میں ایک داخلی مسئلہ ہے۔ تفصیلات کیلئے اپنے مینوفیکچرر سے رابطہ کریں۔"</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"ٹیسٹ"</string> <string name="profile_label_communal" msgid="8743921499944800427">"کمیونل"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"سٹلائٹ سے خودکار طور پر منسلک ہے"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"آپ موبائل یا Wi-Fi نیٹ ورک کے بغیر پیغامات بھیج اور موصول کر سکتے ہیں"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"پیغامات ایپ کو کھولیں"</string> diff --git a/core/res/res/values-uz/strings.xml b/core/res/res/values-uz/strings.xml index d7152b5c23f2..dddc3d6e9d81 100644 --- a/core/res/res/values-uz/strings.xml +++ b/core/res/res/values-uz/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"<xliff:g id="APP_NAME">%1$s</xliff:g> tomonidan boshqariladi"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Yoniq"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Oʻchiq"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Har qanday taqvim"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> ayrim tovushlarni ovozsiz qilgan"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Qurilmangiz bilan bog‘liq ichki muammo mavjud. U zavod sozlamalari tiklanmaguncha barqaror ishlamasligi mumkin."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Qurilmangiz bilan bog‘liq ichki muammo mavjud. Tafsilotlar uchun qurilmangiz ishlab chiqaruvchisiga murojaat qiling."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Test"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Umumiy"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Sputnikka avtomatik ulandi"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Mobil yoki Wi-Fi tarmoqsiz xabarlarni yuborishingiz va qabul qilishingiz mumkin"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Xabarlar ilovasini ochish"</string> diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml index 0d0ba4aae5d0..073a1a8ee7ae 100644 --- a/core/res/res/values-vi/strings.xml +++ b/core/res/res/values-vi/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Do <xliff:g id="APP_NAME">%1$s</xliff:g> quản lý"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Bật"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Tắt"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Bất kỳ lịch nào"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> đang tắt một số âm thanh"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Đã xảy ra sự cố nội bộ với thiết bị của bạn và thiết bị có thể sẽ không ổn định cho tới khi bạn thiết lập lại dữ liệu ban đầu."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Đã xảy ra sự cố nội bộ với thiết bị. Hãy liên hệ với nhà sản xuất của bạn để biết chi tiết."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Kiểm thử"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Dùng chung"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Đã tự động kết nối với vệ tinh"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Bạn có thể gửi và nhận tin nhắn mà không cần có mạng di động hoặc mạng Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Mở ứng dụng Tin nhắn"</string> diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml index 958e465fb40f..ff2d4fc3f886 100644 --- a/core/res/res/values-zh-rCN/strings.xml +++ b/core/res/res/values-zh-rCN/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"由<xliff:g id="APP_NAME">%1$s</xliff:g>管理"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"已启用"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"已停用"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">"、 "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"所有日历"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g>正在将某些音效设为静音"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"您的设备内部出现了问题。如果不将设备恢复出厂设置,设备运行可能会不稳定。"</string> <string name="system_error_manufacturer" msgid="703545241070116315">"您的设备内部出现了问题。请联系您的设备制造商了解详情。"</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"测试"</string> <string name="profile_label_communal" msgid="8743921499944800427">"共用"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"自动连接到卫星"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"您无需使用移动网络或 WLAN 网络便能收发消息"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"打开“信息”应用"</string> diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml index df49fd6f3431..6f560bb65078 100644 --- a/core/res/res/values-zh-rHK/strings.xml +++ b/core/res/res/values-zh-rHK/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"由<xliff:g id="APP_NAME">%1$s</xliff:g>管理"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"已開啟"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"已關閉"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">"、 "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"任何日曆"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g>正將某些音效設為靜音"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"你裝置的系統發生問題,回復原廠設定後即可解決該問題。"</string> <string name="system_error_manufacturer" msgid="703545241070116315">"你裝置的系統發生問題,請聯絡你的製造商瞭解詳情。"</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"測試"</string> <string name="profile_label_communal" msgid="8743921499944800427">"共用"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"已自動連線至衛星"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"你可在沒有流動/Wi-Fi 網絡的情況下收發訊息"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"開啟「訊息」"</string> diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml index cc99d912fd35..8b2d5343ea38 100644 --- a/core/res/res/values-zh-rTW/strings.xml +++ b/core/res/res/values-zh-rTW/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"由「<xliff:g id="APP_NAME">%1$s</xliff:g>」管理"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"已啟用"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"已停用"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">"、 "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"任何日曆"</string> <string name="muted_by" msgid="91464083490094950">"「<xliff:g id="THIRD_PARTY">%1$s</xliff:g>」正在關閉部分音效"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"你的裝置發生內部問題,必須將裝置恢復原廠設定才能解除不穩定狀態。"</string> <string name="system_error_manufacturer" msgid="703545241070116315">"你的裝置發生內部問題,詳情請洽裝置製造商。"</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"測試"</string> <string name="profile_label_communal" msgid="8743921499944800427">"通用"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"已自動連上衛星"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"你可以收發訊息,沒有行動/Wi-Fi 網路也無妨"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"開啟「訊息」應用程式"</string> diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml index 3de26845b428..922172ce7f41 100644 --- a/core/res/res/values-zu/strings.xml +++ b/core/res/res/values-zu/strings.xml @@ -1929,12 +1929,9 @@ <string name="zen_mode_implicit_trigger_description" msgid="5714956693073007111">"Iphethwe yi-<xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="zen_mode_implicit_activated" msgid="2634285680776672994">"Kuvuliwe"</string> <string name="zen_mode_implicit_deactivated" msgid="8688441768371501750">"Kuvaliwe"</string> - <!-- no translation found for zen_mode_trigger_summary_divider_text (7461583466043698862) --> - <skip /> - <!-- no translation found for zen_mode_trigger_summary_range_symbol_combination (1804900738798069619) --> - <skip /> - <!-- no translation found for zen_mode_trigger_event_calendar_any (2086784607921121803) --> - <skip /> + <string name="zen_mode_trigger_summary_divider_text" msgid="7461583466043698862">", "</string> + <string name="zen_mode_trigger_summary_range_symbol_combination" msgid="1804900738798069619">"<xliff:g id="START">%1$s</xliff:g>, <xliff:g id="END">%2$s</xliff:g>"</string> + <string name="zen_mode_trigger_event_calendar_any" msgid="2086784607921121803">"Noma iyiphi ikhalenda"</string> <string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> ithulisa eminye imisindo"</string> <string name="system_error_wipe_data" msgid="5910572292172208493">"Kukhona inkinga yangaphakathi ngedivayisi yakho, futhi ingase ibe engazinzile kuze kube yilapho usetha kabusha yonke idatha."</string> <string name="system_error_manufacturer" msgid="703545241070116315">"Kukhona inkinga yangaphakathi ngedivayisi yakho. Xhumana nomkhiqizi wakho ukuze uthole imininingwane."</string> @@ -2397,6 +2394,8 @@ <string name="profile_label_test" msgid="9168641926186071947">"Hlola"</string> <string name="profile_label_communal" msgid="8743921499944800427">"Okomphakathi"</string> <string name="redacted_notification_action_title" msgid="6942924973335920935"></string> + <!-- no translation found for screen_not_shared_sensitive_content (7058419185079565001) --> + <skip /> <string name="satellite_notification_title" msgid="4026338973463121526">"Ixhumeke ngokuzenzakalelayo kusathelayithi"</string> <string name="satellite_notification_summary" msgid="5207364139430767162">"Ungathumela futhi wamukele imilayezo ngaphandle kwenethiwekhi yeselula noma ye-Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Vula Imilayezo"</string> diff --git a/core/tests/coretests/src/android/app/NotificationChannelTest.java b/core/tests/coretests/src/android/app/NotificationChannelTest.java index 18209b548f94..504f98f0ac49 100644 --- a/core/tests/coretests/src/android/app/NotificationChannelTest.java +++ b/core/tests/coretests/src/android/app/NotificationChannelTest.java @@ -31,6 +31,7 @@ import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import android.annotation.FlaggedApi; import android.content.AttributionSource; import android.content.ContentProvider; import android.content.ContentResolver; @@ -46,6 +47,7 @@ import android.os.Parcel; import android.os.RemoteCallback; import android.os.RemoteException; import android.os.VibrationEffect; +import android.platform.test.annotations.EnableFlags; import android.platform.test.annotations.Presubmit; import android.platform.test.flag.junit.SetFlagsRule; import android.provider.MediaStore.Audio.AudioColumns; @@ -577,6 +579,40 @@ public class NotificationChannelTest { assertNull(channel.getVibrationEffect()); } + @Test + @EnableFlags({Flags.FLAG_RESTRICT_AUDIO_ATTRIBUTES_MEDIA, + Flags.FLAG_RESTRICT_AUDIO_ATTRIBUTES_CALL, Flags.FLAG_RESTRICT_AUDIO_ATTRIBUTES_ALARM}) + public void testCopy() { + NotificationChannel original = new NotificationChannel("id", "name", 2); + original.setDescription("desc"); + original.setBypassDnd(true); + original.setLockscreenVisibility(7); + original.setSound(Uri.EMPTY, new AudioAttributes.Builder().build()); + original.setLightColor(5); + original.enableLights(false); + original.setVibrationPattern(new long[] {1, 9, 3}); + if (Flags.notificationChannelVibrationEffectApi()) { + original.setVibrationEffect(VibrationEffect.createOneShot(100, 5)); + } + original.lockFields(9999); + original.setUserVisibleTaskShown(true); + original.enableVibration(false); + original.setShowBadge(true); + original.setDeleted(false); + original.setGroup("group"); + original.setBlockable(false); + original.setAllowBubbles(true); + original.setOriginalImportance(6); + original.setConversationId("parent", "convo"); + original.setDemoted(false); + original.setImportantConversation(true); + original.setDeletedTimeMs(100); + original.setImportanceLockedByCriticalDeviceFunction(false); + + NotificationChannel parcelCopy = writeToAndReadFromParcel(original); + assertThat(original.copy()).isEqualTo(parcelCopy); + } + /** Backs up a given channel to an XML, and returns the channel read from the XML. */ private NotificationChannel backUpAndRestore(NotificationChannel channel) throws Exception { TypedXmlSerializer serializer = Xml.newFastSerializer(); diff --git a/core/tests/coretests/src/android/view/ViewFrameRateTest.java b/core/tests/coretests/src/android/view/ViewFrameRateTest.java index 3e172c1400b0..dcfbf6437930 100644 --- a/core/tests/coretests/src/android/view/ViewFrameRateTest.java +++ b/core/tests/coretests/src/android/view/ViewFrameRateTest.java @@ -21,6 +21,7 @@ import static android.view.Surface.FRAME_RATE_CATEGORY_LOW; import static android.view.Surface.FRAME_RATE_CATEGORY_NORMAL; import static android.view.Surface.FRAME_RATE_COMPATIBILITY_GTE; import static android.view.flags.Flags.FLAG_TOOLKIT_FRAME_RATE_VELOCITY_MAPPING_READ_ONLY; +import static android.view.flags.Flags.FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY; import static android.view.flags.Flags.FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY; import static android.view.flags.Flags.FLAG_VIEW_VELOCITY_API; import static android.view.flags.Flags.toolkitFrameRateBySizeReadOnly; @@ -35,6 +36,8 @@ import static org.junit.Assert.assertTrue; import android.app.Activity; import android.os.SystemClock; import android.platform.test.annotations.RequiresFlagsEnabled; +import android.platform.test.flag.junit.CheckFlagsRule; +import android.platform.test.flag.junit.DeviceFlagsValueProvider; import android.util.DisplayMetrics; import androidx.test.annotation.UiThreadTest; @@ -60,6 +63,9 @@ public class ViewFrameRateTest { public ActivityTestRule<ViewCaptureTestActivity> mActivityRule = new ActivityTestRule<>( ViewCaptureTestActivity.class); + @Rule + public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule(); + private Activity mActivity; private View mMovingView; private ViewRootImpl mViewRoot; @@ -80,7 +86,8 @@ public class ViewFrameRateTest { @UiThreadTest @Test - @RequiresFlagsEnabled(FLAG_VIEW_VELOCITY_API) + @RequiresFlagsEnabled({FLAG_VIEW_VELOCITY_API, + FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY}) public void frameRateChangesWhenContentMoves() { mMovingView.offsetLeftAndRight(100); float frameRate = mViewRoot.getPreferredFrameRate(); @@ -121,7 +128,8 @@ public class ViewFrameRateTest { @Test @RequiresFlagsEnabled({FLAG_VIEW_VELOCITY_API, - FLAG_TOOLKIT_FRAME_RATE_VELOCITY_MAPPING_READ_ONLY}) + FLAG_TOOLKIT_FRAME_RATE_VELOCITY_MAPPING_READ_ONLY, + FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY}) public void lowVelocity60() throws Throwable { mActivityRule.runOnUiThread(() -> { ViewGroup.LayoutParams layoutParams = mMovingView.getLayoutParams(); @@ -140,7 +148,8 @@ public class ViewFrameRateTest { @Test @RequiresFlagsEnabled({FLAG_VIEW_VELOCITY_API, - FLAG_TOOLKIT_FRAME_RATE_VELOCITY_MAPPING_READ_ONLY}) + FLAG_TOOLKIT_FRAME_RATE_VELOCITY_MAPPING_READ_ONLY, + FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY}) public void highVelocity140() throws Throwable { mActivityRule.runOnUiThread(() -> { ViewGroup.LayoutParams layoutParams = mMovingView.getLayoutParams(); @@ -172,7 +181,8 @@ public class ViewFrameRateTest { } @Test - @RequiresFlagsEnabled(FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY) + @RequiresFlagsEnabled({FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY, + FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY}) public void noVelocityUsesCategorySmall() throws Throwable { final CountDownLatch drawLatch1 = new CountDownLatch(1); mActivityRule.runOnUiThread(() -> { @@ -206,7 +216,8 @@ public class ViewFrameRateTest { } @Test - @RequiresFlagsEnabled(FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY) + @RequiresFlagsEnabled({FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY, + FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY}) public void noVelocityUsesCategoryNarrowWidth() throws Throwable { final CountDownLatch drawLatch1 = new CountDownLatch(1); mActivityRule.runOnUiThread(() -> { @@ -239,7 +250,8 @@ public class ViewFrameRateTest { } @Test - @RequiresFlagsEnabled(FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY) + @RequiresFlagsEnabled({FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY, + FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY}) public void noVelocityUsesCategoryNarrowHeight() throws Throwable { final CountDownLatch drawLatch1 = new CountDownLatch(1); mActivityRule.runOnUiThread(() -> { @@ -272,7 +284,8 @@ public class ViewFrameRateTest { } @Test - @RequiresFlagsEnabled(FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY) + @RequiresFlagsEnabled({FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY, + FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY}) public void noVelocityUsesCategoryLargeWidth() throws Throwable { final CountDownLatch drawLatch1 = new CountDownLatch(1); mActivityRule.runOnUiThread(() -> { @@ -305,7 +318,8 @@ public class ViewFrameRateTest { } @Test - @RequiresFlagsEnabled(FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY) + @RequiresFlagsEnabled({FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY, + FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY}) public void noVelocityUsesCategoryLargeHeight() throws Throwable { final CountDownLatch drawLatch1 = new CountDownLatch(1); mActivityRule.runOnUiThread(() -> { @@ -338,7 +352,8 @@ public class ViewFrameRateTest { } @Test - @RequiresFlagsEnabled(FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY) + @RequiresFlagsEnabled({FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY, + FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY}) public void defaultNormal() throws Throwable { mActivityRule.runOnUiThread(() -> { View parent = (View) mMovingView.getParent(); diff --git a/core/tests/coretests/src/android/view/ViewRootImplTest.java b/core/tests/coretests/src/android/view/ViewRootImplTest.java index 6f107a9be891..a86e5681cda6 100644 --- a/core/tests/coretests/src/android/view/ViewRootImplTest.java +++ b/core/tests/coretests/src/android/view/ViewRootImplTest.java @@ -20,6 +20,7 @@ import static android.view.accessibility.Flags.FLAG_FORCE_INVERT_COLOR; import static android.view.flags.Flags.FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY; import static android.view.flags.Flags.FLAG_TOOLKIT_FRAME_RATE_BY_SIZE_READ_ONLY; import static android.view.flags.Flags.FLAG_TOOLKIT_FRAME_RATE_FUNCTION_ENABLING_READ_ONLY; +import static android.view.flags.Flags.FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY; import static android.view.flags.Flags.FLAG_VIEW_VELOCITY_API; import static android.view.Surface.FRAME_RATE_CATEGORY_HIGH; import static android.view.Surface.FRAME_RATE_CATEGORY_HIGH_HINT; @@ -578,7 +579,8 @@ public class ViewRootImplTest { */ @Test @RequiresFlagsEnabled({FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY, - FLAG_TOOLKIT_FRAME_RATE_FUNCTION_ENABLING_READ_ONLY}) + FLAG_TOOLKIT_FRAME_RATE_FUNCTION_ENABLING_READ_ONLY, + FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY}) public void votePreferredFrameRate_voteFrameRateCategory_visibility_defaultHigh() { View view = new View(sContext); attachViewToWindow(view); @@ -612,7 +614,8 @@ public class ViewRootImplTest { */ @Test @RequiresFlagsEnabled({FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY, - FLAG_TOOLKIT_FRAME_RATE_FUNCTION_ENABLING_READ_ONLY}) + FLAG_TOOLKIT_FRAME_RATE_FUNCTION_ENABLING_READ_ONLY, + FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY}) public void votePreferredFrameRate_voteFrameRateCategory_smallSize_defaultHigh() { View view = new View(sContext); WindowManager.LayoutParams wmlp = new WindowManager.LayoutParams(TYPE_APPLICATION_OVERLAY); @@ -640,7 +643,8 @@ public class ViewRootImplTest { */ @Test @RequiresFlagsEnabled({FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY, - FLAG_TOOLKIT_FRAME_RATE_FUNCTION_ENABLING_READ_ONLY}) + FLAG_TOOLKIT_FRAME_RATE_FUNCTION_ENABLING_READ_ONLY, + FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY}) public void votePreferredFrameRate_voteFrameRateCategory_normalSize_defaultHigh() { View view = new View(sContext); WindowManager.LayoutParams wmlp = new WindowManager.LayoutParams(TYPE_APPLICATION_OVERLAY); @@ -777,7 +781,8 @@ public class ViewRootImplTest { */ @Test @RequiresFlagsEnabled({FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY, - FLAG_TOOLKIT_FRAME_RATE_FUNCTION_ENABLING_READ_ONLY}) + FLAG_TOOLKIT_FRAME_RATE_FUNCTION_ENABLING_READ_ONLY, + FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY}) public void votePreferredFrameRate_voteFrameRate_category() { View view = new View(sContext); attachViewToWindow(view); @@ -817,7 +822,9 @@ public class ViewRootImplTest { */ @Test @RequiresFlagsEnabled({FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY, - FLAG_VIEW_VELOCITY_API, FLAG_TOOLKIT_FRAME_RATE_FUNCTION_ENABLING_READ_ONLY}) + FLAG_VIEW_VELOCITY_API, + FLAG_TOOLKIT_FRAME_RATE_FUNCTION_ENABLING_READ_ONLY, + FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY}) public void votePreferredFrameRate_voteFrameRateCategory_velocityToHigh() { View view = new View(sContext); WindowManager.LayoutParams wmlp = new WindowManager.LayoutParams(TYPE_APPLICATION_OVERLAY); @@ -957,7 +964,8 @@ public class ViewRootImplTest { */ @Test @RequiresFlagsEnabled({FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY, - FLAG_TOOLKIT_FRAME_RATE_FUNCTION_ENABLING_READ_ONLY}) + FLAG_TOOLKIT_FRAME_RATE_FUNCTION_ENABLING_READ_ONLY, + FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY}) public void votePreferredFrameRate_voteFrameRateOnly() { View view = new View(sContext); float frameRate = 20; @@ -1000,7 +1008,8 @@ public class ViewRootImplTest { */ @Test @RequiresFlagsEnabled({FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY, - FLAG_TOOLKIT_FRAME_RATE_FUNCTION_ENABLING_READ_ONLY}) + FLAG_TOOLKIT_FRAME_RATE_FUNCTION_ENABLING_READ_ONLY, + FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY}) public void votePreferredFrameRate_infrequentLayer_defaultHigh() throws InterruptedException { final long delay = 200L; @@ -1102,7 +1111,8 @@ public class ViewRootImplTest { */ @Test @RequiresFlagsEnabled({FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY, - FLAG_TOOLKIT_FRAME_RATE_FUNCTION_ENABLING_READ_ONLY}) + FLAG_TOOLKIT_FRAME_RATE_FUNCTION_ENABLING_READ_ONLY, + FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY}) public void votePreferredFrameRate_applyTextureViewHeuristic() throws InterruptedException { final long delay = 30L; 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 59c841f63498..97bf8f7bf459 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 @@ -173,6 +173,8 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont ProtoLog.i(WM_SHELL_BACK_PREVIEW, "Navigation window gone."); setTriggerBack(false); resetTouchTracker(); + // Don't wait for animation start + mShellExecutor.removeCallbacks(mAnimationTimeoutRunnable); }); } }); @@ -954,7 +956,7 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont ProtoLog.e(WM_SHELL_BACK_PREVIEW, "Lack of navigation info to start animation."); return; } - if (mApps == null) { + if (!validateAnimationTargets(mApps)) { ProtoLog.w(WM_SHELL_BACK_PREVIEW, "Not starting animation due to mApps being null."); return; } @@ -985,6 +987,21 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont } } + /** + * Validate animation targets. + */ + static boolean validateAnimationTargets(RemoteAnimationTarget[] apps) { + if (apps == null || apps.length == 0) { + return false; + } + for (int i = apps.length - 1; i >= 0; --i) { + if (!apps[i].leash.isValid()) { + return false; + } + } + return true; + } + private void createAdapter() { IBackAnimationRunner runner = new IBackAnimationRunner.Stub() { @@ -997,6 +1014,10 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont mShellExecutor.execute( () -> { endLatencyTracking(); + if (!validateAnimationTargets(apps)) { + Log.e(TAG, "Invalid animation targets!"); + return; + } mBackAnimationFinishedCallback = finishedCallback; mApps = apps; startSystemAnimation(); 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 d839eae27171..2ff1ddd8c0c8 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 @@ -69,7 +69,6 @@ import com.android.wm.shell.sysui.ShellController; import com.android.wm.shell.sysui.ShellInit; import com.android.wm.shell.sysui.ShellSharedConstants; - import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -182,7 +181,9 @@ public class BackAnimationControllerTest extends ShellTestCase { } RemoteAnimationTarget createAnimationTarget() { - SurfaceControl topWindowLeash = new SurfaceControl(); + SurfaceControl topWindowLeash = new SurfaceControl.Builder() + .setName("FakeLeash") + .build(); return new RemoteAnimationTarget(-1, RemoteAnimationTarget.MODE_CLOSING, topWindowLeash, false, new Rect(), new Rect(), -1, new Point(0, 0), new Rect(), new Rect(), new WindowConfiguration(), diff --git a/nfc/Android.bp b/nfc/Android.bp index 0b3f291a49de..c186804d2006 100644 --- a/nfc/Android.bp +++ b/nfc/Android.bp @@ -39,6 +39,7 @@ java_sdk_library { libs: [ "unsupportedappusage", // for android.compat.annotation.UnsupportedAppUsage "framework-permission-s", + "framework-permission", ], static_libs: [ "android.nfc.flags-aconfig-java", diff --git a/packages/CredentialManager/res/values-ca/strings.xml b/packages/CredentialManager/res/values-ca/strings.xml index ba34d61c58af..3809d9251f7c 100644 --- a/packages/CredentialManager/res/values-ca/strings.xml +++ b/packages/CredentialManager/res/values-ca/strings.xml @@ -39,12 +39,9 @@ <string name="seamless_transition_detail" msgid="4475509237171739843">"Tot i que avancem cap a un futur sense contrasenyes, continuaran estant disponibles juntament amb les claus d\'accés."</string> <string name="choose_provider_title" msgid="8870795677024868108">"Tria on vols desar les <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Selecciona un gestor de contrasenyes per desar la teva informació i iniciar la sessió més ràpidament la pròxima vegada"</string> - <!-- no translation found for choose_create_option_passkey_title (8762295821604276511) --> - <skip /> - <!-- no translation found for choose_create_option_password_title (4481366993598649224) --> - <skip /> - <!-- no translation found for choose_create_option_sign_in_title (7092914088455358079) --> - <skip /> + <string name="choose_create_option_passkey_title" msgid="8762295821604276511">"Vols crear una clau d\'accés per iniciar la sessió a <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> + <string name="choose_create_option_password_title" msgid="4481366993598649224">"Vols desar la contrasenya per iniciar la sessió a <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> + <string name="choose_create_option_sign_in_title" msgid="7092914088455358079">"Vols desar la informació d\'inici de sessió per a <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> <string name="passkey" msgid="632353688396759522">"clau d\'accés"</string> <string name="password" msgid="6738570945182936667">"contrasenya"</string> <string name="passkeys" msgid="5733880786866559847">"claus d\'accés"</string> @@ -73,8 +70,7 @@ <string name="accessibility_snackbar_dismiss" msgid="3456598374801836120">"Ignora"</string> <string name="get_dialog_title_use_passkey_for" msgid="6236608872708021767">"Vols utilitzar la clau d\'accés desada per a <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> <string name="get_dialog_title_use_password_for" msgid="625828023234318484">"Vols utilitzar la contrasenya desada per a <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> - <!-- no translation found for get_dialog_title_single_tap_for (2057945648748859483) --> - <skip /> + <string name="get_dialog_title_single_tap_for" msgid="2057945648748859483">"Utilitza el bloqueig de pantalla per iniciar sessió a <xliff:g id="APP_NAME">%1$s</xliff:g> amb <xliff:g id="USERNAME">%2$s</xliff:g>"</string> <string name="get_dialog_title_use_sign_in_for" msgid="790049858275131785">"Vols utilitzar el teu inici de sessió per a <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> <string name="get_dialog_title_unlock_options_for" msgid="7605568190597632433">"Vols desbloquejar les opcions d\'inici de sessió per a <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> <string name="get_dialog_title_choose_passkey_for" msgid="9175997688078538490">"Tria una clau d\'accés desada per a <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> diff --git a/packages/CredentialManager/res/values-hy/strings.xml b/packages/CredentialManager/res/values-hy/strings.xml index 21598407ac14..79a2624e980f 100644 --- a/packages/CredentialManager/res/values-hy/strings.xml +++ b/packages/CredentialManager/res/values-hy/strings.xml @@ -39,12 +39,9 @@ <string name="seamless_transition_detail" msgid="4475509237171739843">"Թեև մենք առանց գաղտնաբառերի ապագայի ճանապարհին ենք, դրանք դեռ հասանելի կլինեն անցաբառերի հետ մեկտեղ։"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Նշեք, թե որտեղ եք ուզում պահել ձեր <xliff:g id="CREATETYPES">%1$s</xliff:g>ը"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Ընտրեք գաղտնաբառերի կառավարիչ՝ ձեր տեղեկությունները պահելու և հաջորդ անգամ ավելի արագ մուտք գործելու համար"</string> - <!-- no translation found for choose_create_option_passkey_title (8762295821604276511) --> - <skip /> - <!-- no translation found for choose_create_option_password_title (4481366993598649224) --> - <skip /> - <!-- no translation found for choose_create_option_sign_in_title (7092914088455358079) --> - <skip /> + <string name="choose_create_option_passkey_title" msgid="8762295821604276511">"Ստեղծե՞լ անցաբառ՝ <xliff:g id="APP_NAME">%1$s</xliff:g> հավելված մուտք գործելու համար"</string> + <string name="choose_create_option_password_title" msgid="4481366993598649224">"Պահե՞լ գաղտնաբառը՝ <xliff:g id="APP_NAME">%1$s</xliff:g> հավելված մուտք գործելու համար"</string> + <string name="choose_create_option_sign_in_title" msgid="7092914088455358079">"Պահե՞լ «<xliff:g id="APP_NAME">%1$s</xliff:g>» հավելվածի մուտքի տվյալները"</string> <string name="passkey" msgid="632353688396759522">"անցաբառ"</string> <string name="password" msgid="6738570945182936667">"գաղտնաբառ"</string> <string name="passkeys" msgid="5733880786866559847">"անցաբառեր"</string> @@ -73,8 +70,7 @@ <string name="accessibility_snackbar_dismiss" msgid="3456598374801836120">"Փակել"</string> <string name="get_dialog_title_use_passkey_for" msgid="6236608872708021767">"Օգտագործե՞լ պահված անցաբառը <xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածի համար"</string> <string name="get_dialog_title_use_password_for" msgid="625828023234318484">"Օգտագործե՞լ <xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածի համար պահված ձեր գաղտնաբառը"</string> - <!-- no translation found for get_dialog_title_single_tap_for (2057945648748859483) --> - <skip /> + <string name="get_dialog_title_single_tap_for" msgid="2057945648748859483">"Օգտագործեք ձեր էկրանի կողպումը՝ <xliff:g id="USERNAME">%2$s</xliff:g> հաշվի միջոցով <xliff:g id="APP_NAME">%1$s</xliff:g> հավելված մուտք գործելու համար"</string> <string name="get_dialog_title_use_sign_in_for" msgid="790049858275131785">"Օգտագործե՞լ այս տվյալները <xliff:g id="APP_NAME">%1$s</xliff:g> հավելված մուտք գործելու համար"</string> <string name="get_dialog_title_unlock_options_for" msgid="7605568190597632433">"Ապակողպե՞լ մուտքի տարբերակներ <xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածի համար"</string> <string name="get_dialog_title_choose_passkey_for" msgid="9175997688078538490">"Ընտրեք պահված անցաբառ <xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածի համար"</string> diff --git a/packages/CredentialManager/res/values-mk/strings.xml b/packages/CredentialManager/res/values-mk/strings.xml index 428878a03f27..95554a2330fb 100644 --- a/packages/CredentialManager/res/values-mk/strings.xml +++ b/packages/CredentialManager/res/values-mk/strings.xml @@ -39,12 +39,9 @@ <string name="seamless_transition_detail" msgid="4475509237171739843">"Како што се движиме кон иднина без лозинки, лозинките сепак ќе бидат достапни покрај криптографските клучеви."</string> <string name="choose_provider_title" msgid="8870795677024868108">"Изберете каде да ги зачувате вашите <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Изберете управник со лозинки за да ги зачувате вашите податоци и да се најавите побрзо следниот пат"</string> - <!-- no translation found for choose_create_option_passkey_title (8762295821604276511) --> - <skip /> - <!-- no translation found for choose_create_option_password_title (4481366993598649224) --> - <skip /> - <!-- no translation found for choose_create_option_sign_in_title (7092914088455358079) --> - <skip /> + <string name="choose_create_option_passkey_title" msgid="8762295821604276511">"Да се создаде криптографски клуч за најавување на <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> + <string name="choose_create_option_password_title" msgid="4481366993598649224">"Да се зачува лозинката за најавување на <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> + <string name="choose_create_option_sign_in_title" msgid="7092914088455358079">"Да се зачуваат податоците за најавување за <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> <string name="passkey" msgid="632353688396759522">"криптографски клуч"</string> <string name="password" msgid="6738570945182936667">"лозинка"</string> <string name="passkeys" msgid="5733880786866559847">"криптографски клучеви"</string> @@ -73,8 +70,7 @@ <string name="accessibility_snackbar_dismiss" msgid="3456598374801836120">"Отфрли"</string> <string name="get_dialog_title_use_passkey_for" msgid="6236608872708021767">"Да се користи вашиот зачуван криптографски клуч за <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> <string name="get_dialog_title_use_password_for" msgid="625828023234318484">"Да се користат зачуваните лозинки за <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> - <!-- no translation found for get_dialog_title_single_tap_for (2057945648748859483) --> - <skip /> + <string name="get_dialog_title_single_tap_for" msgid="2057945648748859483">"Користете го заклучувањето екран за да се најавувате на <xliff:g id="APP_NAME">%1$s</xliff:g> со <xliff:g id="USERNAME">%2$s</xliff:g>"</string> <string name="get_dialog_title_use_sign_in_for" msgid="790049858275131785">"Да се користи вашето најавување за <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> <string name="get_dialog_title_unlock_options_for" msgid="7605568190597632433">"Да се отклучат опциите за најавување за <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> <string name="get_dialog_title_choose_passkey_for" msgid="9175997688078538490">"Изберете зачуван криптографски клуч за <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> diff --git a/packages/CredentialManager/res/values-sq/strings.xml b/packages/CredentialManager/res/values-sq/strings.xml index 71fb2f56ad33..f31d16aabe1e 100644 --- a/packages/CredentialManager/res/values-sq/strings.xml +++ b/packages/CredentialManager/res/values-sq/strings.xml @@ -39,12 +39,9 @@ <string name="seamless_transition_detail" msgid="4475509237171739843">"Teksa shkojmë drejt një të ardhmeje pa fjalëkalime, këto të fundit do të ofrohen ende së bashku me çelësat e kalimit."</string> <string name="choose_provider_title" msgid="8870795677024868108">"Zgjidh se ku t\'i ruash <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Zgjidh një menaxher fjalëkalimesh për të ruajtur informacionet e tua dhe për t\'u identifikuar më shpejt herën tjetër"</string> - <!-- no translation found for choose_create_option_passkey_title (8762295821604276511) --> - <skip /> - <!-- no translation found for choose_create_option_password_title (4481366993598649224) --> - <skip /> - <!-- no translation found for choose_create_option_sign_in_title (7092914088455358079) --> - <skip /> + <string name="choose_create_option_passkey_title" msgid="8762295821604276511">"Të krijohet një çelës kalimi për t\'u identifikuar në <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> + <string name="choose_create_option_password_title" msgid="4481366993598649224">"Të ruhet fjalëkalimi për t\'u identifikuar në <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> + <string name="choose_create_option_sign_in_title" msgid="7092914088455358079">"Të ruhen informacionet e identifikimit për <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> <string name="passkey" msgid="632353688396759522">"çelësin e kalimit"</string> <string name="password" msgid="6738570945182936667">"fjalëkalimi"</string> <string name="passkeys" msgid="5733880786866559847">"çelësat e kalimit"</string> @@ -73,8 +70,7 @@ <string name="accessibility_snackbar_dismiss" msgid="3456598374801836120">"Hiq"</string> <string name="get_dialog_title_use_passkey_for" msgid="6236608872708021767">"Të përdoret fjalëkalimi yt i ruajtur për <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> <string name="get_dialog_title_use_password_for" msgid="625828023234318484">"Të përdoret fjalëkalimi i ruajtur për <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> - <!-- no translation found for get_dialog_title_single_tap_for (2057945648748859483) --> - <skip /> + <string name="get_dialog_title_single_tap_for" msgid="2057945648748859483">"Përdor kyçjen e ekranit për t\'u identifikuar në <xliff:g id="APP_NAME">%1$s</xliff:g> me <xliff:g id="USERNAME">%2$s</xliff:g>"</string> <string name="get_dialog_title_use_sign_in_for" msgid="790049858275131785">"Të përdoret identifikimi yt për <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> <string name="get_dialog_title_unlock_options_for" msgid="7605568190597632433">"Të shkyçen opsionet e identifikimit për <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> <string name="get_dialog_title_choose_passkey_for" msgid="9175997688078538490">"Zgjidh një çelës kalimi të ruajtur për <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> diff --git a/packages/CredentialManager/res/values-ta/strings.xml b/packages/CredentialManager/res/values-ta/strings.xml index 7a4ed5a46c69..49d17101abb2 100644 --- a/packages/CredentialManager/res/values-ta/strings.xml +++ b/packages/CredentialManager/res/values-ta/strings.xml @@ -39,12 +39,9 @@ <string name="seamless_transition_detail" msgid="4475509237171739843">"கடவுச்சொல்லற்ற எதிர்காலத்தை நோக்கி நாம் பயணிக்கிறோம். கடவுச்சாவிகளைப் பயன்படுத்தும் இதே வேளையில் கடவுச்சொற்களையும் பயன்படுத்த முடியும்."</string> <string name="choose_provider_title" msgid="8870795677024868108">"உங்கள் <xliff:g id="CREATETYPES">%1$s</xliff:g> எங்கே சேமிக்கப்பட வேண்டும் என்பதைத் தேர்வுசெய்யுங்கள்"</string> <string name="choose_provider_body" msgid="4967074531845147434">"உங்கள் தகவல்களைச் சேமித்து அடுத்த முறை விரைவாக உள்நுழைய ஒரு கடவுச்சொல் நிர்வாகியைத் தேர்வுசெய்யுங்கள்"</string> - <!-- no translation found for choose_create_option_passkey_title (8762295821604276511) --> - <skip /> - <!-- no translation found for choose_create_option_password_title (4481366993598649224) --> - <skip /> - <!-- no translation found for choose_create_option_sign_in_title (7092914088455358079) --> - <skip /> + <string name="choose_create_option_passkey_title" msgid="8762295821604276511">"<xliff:g id="APP_NAME">%1$s</xliff:g> ஆப்ஸில் உள்நுழைய கடவுச்சாவியை உருவாக்கவா?"</string> + <string name="choose_create_option_password_title" msgid="4481366993598649224">"<xliff:g id="APP_NAME">%1$s</xliff:g> ஆப்ஸில் உள்நுழைய கடவுச்சொல்லைச் சேமிக்கவா?"</string> + <string name="choose_create_option_sign_in_title" msgid="7092914088455358079">"<xliff:g id="APP_NAME">%1$s</xliff:g> ஆப்ஸுக்கான உள்நுழைவுத் தகவலைச் சேமிக்கவா?"</string> <string name="passkey" msgid="632353688396759522">"கடவுச்சாவி"</string> <string name="password" msgid="6738570945182936667">"கடவுச்சொல்"</string> <string name="passkeys" msgid="5733880786866559847">"கடவுச்சாவிகள்"</string> @@ -73,8 +70,7 @@ <string name="accessibility_snackbar_dismiss" msgid="3456598374801836120">"நிராகரிக்கும்"</string> <string name="get_dialog_title_use_passkey_for" msgid="6236608872708021767">"<xliff:g id="APP_NAME">%1$s</xliff:g> ஆப்ஸுக்கு ஏற்கெனவே சேமிக்கப்பட்ட கடவுக்குறியீட்டைப் பயன்படுத்தவா?"</string> <string name="get_dialog_title_use_password_for" msgid="625828023234318484">"<xliff:g id="APP_NAME">%1$s</xliff:g> ஆப்ஸுக்குச் சேமித்த கடவுச்சொல்லைப் பயன்படுத்தவா?"</string> - <!-- no translation found for get_dialog_title_single_tap_for (2057945648748859483) --> - <skip /> + <string name="get_dialog_title_single_tap_for" msgid="2057945648748859483">"<xliff:g id="USERNAME">%2$s</xliff:g> ஐப் பயன்படுத்தி <xliff:g id="APP_NAME">%1$s</xliff:g> ஆப்ஸில் உள்நுழைய உங்கள் திரைப் பூட்டைப் பயன்படுத்துங்கள்"</string> <string name="get_dialog_title_use_sign_in_for" msgid="790049858275131785">"<xliff:g id="APP_NAME">%1$s</xliff:g> ஆப்ஸுக்கு உங்கள் உள்நுழைவு விவரங்களைப் பயன்படுத்தவா?"</string> <string name="get_dialog_title_unlock_options_for" msgid="7605568190597632433">"<xliff:g id="APP_NAME">%1$s</xliff:g> ஆப்ஸுக்கான உள்நுழைவு விருப்பங்களை அன்லாக் செய்யவா?"</string> <string name="get_dialog_title_choose_passkey_for" msgid="9175997688078538490">"<xliff:g id="APP_NAME">%1$s</xliff:g> ஆப்ஸுக்கான சேமிக்கப்பட்ட கடவுச்சாவியைத் தேர்ந்தெடுங்கள்"</string> diff --git a/packages/CredentialManager/res/values-uk/strings.xml b/packages/CredentialManager/res/values-uk/strings.xml index 978102036974..62eac9afc737 100644 --- a/packages/CredentialManager/res/values-uk/strings.xml +++ b/packages/CredentialManager/res/values-uk/strings.xml @@ -39,12 +39,9 @@ <string name="seamless_transition_detail" msgid="4475509237171739843">"На шляху до безпарольного майбутнього паролі й надалі будуть використовуватися паралельно з ключами доступу."</string> <string name="choose_provider_title" msgid="8870795677024868108">"Виберіть, де зберігати <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Виберіть менеджер паролів, щоб зберігати свої дані й надалі входити в облікові записи швидше"</string> - <!-- no translation found for choose_create_option_passkey_title (8762295821604276511) --> - <skip /> - <!-- no translation found for choose_create_option_password_title (4481366993598649224) --> - <skip /> - <!-- no translation found for choose_create_option_sign_in_title (7092914088455358079) --> - <skip /> + <string name="choose_create_option_passkey_title" msgid="8762295821604276511">"Створити ключ доступу для входу в додаток <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> + <string name="choose_create_option_password_title" msgid="4481366993598649224">"Зберегти пароль для входу в додаток <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> + <string name="choose_create_option_sign_in_title" msgid="7092914088455358079">"Зберегти дані для входу для додатка <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> <string name="passkey" msgid="632353688396759522">"ключ доступу"</string> <string name="password" msgid="6738570945182936667">"пароль"</string> <string name="passkeys" msgid="5733880786866559847">"ключі доступу"</string> @@ -73,8 +70,7 @@ <string name="accessibility_snackbar_dismiss" msgid="3456598374801836120">"Закрити"</string> <string name="get_dialog_title_use_passkey_for" msgid="6236608872708021767">"Використати збережений ключ доступу для додатка <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> <string name="get_dialog_title_use_password_for" msgid="625828023234318484">"Використати ваш збережений пароль для додатка <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> - <!-- no translation found for get_dialog_title_single_tap_for (2057945648748859483) --> - <skip /> + <string name="get_dialog_title_single_tap_for" msgid="2057945648748859483">"Використовуйте свій спосіб розблокування екрана, щоб входити в додаток <xliff:g id="APP_NAME">%1$s</xliff:g> як користувач <xliff:g id="USERNAME">%2$s</xliff:g>"</string> <string name="get_dialog_title_use_sign_in_for" msgid="790049858275131785">"Використовувати ваші дані для входу в додаток <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> <string name="get_dialog_title_unlock_options_for" msgid="7605568190597632433">"Розблокувати опції входу для додатка <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> <string name="get_dialog_title_choose_passkey_for" msgid="9175997688078538490">"Виберіть збережений ключ доступу для додатка <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> diff --git a/packages/CredentialManager/res/values-zh-rHK/strings.xml b/packages/CredentialManager/res/values-zh-rHK/strings.xml index 03ae2e8fd1f7..7a375c9c7aea 100644 --- a/packages/CredentialManager/res/values-zh-rHK/strings.xml +++ b/packages/CredentialManager/res/values-zh-rHK/strings.xml @@ -39,9 +39,9 @@ <string name="seamless_transition_detail" msgid="4475509237171739843">"我們將會改用無密碼技術,而密碼仍可與密鑰並行使用。"</string> <string name="choose_provider_title" msgid="8870795677024868108">"選擇儲存<xliff:g id="CREATETYPES">%1$s</xliff:g>的位置"</string> <string name="choose_provider_body" msgid="4967074531845147434">"選取密碼管理工具即可儲存自己的資料,縮短下次登入的時間"</string> - <string name="choose_create_option_passkey_title" msgid="8762295821604276511">"要建立用於登入「<xliff:g id="APP_NAME">%1$s</xliff:g>」的密碼金鑰嗎?"</string> - <string name="choose_create_option_password_title" msgid="4481366993598649224">"要儲存用於登入「<xliff:g id="APP_NAME">%1$s</xliff:g>」的密碼嗎?"</string> - <string name="choose_create_option_sign_in_title" msgid="7092914088455358079">"要儲存「<xliff:g id="APP_NAME">%1$s</xliff:g>」的登入資訊嗎?"</string> + <string name="choose_create_option_passkey_title" msgid="8762295821604276511">"要建立密鑰以登入 <xliff:g id="APP_NAME">%1$s</xliff:g> 嗎?"</string> + <string name="choose_create_option_password_title" msgid="4481366993598649224">"要儲存密碼以登入 <xliff:g id="APP_NAME">%1$s</xliff:g> 嗎?"</string> + <string name="choose_create_option_sign_in_title" msgid="7092914088455358079">"要儲存 <xliff:g id="APP_NAME">%1$s</xliff:g> 的登入資料嗎?"</string> <string name="passkey" msgid="632353688396759522">"密鑰"</string> <string name="password" msgid="6738570945182936667">"密碼"</string> <string name="passkeys" msgid="5733880786866559847">"密鑰"</string> @@ -70,7 +70,7 @@ <string name="accessibility_snackbar_dismiss" msgid="3456598374801836120">"關閉"</string> <string name="get_dialog_title_use_passkey_for" msgid="6236608872708021767">"要使用已儲存的「<xliff:g id="APP_NAME">%1$s</xliff:g>」密鑰嗎?"</string> <string name="get_dialog_title_use_password_for" msgid="625828023234318484">"要使用已儲存的「<xliff:g id="APP_NAME">%1$s</xliff:g>」密碼嗎?"</string> - <string name="get_dialog_title_single_tap_for" msgid="2057945648748859483">"用 <xliff:g id="USERNAME">%2$s</xliff:g> 登入「<xliff:g id="APP_NAME">%1$s</xliff:g>」時使用螢幕鎖定功能進行驗證"</string> + <string name="get_dialog_title_single_tap_for" msgid="2057945648748859483">"使用螢幕鎖定方式以 <xliff:g id="USERNAME">%2$s</xliff:g> 登入 <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="get_dialog_title_use_sign_in_for" msgid="790049858275131785">"要以此登入方式使用「<xliff:g id="APP_NAME">%1$s</xliff:g>」嗎?"</string> <string name="get_dialog_title_unlock_options_for" msgid="7605568190597632433">"要解鎖「<xliff:g id="APP_NAME">%1$s</xliff:g>」的登入選項嗎?"</string> <string name="get_dialog_title_choose_passkey_for" msgid="9175997688078538490">"選擇已儲存的「<xliff:g id="APP_NAME">%1$s</xliff:g>」密鑰"</string> diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp index c730d49ed037..74d61ca199dd 100644 --- a/packages/SystemUI/Android.bp +++ b/packages/SystemUI/Android.bp @@ -197,12 +197,29 @@ filegroup { } filegroup { + name: "kosmos-src", + srcs: ["tests/utils/kosmos/src/**/*.kt"], + path: "tests/utils/kosmos", +} + +java_library { + name: "kosmos", + host_supported: true, + srcs: [":kosmos-src"], + static_libs: [ + "kotlin-reflect", + "kotlin-stdlib", + ], +} + +filegroup { name: "SystemUI-tests-utils", srcs: [ "tests/utils/src/**/*.java", "tests/utils/src/**/*.kt", + ":kosmos-src", ], - path: "tests/utils/src", + path: "tests/utils", } filegroup { @@ -334,6 +351,7 @@ android_library { "kotlin-test", "SystemUICustomizationTestUtils", "androidx.compose.runtime_runtime", + "kosmos", ], libs: [ "android.test.runner", @@ -416,6 +434,7 @@ android_robolectric_test { "inline-mockito-robolectric-prebuilt", "platform-parametric-runner-lib", "SystemUICustomizationTestUtils", + "kosmos", ], libs: [ "android.test.runner", @@ -449,6 +468,7 @@ android_ravenwood_test { "androidx.test.uiautomator_uiautomator", "androidx.core_core-animation-testing", "androidx.test.ext.junit", + "kosmos", ], libs: [ "android.test.runner", diff --git a/packages/SystemUI/accessibility/accessibilitymenu/res/values-sk/strings.xml b/packages/SystemUI/accessibility/accessibilitymenu/res/values-sk/strings.xml index c29002b38c5a..264749814e6c 100644 --- a/packages/SystemUI/accessibility/accessibilitymenu/res/values-sk/strings.xml +++ b/packages/SystemUI/accessibility/accessibilitymenu/res/values-sk/strings.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="accessibility_menu_service_name" msgid="730136711554740131">"Ponuka dostupnosti"</string> + <string name="accessibility_menu_service_name" msgid="730136711554740131">"Ponuka Dostupnosť"</string> <string name="accessibility_menu_intro" msgid="3164193281544042394">"Ponukou dostupnosti sa rozumie veľká ponuka na obrazovke, pomocou ktorej môžete ovládať zariadenie. Môžete ho uzamknúť, ovládať hlasitosť a jas, vytvárať snímky obrazovky a mnoho ďalšieho."</string> <string name="assistant_label" msgid="6796392082252272356">"Asistent"</string> <string name="assistant_utterance" msgid="65509599221141377">"Asistent"</string> diff --git a/packages/SystemUI/accessibility/accessibilitymenu/res/values-sv/strings.xml b/packages/SystemUI/accessibility/accessibilitymenu/res/values-sv/strings.xml index c02bbb2643d5..fa43e4f3355b 100644 --- a/packages/SystemUI/accessibility/accessibilitymenu/res/values-sv/strings.xml +++ b/packages/SystemUI/accessibility/accessibilitymenu/res/values-sv/strings.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="accessibility_menu_service_name" msgid="730136711554740131">"Till- gänglighetsmeny"</string> + <string name="accessibility_menu_service_name" msgid="730136711554740131">"Tillgänglighetsmeny"</string> <string name="accessibility_menu_intro" msgid="3164193281544042394">"Tillgänglighetsmenyn är en stor meny på skärmen som du kan styra enheten med. Du kan låsa enheten, ställa in volym och ljusstyrka, ta skärmbilder och annat."</string> <string name="assistant_label" msgid="6796392082252272356">"Assistent"</string> <string name="assistant_utterance" msgid="65509599221141377">"Assistent"</string> diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/SceneFrameworkIntegrationTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/SceneFrameworkIntegrationTest.kt index 4d22383bd2a4..fd685192fdab 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/SceneFrameworkIntegrationTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/SceneFrameworkIntegrationTest.kt @@ -48,6 +48,7 @@ import com.android.systemui.classifier.falsingManager import com.android.systemui.communal.domain.interactor.communalInteractor import com.android.systemui.coroutines.collectLastValue import com.android.systemui.deviceentry.data.repository.fakeDeviceEntryRepository +import com.android.systemui.deviceentry.domain.interactor.deviceEntryFaceAuthInteractor import com.android.systemui.deviceentry.domain.interactor.deviceEntryInteractor import com.android.systemui.flags.Flags import com.android.systemui.flags.fakeFeatureFlagsClassic @@ -289,6 +290,7 @@ class SceneFrameworkIntegrationTest : SysuiTestCase() { centralSurfaces = mock(), headsUpInteractor = kosmos.headsUpNotificationInteractor, occlusionInteractor = kosmos.sceneContainerOcclusionInteractor, + faceUnlockInteractor = kosmos.deviceEntryFaceAuthInteractor, ) startable.start() diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt index 36859e729daa..e330a359add5 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt @@ -37,6 +37,7 @@ import com.android.systemui.classifier.FalsingCollector import com.android.systemui.classifier.falsingManager import com.android.systemui.coroutines.collectLastValue import com.android.systemui.deviceentry.data.repository.fakeDeviceEntryRepository +import com.android.systemui.deviceentry.domain.interactor.deviceEntryFaceAuthInteractor import com.android.systemui.deviceentry.domain.interactor.deviceEntryInteractor import com.android.systemui.keyguard.data.repository.fakeDeviceEntryFaceAuthRepository import com.android.systemui.keyguard.data.repository.fakeKeyguardRepository @@ -133,6 +134,7 @@ class SceneContainerStartableTest : SysuiTestCase() { centralSurfaces = centralSurfaces, headsUpInteractor = kosmos.headsUpNotificationInteractor, occlusionInteractor = kosmos.sceneContainerOcclusionInteractor, + faceUnlockInteractor = kosmos.deviceEntryFaceAuthInteractor, ) } @@ -472,7 +474,7 @@ class SceneContainerStartableTest : SysuiTestCase() { } @Test - fun doesNotSwitchToGoneWhenDeviceStartsToWakeUp_authMethodSecure() = + fun doesNotSwitchToGone_whenDeviceStartsToWakeUp_authMethodSecure() = testScope.runTest { val currentSceneKey by collectLastValue(sceneInteractor.currentScene) prepareState( @@ -487,6 +489,34 @@ class SceneContainerStartableTest : SysuiTestCase() { } @Test + fun doesNotSwitchToGone_whenDeviceStartsToWakeUp_ifAlreadyTransitioningToLockscreen() = + testScope.runTest { + val currentSceneKey by collectLastValue(sceneInteractor.currentScene) + val transitioningTo by collectLastValue(sceneInteractor.transitioningTo) + val transitionStateFlow = + prepareState( + isDeviceUnlocked = true, + initialSceneKey = Scenes.Gone, + authenticationMethod = AuthenticationMethodModel.Pin, + ) + transitionStateFlow.value = + ObservableTransitionState.Transition( + fromScene = Scenes.Gone, + toScene = Scenes.Lockscreen, + progress = flowOf(0.1f), + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), + ) + assertThat(currentSceneKey).isEqualTo(Scenes.Gone) + assertThat(transitioningTo).isEqualTo(Scenes.Lockscreen) + underTest.start() + powerInteractor.setAwakeForTest() + + assertThat(currentSceneKey).isEqualTo(Scenes.Gone) + assertThat(transitioningTo).isEqualTo(Scenes.Lockscreen) + } + + @Test fun switchToGoneWhenDeviceStartsToWakeUp_authMethodSecure_deviceUnlocked() = testScope.runTest { val currentSceneKey by collectLastValue(sceneInteractor.currentScene) @@ -1051,6 +1081,28 @@ class SceneContainerStartableTest : SysuiTestCase() { assertThat(currentScene).isEqualTo(Scenes.Lockscreen) } + @Test + fun handleBouncerOverscroll() = + testScope.runTest { + val currentScene by collectLastValue(sceneInteractor.currentScene) + val transitionStateFlow = prepareState() + underTest.start() + emulateSceneTransition(transitionStateFlow, toScene = Scenes.Bouncer) + assertThat(currentScene).isEqualTo(Scenes.Bouncer) + + transitionStateFlow.value = + ObservableTransitionState.Transition( + fromScene = Scenes.Bouncer, + toScene = Scenes.Lockscreen, + progress = flowOf(-0.4f), + isInitiatedByUserInput = true, + isUserInputOngoing = flowOf(true), + ) + runCurrent() + + assertThat(kosmos.fakeDeviceEntryFaceAuthRepository.isAuthRunning.value).isTrue() + } + private fun TestScope.emulateSceneTransition( transitionStateFlow: MutableStateFlow<ObservableTransitionState>, toScene: SceneKey, diff --git a/packages/SystemUI/res-keyguard/values-nl/strings.xml b/packages/SystemUI/res-keyguard/values-nl/strings.xml index 81e10077a069..020640361e7f 100644 --- a/packages/SystemUI/res-keyguard/values-nl/strings.xml +++ b/packages/SystemUI/res-keyguard/values-nl/strings.xml @@ -21,10 +21,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="keyguard_enter_your_pin" msgid="5429932527814874032">"Geef je pincode op"</string> - <string name="keyguard_enter_pin" msgid="8114529922480276834">"Geef de pincode op"</string> + <string name="keyguard_enter_pin" msgid="8114529922480276834">"Voer pincode in"</string> <string name="keyguard_enter_your_pattern" msgid="351503370332324745">"Geef je patroon op"</string> <string name="keyguard_enter_pattern" msgid="7616595160901084119">"Teken het patroon"</string> - <string name="keyguard_enter_your_password" msgid="7225626204122735501">"Geef je wachtwoord op"</string> + <string name="keyguard_enter_your_password" msgid="7225626204122735501">"Voer je wachtwoord in"</string> <string name="keyguard_enter_password" msgid="6483623792371009758">"Geef het wachtwoord op"</string> <string name="keyguard_sim_error_message_short" msgid="633630844240494070">"Ongeldige kaart."</string> <string name="keyguard_charged" msgid="5478247181205188995">"Opgeladen"</string> diff --git a/packages/SystemUI/res-keyguard/values-zh-rTW/strings.xml b/packages/SystemUI/res-keyguard/values-zh-rTW/strings.xml index 7e5ae10daea8..bc047be3980e 100644 --- a/packages/SystemUI/res-keyguard/values-zh-rTW/strings.xml +++ b/packages/SystemUI/res-keyguard/values-zh-rTW/strings.xml @@ -24,7 +24,7 @@ <string name="keyguard_enter_pin" msgid="8114529922480276834">"輸入 PIN 碼"</string> <string name="keyguard_enter_your_pattern" msgid="351503370332324745">"畫出解鎖圖案"</string> <string name="keyguard_enter_pattern" msgid="7616595160901084119">"畫出解鎖圖案"</string> - <string name="keyguard_enter_your_password" msgid="7225626204122735501">"輸入密碼"</string> + <string name="keyguard_enter_your_password" msgid="7225626204122735501">"請輸入密碼"</string> <string name="keyguard_enter_password" msgid="6483623792371009758">"輸入密碼"</string> <string name="keyguard_sim_error_message_short" msgid="633630844240494070">"卡片無效。"</string> <string name="keyguard_charged" msgid="5478247181205188995">"充電完成"</string> diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml index 9702e8b0f254..2027d168e750 100644 --- a/packages/SystemUI/res/values-af/strings.xml +++ b/packages/SystemUI/res/values-af/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Hoog"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Deblokkeer toestelmikrofoon?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Deblokkeer toestelkamera?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Deblokkeer toestelkamera en mikrofoon?"</string> @@ -551,7 +557,7 @@ <string name="keyguard_indication_after_adaptive_auth_lock" msgid="2323400645470712787">"Toestel is gesluit\nKon nie staaf nie"</string> <string name="zen_mode_and_condition" msgid="5043165189511223718">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string> <string name="accessibility_volume_settings" msgid="1458961116951564784">"Klankinstellings"</string> - <string name="volume_odi_captions_tip" msgid="8825655463280990941">"Gee outomaties mediaopskrifte"</string> + <string name="volume_odi_captions_tip" msgid="8825655463280990941">"Verskaf outomaties onderskrifte vir media"</string> <string name="accessibility_volume_close_odi_captions_tip" msgid="8924753283621160480">"Maak wenk oor onderskrifte toe"</string> <string name="volume_odi_captions_content_description" msgid="4172765742046013630">"Onderskrifteoorlegger"</string> <string name="volume_odi_captions_hint_enable" msgid="2073091194012843195">"aktiveer"</string> diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml index 2f7cc5f68d6c..a3700f2785d9 100644 --- a/packages/SystemUI/res/values-am/strings.xml +++ b/packages/SystemUI/res/values-am/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"መደበኛ"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"መካከለኛ"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"ከፍተኛ"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"የመስሚያ መሣሪያዎች"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"የመሣሪያ ማይክሮፎን እገዳ ይነሳ?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"የመሣሪያ ካሜራ እገዳ ይነሳ?"</string> @@ -442,10 +447,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"አስወግድ"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"ምግብር አክል"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"ተከናውኗል"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"ምግብሮችን ያክሉ"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"ጡባዊዎን ሳይከፍቱ የሚወዷቸው የመተግበሪያ ምግብሮች ፈጣን መዳረሻን ያግኙ።"</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"በማያ ገጽ ቁልፍ ላይ ማንኛውንም ምግብር ይፈቀድ?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"ቅንብሮችን ክፈት"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"የሥራ መተግበሪያዎች ከቆሙበት ይቀጥሉ?"</string> diff --git a/packages/SystemUI/res/values-am/tiles_states_strings.xml b/packages/SystemUI/res/values-am/tiles_states_strings.xml index bb0ca36f501c..a3c590c33a6f 100644 --- a/packages/SystemUI/res/values-am/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-am/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"ጠፍቷል"</item> <item msgid="5137565285664080143">"በርቷል"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"አይገኝም"</item> + <item msgid="3079622119444911877">"አጥፋ"</item> + <item msgid="3028994095749238254">"አብራ"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml index 4fef3a9053d0..767e909de2ea 100644 --- a/packages/SystemUI/res/values-ar/strings.xml +++ b/packages/SystemUI/res/values-ar/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"مرتفع"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"هل تريد إزالة حظر ميكروفون الجهاز؟"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"هل تريد إزالة حظر كاميرا الجهاز؟"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"هل تريد إزالة حظر الكاميرا والميكروفون؟"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"إزالة"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"إضافة تطبيق مصغّر"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"تم"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"إضافة تطبيقات مصغّرة"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"يمكنك الوصول سريعًا إلى تطبيقاتك المصغّرة المفضّلة بدون فتح قفل جهازك اللوحي."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"هل تريد السماح بعرض أي تطبيق مصغّر على شاشة القفل؟"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"فتح الإعدادات"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"أتريد إعادة تفعيل تطبيقات العمل؟"</string> @@ -592,9 +596,9 @@ <string name="volume_ringer_status_vibrate" msgid="6970078708957857825">"اهتزاز"</string> <string name="volume_ringer_status_silent" msgid="3691324657849880883">"كتم الصوت"</string> <string name="media_device_cast" msgid="4786241789687569892">"البثّ"</string> - <string name="stream_notification_unavailable" msgid="4313854556205836435">"يتعذّر التغيير بسبب كتم صوت الرنين."</string> + <string name="stream_notification_unavailable" msgid="4313854556205836435">"غير متاح بسبب كتم صوت الرنين"</string> <string name="stream_alarm_unavailable" msgid="4059817189292197839">"مستوى الصوت غير متاح بسبب تفعيل وضع \"عدم الإزعاج\""</string> - <string name="stream_media_unavailable" msgid="6823020894438959853">"مستوى الصوت غير متاح بسبب تفعيل وضع \"عدم الإزعاج\""</string> + <string name="stream_media_unavailable" msgid="6823020894438959853">"مستوى الصوت غير متاح لأنّ وضع \"عدم الإزعاج\" مفعّل"</string> <string name="volume_stream_content_description_unmute" msgid="7729576371406792977">"%1$s. انقر لإلغاء التجاهل."</string> <string name="volume_stream_content_description_vibrate" msgid="4858111994183089761">"%1$s. انقر للتعيين على الاهتزاز. قد يتم تجاهل خدمات \"سهولة الاستخدام\"."</string> <string name="volume_stream_content_description_mute" msgid="4079046784917920984">"%1$s. انقر للتجاهل. قد يتم تجاهل خدمات \"سهولة الاستخدام\"."</string> @@ -602,8 +606,8 @@ <string name="volume_stream_content_description_mute_a11y" msgid="5743548478357238156">"%1$s. انقر لكتم الصوت."</string> <string name="volume_panel_noise_control_title" msgid="7413949943872304474">"التحكُّم في مستوى الضجيج"</string> <string name="volume_panel_spatial_audio_title" msgid="3367048857932040660">"الصوت المكاني"</string> - <string name="volume_panel_spatial_audio_off" msgid="4177490084606772989">"إيقاف"</string> - <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"مفعّل"</string> + <string name="volume_panel_spatial_audio_off" msgid="4177490084606772989">"غير مفعّل"</string> + <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"تفعيل"</string> <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"تتبُّع حركة الرأس"</string> <string name="volume_ringer_change" msgid="3574969197796055532">"انقر لتغيير وضع الرنين."</string> <string name="volume_ringer_hint_mute" msgid="4263821214125126614">"كتم الصوت"</string> @@ -674,7 +678,7 @@ <string name="notification_channel_summary_automatic_demoted" msgid="1831303964660807700">"<b>الحالة:</b> تم خفض الترتيب"</string> <string name="notification_channel_summary_priority_baseline" msgid="46674690072551234">"تظهر في أعلى إشعارات المحادثات وكصورة ملف شخصي على شاشة القفل."</string> <string name="notification_channel_summary_priority_bubble" msgid="1275413109619074576">"تظهر في أعلى إشعارات المحادثات وكصورة ملف شخصي على شاشة القفل وتظهر على شكل فقاعة."</string> - <string name="notification_channel_summary_priority_dnd" msgid="6665395023264154361">"تظهر في أعلى إشعارات المحادثات وكصورة ملف شخصي على شاشة القفل، وتقاطع ميزة \"عدم الإزعاج\"."</string> + <string name="notification_channel_summary_priority_dnd" msgid="6665395023264154361">"تظهر في أعلى إشعارات المحادثات وكصورة ملف شخصي على شاشة القفل، وتُقاطع ميزة \"عدم الإزعاج\""</string> <string name="notification_channel_summary_priority_all" msgid="7151752959650048285">"تظهر في أعلى إشعارات المحادثات وكصورة ملف شخصي على شاشة القفل وتظهر على شكل فقاعة لمقاطعة ميزة \"عدم الإزعاج\"."</string> <string name="notification_priority_title" msgid="2079708866333537093">"الأولوية"</string> <string name="no_shortcut" msgid="8257177117568230126">"لا يدعم تطبيق <xliff:g id="APP_NAME">%1$s</xliff:g> ميزات المحادثات."</string> @@ -1120,8 +1124,8 @@ <string name="build_number_copy_toast" msgid="877720921605503046">"تم نسخ رقم الإصدار إلى الحافظة."</string> <string name="basic_status" msgid="2315371112182658176">"محادثة مفتوحة"</string> <string name="select_conversation_title" msgid="6716364118095089519">"التطبيقات المصغّرة للمحادثات"</string> - <string name="select_conversation_text" msgid="3376048251434956013">"انقر على محادثة لإضافتها إلى \"الشاشة الرئيسية\"."</string> - <string name="no_conversations_text" msgid="5354115541282395015">"ستظهر هنا المحادثات الحديثة."</string> + <string name="select_conversation_text" msgid="3376048251434956013">"انقر على محادثة لإضافتها إلى \"الشاشة الرئيسية\""</string> + <string name="no_conversations_text" msgid="5354115541282395015">"ستظهر هنا المحادثات الحديثة"</string> <string name="priority_conversations" msgid="3967482288896653039">"المحادثات ذات الأولوية"</string> <string name="recent_conversations" msgid="8531874684782574622">"المحادثات الحديثة"</string> <string name="days_timestamp" msgid="5821854736213214331">"قبل <xliff:g id="DURATION">%1$s</xliff:g> يوم"</string> @@ -1243,7 +1247,7 @@ <string name="home_quick_affordance_unavailable_configure_the_app" msgid="604424593994493281">"• توفُّر جهاز واحد أو لوحة جهاز واحدة على الأقل"</string> <string name="notes_app_quick_affordance_unavailable_explanation" msgid="4796955161600178530">"اختَر تطبيقًا تلقائيًا لتدوين الملاحظات لاستخدام اختصار تدوين الملاحظات."</string> <string name="keyguard_affordance_enablement_dialog_notes_app_action" msgid="6821710209675089470">"اختيار تطبيق"</string> - <string name="keyguard_affordance_press_too_short" msgid="8145437175134998864">"انقر مع الاستمرار على الاختصار."</string> + <string name="keyguard_affordance_press_too_short" msgid="8145437175134998864">"انقر مع الاستمرار على الاختصار"</string> <string name="rear_display_bottom_sheet_cancel" msgid="3461468855493357248">"إلغاء"</string> <string name="rear_display_bottom_sheet_confirm" msgid="1507591562761552899">"تبديل الشاشتَين الآن"</string> <string name="rear_display_folded_bottom_sheet_title" msgid="3930008746560711990">"فتح الهاتف"</string> diff --git a/packages/SystemUI/res/values-as/strings.xml b/packages/SystemUI/res/values-as/strings.xml index 81b3004684d8..5a083abc0b50 100644 --- a/packages/SystemUI/res/values-as/strings.xml +++ b/packages/SystemUI/res/values-as/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"মানক"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"মধ্যমীয়া"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"উচ্চ"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"শুনাৰ ডিভাইচ"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"ডিভাইচৰ মাইক্ৰ\'ফ\'ন অৱৰোধৰ পৰা আঁতৰাবনে?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"ডিভাইচৰ কেমেৰা অৱৰোধৰ পৰা আঁতৰাবনে?"</string> @@ -442,10 +447,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"আঁতৰাওক"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"ৱিজেট যোগ দিয়ক"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"কৰা হ’ল"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"ৱিজেট যোগ দিয়ক"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"আপোনাৰ টেবলেটটো আনলক নকৰাকৈ আপোনাৰ প্ৰিয় এপৰ ৱিজেটসমূহলৈ ক্ষিপ্ৰভাৱে এক্সেছ পাওক।"</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"লক স্ক্ৰীনত যিকোনো ৱিজেটৰ অনুমতি দিবনে?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"ছেটিং খোলক"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"কাম সম্পৰ্কীয় এপ্ আনপজ কৰিবনে?"</string> @@ -904,7 +907,7 @@ <string name="mobile_data_text_format" msgid="6806501540022589786">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string> <string name="mobile_carrier_text_format" msgid="8912204177152950766">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>, <xliff:g id="MOBILE_DATA_TYPE">%2$s</xliff:g>"</string> <string name="wifi_is_off" msgid="5389597396308001471">"ৱাই-ফাই অফ অৱস্থাত আছে"</string> - <string name="bt_is_off" msgid="7436344904889461591">"ব্লুটুথ অফ অৱস্থাত আছে"</string> + <string name="bt_is_off" msgid="7436344904889461591">"ব্লুটুথ অফ আছে"</string> <string name="dnd_is_off" msgid="3185706903793094463">"অসুবিধা নিদিব অফ অৱস্থাত আছে"</string> <string name="dnd_is_on" msgid="7009368176361546279">"অসুবিধা নিদিব অন অৱস্থাত আছে"</string> <string name="qs_dnd_prompt_auto_rule" msgid="3535469468310002616">"অসুবিধা নিদিব-ক এটা স্বয়ংক্ৰিয় নিয়ম (<xliff:g id="ID_1">%s</xliff:g>)এ অন কৰিলে।"</string> diff --git a/packages/SystemUI/res/values-as/tiles_states_strings.xml b/packages/SystemUI/res/values-as/tiles_states_strings.xml index 7c62af06e857..e978fe279a6e 100644 --- a/packages/SystemUI/res/values-as/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-as/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"অফ আছে"</item> <item msgid="5137565285664080143">"অন আছে"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"উপলব্ধ নহয়"</item> + <item msgid="3079622119444911877">"অফ আছে"</item> + <item msgid="3028994095749238254">"অন আছে"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-az/strings.xml b/packages/SystemUI/res/values-az/strings.xml index 7b09be54acb5..7faec8a1e174 100644 --- a/packages/SystemUI/res/values-az/strings.xml +++ b/packages/SystemUI/res/values-az/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Yüksək"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Cihaz mikrofonu blokdan çıxarılsın?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Cihaz kamerası blokdan çıxarılsın?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Cihaz kamerası və mikrofonu blokdan çıxarılsın?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Silin"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Vidcet əlavə edin"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Hazırdır"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Vidcetlər əlavə edin"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Planşeti kiliddən çıxarmadan sevimli tətbiq vidcetlərinizə sürətli giriş əldə edin."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Kilid ekranında istənilən vidcetə icazə verilsin?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Ayarları açın"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"İş tətbiqi üzrə pauza bitsin?"</string> diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml index 07bb005510c5..cd5dc2650b74 100644 --- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml +++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Standardno"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Srednje"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"Visoko"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"Slušni aparati"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Želite da odblokirate mikrofon uređaja?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Želite da odblokirate kameru uređaja?"</string> @@ -442,10 +447,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Ukloni"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Dodaj vidžet"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Gotovo"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Dodaj vidžete"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Brzo pristupajte omiljenim vidžetima za aplikacije bez otključavanja tableta."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Želite da dozvolite sve vidžete na zaključanom ekranu?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Otvori podešavanja"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Uključiti poslovne aplikacije?"</string> diff --git a/packages/SystemUI/res/values-b+sr+Latn/tiles_states_strings.xml b/packages/SystemUI/res/values-b+sr+Latn/tiles_states_strings.xml index e09cab50e9bb..df0b78664cba 100644 --- a/packages/SystemUI/res/values-b+sr+Latn/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-b+sr+Latn/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"Isključeno"</item> <item msgid="5137565285664080143">"Uključeno"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"Nedostupno"</item> + <item msgid="3079622119444911877">"Isključeno"</item> + <item msgid="3028994095749238254">"Uključeno"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-be/strings.xml b/packages/SystemUI/res/values-be/strings.xml index 6c4e88dc96fd..a76c38b54218 100644 --- a/packages/SystemUI/res/values-be/strings.xml +++ b/packages/SystemUI/res/values-be/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Высокая"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Разблакіраваць мікрафон прылады?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Разблакіраваць камеру прылады?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Разблакіраваць камеру і мікрафон прылады?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Выдаліць"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Дадаць віджэт"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Гатова"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Дадаць віджэты"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Доступ да віджэтаў любімых праграм без разблакіроўкі планшэта."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Дазволіць размяшчаць на экране блакіроўкі любыя віджэты?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Адкрыць налады"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Уключыць працоўныя праграмы?"</string> diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml index 01eed3dff4d8..f8793b3faeea 100644 --- a/packages/SystemUI/res/values-bg/strings.xml +++ b/packages/SystemUI/res/values-bg/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Висок"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Да се отблокира ли микрофонът на устройството?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Да се отблокира ли камерата на устройството?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Да се отблокират ли камерата и микрофонът на устройството?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Премахване"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Добавяне на приспособление"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Готово"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Добавяне на приспособления"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Получете бърз достъп до любимите си приспособления за приложения, без да отключвате таблета си."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Да се разреши ли което и да е приспособление на заключения екран?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Отваряне на настройките"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Отмяна на паузата за служ. прил.?"</string> @@ -594,7 +598,7 @@ <string name="media_device_cast" msgid="4786241789687569892">"Предаване"</string> <string name="stream_notification_unavailable" msgid="4313854556205836435">"Не е налице, защото звъненето е спряно"</string> <string name="stream_alarm_unavailable" msgid="4059817189292197839">"Не е налице, защото режимът „Не безпокойте“ е вкл."</string> - <string name="stream_media_unavailable" msgid="6823020894438959853">"Не е налице, защото режимът „Не безпокойте“ е вкл."</string> + <string name="stream_media_unavailable" msgid="6823020894438959853">"Не е налице, защото „Не безпокойте“ е вкл."</string> <string name="volume_stream_content_description_unmute" msgid="7729576371406792977">"%1$s. Докоснете, за да включите отново звука."</string> <string name="volume_stream_content_description_vibrate" msgid="4858111994183089761">"%1$s. Докоснете, за да зададете вибриране. Възможно е звукът на услугите за достъпност да бъде заглушен."</string> <string name="volume_stream_content_description_mute" msgid="4079046784917920984">"%1$s. Докоснете, за да заглушите звука. Възможно е звукът на услугите за достъпност да бъде заглушен."</string> diff --git a/packages/SystemUI/res/values-bn/strings.xml b/packages/SystemUI/res/values-bn/strings.xml index 5b71e634b632..f6de0e38228b 100644 --- a/packages/SystemUI/res/values-bn/strings.xml +++ b/packages/SystemUI/res/values-bn/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"হাই"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"ডিভাইসের মাইক্রোফোন আনব্লক করতে চান?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"ডিভাইসের ক্যামেরা আনব্লক করতে চান?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"ডিভাইসের ক্যামেরা এবং মাইক্রোফোন আনব্লক করতে চান?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"সরান"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"উইজেট যোগ করুন"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"হয়ে গেছে"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"উইজেট যোগ করুন"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"নিজের ট্যাবলেট আনলক বা করেই আপনার প্রিয় অ্যাপ উইজেটে দ্রুত অ্যাক্সেস পান।"</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"লক স্ক্রিনে যেকোনও উইজেটকে অনুমতি দেবেন?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"সেটিংস খুলুন"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"অফিসের অ্যাপ আনপজ করতে চান?"</string> diff --git a/packages/SystemUI/res/values-bs/strings.xml b/packages/SystemUI/res/values-bs/strings.xml index f62657907eca..93477575571e 100644 --- a/packages/SystemUI/res/values-bs/strings.xml +++ b/packages/SystemUI/res/values-bs/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Visoko"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Deblokirati mikrofon uređaja?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Deblokirati kameru uređaja?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Deblokirati kameru i mikrofon uređaja?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Uklanjanje"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Dodajte vidžet"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Gotovo"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Dodaj widgete"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Brzo pristupajte widgetima omiljenih aplikacija bez otključavanja tableta."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Dozvoliti bilo koji vidžet na zaključanom ekranu?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Otvori postavke"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Pokrenuti poslovne aplikacije?"</string> @@ -617,7 +621,7 @@ <string name="volume_panel_hint_mute" msgid="6962563028495243738">"isključivanje parametra %s"</string> <string name="volume_panel_hint_unmute" msgid="7489063242934477382">"uključivanje parametra %s"</string> <string name="media_output_label_title" msgid="872824698593182505">"Reproduciranje: <xliff:g id="LABEL">%s</xliff:g>"</string> - <string name="media_output_title_without_playing" msgid="3825663683169305013">"Zvuk će se reprod. na:"</string> + <string name="media_output_title_without_playing" msgid="3825663683169305013">"Reprodukcija zvuka na"</string> <string name="system_ui_tuner" msgid="1471348823289954729">"Podešavač za korisnički interfejs sistema"</string> <string name="status_bar" msgid="4357390266055077437">"Statusna traka"</string> <string name="demo_mode" msgid="263484519766901593">"Demo način rada Sistemskog UI-ja"</string> diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml index e4a790654a48..40532ca9f664 100644 --- a/packages/SystemUI/res/values-ca/strings.xml +++ b/packages/SystemUI/res/values-ca/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Alt"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Vols desbloquejar el micròfon del dispositiu?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Vols desbloquejar la càmera del dispositiu?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Vols desbloquejar la càmera i el micròfon del dispositiu?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Suprimeix"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Afegeix un widget"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Fet"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Afegeix widgets"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Accedeix ràpidament als teus widgets d\'aplicacions preferits sense desbloquejar la tauleta."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Vols permetre qualsevol widget a la pantalla de bloqueig?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Obre la configuració"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Reactivar les apps de treball?"</string> @@ -581,7 +585,7 @@ <string name="screen_pinning_exit" msgid="4553787518387346893">"S\'ha deixat de fixar l\'aplicació"</string> <string name="stream_voice_call" msgid="7468348170702375660">"Trucada"</string> <string name="stream_system" msgid="7663148785370565134">"Sistema"</string> - <string name="stream_ring" msgid="7550670036738697526">"To de trucada"</string> + <string name="stream_ring" msgid="7550670036738697526">"So"</string> <string name="stream_music" msgid="2188224742361847580">"Multimèdia"</string> <string name="stream_alarm" msgid="16058075093011694">"Alarma"</string> <string name="stream_notification" msgid="7930294049046243939">"Notificació"</string> diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml index 58cbbca4b42f..16c2914e32f7 100644 --- a/packages/SystemUI/res/values-cs/strings.xml +++ b/packages/SystemUI/res/values-cs/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Vysoká"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Odblokovat mikrofon zařízení?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Odblokovat fotoaparát zařízení?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Odblokovat fotoaparát a mikrofon zařízení?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Odstranit"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Přidat widget"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Hotovo"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Přidat widgety"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Získejte rychlý přístup ke svým oblíbeným widgetům aplikací bez odemykání tabletu."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Povolit jakýkoli widget na obrazovce uzamčení?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Otevřít nastavení"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Zrušit pozastavení pracovních aplikací?"</string> @@ -594,7 +598,7 @@ <string name="media_device_cast" msgid="4786241789687569892">"Odesílání"</string> <string name="stream_notification_unavailable" msgid="4313854556205836435">"Nedostupné, protože vyzvánění je ztlumené"</string> <string name="stream_alarm_unavailable" msgid="4059817189292197839">"Nedostupné, protože je zapnutý režim Nerušit"</string> - <string name="stream_media_unavailable" msgid="6823020894438959853">"Nedostupné, protože je zapnutý režim Nerušit"</string> + <string name="stream_media_unavailable" msgid="6823020894438959853">"Nedostupné – je zapnutý režim Nerušit"</string> <string name="volume_stream_content_description_unmute" msgid="7729576371406792977">"%1$s. Klepnutím zapnete zvuk."</string> <string name="volume_stream_content_description_vibrate" msgid="4858111994183089761">"%1$s. Klepnutím aktivujete režim vibrací. Služby přístupnosti mohou být ztlumeny."</string> <string name="volume_stream_content_description_mute" msgid="4079046784917920984">"%1$s. Klepnutím vypnete zvuk. Služby přístupnosti mohou být ztlumeny."</string> @@ -603,7 +607,7 @@ <string name="volume_panel_noise_control_title" msgid="7413949943872304474">"Omezení hluku"</string> <string name="volume_panel_spatial_audio_title" msgid="3367048857932040660">"Prostorový zvuk"</string> <string name="volume_panel_spatial_audio_off" msgid="4177490084606772989">"Vypnuto"</string> - <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"Pevné"</string> + <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"Pevný"</string> <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"Sledování hlavy"</string> <string name="volume_ringer_change" msgid="3574969197796055532">"Klepnutím změníte režim vyzvánění"</string> <string name="volume_ringer_hint_mute" msgid="4263821214125126614">"vypnout zvuk"</string> diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml index c0202bb1db5a..4754dbb5cdb3 100644 --- a/packages/SystemUI/res/values-da/strings.xml +++ b/packages/SystemUI/res/values-da/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Høj"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Vil du fjerne blokeringen af enhedens mikrofon?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Vil du fjerne blokeringen af enhedens kamera?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Vil du fjerne blokeringen af enhedens kamera og mikrofon?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Fjern"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Tilføj widget"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Udfør"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Tilføj widgets"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Få hurtig adgang til dine foretrukne appwidgets uden at låse din tablet op."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Vil du tillade alle widgets på låseskærmen?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Åbn Indstillinger"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Vil du genoptage arbejdsapps?"</string> @@ -581,14 +585,14 @@ <string name="screen_pinning_exit" msgid="4553787518387346893">"Appen er frigjort"</string> <string name="stream_voice_call" msgid="7468348170702375660">"Ring op"</string> <string name="stream_system" msgid="7663148785370565134">"System"</string> - <string name="stream_ring" msgid="7550670036738697526">"Ring"</string> + <string name="stream_ring" msgid="7550670036738697526">"Ringetone"</string> <string name="stream_music" msgid="2188224742361847580">"Medie"</string> <string name="stream_alarm" msgid="16058075093011694">"Alarm"</string> <string name="stream_notification" msgid="7930294049046243939">"Notifikation"</string> <string name="stream_bluetooth_sco" msgid="6234562365528664331">"Bluetooth"</string> <string name="stream_dtmf" msgid="7322536356554673067">"Tonesignalfrekvens (DTMF)"</string> <string name="stream_accessibility" msgid="3873610336741987152">"Hjælpefunktioner"</string> - <string name="volume_ringer_status_normal" msgid="1339039682222461143">"Ring"</string> + <string name="volume_ringer_status_normal" msgid="1339039682222461143">"Ringetone"</string> <string name="volume_ringer_status_vibrate" msgid="6970078708957857825">"Vibration"</string> <string name="volume_ringer_status_silent" msgid="3691324657849880883">"Slå lyden fra"</string> <string name="media_device_cast" msgid="4786241789687569892">"Cast"</string> @@ -604,7 +608,7 @@ <string name="volume_panel_spatial_audio_title" msgid="3367048857932040660">"Rumlig lyd"</string> <string name="volume_panel_spatial_audio_off" msgid="4177490084606772989">"Fra"</string> <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"Fast"</string> - <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"Reg. af hovedbevægelser"</string> + <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"Register. af hovedbevægelser"</string> <string name="volume_ringer_change" msgid="3574969197796055532">"Tryk for at ændre ringetilstand"</string> <string name="volume_ringer_hint_mute" msgid="4263821214125126614">"slå lyden fra"</string> <string name="volume_ringer_hint_unmute" msgid="6119086890306456976">"slå lyden til"</string> diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml index b8758d7efe91..2fd26bcd39b9 100644 --- a/packages/SystemUI/res/values-de/strings.xml +++ b/packages/SystemUI/res/values-de/strings.xml @@ -329,7 +329,7 @@ <string name="quick_settings_work_mode_label" msgid="6440531507319809121">"Geschäftliche Apps"</string> <string name="quick_settings_work_mode_paused_state" msgid="6681788236383735976">"Pausiert"</string> <string name="quick_settings_night_display_label" msgid="8180030659141778180">"Nachtlicht"</string> - <string name="quick_settings_night_secondary_label_on_at_sunset" msgid="3358706312129866626">"An bei Sonnenuntergang"</string> + <string name="quick_settings_night_secondary_label_on_at_sunset" msgid="3358706312129866626">"An: Sonnenuntergang"</string> <string name="quick_settings_night_secondary_label_until_sunrise" msgid="4063448287758262485">"Bis Sonnenaufgang"</string> <string name="quick_settings_night_secondary_label_on_at" msgid="3584738542293528235">"An um <xliff:g id="TIME">%s</xliff:g>"</string> <string name="quick_settings_secondary_label_until" msgid="1883981263191927372">"Bis <xliff:g id="TIME">%s</xliff:g>"</string> @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Hoch"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Blockierung des Gerätemikrofons aufheben?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Blockierung der Gerätekamera aufheben?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Blockierung von Gerätekamera und Gerätemikrofon aufheben?"</string> @@ -579,7 +585,7 @@ <string name="screen_pinning_negative" msgid="6882816864569211666">"Nein danke"</string> <string name="screen_pinning_start" msgid="7483998671383371313">"Bildschirm wurde fixiert"</string> <string name="screen_pinning_exit" msgid="4553787518387346893">"App vom Bildschirm losgelöst"</string> - <string name="stream_voice_call" msgid="7468348170702375660">"Anruf"</string> + <string name="stream_voice_call" msgid="7468348170702375660">"Anrufen"</string> <string name="stream_system" msgid="7663148785370565134">"System"</string> <string name="stream_ring" msgid="7550670036738697526">"Klingelton"</string> <string name="stream_music" msgid="2188224742361847580">"Medien"</string> @@ -594,17 +600,17 @@ <string name="media_device_cast" msgid="4786241789687569892">"Stream"</string> <string name="stream_notification_unavailable" msgid="4313854556205836435">"Nicht verfügbar, da Klingelton stumm"</string> <string name="stream_alarm_unavailable" msgid="4059817189292197839">"Nicht verfügbar, weil „Bitte nicht stören“ an ist"</string> - <string name="stream_media_unavailable" msgid="6823020894438959853">"Nicht verfügbar, weil „Bitte nicht stören“ an ist"</string> + <string name="stream_media_unavailable" msgid="6823020894438959853">"Nicht verfügbar, weil „Bitte nicht stören“ an"</string> <string name="volume_stream_content_description_unmute" msgid="7729576371406792977">"%1$s. Zum Aufheben der Stummschaltung tippen."</string> <string name="volume_stream_content_description_vibrate" msgid="4858111994183089761">"%1$s. Tippen, um Vibrieren festzulegen. Bedienungshilfen werden unter Umständen stummgeschaltet."</string> <string name="volume_stream_content_description_mute" msgid="4079046784917920984">"%1$s. Zum Stummschalten tippen. Bedienungshilfen werden unter Umständen stummgeschaltet."</string> <string name="volume_stream_content_description_vibrate_a11y" msgid="2742330052979397471">"%1$s. Zum Aktivieren der Vibration tippen."</string> <string name="volume_stream_content_description_mute_a11y" msgid="5743548478357238156">"%1$s. Zum Stummschalten tippen."</string> - <string name="volume_panel_noise_control_title" msgid="7413949943872304474">"Geräuschunterdrückung"</string> + <string name="volume_panel_noise_control_title" msgid="7413949943872304474">"Geräuschunterdrückung"</string> <string name="volume_panel_spatial_audio_title" msgid="3367048857932040660">"Spatial Audio"</string> <string name="volume_panel_spatial_audio_off" msgid="4177490084606772989">"Aus"</string> <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"Statisch"</string> - <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"Erfassung von Kopfbewegungen"</string> + <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"Erfassung von Kopfbewegungen"</string> <string name="volume_ringer_change" msgid="3574969197796055532">"Zum Ändern des Klingeltonmodus tippen"</string> <string name="volume_ringer_hint_mute" msgid="4263821214125126614">"Stummschalten"</string> <string name="volume_ringer_hint_unmute" msgid="6119086890306456976">"Aufheben der Stummschaltung"</string> diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml index 222eb2934481..0c3f0d54caad 100644 --- a/packages/SystemUI/res/values-el/strings.xml +++ b/packages/SystemUI/res/values-el/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Υψηλή"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Κατάργηση αποκλεισμού μικροφώνου συσκευής;"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Κατάργηση αποκλεισμού κάμερας συσκευής;"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Κατάργηση αποκλεισμού κάμερας και μικροφώνου συσκευής;"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Κατάργηση"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Προσθήκη γραφικού στοιχείου"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Τέλος"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Προσθήκη γραφικών στοιχείων"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Αποκτήστε γρήγορα πρόσβαση στα αγαπημένα σας γραφικά στοιχεία εφαρμογών χωρίς να ξεκλειδώσετε το tablet σας."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Να επιτρέπονται όλα τα γραφικά στοιχεία στην οθόνη κλειδώματος;"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Άνοιγμα ρυθμίσεων"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Αναίρ. παύσης εφαρμ. εργασιών;"</string> @@ -581,7 +585,7 @@ <string name="screen_pinning_exit" msgid="4553787518387346893">"Η εφαρμογή ξεκαρφιτσώθηκε."</string> <string name="stream_voice_call" msgid="7468348170702375660">"Κλήση"</string> <string name="stream_system" msgid="7663148785370565134">"Σύστημα"</string> - <string name="stream_ring" msgid="7550670036738697526">"Κλήση"</string> + <string name="stream_ring" msgid="7550670036738697526">"Ήχος κλήσης"</string> <string name="stream_music" msgid="2188224742361847580">"Μέσα"</string> <string name="stream_alarm" msgid="16058075093011694">"Ξυπνητήρι"</string> <string name="stream_notification" msgid="7930294049046243939">"Ειδοποίηση"</string> diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml index 2355e8a91140..a8848a581386 100644 --- a/packages/SystemUI/res/values-en-rAU/strings.xml +++ b/packages/SystemUI/res/values-en-rAU/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"High"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Unblock device microphone?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Unblock device camera?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Unblock device camera and microphone?"</string> diff --git a/packages/SystemUI/res/values-en-rCA/strings.xml b/packages/SystemUI/res/values-en-rCA/strings.xml index 2c39531bfbaa..4b69255b6c96 100644 --- a/packages/SystemUI/res/values-en-rCA/strings.xml +++ b/packages/SystemUI/res/values-en-rCA/strings.xml @@ -363,8 +363,10 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Standard"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Medium"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"High"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> - <skip /> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"Hearing devices"</string> + <string name="quick_settings_hearing_devices_dialog_title" msgid="9004774017688484981">"Hearing devices"</string> + <string name="quick_settings_pair_hearing_devices" msgid="5987105102207447322">"Pair new device"</string> + <string name="accessibility_hearing_device_pair_new_device" msgid="8440082580186130090">"Click to pair new device"</string> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Unblock device microphone?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Unblock device camera?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Unblock device camera and microphone?"</string> diff --git a/packages/SystemUI/res/values-en-rCA/tiles_states_strings.xml b/packages/SystemUI/res/values-en-rCA/tiles_states_strings.xml index 304abe108492..39dd7c84b13e 100644 --- a/packages/SystemUI/res/values-en-rCA/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-en-rCA/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"Off"</item> <item msgid="5137565285664080143">"On"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"Unavailable"</item> + <item msgid="3079622119444911877">"Off"</item> + <item msgid="3028994095749238254">"On"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml index 2355e8a91140..a8848a581386 100644 --- a/packages/SystemUI/res/values-en-rGB/strings.xml +++ b/packages/SystemUI/res/values-en-rGB/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"High"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Unblock device microphone?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Unblock device camera?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Unblock device camera and microphone?"</string> diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml index 2355e8a91140..a8848a581386 100644 --- a/packages/SystemUI/res/values-en-rIN/strings.xml +++ b/packages/SystemUI/res/values-en-rIN/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"High"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Unblock device microphone?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Unblock device camera?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Unblock device camera and microphone?"</string> diff --git a/packages/SystemUI/res/values-en-rXC/strings.xml b/packages/SystemUI/res/values-en-rXC/strings.xml index 26548528e070..3ed9fc5184df 100644 --- a/packages/SystemUI/res/values-en-rXC/strings.xml +++ b/packages/SystemUI/res/values-en-rXC/strings.xml @@ -363,8 +363,10 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Standard"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Medium"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"High"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> - <skip /> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"Hearing devices"</string> + <string name="quick_settings_hearing_devices_dialog_title" msgid="9004774017688484981">"Hearing devices"</string> + <string name="quick_settings_pair_hearing_devices" msgid="5987105102207447322">"Pair new device"</string> + <string name="accessibility_hearing_device_pair_new_device" msgid="8440082580186130090">"Click to pair new device"</string> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Unblock device microphone?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Unblock device camera?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Unblock device camera and microphone?"</string> diff --git a/packages/SystemUI/res/values-en-rXC/tiles_states_strings.xml b/packages/SystemUI/res/values-en-rXC/tiles_states_strings.xml index fbd6d1160717..35ab88b202de 100644 --- a/packages/SystemUI/res/values-en-rXC/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-en-rXC/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"Off"</item> <item msgid="5137565285664080143">"On"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"Unavailable"</item> + <item msgid="3079622119444911877">"Off"</item> + <item msgid="3028994095749238254">"On"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml index 709238353e2e..3755fb6fde5a 100644 --- a/packages/SystemUI/res/values-es-rUS/strings.xml +++ b/packages/SystemUI/res/values-es-rUS/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Alto"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"¿Quieres desbloquear el micrófono del dispositivo?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"¿Quieres desbloquear la cámara del dispositivo?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"¿Quieres desbloquear la cámara y el micrófono del dispositivo?"</string> diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml index bccf20bd349c..01afa2903bf6 100644 --- a/packages/SystemUI/res/values-es/strings.xml +++ b/packages/SystemUI/res/values-es/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Alto"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"¿Desbloquear el micrófono del dispositivo?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"¿Desbloquear la cámara del dispositivo?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"¿Desbloquear la cámara y el micrófono del dispositivo?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Quitar"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Añadir widget"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Hecho"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Añadir widgets"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Accede rápidamente a los widgets de tus aplicaciones favoritas sin desbloquear la tablet."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"¿Permitir cualquier widget en la pantalla de bloqueo?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Abrir ajustes"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"¿Reactivar apps de trabajo?"</string> diff --git a/packages/SystemUI/res/values-et/strings.xml b/packages/SystemUI/res/values-et/strings.xml index b25fa06fb0b8..52cbb0f56b2c 100644 --- a/packages/SystemUI/res/values-et/strings.xml +++ b/packages/SystemUI/res/values-et/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Kõrge"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Kas tühistada seadme mikrofoni blokeerimine?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Kas tühistada seadme kaamera blokeerimine?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Kas tühistada seadme kaamera ja mikrofoni blokeerimine?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Eemalda"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Lisa vidin"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Valmis"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Vidinate lisamine"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Pääsege kiiresti juurde rakenduse lemmikvidinatele ilma tahvelarvutit avamata."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Kas lubada lukustuskuval kõik vidinad?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Ava seaded"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Kas lõpetada töörakenduste peatamine?"</string> diff --git a/packages/SystemUI/res/values-eu/strings.xml b/packages/SystemUI/res/values-eu/strings.xml index 87c68ff400dc..b0056f655ee1 100644 --- a/packages/SystemUI/res/values-eu/strings.xml +++ b/packages/SystemUI/res/values-eu/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Altua"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Gailuaren mikrofonoa desblokeatu nahi duzu?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Gailuaren kamera desblokeatu nahi duzu?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Gailuaren kamera eta mikrofonoa desblokeatu nahi dituzu?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Kendu"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Gehitu widget bat"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Eginda"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Gehitu widgetak"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Atzitu gogoko aplikazioen widgetak bizkor, tableta desblokeatu gabe."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Pantaila blokeatuan edozein widget erakusteko baimena eman nahi duzu?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Ireki ezarpenak"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Laneko aplikazioak berraktibatu?"</string> diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml index cc979794bc35..de97db354f37 100644 --- a/packages/SystemUI/res/values-fa/strings.xml +++ b/packages/SystemUI/res/values-fa/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"بالا"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"میکروفون دستگاه لغو انسداد شود؟"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"دوربین دستگاه لغو انسداد شود؟"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"دوربین و میکروفون دستگاه لغو انسداد شود؟"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"برداشتن"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"افزودن ابزارک"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"تمام"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"افزودن ابزارکها"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"بدون باز کردن قفل رایانه لوحی، به ابزارک برنامههای دلخواهتان فوراً دسترسی پیدا کنید."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"هر نوع ابزارکی در صفحه قفل مجاز شود؟"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"باز کردن تنظیمات"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"مکث برنامههای کاری لغو شود؟"</string> @@ -617,7 +621,7 @@ <string name="volume_panel_hint_mute" msgid="6962563028495243738">"بیصدا کردن %s"</string> <string name="volume_panel_hint_unmute" msgid="7489063242934477382">"باصدا کردن %s"</string> <string name="media_output_label_title" msgid="872824698593182505">"درحال پخش <xliff:g id="LABEL">%s</xliff:g> در"</string> - <string name="media_output_title_without_playing" msgid="3825663683169305013">"صدا پخش میشود در"</string> + <string name="media_output_title_without_playing" msgid="3825663683169305013">"صدا در این دستگاه پخش میشود:"</string> <string name="system_ui_tuner" msgid="1471348823289954729">"تنظیمکننده واسط کاربری سیستم"</string> <string name="status_bar" msgid="4357390266055077437">"نوار وضعیت"</string> <string name="demo_mode" msgid="263484519766901593">"حالت نمایشی واسط کاربری سیستم"</string> diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml index 33d0776c7418..55413a01695e 100644 --- a/packages/SystemUI/res/values-fi/strings.xml +++ b/packages/SystemUI/res/values-fi/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Suuri"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Kumotaanko laitteen mikrofonin esto?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Kumotaanko laitteen kameran esto?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Kumotaanko laitteen kameran ja mikrofonin esto?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Poista"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Lisää widget"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Valmis"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Lisää widgetejä"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Pääset nopeasti tuttuihin sovelluswidgeteihin avaamatta tabletin lukitusta."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Sallitaanko kaikki widgetit lukitusnäytöllä?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Avaa asetukset"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Laita työsovellukset päälle?"</string> diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml index be65bf5b1f85..272e00e5c7b3 100644 --- a/packages/SystemUI/res/values-fr-rCA/strings.xml +++ b/packages/SystemUI/res/values-fr-rCA/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Élevé"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Débloquer le microphone de l\'appareil?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Débloquer l\'appareil photo de l\'appareil?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Débloquer l\'appareil photo et le microphone?"</string> diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml index 983a41cd67bb..41f9249c0fbc 100644 --- a/packages/SystemUI/res/values-fr/strings.xml +++ b/packages/SystemUI/res/values-fr/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Élevé"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Débloquer le micro de l\'appareil ?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Débloquer la caméra de l\'appareil ?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Débloquer l\'appareil photo et le micro de l\'appareil ?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Supprimer"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Ajouter un widget"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"OK"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Ajouter des widgets"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Accéder rapidement aux widgets de vos applis préférées sans déverrouiller votre tablette."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Autoriser n\'importe quel widget sur l\'écran de verrouillage ?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Ouvrir les paramètres"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Réactiver les applis pro ?"</string> @@ -604,7 +608,7 @@ <string name="volume_panel_spatial_audio_title" msgid="3367048857932040660">"Son spatial"</string> <string name="volume_panel_spatial_audio_off" msgid="4177490084606772989">"Désactivé"</string> <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"Activé"</string> - <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"Suivi des mouvements de la tête"</string> + <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"Suivi de la tête"</string> <string name="volume_ringer_change" msgid="3574969197796055532">"Appuyez pour changer le mode de la sonnerie"</string> <string name="volume_ringer_hint_mute" msgid="4263821214125126614">"couper le son"</string> <string name="volume_ringer_hint_unmute" msgid="6119086890306456976">"réactiver le son"</string> diff --git a/packages/SystemUI/res/values-gl/strings.xml b/packages/SystemUI/res/values-gl/strings.xml index d853b128eefd..189f048a5c17 100644 --- a/packages/SystemUI/res/values-gl/strings.xml +++ b/packages/SystemUI/res/values-gl/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Nivel alto"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Queres desbloquear o micrófono do dispositivo?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Queres desbloquear a cámara do dispositivo?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Queres desbloquear a cámara e o micrófono do dispositivo?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Quitar"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Engadir widget"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Feito"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Engadir widgets"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Accede rapidamente aos widgets das túas aplicacións favoritas sen desbloquear a tableta."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Queres permitir calquera widget na pantalla de bloqueo?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Abrir configuración"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Reactivar apps do traballo?"</string> @@ -581,7 +585,7 @@ <string name="screen_pinning_exit" msgid="4553787518387346893">"Deixouse de fixar a aplicación"</string> <string name="stream_voice_call" msgid="7468348170702375660">"Chamada"</string> <string name="stream_system" msgid="7663148785370565134">"Sistema"</string> - <string name="stream_ring" msgid="7550670036738697526">"Ton"</string> + <string name="stream_ring" msgid="7550670036738697526">"Son"</string> <string name="stream_music" msgid="2188224742361847580">"Multimedia"</string> <string name="stream_alarm" msgid="16058075093011694">"Alarma"</string> <string name="stream_notification" msgid="7930294049046243939">"Notificación"</string> @@ -592,9 +596,9 @@ <string name="volume_ringer_status_vibrate" msgid="6970078708957857825">"Vibrar"</string> <string name="volume_ringer_status_silent" msgid="3691324657849880883">"Silenciar"</string> <string name="media_device_cast" msgid="4786241789687569892">"Emitir"</string> - <string name="stream_notification_unavailable" msgid="4313854556205836435">"Non dispoñible (o son está silenciado)"</string> - <string name="stream_alarm_unavailable" msgid="4059817189292197839">"Non dispoñible porque está activado Non molestar"</string> - <string name="stream_media_unavailable" msgid="6823020894438959853">"Non dispoñible porque está activado Non molestar"</string> + <string name="stream_notification_unavailable" msgid="4313854556205836435">"Non dispoñible: o son está silenciado"</string> + <string name="stream_alarm_unavailable" msgid="4059817189292197839">"Non dispoñible: Non molestar está activado"</string> + <string name="stream_media_unavailable" msgid="6823020894438959853">"Non dispoñible: Non molestar está activado"</string> <string name="volume_stream_content_description_unmute" msgid="7729576371406792977">"%1$s. Toca para activar o son."</string> <string name="volume_stream_content_description_vibrate" msgid="4858111994183089761">"%1$s. Toca para establecer a vibración. Pódense silenciar os servizos de accesibilidade."</string> <string name="volume_stream_content_description_mute" msgid="4079046784917920984">"%1$s. Toca para silenciar. Pódense silenciar os servizos de accesibilidade."</string> @@ -617,7 +621,7 @@ <string name="volume_panel_hint_mute" msgid="6962563028495243738">"silenciar %s"</string> <string name="volume_panel_hint_unmute" msgid="7489063242934477382">"activar o son de %s"</string> <string name="media_output_label_title" msgid="872824698593182505">"Reproducindo <xliff:g id="LABEL">%s</xliff:g> en"</string> - <string name="media_output_title_without_playing" msgid="3825663683169305013">"Audio reproducido en"</string> + <string name="media_output_title_without_playing" msgid="3825663683169305013">"Reproducirase en"</string> <string name="system_ui_tuner" msgid="1471348823289954729">"Configurador da IU do sistema"</string> <string name="status_bar" msgid="4357390266055077437">"Barra de estado"</string> <string name="demo_mode" msgid="263484519766901593">"Modo de demostración da IU do sistema"</string> diff --git a/packages/SystemUI/res/values-gu/strings.xml b/packages/SystemUI/res/values-gu/strings.xml index 7ef77fda1cee..54312e159c62 100644 --- a/packages/SystemUI/res/values-gu/strings.xml +++ b/packages/SystemUI/res/values-gu/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"વધુ"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"ડિવાઇસના માઇક્રોફોનને અનબ્લૉક કરીએ?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"ડિવાઇસના કૅમેરાને અનબ્લૉક કરીએ?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"ડિવાઇસના કૅમેરા અને માઇક્રોફોનને અનબ્લૉક કરીએ?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"કાઢી નાખો"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"વિજેટ ઉમેરો"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"થઈ ગયું"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"વિજેટ ઉમેરો"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"તમારું ટૅબ્લેટ અનલૉક કર્યા વિના તમારા મનપસંદ ઍપ વિજેટનો ઝડપી ઍક્સેસ મેળવો."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"લૉક સ્ક્રીન પર કોઈપણ વિજેટને મંજૂરી આપીએ?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"સેટિંગ ખોલો"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"ઑફિસની થોભાવેલી ઍપ ચાલુ કરીએ?"</string> @@ -602,9 +606,9 @@ <string name="volume_stream_content_description_mute_a11y" msgid="5743548478357238156">"%1$s. મ્યૂટ કરવા માટે ટૅપ કરો."</string> <string name="volume_panel_noise_control_title" msgid="7413949943872304474">"અવાજનું નિયંત્રણ"</string> <string name="volume_panel_spatial_audio_title" msgid="3367048857932040660">"સ્પેશલ ઑડિયો"</string> - <string name="volume_panel_spatial_audio_off" msgid="4177490084606772989">"બંધ કરો"</string> + <string name="volume_panel_spatial_audio_off" msgid="4177490084606772989">"બંધ"</string> <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"ફિક્સ્ડ"</string> - <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"હેડ ટ્રૅકિંગ"</string> + <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"હૅડ ટ્રૅકિંગ"</string> <string name="volume_ringer_change" msgid="3574969197796055532">"રિંગર મોડ બદલવા માટે ટૅપ કરો"</string> <string name="volume_ringer_hint_mute" msgid="4263821214125126614">"મ્યૂટ કરો"</string> <string name="volume_ringer_hint_unmute" msgid="6119086890306456976">"અનમ્યૂટ કરો"</string> diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml index 6a7328b2f041..ee3e40b7f6ac 100644 --- a/packages/SystemUI/res/values-hi/strings.xml +++ b/packages/SystemUI/res/values-hi/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"ज़्यादा"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"क्या आपको डिवाइस का माइक्रोफ़ोन अनब्लॉक करना है?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"क्या आपको डिवाइस का कैमरा अनब्लॉक करना है?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"क्या आप डिवाइस का कैमरा और माइक्रोफ़ोन अनब्लॉक करना चाहते हैं?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"हटाएं"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"विजेट जोड़ें"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"हो गया"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"विजेट जोड़ें"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"अपने टैबलेट को अनलॉक किए बिना, अपने पसंदीदा ऐप्लिकेशन विजेट को तुरंत ऐक्सेस करें."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"लॉक स्क्रीन पर किसी भी विजेट को अनुमति देनी है?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"सेटिंग खोलें"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"वर्क ऐप्लिकेशन चालू करने हैं?"</string> @@ -581,7 +585,7 @@ <string name="screen_pinning_exit" msgid="4553787518387346893">"ऐप्लिकेशन अनपिन किया गया"</string> <string name="stream_voice_call" msgid="7468348170702375660">"कॉल करें"</string> <string name="stream_system" msgid="7663148785370565134">"सिस्टम"</string> - <string name="stream_ring" msgid="7550670036738697526">"घंटी बजाएं"</string> + <string name="stream_ring" msgid="7550670036738697526">"रिंग"</string> <string name="stream_music" msgid="2188224742361847580">"मीडिया"</string> <string name="stream_alarm" msgid="16058075093011694">"अलार्म"</string> <string name="stream_notification" msgid="7930294049046243939">"सूचना"</string> @@ -592,9 +596,9 @@ <string name="volume_ringer_status_vibrate" msgid="6970078708957857825">"वाइब्रेशन"</string> <string name="volume_ringer_status_silent" msgid="3691324657849880883">"आवाज़ बंद है"</string> <string name="media_device_cast" msgid="4786241789687569892">"कास्ट करें"</string> - <string name="stream_notification_unavailable" msgid="4313854556205836435">"रिंग म्यूट होने से आवाज़ नहीं सुनाई दी"</string> + <string name="stream_notification_unavailable" msgid="4313854556205836435">"आवाज़ नहीं आएगी, क्योंकि रिंग म्यूट है"</string> <string name="stream_alarm_unavailable" msgid="4059817189292197839">"सुविधा बंद है, क्योंकि \'परेशान न करें\' मोड चालू है"</string> - <string name="stream_media_unavailable" msgid="6823020894438959853">"सुविधा बंद है, क्योंकि \'परेशान न करें\' मोड चालू है"</string> + <string name="stream_media_unavailable" msgid="6823020894438959853">"आवाज़ बंद है, क्योंकि \'परेशान न करें\' मोड चालू है"</string> <string name="volume_stream_content_description_unmute" msgid="7729576371406792977">"%1$s. अनम्यूट करने के लिए टैप करें."</string> <string name="volume_stream_content_description_vibrate" msgid="4858111994183089761">"%1$s. कंपन पर सेट करने के लिए टैप करें. सुलभता सेवाएं म्यूट हो सकती हैं."</string> <string name="volume_stream_content_description_mute" msgid="4079046784917920984">"%1$s. म्यूट करने के लिए टैप करें. सुलभता सेवाएं म्यूट हो सकती हैं."</string> @@ -602,9 +606,9 @@ <string name="volume_stream_content_description_mute_a11y" msgid="5743548478357238156">"%1$s. म्यूट करने के लिए टैप करें."</string> <string name="volume_panel_noise_control_title" msgid="7413949943872304474">"शोर को कंट्रोल करने की सुविधा"</string> <string name="volume_panel_spatial_audio_title" msgid="3367048857932040660">"स्पेशल ऑडियो"</string> - <string name="volume_panel_spatial_audio_off" msgid="4177490084606772989">"बंद करें"</string> - <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"चालू करें"</string> - <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"सिर हिलना ट्रैक करें"</string> + <string name="volume_panel_spatial_audio_off" msgid="4177490084606772989">"बंद है"</string> + <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"चालू है"</string> + <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"हेड ट्रैकिंग चालू है"</string> <string name="volume_ringer_change" msgid="3574969197796055532">"रिंगर मोड बदलने के लिए टैप करें"</string> <string name="volume_ringer_hint_mute" msgid="4263821214125126614">"म्यूट करें"</string> <string name="volume_ringer_hint_unmute" msgid="6119086890306456976">"अनम्यूट करें"</string> diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml index fb9d53a17acd..a1d885a30991 100644 --- a/packages/SystemUI/res/values-hr/strings.xml +++ b/packages/SystemUI/res/values-hr/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Visoki"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Želite li deblokirati mikrofon uređaja?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Želite li deblokirati kameru uređaja?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Želite li deblokirati kameru i mikrofon uređaja?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Ukloni"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Dodaj widget"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Gotovo"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Dodaj widgete"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Brzo pristupajte widgetima omiljenih aplikacija bez otključavanja tableta."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Želite li dopustiti bilo koji widget na zaključanom zaslonu?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Otvori postavke"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Pokrenuti poslovne aplikacije?"</string> @@ -603,7 +607,7 @@ <string name="volume_panel_noise_control_title" msgid="7413949943872304474">"Kontrola buke"</string> <string name="volume_panel_spatial_audio_title" msgid="3367048857932040660">"Prostorni zvuk"</string> <string name="volume_panel_spatial_audio_off" msgid="4177490084606772989">"Isključeno"</string> - <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"Otklonjeno"</string> + <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"Fiksno"</string> <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"Praćenje glave"</string> <string name="volume_ringer_change" msgid="3574969197796055532">"Dodirnite da biste promijenili način softvera zvona"</string> <string name="volume_ringer_hint_mute" msgid="4263821214125126614">"isključivanje zvuka"</string> @@ -665,7 +669,7 @@ <string name="notification_automatic_title" msgid="3745465364578762652">"Automatski"</string> <string name="notification_channel_summary_low" msgid="4860617986908931158">"Bez zvuka ili vibracije"</string> <string name="notification_conversation_summary_low" msgid="1734433426085468009">"Bez zvuka ili vibracije i prikazuje se pri dnu odjeljka razgovora"</string> - <string name="notification_channel_summary_default" msgid="777294388712200605">"Možda će zvoniti ili vibrirati, ovisno o postavkama uređaja"</string> + <string name="notification_channel_summary_default" msgid="777294388712200605">"Može zvoniti ili vibrirati ovisno o postavkama uređaja"</string> <string name="notification_channel_summary_default_with_bubbles" msgid="3482483084451555344">"Možda će zvoniti ili vibrirati, ovisno o postavkama uređaja. Razgovori iz aplikacije <xliff:g id="APP_NAME">%1$s</xliff:g> prikazuju se u oblačiću prema zadanim postavkama."</string> <string name="notification_channel_summary_automatic" msgid="5813109268050235275">"Neka sustav odredi treba li obavijest najaviti zvukom ili vibracijom"</string> <string name="notification_channel_summary_automatic_alerted" msgid="954166812246932240">"<b>Status:</b> promaknuta u zadanu"</string> diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml index 224ed28f82c4..baea2404664e 100644 --- a/packages/SystemUI/res/values-hu/strings.xml +++ b/packages/SystemUI/res/values-hu/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Nagy"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Feloldja az eszköz mikrofonjának letiltását?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Feloldja az eszköz kamerájának letiltását?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Feloldja az eszköz kamerájának és mikrofonjának letiltását?"</string> diff --git a/packages/SystemUI/res/values-hy/strings.xml b/packages/SystemUI/res/values-hy/strings.xml index 5750db13bcab..3f88746abf4c 100644 --- a/packages/SystemUI/res/values-hy/strings.xml +++ b/packages/SystemUI/res/values-hy/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Բարձր"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Արգելահանե՞լ սարքի խոսափողը"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Արգելահանե՞լ սարքի տեսախցիկը"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Արգելահանե՞լ սարքի տեսախցիկը և խոսափողը"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Հեռացնել"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Ավելացնել վիջեթ"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Պատրաստ է"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Ավելացնել վիջեթներ"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Արագ բացեք հավելվածների ձեր սիրելի վիջեթները առանց ապակողպելու պլանշետը։"</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Թույլատրե՞լ վիջեթների ցուցադրումը կողպէկրանին"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Բացել կարգավորումները"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Վերսկսե՞լ աշխ. հավելվածները"</string> diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml index 1f6e5b035253..0b07a32d7017 100644 --- a/packages/SystemUI/res/values-in/strings.xml +++ b/packages/SystemUI/res/values-in/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Tinggi"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Berhenti memblokir mikrofon perangkat?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Berhenti memblokir kamera perangkat?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Berhenti memblokir kamera dan mikrofon perangkat?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Hapus"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Tambahkan widget"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Selesai"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Tambahkan widget"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Dapatkan akses cepat ke widget aplikasi favorit Anda tanpa perlu membuka kunci tablet."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Izinkan widget di layar kunci?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Buka setelan"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Batalkan jeda aplikasi kerja?"</string> @@ -592,9 +596,9 @@ <string name="volume_ringer_status_vibrate" msgid="6970078708957857825">"Getar"</string> <string name="volume_ringer_status_silent" msgid="3691324657849880883">"Nonaktifkan"</string> <string name="media_device_cast" msgid="4786241789687569892">"Transmisi"</string> - <string name="stream_notification_unavailable" msgid="4313854556205836435">"Tidak tersedia karena volume dering dibisukan"</string> - <string name="stream_alarm_unavailable" msgid="4059817189292197839">"Tidak tersedia karena fitur Jangan Ganggu aktif"</string> - <string name="stream_media_unavailable" msgid="6823020894438959853">"Tidak tersedia karena fitur Jangan Ganggu aktif"</string> + <string name="stream_notification_unavailable" msgid="4313854556205836435">"Tidak tersedia - Volume dering dibisukan"</string> + <string name="stream_alarm_unavailable" msgid="4059817189292197839">"Tidak tersedia - Fitur Jangan Ganggu aktif"</string> + <string name="stream_media_unavailable" msgid="6823020894438959853">"Tidak tersedia - Fitur Jangan Ganggu aktif"</string> <string name="volume_stream_content_description_unmute" msgid="7729576371406792977">"%1$s. Ketuk untuk menyuarakan."</string> <string name="volume_stream_content_description_vibrate" msgid="4858111994183089761">"%1$s. Ketuk untuk menyetel agar bergetar. Layanan aksesibilitas mungkin dibisukan."</string> <string name="volume_stream_content_description_mute" msgid="4079046784917920984">"%1$s. Ketuk untuk membisukan. Layanan aksesibilitas mungkin dibisukan."</string> @@ -672,10 +676,10 @@ <string name="notification_channel_summary_automatic_silenced" msgid="7403004439649872047">"<b>Status:</b> Didemosikan menjadi Senyap"</string> <string name="notification_channel_summary_automatic_promoted" msgid="1301710305149590426">"<b>Status:</b> Diberi Peringkat Lebih Tinggi"</string> <string name="notification_channel_summary_automatic_demoted" msgid="1831303964660807700">"<b>Status:</b> Diberi Peringkat Lebih Rendah"</string> - <string name="notification_channel_summary_priority_baseline" msgid="46674690072551234">"Muncul di atas notifikasi percakapan dan sebagai foto profil di layar kunci"</string> - <string name="notification_channel_summary_priority_bubble" msgid="1275413109619074576">"Muncul di atas notifikasi percakapan dan sebagai foto profil di layar kunci, ditampilkan sebagai balon"</string> - <string name="notification_channel_summary_priority_dnd" msgid="6665395023264154361">"Muncul di atas notifikasi percakapan dan sebagai foto profil di layar kunci, mengganggu mode Jangan Ganggu"</string> - <string name="notification_channel_summary_priority_all" msgid="7151752959650048285">"Muncul di atas notifikasi percakapan dan sebagai foto profil di layar kunci, ditampilkan sebagai balon, mengganggu mode Jangan Ganggu"</string> + <string name="notification_channel_summary_priority_baseline" msgid="46674690072551234">"Muncul teratas di notifikasi percakapan dan sebagai foto profil di layar kunci"</string> + <string name="notification_channel_summary_priority_bubble" msgid="1275413109619074576">"Muncul teratas di notifikasi percakapan dan sebagai foto profil di layar kunci, ditampilkan sebagai balon"</string> + <string name="notification_channel_summary_priority_dnd" msgid="6665395023264154361">"Muncul teratas di notifikasi percakapan dan sebagai foto profil di layar kunci, menimpa mode Jangan Ganggu"</string> + <string name="notification_channel_summary_priority_all" msgid="7151752959650048285">"Muncul teratas di notifikasi percakapan dan sebagai foto profil di layar kunci, ditampilkan sebagai balon, menimpa mode Jangan Ganggu"</string> <string name="notification_priority_title" msgid="2079708866333537093">"Prioritas"</string> <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> tidak mendukung fitur percakapan"</string> <string name="notification_unblockable_desc" msgid="2073030886006190804">"Notifikasi ini tidak dapat diubah."</string> @@ -1121,7 +1125,7 @@ <string name="basic_status" msgid="2315371112182658176">"Membuka percakapan"</string> <string name="select_conversation_title" msgid="6716364118095089519">"Widget Percakapan"</string> <string name="select_conversation_text" msgid="3376048251434956013">"Ketuk percakapan untuk menambahkannya ke Layar utama"</string> - <string name="no_conversations_text" msgid="5354115541282395015">"Percakapan terbaru Anda akan ditampilkan di sini"</string> + <string name="no_conversations_text" msgid="5354115541282395015">"Percakapan terbaru akan muncul di sini"</string> <string name="priority_conversations" msgid="3967482288896653039">"Percakapan prioritas"</string> <string name="recent_conversations" msgid="8531874684782574622">"Percakapan terbaru"</string> <string name="days_timestamp" msgid="5821854736213214331">"<xliff:g id="DURATION">%1$s</xliff:g> hari lalu"</string> diff --git a/packages/SystemUI/res/values-is/strings.xml b/packages/SystemUI/res/values-is/strings.xml index aafd70c44fb8..56ea0d50705a 100644 --- a/packages/SystemUI/res/values-is/strings.xml +++ b/packages/SystemUI/res/values-is/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Mikið"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Opna fyrir hljóðnema tækisins?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Opna fyrir myndavél tækisins?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Opna fyrir myndavél og hljóðnema tækisins?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Fjarlægja"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Bæta græju við"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Lokið"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Bæta við græjum"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Fáðu skjótan aðgang að eftirlætis forritagræjunum án þess að taka spjaldtölvuna úr lás."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Leyfa allar græjur á lásskjá?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Opna stillingar"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Ljúka hléi vinnuforrita?"</string> @@ -593,8 +597,8 @@ <string name="volume_ringer_status_silent" msgid="3691324657849880883">"Hljóð af"</string> <string name="media_device_cast" msgid="4786241789687569892">"Senda út"</string> <string name="stream_notification_unavailable" msgid="4313854556205836435">"Ekki í boði þar sem hringing er þögguð"</string> - <string name="stream_alarm_unavailable" msgid="4059817189292197839">"Ekki í boði vegna þess að kveikt er á „Ónáðið ekki“"</string> - <string name="stream_media_unavailable" msgid="6823020894438959853">"Ekki í boði vegna þess að kveikt er á „Ónáðið ekki“"</string> + <string name="stream_alarm_unavailable" msgid="4059817189292197839">"Ekki í boði því að kveikt er á „Ónáðið ekki“"</string> + <string name="stream_media_unavailable" msgid="6823020894438959853">"Ekki í boði því að kveikt er á „Ónáðið ekki“"</string> <string name="volume_stream_content_description_unmute" msgid="7729576371406792977">"%1$s. Ýttu til að hætta að þagga."</string> <string name="volume_stream_content_description_vibrate" msgid="4858111994183089761">"%1$s. Ýttu til að stilla á titring. Hugsanlega verður slökkt á hljóði aðgengisþjónustu."</string> <string name="volume_stream_content_description_mute" msgid="4079046784917920984">"%1$s. Ýttu til að þagga. Hugsanlega verður slökkt á hljóði aðgengisþjónustu."</string> diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml index 52346411c46e..08f07efb07c8 100644 --- a/packages/SystemUI/res/values-it/strings.xml +++ b/packages/SystemUI/res/values-it/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Standard"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Medio"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"Alto"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"Apparecchi acustici"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Vuoi sbloccare il microfono del dispositivo?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Vuoi sbloccare la fotocamera del dispositivo?"</string> @@ -442,10 +447,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Rimuovi"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Aggiungi widget"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Fine"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Aggiungi widget"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Accedi rapidamente ai widget delle tue app preferite senza sbloccare il tablet."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Consentire tutti i widget nella schermata di blocco?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Apri impostazioni"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Riattivare le app di lavoro?"</string> @@ -582,7 +585,7 @@ <string name="stream_voice_call" msgid="7468348170702375660">"Chiamata"</string> <string name="stream_system" msgid="7663148785370565134">"Sistema"</string> <string name="stream_ring" msgid="7550670036738697526">"Suoneria"</string> - <string name="stream_music" msgid="2188224742361847580">"Supporti multimediali"</string> + <string name="stream_music" msgid="2188224742361847580">"Contenuti multimediali"</string> <string name="stream_alarm" msgid="16058075093011694">"Sveglia"</string> <string name="stream_notification" msgid="7930294049046243939">"Notifica"</string> <string name="stream_bluetooth_sco" msgid="6234562365528664331">"Bluetooth"</string> @@ -594,7 +597,7 @@ <string name="media_device_cast" msgid="4786241789687569892">"Trasmissione"</string> <string name="stream_notification_unavailable" msgid="4313854556205836435">"Non disponibile con l\'audio disattivato"</string> <string name="stream_alarm_unavailable" msgid="4059817189292197839">"Non disponibile: modalità Non disturbare attiva"</string> - <string name="stream_media_unavailable" msgid="6823020894438959853">"Non disponibile: modalità Non disturbare attiva"</string> + <string name="stream_media_unavailable" msgid="6823020894438959853">"Non disponibili con \"Non disturbare\" attiva"</string> <string name="volume_stream_content_description_unmute" msgid="7729576371406792977">"%1$s. Tocca per riattivare l\'audio."</string> <string name="volume_stream_content_description_vibrate" msgid="4858111994183089761">"%1$s. Tocca per attivare la vibrazione. L\'audio dei servizi di accessibilità può essere disattivato."</string> <string name="volume_stream_content_description_mute" msgid="4079046784917920984">"%1$s. Tocca per disattivare l\'audio. L\'audio dei servizi di accessibilità può essere disattivato."</string> diff --git a/packages/SystemUI/res/values-it/tiles_states_strings.xml b/packages/SystemUI/res/values-it/tiles_states_strings.xml index 7ffd71c3ddf1..aa76983ee211 100644 --- a/packages/SystemUI/res/values-it/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-it/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"Off"</item> <item msgid="5137565285664080143">"On"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"Non disponibile"</item> + <item msgid="3079622119444911877">"Off"</item> + <item msgid="3028994095749238254">"On"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml index 619eaf361128..24ec7853c399 100644 --- a/packages/SystemUI/res/values-iw/strings.xml +++ b/packages/SystemUI/res/values-iw/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"גבוהה"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"לבטל את חסימת המיקרופון של המכשיר?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"לבטל את חסימת המצלמה של המכשיר?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"לבטל את חסימת המצלמה והמיקרופון של המכשיר?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"הסרה"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"הוספת ווידג\'ט"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"סיום"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"הוספת ווידג\'טים"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"קבלת גישה מהירה לווידג\'טים של האפליקציות המועדפות עליך בלי לבטל את נעילת הטאבלט."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"לאפשר להציג כל ווידג\'ט במסך הנעילה?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"לפתיחת ההגדרות"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"להפעיל את האפליקציות לעבודה?"</string> @@ -600,7 +604,7 @@ <string name="volume_stream_content_description_mute" msgid="4079046784917920984">"%1$s. יש להקיש כדי להשתיק. ייתכן ששירותי הנגישות יושתקו."</string> <string name="volume_stream_content_description_vibrate_a11y" msgid="2742330052979397471">"%1$s. יש להקיש כדי להעביר למצב רטט."</string> <string name="volume_stream_content_description_mute_a11y" msgid="5743548478357238156">"%1$s. יש להקיש כדי להשתיק."</string> - <string name="volume_panel_noise_control_title" msgid="7413949943872304474">"בקרת הרעש"</string> + <string name="volume_panel_noise_control_title" msgid="7413949943872304474">"בקרת רעש"</string> <string name="volume_panel_spatial_audio_title" msgid="3367048857932040660">"אודיו מרחבי"</string> <string name="volume_panel_spatial_audio_off" msgid="4177490084606772989">"השבתה"</string> <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"מצב קבוע"</string> diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml index 438fce63a431..6e2ca403392a 100644 --- a/packages/SystemUI/res/values-ja/strings.xml +++ b/packages/SystemUI/res/values-ja/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"標準"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"中"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"高"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"補聴器"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"デバイスのマイクのブロックを解除しますか?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"デバイスのカメラのブロックを解除しますか?"</string> @@ -442,10 +447,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"削除"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"ウィジェットを追加"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"完了"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"ウィジェットを追加"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"タブレットのロックを解除せずにお気に入りのアプリ ウィジェットにすばやくアクセスできます。"</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"ロック画面でのウィジェットを許可しますか?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"設定を開く"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"仕事用アプリの停止解除"</string> @@ -663,7 +666,7 @@ <string name="notification_silence_title" msgid="8608090968400832335">"サイレント"</string> <string name="notification_alert_title" msgid="3656229781017543655">"デフォルト"</string> <string name="notification_automatic_title" msgid="3745465364578762652">"自動"</string> - <string name="notification_channel_summary_low" msgid="4860617986908931158">"着信音もバイブレーションも無効になります"</string> + <string name="notification_channel_summary_low" msgid="4860617986908931158">"着信音もバイブレーションも OFF になります"</string> <string name="notification_conversation_summary_low" msgid="1734433426085468009">"着信音もバイブレーションも無効になり会話セクションの下に表示されます"</string> <string name="notification_channel_summary_default" msgid="777294388712200605">"デバイスの設定を基に着信音またはバイブレーションが有効になります"</string> <string name="notification_channel_summary_default_with_bubbles" msgid="3482483084451555344">"デバイスの設定を基に着信音またはバイブレーションが有効になります。デフォルトでは <xliff:g id="APP_NAME">%1$s</xliff:g> からの会話がふきだしで表示されます。"</string> diff --git a/packages/SystemUI/res/values-ja/tiles_states_strings.xml b/packages/SystemUI/res/values-ja/tiles_states_strings.xml index 52aef897f288..790445c93c14 100644 --- a/packages/SystemUI/res/values-ja/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-ja/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"OFF"</item> <item msgid="5137565285664080143">"ON"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"使用不可"</item> + <item msgid="3079622119444911877">"OFF"</item> + <item msgid="3028994095749238254">"ON"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-ka/strings.xml b/packages/SystemUI/res/values-ka/strings.xml index 799fb9c90aba..b2295f324a45 100644 --- a/packages/SystemUI/res/values-ka/strings.xml +++ b/packages/SystemUI/res/values-ka/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"სტანდარტული"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"საშუალო"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"მაღალი"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"სმენის აპარატები"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"გსურთ მოწყობილობის მიკროფონის განბლოკვა?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"გსურთ მოწყობილობის კამერის განბლოკვა?"</string> @@ -602,7 +607,7 @@ <string name="volume_panel_spatial_audio_title" msgid="3367048857932040660">"სივრცითი აუდიო"</string> <string name="volume_panel_spatial_audio_off" msgid="4177490084606772989">"გამორთული"</string> <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"ფიქსირებული"</string> - <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"თავის მოძრ. თვალყურის დევნა"</string> + <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"ხმის მიდევნებით"</string> <string name="volume_ringer_change" msgid="3574969197796055532">"შეეხეთ მრეკავის რეჟიმის შესაცვლელად"</string> <string name="volume_ringer_hint_mute" msgid="4263821214125126614">"დადუმება"</string> <string name="volume_ringer_hint_unmute" msgid="6119086890306456976">"დადუმების მოხსნა"</string> diff --git a/packages/SystemUI/res/values-ka/tiles_states_strings.xml b/packages/SystemUI/res/values-ka/tiles_states_strings.xml index aae98baa9c5d..21f8102036c9 100644 --- a/packages/SystemUI/res/values-ka/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-ka/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"გამორთული"</item> <item msgid="5137565285664080143">"ჩართული"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"მიუწვდომელია"</item> + <item msgid="3079622119444911877">"გამორთულია"</item> + <item msgid="3028994095749238254">"ჩართულია"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-kk/strings.xml b/packages/SystemUI/res/values-kk/strings.xml index 6d538bd4a0f6..127e81e19ae4 100644 --- a/packages/SystemUI/res/values-kk/strings.xml +++ b/packages/SystemUI/res/values-kk/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Стандартты режим"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Орташа"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"Жоғары"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"Есту құрылғылары"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Құрылғы микрофонын блоктан шығару керек пе?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Құрылғы камерасын блоктан шығару керек пе?"</string> @@ -442,10 +447,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Өшіру"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Виджет қосу"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Дайын"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Виджеттер қосу"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Таңдаулы қолданба виджеттерін планшет құлпын ашпай-ақ жылдам пайдаланыңыз."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Құлыптаулы экранда кез келген виджетке рұқсат беру керек пе?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Параметрлерді ашу"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Жұмыс қолданбаларын қайта қосасыз ба?"</string> diff --git a/packages/SystemUI/res/values-kk/tiles_states_strings.xml b/packages/SystemUI/res/values-kk/tiles_states_strings.xml index 98f6a3e4a941..cf3aa69992f1 100644 --- a/packages/SystemUI/res/values-kk/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-kk/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"Өшірулі"</item> <item msgid="5137565285664080143">"Қосулы"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"Қолжетімді емес"</item> + <item msgid="3079622119444911877">"Өшірулі"</item> + <item msgid="3028994095749238254">"Қосулы"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-km/strings.xml b/packages/SystemUI/res/values-km/strings.xml index 35c8bab19045..f2596dbf5897 100644 --- a/packages/SystemUI/res/values-km/strings.xml +++ b/packages/SystemUI/res/values-km/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"ស្តង់ដារ"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"មធ្យម"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"ខ្ពស់"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"ឧបករណ៍ជំនួយការស្ដាប់"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"ឈប់ទប់ស្កាត់មីក្រូហ្វូនរបស់ឧបករណ៍ឬ?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"ឈប់ទប់ស្កាត់កាមេរ៉ារបស់ឧបករណ៍ឬ?"</string> @@ -442,10 +447,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"ដកចេញ"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"បញ្ចូលធាតុក្រាហ្វិក"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"រួចរាល់"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"បញ្ចូលធាតុក្រាហ្វិក"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"ទទួលបានសិទ្ធិចូលប្រើប្រាស់រហ័សទៅកាន់ធាតុក្រាហ្វិកកម្មវិធីដែលអ្នកចូលចិត្តដោយមិនចាំបាច់ដោះសោថេប្លេតរបស់អ្នក។"</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"អនុញ្ញាតធាតុក្រាហ្វិកនៅលើអេក្រង់ចាក់សោឬ?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"បើកការកំណត់"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"ឈប់ផ្អាកកម្មវិធីការងារឬ?"</string> diff --git a/packages/SystemUI/res/values-km/tiles_states_strings.xml b/packages/SystemUI/res/values-km/tiles_states_strings.xml index 7e17620844a5..54790f6a028e 100644 --- a/packages/SystemUI/res/values-km/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-km/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"បិទ"</item> <item msgid="5137565285664080143">"បើក"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"មិនមានទេ"</item> + <item msgid="3079622119444911877">"បិទ"</item> + <item msgid="3028994095749238254">"បើក"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-kn/strings.xml b/packages/SystemUI/res/values-kn/strings.xml index f0ad46355f21..73234507bbce 100644 --- a/packages/SystemUI/res/values-kn/strings.xml +++ b/packages/SystemUI/res/values-kn/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"ಹೆಚ್ಚು"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"ಸಾಧನದ ಮೈಕ್ರೋಫೋನ್ ನಿರ್ಬಂಧವನ್ನು ತೆಗೆಯಬೇಕೆ?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"ಸಾಧನದ ಕ್ಯಾಮರಾ ನಿರ್ಬಂಧವನ್ನು ತೆಗೆಯಬೇಕೆ?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"ಸಾಧನದ ಕ್ಯಾಮರಾ ಮತ್ತು ಮೈಕ್ರೋಫೋನ್ ಅನ್ನು ಅನ್ಬ್ಲಾಕ್ ಮಾಡಬೇಕೇ?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"ತೆಗೆದುಹಾಕಿ"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"ವಿಜೆಟ್ ಅನ್ನು ಸೇರಿಸಿ"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"ಮುಗಿದಿದೆ"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"ವಿಜೆಟ್ಗಳನ್ನು ಸೇರಿಸಿ"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಅನ್ನು ಅನ್ಲಾಕ್ ಮಾಡದೆಯೇ ನಿಮ್ಮ ಮೆಚ್ಚಿನ ಆ್ಯಪ್ ವಿಜೆಟ್ಗಳಿಗೆ ತ್ವರಿತ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಪಡೆಯಿರಿ."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"ಲಾಕ್ ಸ್ಕ್ರೀನ್ನಲ್ಲಿ ಯಾವುದೇ ವಿಜೆಟ್ ಅನ್ನು ಅನುಮತಿಸಬೇಕೇ?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ತೆರೆಯಿರಿ"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"ಕೆಲಸದ ಆ್ಯಪ್ ವಿರಾಮ ರದ್ದುಮಾಡಬೇಕೇ"</string> @@ -617,7 +621,7 @@ <string name="volume_panel_hint_mute" msgid="6962563028495243738">"%s ಮ್ಯೂಟ್ ಮಾಡಿ"</string> <string name="volume_panel_hint_unmute" msgid="7489063242934477382">"%s ಅನ್ಮ್ಯೂಟ್ ಮಾಡಿ"</string> <string name="media_output_label_title" msgid="872824698593182505">"<xliff:g id="LABEL">%s</xliff:g> ನಲ್ಲಿ ಪ್ಲೇ ಆಗು..."</string> - <string name="media_output_title_without_playing" msgid="3825663683169305013">"ಇಲ್ಲಿ ಆಡಿಯೋ ಪ್ಲೇ..."</string> + <string name="media_output_title_without_playing" msgid="3825663683169305013">"ಇದರಲ್ಲಿ ಪ್ಲೇ ಆಗುತ್ತದೆ"</string> <string name="system_ui_tuner" msgid="1471348823289954729">"ಸಿಸ್ಟಂ UI ಟ್ಯೂನರ್"</string> <string name="status_bar" msgid="4357390266055077437">"ಸ್ಥಿತಿ ಪಟ್ಟಿ"</string> <string name="demo_mode" msgid="263484519766901593">"ಸಿಸ್ಟಂ UI ಡೆಮೋ ಮೋಡ್"</string> diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml index 26cfb6a1073b..9a4c60bc67fe 100644 --- a/packages/SystemUI/res/values-ko/strings.xml +++ b/packages/SystemUI/res/values-ko/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"높음"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"기기 마이크를 차단 해제하시겠습니까?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"기기 카메라를 차단 해제하시겠습니까?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"기기 카메라 및 마이크를 차단 해제하시겠습니까?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"삭제"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"위젯 추가"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"완료"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"위젯 추가"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"태블릿을 잠금 해제하지 않고도 즐겨 사용하는 앱 위젯에 빠르게 액세스하세요"</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"잠금 화면에서 위젯 사용을 허용하시겠습니까?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"설정 열기"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"직장 앱 일시중지를 해제하시겠습니까?"</string> @@ -593,8 +597,8 @@ <string name="volume_ringer_status_silent" msgid="3691324657849880883">"음소거"</string> <string name="media_device_cast" msgid="4786241789687569892">"전송"</string> <string name="stream_notification_unavailable" msgid="4313854556205836435">"벨소리가 음소거되어 있으므로 사용할 수 없음"</string> - <string name="stream_alarm_unavailable" msgid="4059817189292197839">"방해 금지 모드가 사용 설정되어 있어 사용할 수 없음"</string> - <string name="stream_media_unavailable" msgid="6823020894438959853">"방해 금지 모드가 사용 설정되어 있어 사용할 수 없음"</string> + <string name="stream_alarm_unavailable" msgid="4059817189292197839">"방해 금지 모드로 설정되어 있어 사용할 수 없음"</string> + <string name="stream_media_unavailable" msgid="6823020894438959853">"방해 금지 모드로 설정되어 있어 사용할 수 없음"</string> <string name="volume_stream_content_description_unmute" msgid="7729576371406792977">"%1$s. 탭하여 음소거를 해제하세요."</string> <string name="volume_stream_content_description_vibrate" msgid="4858111994183089761">"%1$s. 탭하여 진동으로 설정하세요. 접근성 서비스가 음소거될 수 있습니다."</string> <string name="volume_stream_content_description_mute" msgid="4079046784917920984">"%1$s. 탭하여 음소거로 설정하세요. 접근성 서비스가 음소거될 수 있습니다."</string> @@ -610,7 +614,7 @@ <string name="volume_ringer_hint_unmute" msgid="6119086890306456976">"음소거 해제"</string> <string name="volume_ringer_hint_vibrate" msgid="6211609047099337509">"진동"</string> <string name="volume_dialog_title" msgid="6502703403483577940">"%s 볼륨 컨트롤"</string> - <string name="volume_dialog_ringer_guidance_ring" msgid="9143194270463146858">"전화 및 알림이 오면 벨소리가 울립니다(<xliff:g id="VOLUME_LEVEL">%1$s</xliff:g>)"</string> + <string name="volume_dialog_ringer_guidance_ring" msgid="9143194270463146858">"전화 및 알림이 오면 벨소리가 울립니다(<xliff:g id="VOLUME_LEVEL">%1$s</xliff:g>)."</string> <string name="volume_panel_enter_media_output_settings" msgid="8824244246272552669">"출력 설정 열기"</string> <string name="volume_panel_expanded_sliders" msgid="1885750987768506271">"볼륨 슬라이더 펼침"</string> <string name="volume_panel_collapsed_sliders" msgid="1413383759434791450">"볼륨 슬라이더 접힘"</string> diff --git a/packages/SystemUI/res/values-ky/strings.xml b/packages/SystemUI/res/values-ky/strings.xml index 079b1b8df267..d893887469e9 100644 --- a/packages/SystemUI/res/values-ky/strings.xml +++ b/packages/SystemUI/res/values-ky/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Жогору"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Түзмөктүн микрофонун бөгөттөн чыгарасызбы?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Түзмөктүн камерасын бөгөттөн чыгарасызбы?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Түзмөктүн камерасы менен микрофону бөгөттөн чыгарылсынбы?"</string> diff --git a/packages/SystemUI/res/values-lo/strings.xml b/packages/SystemUI/res/values-lo/strings.xml index 7e8320296197..873d75eddc8d 100644 --- a/packages/SystemUI/res/values-lo/strings.xml +++ b/packages/SystemUI/res/values-lo/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"ມາດຕະຖານ"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"ປານກາງ"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"ສູງ"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"ອຸປະກອນຊ່ວຍຟັງ"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"ປົດບລັອກໄມໂຄຣໂຟນອຸປະກອນບໍ?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"ປົດບລັອກກ້ອງຖ່າຍຮູບອຸປະກອນບໍ?"</string> @@ -442,10 +447,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"ລຶບອອກ"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"ເພີ່ມວິດເຈັດ"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"ແລ້ວໆ"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"ເພີ່ມວິດເຈັດ"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"ຮັບການເຂົ້າເຖິງດ່ວນຫາແອັບວິດເຈັດທີ່ທ່ານມັກໂດຍບໍ່ຕ້ອງປົດລັອກແທັບເລັດຂອງທ່ານ."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"ອະນຸຍາດວິດເຈັດໃດກໍຕາມຢູ່ໜ້າຈໍລັອກບໍ?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"ເປີດການຕັ້ງຄ່າ"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"ຍົກເລີກການຢຸດຊົ່ວຄາວແອັບບ່ອນເຮັດວຽກບໍ?"</string> diff --git a/packages/SystemUI/res/values-lo/tiles_states_strings.xml b/packages/SystemUI/res/values-lo/tiles_states_strings.xml index 290c01859877..9386e00af195 100644 --- a/packages/SystemUI/res/values-lo/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-lo/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"ປິດ"</item> <item msgid="5137565285664080143">"ເປີດ"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"ບໍ່ພ້ອມໃຫ້ນຳໃຊ້"</item> + <item msgid="3079622119444911877">"ປິດ"</item> + <item msgid="3028994095749238254">"ເປີດ"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml index 37d9592d5a18..d5d7929b9c41 100644 --- a/packages/SystemUI/res/values-lt/strings.xml +++ b/packages/SystemUI/res/values-lt/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Aukštas"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Panaikinti įrenginio mikrofono blokavimą?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Panaikinti įrenginio fotoaparato blokavimą?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Panaikinti įrenginio fotoaparato ir mikrofono blokavimą?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Pašalinti"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Pridėti valdiklį"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Atlikta"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Pridėti valdiklių"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Sparčiai pasiekite mėgstamiausius programų valdiklius neatrakinę planšetinio kompiuterio."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Leisti visus valdiklius užrakinimo ekrane?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Atidaryti nustatymus"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Atš. darbo progr. pristabd.?"</string> diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml index ede8e7d27960..4413780f684c 100644 --- a/packages/SystemUI/res/values-lv/strings.xml +++ b/packages/SystemUI/res/values-lv/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Augsts"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Vai atbloķēt ierīces mikrofonu?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Vai vēlaties atbloķēt ierīces kameru?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Vai atbloķēt ierīces kameru un mikrofonu?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Noņemt"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Pievienot logrīku"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Gatavs"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Pievienot logrīkus"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Ātri piekļūstiet saviem iecienītākajiem lietotņu logrīkiem, neatbloķējot planšetdatoru."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Vai atļaut jebkāda veida logrīkus bloķēšanas ekrānā?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Atvērt iestatījumus"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Vai aktivizēt darba lietotnes?"</string> @@ -581,7 +585,7 @@ <string name="screen_pinning_exit" msgid="4553787518387346893">"Lietotne tika atsprausta"</string> <string name="stream_voice_call" msgid="7468348170702375660">"Zvans"</string> <string name="stream_system" msgid="7663148785370565134">"Sistēma"</string> - <string name="stream_ring" msgid="7550670036738697526">"Zvans"</string> + <string name="stream_ring" msgid="7550670036738697526">"Skaņas signāls"</string> <string name="stream_music" msgid="2188224742361847580">"Multivide"</string> <string name="stream_alarm" msgid="16058075093011694">"Signāls"</string> <string name="stream_notification" msgid="7930294049046243939">"Paziņojums"</string> @@ -604,7 +608,7 @@ <string name="volume_panel_spatial_audio_title" msgid="3367048857932040660">"Telpiskais audio"</string> <string name="volume_panel_spatial_audio_off" msgid="4177490084606772989">"Izslēgts"</string> <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"Fiksēts"</string> - <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"Galvas kustību reģistrēšana"</string> + <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"Seko galvai"</string> <string name="volume_ringer_change" msgid="3574969197796055532">"Pieskarieties, lai mainītu zvanītāja režīmu."</string> <string name="volume_ringer_hint_mute" msgid="4263821214125126614">"izslēgt skaņu"</string> <string name="volume_ringer_hint_unmute" msgid="6119086890306456976">"ieslēgt skaņu"</string> diff --git a/packages/SystemUI/res/values-mk/strings.xml b/packages/SystemUI/res/values-mk/strings.xml index e5f71d45a17c..4f5bf6cfd833 100644 --- a/packages/SystemUI/res/values-mk/strings.xml +++ b/packages/SystemUI/res/values-mk/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Висок"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Да се одблокира пристапот до микрофонот на уредот?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Да се одблокира пристапот до камерата на уредот?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Да се одблокира пристапот до камерата и микрофонот на уредот?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Отстранува"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Додајте виџет"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Готово"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Додајте виџети"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Добијте брз пристап до вашите омилени виџети за апликации без да го отклучите таблетот."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Да се дозволи каков било виџет на заклучен екран?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Отвори ги поставките"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Да се актив. работните аплик.?"</string> @@ -582,7 +586,7 @@ <string name="stream_voice_call" msgid="7468348170702375660">"Повик"</string> <string name="stream_system" msgid="7663148785370565134">"Систем"</string> <string name="stream_ring" msgid="7550670036738697526">"Ѕвони"</string> - <string name="stream_music" msgid="2188224742361847580">"Аудио-визуелни содржини"</string> + <string name="stream_music" msgid="2188224742361847580">"Аудиовизуелни содржини"</string> <string name="stream_alarm" msgid="16058075093011694">"Аларм"</string> <string name="stream_notification" msgid="7930294049046243939">"Известување"</string> <string name="stream_bluetooth_sco" msgid="6234562365528664331">"Bluetooth"</string> diff --git a/packages/SystemUI/res/values-ml/strings.xml b/packages/SystemUI/res/values-ml/strings.xml index b2ccee41d8d1..8ce379627d9c 100644 --- a/packages/SystemUI/res/values-ml/strings.xml +++ b/packages/SystemUI/res/values-ml/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"സ്റ്റാൻഡേർഡ്"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"ഇടത്തരം"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"കൂടുതൽ"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"കേൾവിക്കുള്ള ഉപകരണങ്ങൾ"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"ഉപകരണ മൈക്രോഫോൺ അൺബ്ലോക്ക് ചെയ്യണോ?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"ഉപകരണ ക്യാമറ അൺബ്ലോക്ക് ചെയ്യണോ?"</string> @@ -442,10 +447,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"നീക്കം ചെയ്യുക"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"വിജറ്റ് ചേർക്കുക"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"പൂർത്തിയായി"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"വിജറ്റുകൾ ചേർക്കുക"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"ടാബ്ലെറ്റ് അൺലോക്ക് ചെയ്യാതെ തന്നെ നിങ്ങളുടെ പ്രിയപ്പെട്ട ആപ്പ് വിജറ്റുകളിലേക്ക് പെട്ടെന്ന് ആക്സസ് നേടുക."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"ലോക്ക് സ്ക്രീനിൽ ഏതെങ്കിലും വിജറ്റ് അനുവദിക്കണോ?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"ക്രമീകരണം തുറക്കുക"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"വർക്ക് ആപ്പുകൾ പുനരാരംഭിക്കണോ?"</string> diff --git a/packages/SystemUI/res/values-ml/tiles_states_strings.xml b/packages/SystemUI/res/values-ml/tiles_states_strings.xml index a314f0e2cc8c..609fdde3f5de 100644 --- a/packages/SystemUI/res/values-ml/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-ml/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"ഓഫാണ്"</item> <item msgid="5137565285664080143">"ഓണാണ്"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"ലഭ്യമല്ല"</item> + <item msgid="3079622119444911877">"ഓഫാണ്"</item> + <item msgid="3028994095749238254">"ഓണാണ്"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-mn/strings.xml b/packages/SystemUI/res/values-mn/strings.xml index 93bc6a69c15a..1a2e4b1f8c78 100644 --- a/packages/SystemUI/res/values-mn/strings.xml +++ b/packages/SystemUI/res/values-mn/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Өндөр"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Төхөөрөмжийн микрофоныг блокоос гаргах уу?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Төхөөрөмжийн камерыг блокоос гаргах уу?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Төхөөрөмжийн камер болон микрофоныг блокоос гаргах уу?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Хасах"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Виджет нэмэх"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Болсон"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Виджетүүд нэмэх"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Таблетынхаа түгжээг тайлалгүйгээр дуртай аппынхаа виджетүүдэд шуурхай хандах эрх аваарай."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Түгжээтэй дэлгэц дээр дурын виджетийг зөвшөөрөх үү?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Тохиргоог нээх"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Ажлын аппыг үргэлжлүүлэх үү?"</string> @@ -674,7 +678,7 @@ <string name="notification_channel_summary_automatic_demoted" msgid="1831303964660807700">"<b>Төлөв:</b> Доогуур зэрэглэл хийсэн"</string> <string name="notification_channel_summary_priority_baseline" msgid="46674690072551234">"Харилцан ярианы дээд талд болон түгжигдсэн дэлгэц дээр профайл зураг байдлаар харуулна"</string> <string name="notification_channel_summary_priority_bubble" msgid="1275413109619074576">"Харилцан ярианы мэдэгдлийн дээд талд болон түгжигдсэн дэлгэц дээр профайл зураг байдлаар харуулах бөгөөд бөмбөлөг хэлбэрээр харагдана"</string> - <string name="notification_channel_summary_priority_dnd" msgid="6665395023264154361">"Харилцан ярианы мэдэгдлийн дээд талд болон түгжигдсэн дэлгэц дээр профайл зураг байдлаар харуулах бөгөөд Бүү саад бол горимыг тасалдуулна"</string> + <string name="notification_channel_summary_priority_dnd" msgid="6665395023264154361">"Харилцан ярианы мэдэгдлийн дээд талд болон түгжээтэй дэлгэц дээр профайл зураг байдлаар харуулах бөгөөд Бүү саад бол горимыг тасалдуулна"</string> <string name="notification_channel_summary_priority_all" msgid="7151752959650048285">"Харилцан ярианы мэдэгдлийн дээд талд болон түгжигдсэн дэлгэц дээр профайл зураг байдлаар харуулах бөгөөд бөмбөлөг хэлбэрээр харагдана. Бүү саад бол горимыг тасалдуулна"</string> <string name="notification_priority_title" msgid="2079708866333537093">"Чухал"</string> <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> нь харилцан ярианы онцлогуудыг дэмждэггүй"</string> diff --git a/packages/SystemUI/res/values-mr/strings.xml b/packages/SystemUI/res/values-mr/strings.xml index 7cc7962bf71f..2e21fd078785 100644 --- a/packages/SystemUI/res/values-mr/strings.xml +++ b/packages/SystemUI/res/values-mr/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"उच्च"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"डिव्हाइसचा मायक्रोफोन अनब्लॉक करायचा आहे का?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"डिव्हाइसचा कॅमेरा अनब्लॉक करायचा आहे का?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"डिव्हाइसचा कॅमेरा आणि मायक्रोफोन अनब्लॉक करायचा आहे का?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"काढून टाका"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"विजेट जोडा"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"पूर्ण झाले"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"विजेट जोडा"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"तुमचा टॅबलेट अनलॉक न करता तुमच्या आवडत्या ॲपची विजेट झटपट अॅक्सेस करा."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"लॉक स्क्रीनवर कोणत्याही विजेटला अनुमती द्यायची आहे का?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"सेटिंग्ज उघडा"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"वर्क ॲप्स पुन्हा सुरू करायची?"</string> @@ -674,7 +678,7 @@ <string name="notification_channel_summary_automatic_demoted" msgid="1831303964660807700">"<b>स्थिती</b> ला थोडी कमी म्हणून रँक केले गेले"</string> <string name="notification_channel_summary_priority_baseline" msgid="46674690072551234">"संभाषण सूचनांच्या वरती आणि लॉक स्क्रीनवरील प्रोफाइल फोटो म्हणून दिसते"</string> <string name="notification_channel_summary_priority_bubble" msgid="1275413109619074576">"संभाषण सूचनांच्या वरती आणि लॉक स्क्रीनवरील प्रोफाइल फोटो म्हणून दिसते, बबल म्हणून दिसते"</string> - <string name="notification_channel_summary_priority_dnd" msgid="6665395023264154361">"संभाषण सूचनांच्या वरती आणि लॉक स्क्रीनवरील प्रोफाइल फोटो म्हणून दिसते, व्यत्यय आणू नका यामध्ये अडथळा आणते"</string> + <string name="notification_channel_summary_priority_dnd" msgid="6665395023264154361">"संभाषण नोटिफिकेशनच्या वरती आणि लॉक स्क्रीनवरील प्रोफाइल फोटो म्हणून दिसते, व्यत्यय आणू नका यामध्ये अडथळा आणते"</string> <string name="notification_channel_summary_priority_all" msgid="7151752959650048285">"संभाषण सूचनांच्या वरती आणि लॉक स्क्रीनवरील प्रोफाइल फोटो म्हणून दिसते, बबल म्हणून दिसते, व्यत्यय आणू नका यामध्ये अडथळा आणते"</string> <string name="notification_priority_title" msgid="2079708866333537093">"प्राधान्य"</string> <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> हे संभाषण वैशिष्ट्यांना सपोर्ट करत नाही"</string> diff --git a/packages/SystemUI/res/values-ms/strings.xml b/packages/SystemUI/res/values-ms/strings.xml index dd4ef7b2a6a0..9ae774f511f9 100644 --- a/packages/SystemUI/res/values-ms/strings.xml +++ b/packages/SystemUI/res/values-ms/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Standard"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Sederhana"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"Tinggi"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"Peranti pendengaran"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Nyahsekat mikrofon peranti?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Nyahsekat kamera peranti?"</string> @@ -442,10 +447,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Alih keluar"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Tambahkan widget"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Selesai"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Tambahkan widget"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Dapatkan akses pantas kepada widget apl kegemaran anda tanpa membuka kunci tablet anda."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Benarkan sebarang widget pada skrin kunci?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Buka tetapan"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Nyahjeda apl kerja?"</string> diff --git a/packages/SystemUI/res/values-ms/tiles_states_strings.xml b/packages/SystemUI/res/values-ms/tiles_states_strings.xml index 6d72f3c60b13..174e416e3508 100644 --- a/packages/SystemUI/res/values-ms/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-ms/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"Mati"</item> <item msgid="5137565285664080143">"Hidup"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"Tidak tersedia"</item> + <item msgid="3079622119444911877">"Mati"</item> + <item msgid="3028994095749238254">"Hidup"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-my/strings.xml b/packages/SystemUI/res/values-my/strings.xml index ba45f6d0c340..12498851a449 100644 --- a/packages/SystemUI/res/values-my/strings.xml +++ b/packages/SystemUI/res/values-my/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"ပုံမှန်"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"အသင့်အတင့်"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"များ"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"နားကြားကိရိယာ"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"စက်၏မိုက်ခရိုဖုန်းကို ပြန်ဖွင့်မလား။"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"စက်၏ကင်မရာကို ပြန်ဖွင့်မလား။"</string> @@ -442,10 +447,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"ဖယ်ရှားရန်"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"ဝိဂျက်ထည့်ရန်"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"ပြီးပြီ"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"ဝိဂျက်များ ထည့်ရန်"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"တက်ဘလက်မဖွင့်ဘဲ သင့်အကြိုက်ဆုံး အက်ပ်ဝိဂျက်များကို အမြန်သုံးခွင့် ရယူပါ။"</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"လော့ခ်မျက်နှာပြင်ရှိ ဝိဂျက်အားလုံးကို ခွင့်ပြုမလား။"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"ဆက်တင်များ ဖွင့်ရန်"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"အလုပ်သုံးအက်ပ် ပြန်ဖွင့်မလား။"</string> @@ -581,7 +584,7 @@ <string name="screen_pinning_exit" msgid="4553787518387346893">"အက်ပ်ကို ပင်ဖြုတ်လိုက်သည်"</string> <string name="stream_voice_call" msgid="7468348170702375660">"ဖုန်းခေါ်ရန်"</string> <string name="stream_system" msgid="7663148785370565134">"စနစ်"</string> - <string name="stream_ring" msgid="7550670036738697526">"အသံမြည်စေသည်"</string> + <string name="stream_ring" msgid="7550670036738697526">"ဖုန်းမြည်သံ"</string> <string name="stream_music" msgid="2188224742361847580">"မီဒီယာ"</string> <string name="stream_alarm" msgid="16058075093011694">"နှိုးစက်"</string> <string name="stream_notification" msgid="7930294049046243939">"အကြောင်းကြားချက်"</string> @@ -603,8 +606,8 @@ <string name="volume_panel_noise_control_title" msgid="7413949943872304474">"ဆူညံသံ ထိန်းချုပ်ရန်"</string> <string name="volume_panel_spatial_audio_title" msgid="3367048857932040660">"ထောင့်စုံအော်ဒီယို"</string> <string name="volume_panel_spatial_audio_off" msgid="4177490084606772989">"ပိတ်"</string> - <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"ဖွင့်ပြီးပြီ"</string> - <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"ဦးခေါင်းလှုပ်ရှားမှု စောင့်ကြည့်ခြင်း"</string> + <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"ပုံသေ"</string> + <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"ခေါင်းလှုပ်ရှားမှု စောင့်ကြည့်ခြင်း"</string> <string name="volume_ringer_change" msgid="3574969197796055532">"ဖုန်းခေါ်သံမုဒ်သို့ ပြောင်းရန် တို့ပါ"</string> <string name="volume_ringer_hint_mute" msgid="4263821214125126614">"အသံပိတ်ရန်"</string> <string name="volume_ringer_hint_unmute" msgid="6119086890306456976">"အသံဖွင့်ရန်"</string> @@ -617,7 +620,7 @@ <string name="volume_panel_hint_mute" msgid="6962563028495243738">"%s အသံပိတ်ရန်"</string> <string name="volume_panel_hint_unmute" msgid="7489063242934477382">"%s အသံပြန်ဖွင့်ရန်"</string> <string name="media_output_label_title" msgid="872824698593182505">"<xliff:g id="LABEL">%s</xliff:g> ကို ဖွင့်နေသည်"</string> - <string name="media_output_title_without_playing" msgid="3825663683169305013">"အောက်တွင်အသံဖွင့်မည်"</string> + <string name="media_output_title_without_playing" msgid="3825663683169305013">"အသံဖွင့်မည့်နေရာ"</string> <string name="system_ui_tuner" msgid="1471348823289954729">"စနစ် UI ဖမ်းစက်"</string> <string name="status_bar" msgid="4357390266055077437">"အခြေအနေပြနေရာ"</string> <string name="demo_mode" msgid="263484519766901593">"စနစ် UI စရုပ်ပြမုဒ်"</string> @@ -674,7 +677,7 @@ <string name="notification_channel_summary_automatic_demoted" msgid="1831303964660807700">"<b>အခြေအနေ-</b> အဆင့်လျှော့ထားသည်"</string> <string name="notification_channel_summary_priority_baseline" msgid="46674690072551234">"စကားဝိုင်း အကြောင်းကြားချက်များ၏ ထိပ်ပိုင်းတွင် ပြ၍ လော့ခ်မျက်နှာပြင်တွင် ပရိုဖိုင်ပုံအဖြစ် ပြသည်"</string> <string name="notification_channel_summary_priority_bubble" msgid="1275413109619074576">"စကားဝိုင်း အကြောင်းကြားချက်များ၏ ထိပ်ပိုင်းတွင် ပြ၍ လော့ခ်မျက်နှာပြင်တွင် ပရိုဖိုင်ပုံအဖြစ် ပြကာ ပူဖောင်းကွက်အဖြစ် မြင်ရသည်"</string> - <string name="notification_channel_summary_priority_dnd" msgid="6665395023264154361">"စကားဝိုင်း အကြောင်းကြားချက်များ၏ ထိပ်ပိုင်းနှင့် ပရိုဖိုင်ပုံအဖြစ် လော့ခ်မျက်နှာပြင်တွင် ပြသည်။ ပူဖောင်းကွက်အဖြစ် မြင်ရပြီး ‘မနှောင့်ယှက်ရ’ ကို ကြားဖြတ်သည်"</string> + <string name="notification_channel_summary_priority_dnd" msgid="6665395023264154361">"စကားဝိုင်း အကြောင်းကြားချက်များ၏ ထိပ်ပိုင်းတွင်နှင့် လော့ခ်မျက်နှာပြင်တွင် ပရိုဖိုင်ပုံအဖြစ် ပြသည်။ ‘မနှောင့်ယှက်ရ’ ကို ကြားဖြတ်သည်"</string> <string name="notification_channel_summary_priority_all" msgid="7151752959650048285">"စကားဝိုင်း အကြောင်းကြားချက်များ၏ ထိပ်ပိုင်းနှင့် ပရိုဖိုင်ပုံအဖြစ် လော့ခ်မျက်နှာပြင်တွင် ပြသည်။ ပူဖောင်းကွက်အဖြစ် မြင်ရပြီး ‘မနှောင့်ယှက်ရ’ ကို ကြားဖြတ်သည်"</string> <string name="notification_priority_title" msgid="2079708866333537093">"ဦးစားပေး"</string> <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> က စကားဝိုင်းဝန်ဆောင်မှုများကို မပံ့ပိုးပါ"</string> diff --git a/packages/SystemUI/res/values-my/tiles_states_strings.xml b/packages/SystemUI/res/values-my/tiles_states_strings.xml index 6bfd65a2c04f..f665a00a5214 100644 --- a/packages/SystemUI/res/values-my/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-my/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"ပိတ်"</item> <item msgid="5137565285664080143">"ဖွင့်"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"မရနိုင်ပါ"</item> + <item msgid="3079622119444911877">"ပိတ်"</item> + <item msgid="3028994095749238254">"ဖွင့်"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml index 24a940b61d22..0f9bb464f21f 100644 --- a/packages/SystemUI/res/values-nb/strings.xml +++ b/packages/SystemUI/res/values-nb/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Høy"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Vil du oppheve blokkeringen av enhetsmikrofonen?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Vil du oppheve blokkeringen av enhetskameraet?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Vil du oppheve blokkeringen av enhetskameraet og -mikrofonen?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Fjern"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Legg til modul"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Ferdig"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Legg til moduler"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Få rask tilgang til appmoduler uten å låse opp nettbrettet."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Vil du tillate alle moduler på låseskjermen?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Åpne innstillingene"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Vil du slå på jobbapper igjen?"</string> diff --git a/packages/SystemUI/res/values-ne/strings.xml b/packages/SystemUI/res/values-ne/strings.xml index 70cb0724d80d..5f51a9136a3f 100644 --- a/packages/SystemUI/res/values-ne/strings.xml +++ b/packages/SystemUI/res/values-ne/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"उच्च"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"डिभाइसको माइक्रोफोन अनब्लक गर्ने हो?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"डिभाइसको क्यामेरा अनब्लक गर्ने हो?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"डिभाइसको क्यामेरा र माइक्रोफोन अनब्लक गर्ने हो?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"हटाउनुहोस्"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"विजेट हाल्नुहोस्"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"पूरा भयो"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"विजेट हाल्नुहोस्"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"ट्याब्लेट अनलक नगरिकनै आफूलाई मन पर्ने एपका विजेटहरू तुरुन्तै एक्सेस गर्नुहोस्।"</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"लक स्क्रिनमा कुनै विजेट देखाउने हो?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"सेटिङ खोल्नुहोस्"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"कामसम्बन्धी एपहरू अनपज गर्ने हो?"</string> @@ -600,7 +604,7 @@ <string name="volume_stream_content_description_mute" msgid="4079046784917920984">"%1$s। म्यूट गर्नाका लागि ट्याप गर्नुहोस्। पहुँच सम्बन्धी सेवाहरू म्यूट हुन सक्छन्।"</string> <string name="volume_stream_content_description_vibrate_a11y" msgid="2742330052979397471">"%1$s। कम्पन मोडमा सेट गर्न ट्याप गर्नुहोस्।"</string> <string name="volume_stream_content_description_mute_a11y" msgid="5743548478357238156">"%1$s। म्यूट गर्न ट्याप गर्नुहोस्।"</string> - <string name="volume_panel_noise_control_title" msgid="7413949943872304474">"नोइज कन्ट्रोल"</string> + <string name="volume_panel_noise_control_title" msgid="7413949943872304474">"न्वाइज कन्ट्रोल"</string> <string name="volume_panel_spatial_audio_title" msgid="3367048857932040660">"स्पेसियल अडियो"</string> <string name="volume_panel_spatial_audio_off" msgid="4177490084606772989">"अफ छ"</string> <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"निश्चित"</string> @@ -617,7 +621,7 @@ <string name="volume_panel_hint_mute" msgid="6962563028495243738">"%s म्युट गर्नुहोस्"</string> <string name="volume_panel_hint_unmute" msgid="7489063242934477382">"%s अनम्युट गर्नुहोस्"</string> <string name="media_output_label_title" msgid="872824698593182505">"<xliff:g id="LABEL">%s</xliff:g> प्ले गरिँदै छ"</string> - <string name="media_output_title_without_playing" msgid="3825663683169305013">"अडियो प्ले भइरहने छ"</string> + <string name="media_output_title_without_playing" msgid="3825663683169305013">"अडियो यसमा प्ले हुने छ"</string> <string name="system_ui_tuner" msgid="1471348823289954729">"सिस्टम UI ट्युनर"</string> <string name="status_bar" msgid="4357390266055077437">"स्थिति पट्टी"</string> <string name="demo_mode" msgid="263484519766901593">"सिस्टम UI को डेमो मोड"</string> diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml index 6677f6719094..1f780b3bff4e 100644 --- a/packages/SystemUI/res/values-nl/strings.xml +++ b/packages/SystemUI/res/values-nl/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Hoog"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Microfoon van apparaat niet meer blokkeren?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Apparaatcamera niet meer blokkeren?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Blokkeren van apparaatcamera en -microfoon opheffen?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Verwijderen"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Widget toevoegen"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Klaar"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Widgets toevoegen"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Krijg snel toegang tot je favoriete app-widgets zonder je tablet te ontgrendelen."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Elke widget toestaan op het vergrendelscherm?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Instellingen openen"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Werk-apps hervatten?"</string> @@ -1041,7 +1045,7 @@ <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"Pincode bevat letters of symbolen"</string> <string name="controls_pin_verify" msgid="3452778292918877662">"<xliff:g id="DEVICE">%s</xliff:g> verifiëren"</string> <string name="controls_pin_wrong" msgid="6162694056042164211">"Onjuiste pincode"</string> - <string name="controls_pin_instructions" msgid="6363309783822475238">"Geef de pincode op"</string> + <string name="controls_pin_instructions" msgid="6363309783822475238">"Voer pincode in"</string> <string name="controls_pin_instructions_retry" msgid="1566667581012131046">"Andere pincode proberen"</string> <string name="controls_confirmation_message" msgid="7744104992609594859">"Bevestig de wijziging voor <xliff:g id="DEVICE">%s</xliff:g>"</string> <string name="controls_structure_tooltip" msgid="4355922222944447867">"Swipe om meer te zien"</string> @@ -1121,7 +1125,7 @@ <string name="basic_status" msgid="2315371112182658176">"Gesprek openen"</string> <string name="select_conversation_title" msgid="6716364118095089519">"Gesprekswidgets"</string> <string name="select_conversation_text" msgid="3376048251434956013">"Tik op een gesprek om het toe te voegen aan je startscherm"</string> - <string name="no_conversations_text" msgid="5354115541282395015">"Je ziet je recente gesprekken hier"</string> + <string name="no_conversations_text" msgid="5354115541282395015">"Hier staan je recente gesprekken"</string> <string name="priority_conversations" msgid="3967482288896653039">"Prioriteitsgesprekken"</string> <string name="recent_conversations" msgid="8531874684782574622">"Recente gesprekken"</string> <string name="days_timestamp" msgid="5821854736213214331">"<xliff:g id="DURATION">%1$s</xliff:g> dagen geleden"</string> diff --git a/packages/SystemUI/res/values-or/strings.xml b/packages/SystemUI/res/values-or/strings.xml index 66f8808bd641..9a602b86bf33 100644 --- a/packages/SystemUI/res/values-or/strings.xml +++ b/packages/SystemUI/res/values-or/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"ଅଧିକ"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"ଡିଭାଇସର ମାଇକ୍ରୋଫୋନକୁ ଅନବ୍ଲକ କରିବେ?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"ଡିଭାଇସର କେମେରାକୁ ଅନବ୍ଲକ କରିବେ?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"ଡିଭାଇସର କ୍ୟାମେରା ଏବଂ ମାଇକ୍ରୋଫୋନକୁ ଅନବ୍ଲକ୍ କରିବେ?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"କାଢ଼ି ଦିଅନ୍ତୁ"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"ୱିଜେଟ ଯୋଗ କରନ୍ତୁ"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"ହୋଇଗଲା"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"ୱିଜେଟଗୁଡ଼ିକୁ ଯୋଗ କରନ୍ତୁ"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"ଆପଣଙ୍କ ଟାବଲେଟକୁ ଅନଲକ ନକରି ଆପଣଙ୍କ ପସନ୍ଦର ଆପ ୱିଜେଟଗୁଡ଼ିକୁ କୁଇକ ଆକ୍ସେସ ପାଆନ୍ତୁ।"</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"ଲକସ୍କ୍ରିନରେ ଯେ କୌଣସି ୱିଜେଟକୁ ଅନୁମତି ଦେବେ?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"ସେଟିଂସ ଖୋଲନ୍ତୁ"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"ୱାର୍କ ଆପ୍ସକୁ ପୁଣି ଚାଲୁ କରିବେ?"</string> @@ -579,11 +583,11 @@ <string name="screen_pinning_negative" msgid="6882816864569211666">"ନାହିଁ, ଥାଉ"</string> <string name="screen_pinning_start" msgid="7483998671383371313">"ଆପ୍ ପିନ୍ କରାଯାଇଛି"</string> <string name="screen_pinning_exit" msgid="4553787518387346893">"ଆପ୍ ଅନପିନ୍ କରାଯାଇଛି"</string> - <string name="stream_voice_call" msgid="7468348170702375660">"କଲ୍ କରନ୍ତୁ"</string> + <string name="stream_voice_call" msgid="7468348170702375660">"କଲ କରନ୍ତୁ"</string> <string name="stream_system" msgid="7663148785370565134">"ସିଷ୍ଟମ"</string> <string name="stream_ring" msgid="7550670036738697526">"ରିଙ୍ଗ"</string> <string name="stream_music" msgid="2188224742361847580">"ମିଡିଆ"</string> - <string name="stream_alarm" msgid="16058075093011694">"ଆଲାରାମ୍"</string> + <string name="stream_alarm" msgid="16058075093011694">"ଆଲାରାମ"</string> <string name="stream_notification" msgid="7930294049046243939">"ବିଜ୍ଞପ୍ତି"</string> <string name="stream_bluetooth_sco" msgid="6234562365528664331">"ବ୍ଲୁଟୁଥ୍"</string> <string name="stream_dtmf" msgid="7322536356554673067">"ଡୁଆଲ୍ ମଲ୍ଟି ଟୋନ୍ ଫ୍ରିକ୍ୱେନ୍ସୀ"</string> @@ -617,7 +621,7 @@ <string name="volume_panel_hint_mute" msgid="6962563028495243738">"%sକୁ ମ୍ୟୁଟ କରନ୍ତୁ"</string> <string name="volume_panel_hint_unmute" msgid="7489063242934477382">"%sକୁ ଅନମ୍ୟୁଟ କରନ୍ତୁ"</string> <string name="media_output_label_title" msgid="872824698593182505">"<xliff:g id="LABEL">%s</xliff:g>ରେ ପ୍ଲେ କରାଯାଉଛି"</string> - <string name="media_output_title_without_playing" msgid="3825663683169305013">"ଅଡିଓ ପ୍ଲେ ହେବ"</string> + <string name="media_output_title_without_playing" msgid="3825663683169305013">"ଅଡିଓ ଏଥିରେ ପ୍ଲେ ହେବ"</string> <string name="system_ui_tuner" msgid="1471348823289954729">"ସିଷ୍ଟମ୍ UI ଟ୍ୟୁନର୍"</string> <string name="status_bar" msgid="4357390266055077437">"ଷ୍ଟାଟସ୍ ବାର୍"</string> <string name="demo_mode" msgid="263484519766901593">"ସିଷ୍ଟମ୍ UI ଡେମୋ ମୋଡ୍"</string> diff --git a/packages/SystemUI/res/values-pa/strings.xml b/packages/SystemUI/res/values-pa/strings.xml index adb328990a1a..40efd0bd716a 100644 --- a/packages/SystemUI/res/values-pa/strings.xml +++ b/packages/SystemUI/res/values-pa/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"ਜ਼ਿਆਦਾ"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"ਕੀ ਡੀਵਾਈਸ ਦੇ ਮਾਈਕ੍ਰੋਫ਼ੋਨ ਨੂੰ ਅਣਬਲਾਕ ਕਰਨਾ ਹੈ?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"ਕੀ ਡੀਵਾਈਸ ਦੇ ਕੈਮਰੇ ਨੂੰ ਅਣਬਲਾਕ ਕਰਨਾ ਹੈ?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"ਕੀ ਡੀਵਾਈਸ ਦੇ ਕੈਮਰੇ ਅਤੇ ਮਾਈਕ੍ਰੋਫ਼ੋਨ ਨੂੰ ਅਣਬਲਾਕ ਕਰਨਾ ਹੈ?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"ਹਟਾਓ"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"ਵਿਜੇਟ ਸ਼ਾਮਲ ਕਰੋ"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"ਹੋ ਗਿਆ"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"ਵਿਜੇਟ ਸ਼ਾਮਲ ਕਰੋ"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"ਆਪਣੇ ਟੈਬਲੈੱਟ ਨੂੰ ਅਣਲਾਕ ਕੀਤੇ ਬਿਨਾਂ ਆਪਣੇ ਮਨਪਸੰਦ ਐਪ ਵਿਜੇਟ ਤੱਕ ਤਤਕਾਲ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰੋ।"</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"ਕੀ ਲਾਕ-ਸਕ੍ਰੀਨ \'ਤੇ ਕਿਸੇ ਵੀ ਵਿਜੇਟ ਨੂੰ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"ਸੈਟਿੰਗਾਂ ਖੋਲ੍ਹੋ"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਤੋਂ ਰੋਕ ਹਟਾਈਏ?"</string> @@ -600,7 +604,7 @@ <string name="volume_stream_content_description_mute" msgid="4079046784917920984">"%1$s। ਮਿਊਟ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ। ਪਹੁੰਚਯੋਗਤਾ ਸੇਵਾਵਾਂ ਮਿਊਟ ਹੋ ਸਕਦੀਆਂ ਹਨ।"</string> <string name="volume_stream_content_description_vibrate_a11y" msgid="2742330052979397471">"%1$s। ਥਰਥਰਾਹਟ \'ਤੇ ਸੈੱਟ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ।"</string> <string name="volume_stream_content_description_mute_a11y" msgid="5743548478357238156">"%1$s। ਮਿਊਟ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ।"</string> - <string name="volume_panel_noise_control_title" msgid="7413949943872304474">"ਸ਼ੋਰ ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ"</string> + <string name="volume_panel_noise_control_title" msgid="7413949943872304474">"ਨੋਇਸ ਕੰਟਰੋਲ"</string> <string name="volume_panel_spatial_audio_title" msgid="3367048857932040660">"ਸਪੇਸ਼ਿਅਲ ਆਡੀਓ"</string> <string name="volume_panel_spatial_audio_off" msgid="4177490084606772989">"ਬੰਦ"</string> <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"ਸਥਿਰ"</string> diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml index 2274d13fbde1..48262a0de391 100644 --- a/packages/SystemUI/res/values-pl/strings.xml +++ b/packages/SystemUI/res/values-pl/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Wysoki"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Odblokować mikrofon urządzenia?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Odblokować aparat urządzenia?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Odblokować aparat i mikrofon urządzenia?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Usuń"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Dodaj widżet"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Gotowe"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Dodaj widżety"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Uzyskaj szybki dostęp do ulubionych widżetów aplikacji bez odblokowywania tabletu."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Zezwolić na dowolny widżet na ekranie blokady?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Otwórz ustawienia"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Cofnąć wstrzymanie aplikacji służbowych?"</string> diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml index 206b0b224f6b..04bdf14eac78 100644 --- a/packages/SystemUI/res/values-pt-rBR/strings.xml +++ b/packages/SystemUI/res/values-pt-rBR/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Alto"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Desbloquear o microfone do dispositivo?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Desbloquear a câmera do dispositivo?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Desbloquear a câmera e o microfone do dispositivo?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Remover"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Adicionar widget"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Concluído"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Adicionar widgets"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Tenha acesso rápido aos widgets de seus apps favoritos sem desbloquear o tablet."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Permitir qualquer widget na tela de bloqueio?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Abrir as configurações"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Reativar apps de trabalho?"</string> @@ -592,7 +596,7 @@ <string name="volume_ringer_status_vibrate" msgid="6970078708957857825">"Vibrar"</string> <string name="volume_ringer_status_silent" msgid="3691324657849880883">"Desativar som"</string> <string name="media_device_cast" msgid="4786241789687569892">"Transmitir"</string> - <string name="stream_notification_unavailable" msgid="4313854556205836435">"Indisponível com o toque foi silenciado"</string> + <string name="stream_notification_unavailable" msgid="4313854556205836435">"Indisponível com o toque silenciado"</string> <string name="stream_alarm_unavailable" msgid="4059817189292197839">"Indisponível porque o Não perturbe está ativado"</string> <string name="stream_media_unavailable" msgid="6823020894438959853">"Indisponível porque o Não perturbe está ativado"</string> <string name="volume_stream_content_description_unmute" msgid="7729576371406792977">"%1$s. Toque para ativar o som."</string> diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml index 93b4cbe0e44a..b6270906eb7f 100644 --- a/packages/SystemUI/res/values-pt-rPT/strings.xml +++ b/packages/SystemUI/res/values-pt-rPT/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Padrão"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Médio"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"Alto"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"Dispositivos auditivos"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Desbloquear o microfone do dispositivo?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Desbloquear a câmara do dispositivo?"</string> @@ -590,9 +595,9 @@ <string name="volume_ringer_status_vibrate" msgid="6970078708957857825">"Vibrar"</string> <string name="volume_ringer_status_silent" msgid="3691324657849880883">"Desativar som"</string> <string name="media_device_cast" msgid="4786241789687569892">"Transmitir"</string> - <string name="stream_notification_unavailable" msgid="4313854556205836435">"Indisponível porque o toque está desat."</string> + <string name="stream_notification_unavailable" msgid="4313854556205836435">"Indisponível com toque desativado"</string> <string name="stream_alarm_unavailable" msgid="4059817189292197839">"Indisponível porque Não incomodar está ativado"</string> - <string name="stream_media_unavailable" msgid="6823020894438959853">"Indisponível porque Não incomodar está ativado"</string> + <string name="stream_media_unavailable" msgid="6823020894438959853">"Indisponível com Não incomodar ativado"</string> <string name="volume_stream_content_description_unmute" msgid="7729576371406792977">"%1$s. Toque para reativar o som."</string> <string name="volume_stream_content_description_vibrate" msgid="4858111994183089761">"%1$s. Toque para ativar a vibração. Os serviços de acessibilidade podem ser silenciados."</string> <string name="volume_stream_content_description_mute" msgid="4079046784917920984">"%1$s. Toque para desativar o som. Os serviços de acessibilidade podem ser silenciados."</string> @@ -615,7 +620,7 @@ <string name="volume_panel_hint_mute" msgid="6962563028495243738">"desativar o som de %s"</string> <string name="volume_panel_hint_unmute" msgid="7489063242934477382">"reativar o som de %s"</string> <string name="media_output_label_title" msgid="872824698593182505">"A ouvir <xliff:g id="LABEL">%s</xliff:g> em"</string> - <string name="media_output_title_without_playing" msgid="3825663683169305013">"O áudio será ouv. em"</string> + <string name="media_output_title_without_playing" msgid="3825663683169305013">"Áudio ouvido em:"</string> <string name="system_ui_tuner" msgid="1471348823289954729">"Sintonizador da interface do sistema"</string> <string name="status_bar" msgid="4357390266055077437">"Barra de estado"</string> <string name="demo_mode" msgid="263484519766901593">"Modo de demonstração da IU do sistema"</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 e01b1227d1f9..34a5ed7b2ca9 100644 --- a/packages/SystemUI/res/values-pt-rPT/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-pt-rPT/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"Desativado"</item> <item msgid="5137565285664080143">"Ativado"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"Indisponíveis"</item> + <item msgid="3079622119444911877">"Desativados"</item> + <item msgid="3028994095749238254">"Ativados"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml index 206b0b224f6b..04bdf14eac78 100644 --- a/packages/SystemUI/res/values-pt/strings.xml +++ b/packages/SystemUI/res/values-pt/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Alto"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Desbloquear o microfone do dispositivo?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Desbloquear a câmera do dispositivo?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Desbloquear a câmera e o microfone do dispositivo?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Remover"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Adicionar widget"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Concluído"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Adicionar widgets"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Tenha acesso rápido aos widgets de seus apps favoritos sem desbloquear o tablet."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Permitir qualquer widget na tela de bloqueio?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Abrir as configurações"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Reativar apps de trabalho?"</string> @@ -592,7 +596,7 @@ <string name="volume_ringer_status_vibrate" msgid="6970078708957857825">"Vibrar"</string> <string name="volume_ringer_status_silent" msgid="3691324657849880883">"Desativar som"</string> <string name="media_device_cast" msgid="4786241789687569892">"Transmitir"</string> - <string name="stream_notification_unavailable" msgid="4313854556205836435">"Indisponível com o toque foi silenciado"</string> + <string name="stream_notification_unavailable" msgid="4313854556205836435">"Indisponível com o toque silenciado"</string> <string name="stream_alarm_unavailable" msgid="4059817189292197839">"Indisponível porque o Não perturbe está ativado"</string> <string name="stream_media_unavailable" msgid="6823020894438959853">"Indisponível porque o Não perturbe está ativado"</string> <string name="volume_stream_content_description_unmute" msgid="7729576371406792977">"%1$s. Toque para ativar o som."</string> diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml index daa27ab0f554..7d65f96a493a 100644 --- a/packages/SystemUI/res/values-ro/strings.xml +++ b/packages/SystemUI/res/values-ro/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Ridicat"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Deblochezi microfonul dispozitivului?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Deblochezi camera dispozitivului?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Deblochezi camera și microfonul dispozitivului?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Elimină"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Adaugă un widget"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Gata"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Adaugă widgeturi"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Accesează rapid widgeturile aplicațiilor preferate fără să deblochezi tableta."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Permiți vreun widget pe ecranul de blocare?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Deschide setările"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Reactivezi aplicații de lucru?"</string> diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml index 184dc1f45e92..5e47464dc924 100644 --- a/packages/SystemUI/res/values-ru/strings.xml +++ b/packages/SystemUI/res/values-ru/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Высокая"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Разблокировать микрофон устройства?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Разблокировать камеру устройства?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Разблокировать камеру и микрофон устройства?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Удалить"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Добавить виджет"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Готово"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Добавить виджеты"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Быстрый доступ к виджетам любимых приложений, даже когда планшет заблокирован"</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Разрешить добавлять любые виджеты на заблокированный экран?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Открыть настройки"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Включить рабочие приложения?"</string> @@ -592,7 +596,7 @@ <string name="volume_ringer_status_vibrate" msgid="6970078708957857825">"Вибрация"</string> <string name="volume_ringer_status_silent" msgid="3691324657849880883">"Без звука"</string> <string name="media_device_cast" msgid="4786241789687569892">"Трансляция"</string> - <string name="stream_notification_unavailable" msgid="4313854556205836435">"Недоступно, когда отключен звук вызовов"</string> + <string name="stream_notification_unavailable" msgid="4313854556205836435">"Недоступно в беззвучном режиме"</string> <string name="stream_alarm_unavailable" msgid="4059817189292197839">"Недоступно при включенном режиме \"Не беспокоить\"."</string> <string name="stream_media_unavailable" msgid="6823020894438959853">"Недоступно при включенном режиме \"Не беспокоить\"."</string> <string name="volume_stream_content_description_unmute" msgid="7729576371406792977">"%1$s. Нажмите, чтобы включить звук."</string> diff --git a/packages/SystemUI/res/values-si/strings.xml b/packages/SystemUI/res/values-si/strings.xml index e5b566e1761e..5eea02c2e702 100644 --- a/packages/SystemUI/res/values-si/strings.xml +++ b/packages/SystemUI/res/values-si/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"ඉහළ"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"උපාංග මයික්රෆෝනය අවහිර කිරීම ඉවත් කරන්නද?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"උපාංග කැමරාව අවහිර කිරීම ඉවත් කරන්නද?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"උපාංග කැමරාව සහ මයික්රෆෝනය අවහිර කිරීම ඉවත් කරන්නද?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"ඉවත් කරන්න"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"විජට්ටුව එක් කරන්න"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"නිමයි"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"විජට් එක් කරන්න"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"ඔබේ ටැබ්ලටය අගුළු හැරීමෙන් තොරව ඔබේ ප්රියතම යෙදුම් විජට් වෙත ඉක්මන් ප්රවේශය ලබා ගන්න."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"අගුළු තිරය මත ඕනෑම විජට් එකකට ඉඩ දෙන්න"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"සැකසීම් විවෘත කරන්න"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"කාර්ය යෙදුම් විරාම නොකරන්න ද?"</string> diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml index ab020ee43062..ea1a8f860a1e 100644 --- a/packages/SystemUI/res/values-sk/strings.xml +++ b/packages/SystemUI/res/values-sk/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Štandardný"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Stredný"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"Vysoký"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"Načúvacie zariadenia"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Chcete odblokovať mikrofón zariadenia?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Chcete odblokovať kameru zariadenia?"</string> @@ -592,7 +597,7 @@ <string name="media_device_cast" msgid="4786241789687569892">"Prenos"</string> <string name="stream_notification_unavailable" msgid="4313854556205836435">"Nedostupné, pretože je vypnuté zvonenie"</string> <string name="stream_alarm_unavailable" msgid="4059817189292197839">"Nedostupné, pretože je zapnutý režim bez vyrušení"</string> - <string name="stream_media_unavailable" msgid="6823020894438959853">"Nedostupné, pretože je zapnutý režim bez vyrušení"</string> + <string name="stream_media_unavailable" msgid="6823020894438959853">"Nedostupné, zapnutý režim bez vyrušení"</string> <string name="volume_stream_content_description_unmute" msgid="7729576371406792977">"%1$s. Klepnutím zapnite zvuk."</string> <string name="volume_stream_content_description_vibrate" msgid="4858111994183089761">"%1$s. Klepnutím aktivujte režim vibrovania. Služby dostupnosti je možné stlmiť."</string> <string name="volume_stream_content_description_mute" msgid="4079046784917920984">"%1$s. Klepnutím vypnite zvuk. Služby dostupnosti je možné stlmiť."</string> diff --git a/packages/SystemUI/res/values-sk/tiles_states_strings.xml b/packages/SystemUI/res/values-sk/tiles_states_strings.xml index 5ba7a0730cb4..6b5af805f15b 100644 --- a/packages/SystemUI/res/values-sk/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-sk/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"Vypnuté"</item> <item msgid="5137565285664080143">"Zapnuté"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"Nedostupné"</item> + <item msgid="3079622119444911877">"Vypnuté"</item> + <item msgid="3028994095749238254">"Zapnuté"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml index 90dd463807de..514d2f9d42d1 100644 --- a/packages/SystemUI/res/values-sl/strings.xml +++ b/packages/SystemUI/res/values-sl/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Visok"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Želite odblokirati mikrofon v napravi?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Želite odblokirati fotoaparat v napravi?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Želite odblokirati fotoaparat in mikrofon v napravi?"</string> diff --git a/packages/SystemUI/res/values-sq/strings.xml b/packages/SystemUI/res/values-sq/strings.xml index 419df19ec54c..c13d76b974b7 100644 --- a/packages/SystemUI/res/values-sq/strings.xml +++ b/packages/SystemUI/res/values-sq/strings.xml @@ -151,8 +151,7 @@ <string name="accessibility_scanning_face" msgid="3093828357921541387">"Po skanon fytyrën"</string> <string name="accessibility_send_smart_reply" msgid="8885032190442015141">"Dërgo"</string> <string name="cancel" msgid="1089011503403416730">"Anulo"</string> - <!-- no translation found for biometric_dialog_logo (7681107853070774595) --> - <skip /> + <string name="biometric_dialog_logo" msgid="7681107853070774595">"Logoja e aplikacionit"</string> <string name="biometric_dialog_confirm" msgid="2005978443007344895">"Konfirmo"</string> <string name="biometric_dialog_try_again" msgid="8575345628117768844">"Provo përsëri"</string> <string name="biometric_dialog_empty_space_description" msgid="3330555462071453396">"Trokit për të anuluar vërtetimin"</string> @@ -167,8 +166,7 @@ <string name="biometric_dialog_tap_confirm_with_face_alt_3" msgid="2192670471930606539">"Fytyra u njoh. Shtyp ikonën e shkyçjes për të vazhduar."</string> <string name="biometric_dialog_authenticated" msgid="7337147327545272484">"U vërtetua"</string> <string name="biometric_dialog_cancel_authentication" msgid="981316588773442637">"Anulo vërtetimin"</string> - <!-- no translation found for biometric_dialog_content_view_more_options_button (2663810393874865475) --> - <skip /> + <string name="biometric_dialog_content_view_more_options_button" msgid="2663810393874865475">"Opsione të tjera…"</string> <string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Përdor kodin PIN"</string> <string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Përdor motivin"</string> <string name="biometric_dialog_use_password" msgid="3445033859393474779">"Përdor fjalëkalimin"</string> @@ -367,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"I lartë"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Të zhbllokohet mikrofoni i pajisjes?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Të zhbllokohet kamera e pajisjes?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Të zhbllokohen kamera dhe mikrofoni i pajisjes?"</string> @@ -444,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Hiq"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Shto miniaplikacionin"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"U krye"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Shto miniaplikacionet"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Merr qasjen e shpejtë në miniaplikacionet e tua të preferuara pa e shkyçur tabletin."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Të lejohet ndonjë miniaplikacion te ekrani i kyçjes?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Hap cilësimet"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Hiq nga pauza apl. e punës?"</string> diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml index ca9eb65c72cf..bc6642af913a 100644 --- a/packages/SystemUI/res/values-sr/strings.xml +++ b/packages/SystemUI/res/values-sr/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Стандардно"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Средње"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"Високо"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"Слушни апарати"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Желите да одблокирате микрофон уређаја?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Желите да одблокирате камеру уређаја?"</string> @@ -442,10 +447,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Уклони"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Додај виџет"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Готово"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Додај виџете"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Брзо приступајте омиљеним виџетима за апликације без откључавања таблета."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Желите да дозволите све виџете на закључаном екрану?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Отвори подешавања"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Укључити пословне апликације?"</string> diff --git a/packages/SystemUI/res/values-sr/tiles_states_strings.xml b/packages/SystemUI/res/values-sr/tiles_states_strings.xml index 22351717d6b4..2acf1d264213 100644 --- a/packages/SystemUI/res/values-sr/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-sr/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"Искључено"</item> <item msgid="5137565285664080143">"Укључено"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"Недоступно"</item> + <item msgid="3079622119444911877">"Искључено"</item> + <item msgid="3028994095749238254">"Укључено"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml index 14b39fb090e5..15c370c6b73e 100644 --- a/packages/SystemUI/res/values-sv/strings.xml +++ b/packages/SystemUI/res/values-sv/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Hög"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Vill du återaktivera enhetens mikrofon?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Vill du återaktivera enhetens kamera?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Vill du återaktivera enhetens kamera och mikrofon?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Ta bort"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Lägg till widget"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Klar"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Lägg till widgetar"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Få snabbåtkomst till appwidgetar utan att låsa upp surfplattan."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Vill du tillåta alla widgetar på låsskärmen?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Öppna inställningarna"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Vill du återuppta jobbappar?"</string> diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml index 2e8017a31a9f..41bac7b4fbb7 100644 --- a/packages/SystemUI/res/values-sw/strings.xml +++ b/packages/SystemUI/res/values-sw/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Kawaida"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Wastani"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"Juu"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"Vifaa vya kusikilizia"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Ungependa kuwacha kuzuia maikrofoni ya kifaa?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Ungependa kuacha kuzuia kamera ya kifaa?"</string> @@ -442,10 +447,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Ondoa"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Ongeza wijeti"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Nimemaliza"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Weka wijeti"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Fikia haraka wijeti za programu unazopenda bila kufungua kishikwambi chako."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Ungependa kuruhusu wijeti yoyote kwenye skrini iliyofungwa?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Fungua mipangilio"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Je, ungependa kuacha kusitisha programu za kazini?"</string> diff --git a/packages/SystemUI/res/values-sw/tiles_states_strings.xml b/packages/SystemUI/res/values-sw/tiles_states_strings.xml index cbc8584c691a..15de7f88694c 100644 --- a/packages/SystemUI/res/values-sw/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-sw/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"Umezima"</item> <item msgid="5137565285664080143">"Umewasha"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"Havipatikani"</item> + <item msgid="3079622119444911877">"Vimezimwa"</item> + <item msgid="3028994095749238254">"Vimewashwa"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-ta/strings.xml b/packages/SystemUI/res/values-ta/strings.xml index d623ba092372..019dddcda6e4 100644 --- a/packages/SystemUI/res/values-ta/strings.xml +++ b/packages/SystemUI/res/values-ta/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"அதிகம்"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"சாதனத்தின் மைக்ரோஃபோனுக்கான தடுப்பை நீக்கவா?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"சாதனத்தின் கேமராவுக்கான தடுப்பை நீக்கவா?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"சாதனத்தின் கேமராவுக்கும் மைக்ரோஃபோனுக்குமான தடுப்பை நீக்கவா?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"அகற்றும்"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"விட்ஜெட்டைச் சேர்"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"முடிந்தது"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"விட்ஜெட்களைச் சேர்"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"டேப்லெட்டை அன்லாக் செய்யாமலே உங்களுக்கு விருப்பமான ஆப்ஸ் விட்ஜெட்களுக்கு விரைவு அணுகலைப் பெறுங்கள்."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"பூட்டுத் திரையில் எந்தவொரு விட்ஜெட்டையும் அனுமதிக்கவா?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"அமைப்புகளைத் திற"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"பணி ஆப்ஸை மீண்டும் இயக்கவா?"</string> @@ -581,7 +585,7 @@ <string name="screen_pinning_exit" msgid="4553787518387346893">"ஆப்ஸ் பின்னிலிருந்து அகற்றப்பட்டது"</string> <string name="stream_voice_call" msgid="7468348170702375660">"அழைப்பு"</string> <string name="stream_system" msgid="7663148785370565134">"சிஸ்டம்"</string> - <string name="stream_ring" msgid="7550670036738697526">"ரிங் செய்"</string> + <string name="stream_ring" msgid="7550670036738697526">"அழைப்பு ஒலி"</string> <string name="stream_music" msgid="2188224742361847580">"மீடியா"</string> <string name="stream_alarm" msgid="16058075093011694">"அலாரம்"</string> <string name="stream_notification" msgid="7930294049046243939">"அறிவிப்பு"</string> @@ -617,7 +621,7 @@ <string name="volume_panel_hint_mute" msgid="6962563028495243738">"%s ஐ ஒலியடக்கும்"</string> <string name="volume_panel_hint_unmute" msgid="7489063242934477382">"%s ஐ ஒலி இயக்கும்"</string> <string name="media_output_label_title" msgid="872824698593182505">"இதில் <xliff:g id="LABEL">%s</xliff:g> பிளே ஆகிறது"</string> - <string name="media_output_title_without_playing" msgid="3825663683169305013">"இல் ஆடியோ பிளே ஆகும்"</string> + <string name="media_output_title_without_playing" msgid="3825663683169305013">"ஆடியோ இதில் பிளே ஆகும்"</string> <string name="system_ui_tuner" msgid="1471348823289954729">"System UI Tuner"</string> <string name="status_bar" msgid="4357390266055077437">"நிலைப் பட்டி"</string> <string name="demo_mode" msgid="263484519766901593">"சிஸ்டம் பயனர் இடைமுக டெமோ பயன்முறை"</string> diff --git a/packages/SystemUI/res/values-te/strings.xml b/packages/SystemUI/res/values-te/strings.xml index 732131a2aa5c..1b3c5e2e339c 100644 --- a/packages/SystemUI/res/values-te/strings.xml +++ b/packages/SystemUI/res/values-te/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"అధికం"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"పరికరం మైక్రోఫోన్ను అన్బ్లాక్ చేయమంటారా?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"పరికరంలోని కెమెరాను అన్బ్లాక్ చేయమంటారా?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"పరికరంలోని కెమెరా, మైక్రోఫోన్లను అన్బ్లాక్ చేయమంటారా?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"తీసివేయండి"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"విడ్జెట్ను జోడించండి"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"పూర్తయింది"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"విడ్జెట్లను జోడించండి"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"మీ టాబ్లెట్ను అన్లాక్ చేయకుండానే మీకు ఇష్టమైన యాప్ విడ్జెట్లకు క్విక్ యాక్సెస్ను పొందండి."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"లాక్ స్క్రీన్లో ఏదైనా విడ్జెట్ను అనుమతించాలా?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"సెట్టింగ్లను తెరవండి"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"వర్క్ యాప్స్ అన్పాజ్ చేయాలా?"</string> @@ -603,7 +607,7 @@ <string name="volume_panel_noise_control_title" msgid="7413949943872304474">"నాయిస్ కంట్రోల్"</string> <string name="volume_panel_spatial_audio_title" msgid="3367048857932040660">"స్పేషియల్ ఆడియో"</string> <string name="volume_panel_spatial_audio_off" msgid="4177490084606772989">"ఆఫ్ చేయండి"</string> - <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"ఆరంభించండి"</string> + <string name="volume_panel_spatial_audio_fixed" msgid="3136080137827746046">"ఫిక్స్డ్"</string> <string name="volume_panel_spatial_audio_tracking" msgid="5711115234001762974">"హెడ్ ట్రాకింగ్"</string> <string name="volume_ringer_change" msgid="3574969197796055532">"రింగర్ మోడ్ను మార్చడానికి ట్యాప్ చేయండి"</string> <string name="volume_ringer_hint_mute" msgid="4263821214125126614">"మ్యూట్ చేయి"</string> diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml index ab125e9a007c..e8d376dba34c 100644 --- a/packages/SystemUI/res/values-th/strings.xml +++ b/packages/SystemUI/res/values-th/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"สูง"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"เลิกบล็อกไมโครโฟนของอุปกรณ์ใช่ไหม"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"เลิกบล็อกกล้องของอุปกรณ์ใช่ไหม"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"เลิกบล็อกกล้องและไมโครโฟนของอุปกรณ์ใช่ไหม"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"นำออก"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"เพิ่มวิดเจ็ต"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"เสร็จสิ้น"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"เพิ่มวิดเจ็ต"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"เข้าถึงวิดเจ็ตแอปโปรดได้อย่างรวดเร็วโดยไม่ต้องปลดล็อกแท็บเล็ต"</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"อนุญาตวิดเจ็ตบนหน้าจอล็อกไหม"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"เปิดการตั้งค่า"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"ยกเลิกการหยุดแอปงานชั่วคราวไหม"</string> diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml index c086b8d9e479..54bb74b85cba 100644 --- a/packages/SystemUI/res/values-tl/strings.xml +++ b/packages/SystemUI/res/values-tl/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Standard"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Katamtaman"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"Mataas"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"Mga hearing device"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"I-unblock ang mikropono ng device?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"I-unblock ang camera ng device?"</string> @@ -442,10 +447,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Alisin"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Magdagdag ng widget"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Tapos na"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Magdagdag ng mga widget"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Makakuha ng mabilis na access sa paborito mong mga widget ng app nang hindi ina-unlock ang iyong tablet."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Payagan ang anumang widget sa lock screen?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Buksan ang mga setting"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"I-unpause ang mga work app?"</string> diff --git a/packages/SystemUI/res/values-tl/tiles_states_strings.xml b/packages/SystemUI/res/values-tl/tiles_states_strings.xml index d4a836ebcc97..fe2827f6a4e9 100644 --- a/packages/SystemUI/res/values-tl/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-tl/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"Naka-off"</item> <item msgid="5137565285664080143">"Naka-on"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"Hindi available"</item> + <item msgid="3079622119444911877">"Naka-off"</item> + <item msgid="3028994095749238254">"Naka-on"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml index 76e0e350310e..5364c83d0694 100644 --- a/packages/SystemUI/res/values-tr/strings.xml +++ b/packages/SystemUI/res/values-tr/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Standart"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Orta"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"Yüksek"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"İşitme cihazları"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Cihaz mikrofonunun engellemesi kaldırılsın mı?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Cihaz kamerasının engellemesi kaldırılsın mı?"</string> @@ -442,10 +447,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Kaldır"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Widget ekle"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Bitti"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Widget ekleme"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Tabletinizin kilidini açmadan favori uygulama widget\'larınıza hızlıca erişin."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Kilit ekranında tüm widget\'lara izin verilsin mi?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Ayarları açın"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"İş uygulamaları devam ettirilsin mi?"</string> diff --git a/packages/SystemUI/res/values-tr/tiles_states_strings.xml b/packages/SystemUI/res/values-tr/tiles_states_strings.xml index ecd1585e515c..1ed106f4efd2 100644 --- a/packages/SystemUI/res/values-tr/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-tr/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"Kapalı"</item> <item msgid="5137565285664080143">"Açık"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"Yok"</item> + <item msgid="3079622119444911877">"Kapalı"</item> + <item msgid="3028994095749238254">"Açık"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml index 260b8c9a494d..da1dfa4af50d 100644 --- a/packages/SystemUI/res/values-uk/strings.xml +++ b/packages/SystemUI/res/values-uk/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"Високий"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Надати доступ до мікрофона?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Надати доступ до камери пристрою?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Надати доступ до камери й мікрофона?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Видалити"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Додати віджет"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Готово"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Додати віджети"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Отримуйте швидкий доступ до віджетів улюблених додатків, не розблоковуючи планшет."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Дозволити використовувати будь-який віджет на заблокованому екрані?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Відкрити налаштування"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Увімкнути робочі додатки?"</string> @@ -672,10 +676,10 @@ <string name="notification_channel_summary_automatic_silenced" msgid="7403004439649872047">"<b>Статус</b>: знижено до \"Без звуку\""</string> <string name="notification_channel_summary_automatic_promoted" msgid="1301710305149590426">"<b>Статус</b>: пріоритет підвищено"</string> <string name="notification_channel_summary_automatic_demoted" msgid="1831303964660807700">"<b>Статус</b>: пріоритет знижено"</string> - <string name="notification_channel_summary_priority_baseline" msgid="46674690072551234">"З’являється вгорі сповіщень про розмови та як зображення профілю на заблокованому екрані"</string> - <string name="notification_channel_summary_priority_bubble" msgid="1275413109619074576">"З’являється вгорі сповіщень про розмови та як зображення профілю на заблокованому екрані, показується у вигляді спливаючої підказки"</string> - <string name="notification_channel_summary_priority_dnd" msgid="6665395023264154361">"З’являється вгорі сповіщень про розмови та як зображення профілю на заблокованому екрані, показується навіть у режимі \"Не турбувати\""</string> - <string name="notification_channel_summary_priority_all" msgid="7151752959650048285">"З’являється вгорі сповіщень про розмови та як зображення профілю на заблокованому екрані, відображається як спливаючий чат, перериває режим \"Не турбувати\""</string> + <string name="notification_channel_summary_priority_baseline" msgid="46674690072551234">"З’являється вгорі сповіщень про розмови і як зображення профілю на заблокованому екрані"</string> + <string name="notification_channel_summary_priority_bubble" msgid="1275413109619074576">"З’являється вгорі сповіщень про розмови і як зображення профілю на заблокованому екрані, показується у вигляді спливаючої підказки"</string> + <string name="notification_channel_summary_priority_dnd" msgid="6665395023264154361">"З’являється вгорі сповіщень про розмови і як зображення профілю на заблокованому екрані, показується навіть у режимі \"Не турбувати\""</string> + <string name="notification_channel_summary_priority_all" msgid="7151752959650048285">"З’являється вгорі сповіщень про розмови і як зображення профілю на заблокованому екрані, відображається як спливаючий чат, перериває режим \"Не турбувати\""</string> <string name="notification_priority_title" msgid="2079708866333537093">"Пріоритет"</string> <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> не підтримує функції розмов"</string> <string name="notification_unblockable_desc" msgid="2073030886006190804">"Ці сповіщення не можна змінити."</string> diff --git a/packages/SystemUI/res/values-ur/strings.xml b/packages/SystemUI/res/values-ur/strings.xml index 44ea082506c2..fa4bd02124e5 100644 --- a/packages/SystemUI/res/values-ur/strings.xml +++ b/packages/SystemUI/res/values-ur/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"معیاری"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"متوسط"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"زیادہ"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"سماعت کے آلات"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"آلے کا مائیکروفون غیر مسدود کریں؟"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"آلے کا کیمرا غیر مسدود کریں؟"</string> @@ -442,10 +447,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"ہٹائیں"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"ویجیٹ شامل کریں"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"ہو گیا"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"ویجٹس شامل کریں"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"اپنے ٹیبلیٹ کو غیر مقفل کیے بغیر اپنے پسندیدہ ایپ ویجیٹس تک فوری رسائی حاصل کریں۔"</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"مقفل اسکرین پر کسی ویجیٹ کی اجازت دیں؟"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"ترتیبات کھولیں"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"ورک ایپس کو غیر موقوف کریں؟"</string> @@ -617,7 +620,7 @@ <string name="volume_panel_hint_mute" msgid="6962563028495243738">"%s خاموش کریں"</string> <string name="volume_panel_hint_unmute" msgid="7489063242934477382">"%s غیر خاموش کریں"</string> <string name="media_output_label_title" msgid="872824698593182505">"<xliff:g id="LABEL">%s</xliff:g> پر چل رہی ہے"</string> - <string name="media_output_title_without_playing" msgid="3825663683169305013">"آڈیو چلتی رہے گی"</string> + <string name="media_output_title_without_playing" msgid="3825663683169305013">"آڈیو اس پر چلے گی"</string> <string name="system_ui_tuner" msgid="1471348823289954729">"سسٹم UI ٹیونر"</string> <string name="status_bar" msgid="4357390266055077437">"اسٹیٹس بار"</string> <string name="demo_mode" msgid="263484519766901593">"سسٹم UI ڈیمو موڈ"</string> diff --git a/packages/SystemUI/res/values-ur/tiles_states_strings.xml b/packages/SystemUI/res/values-ur/tiles_states_strings.xml index 36a9dfcfd92a..ebbc30ebca58 100644 --- a/packages/SystemUI/res/values-ur/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-ur/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"آف ہے"</item> <item msgid="5137565285664080143">"آن ہے"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"دستیاب نہیں ہے"</item> + <item msgid="3079622119444911877">"آف ہے"</item> + <item msgid="3028994095749238254">"آن ہے"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-uz/strings.xml b/packages/SystemUI/res/values-uz/strings.xml index 80a6a245ea14..195b044a0f6f 100644 --- a/packages/SystemUI/res/values-uz/strings.xml +++ b/packages/SystemUI/res/values-uz/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Standart"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Oʻrtacha"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"Yuqori"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"Eshitish qurilmalari"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Qurilma mikrofoni blokdan chiqarilsinmi?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Qurilma kamerasi blokdan chiqarilsinmi?"</string> @@ -442,10 +447,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Olib tashlash"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Vidjet kiritish"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Tayyor"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Vidjetlar qoʻshish"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Planshetingiz qulflangan boʻlsa ham sevimli ilova vidjetlariga tezkor kira olasiz"</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Ekran qulfida istalgan vidjet chiqsinmi?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Sozlamalarni ochish"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Ishga oid ilovalar qaytarilsinmi?"</string> diff --git a/packages/SystemUI/res/values-uz/tiles_states_strings.xml b/packages/SystemUI/res/values-uz/tiles_states_strings.xml index 82d073393baa..2ae811233176 100644 --- a/packages/SystemUI/res/values-uz/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-uz/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"Oʻchiq"</item> <item msgid="5137565285664080143">"Yoniq"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"Ishlamayapti"</item> + <item msgid="3079622119444911877">"Oʻchiq"</item> + <item msgid="3028994095749238254">"Yoniq"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml index 355c1353f20d..469430b5dcf6 100644 --- a/packages/SystemUI/res/values-vi/strings.xml +++ b/packages/SystemUI/res/values-vi/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Chuẩn"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Vừa"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"Cao"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"Thiết bị trợ thính"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Bỏ chặn micrô của thiết bị?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Bỏ chặn camera của thiết bị?"</string> @@ -442,10 +447,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Xoá"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Thêm tiện ích"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Xong"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Thêm tiện ích"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Truy cập nhanh vào các tiện ích ứng dụng bạn yêu thích mà không cần mở khoá máy tính bảng."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Cho phép mọi tiện ích trên màn hình khoá?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Mở phần Cài đặt"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Tiếp tục dùng ứng dụng công việc?"</string> diff --git a/packages/SystemUI/res/values-vi/tiles_states_strings.xml b/packages/SystemUI/res/values-vi/tiles_states_strings.xml index 83c6a1866ed2..d9d8af1d644c 100644 --- a/packages/SystemUI/res/values-vi/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-vi/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"Đang tắt"</item> <item msgid="5137565285664080143">"Đang bật"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"Không có"</item> + <item msgid="3079622119444911877">"Đang tắt"</item> + <item msgid="3028994095749238254">"Đang bật"</item> + </string-array> </resources> diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml index 812df78449d6..6765d1e4f175 100644 --- a/packages/SystemUI/res/values-zh-rCN/strings.xml +++ b/packages/SystemUI/res/values-zh-rCN/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"高"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"要解锁设备麦克风吗?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"要解锁设备摄像头吗?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"要解锁设备摄像头和麦克风吗?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"移除"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"添加微件"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"完成"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"添加微件"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"无需解锁平板电脑,即可快速使用您喜爱的应用微件。"</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"允许在锁屏状态下显示任何微件?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"打开设置"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"是否为工作应用解除暂停状态?"</string> diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml index 5a4b63aa08f8..d4891d533276 100644 --- a/packages/SystemUI/res/values-zh-rHK/strings.xml +++ b/packages/SystemUI/res/values-zh-rHK/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"高"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"要解除封鎖裝置麥克風嗎?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"要解除封鎖裝置相機嗎?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"要解除封鎖裝置相機和麥克風嗎?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"移除"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"新增小工具"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"完成"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"新增小工具"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"無需解鎖平板電腦,就能快速使用最愛的應用程式小工具。"</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"要允許在上鎖畫面上顯示任何小工具嗎?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"開啟設定"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"要取消暫停工作應用程式嗎?"</string> diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml index 78dd82c97ef9..bc59988f681d 100644 --- a/packages/SystemUI/res/values-zh-rTW/strings.xml +++ b/packages/SystemUI/res/values-zh-rTW/strings.xml @@ -365,6 +365,12 @@ <string name="quick_settings_contrast_high" msgid="656049259587494499">"高"</string> <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> <skip /> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> + <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"要解除封鎖裝置麥克風嗎?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"要解除封鎖裝置相機嗎?"</string> <string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"要將裝置的相機和麥克風解除封鎖嗎?"</string> @@ -442,10 +448,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"移除"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"新增小工具"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"完成"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"新增小工具"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"快速使用喜愛的應用程式小工具,不必解鎖平板電腦。"</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"要允許在螢幕鎖定畫面上顯示任何小工具嗎?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"開啟設定"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"要解除工作應用程式的暫停狀態嗎?"</string> diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml index 06f469f66397..780fe948d531 100644 --- a/packages/SystemUI/res/values-zu/strings.xml +++ b/packages/SystemUI/res/values-zu/strings.xml @@ -363,7 +363,12 @@ <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Okujwayelekile"</string> <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Okuphakathi"</string> <string name="quick_settings_contrast_high" msgid="656049259587494499">"Phezulu"</string> - <!-- no translation found for quick_settings_hearing_devices_label (7277170419679404129) --> + <string name="quick_settings_hearing_devices_label" msgid="7277170419679404129">"Izinsizakuzwa"</string> + <!-- no translation found for quick_settings_hearing_devices_dialog_title (9004774017688484981) --> + <skip /> + <!-- no translation found for quick_settings_pair_hearing_devices (5987105102207447322) --> + <skip /> + <!-- no translation found for accessibility_hearing_device_pair_new_device (8440082580186130090) --> <skip /> <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Vulela imakrofoni yedivayisi?"</string> <string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Vulela ikhamera yedivayisi?"</string> @@ -442,10 +447,8 @@ <string name="button_to_remove_widget" msgid="3948204829181214098">"Susa"</string> <string name="hub_mode_add_widget_button_text" msgid="4831464661209971729">"Engeza iwijethi"</string> <string name="hub_mode_editing_exit_button_text" msgid="3704686734192264771">"Kwenziwe"</string> - <!-- no translation found for label_for_button_in_empty_state_cta (7314975555382055823) --> - <skip /> - <!-- no translation found for title_for_empty_state_cta (6161654421223450530) --> - <skip /> + <string name="label_for_button_in_empty_state_cta" msgid="7314975555382055823">"Faka iwijethi"</string> + <string name="title_for_empty_state_cta" msgid="6161654421223450530">"Thola ukufinyelela okusheshayo kumawijethi e-app akho owathandayo ngaphandle kokuvula ithebhulethi yakho."</string> <string name="dialog_title_to_allow_any_widget" msgid="1004820948962675644">"Vumela noma iyiphi iwijethi ekukhiyeni isikrini?"</string> <string name="button_text_to_open_settings" msgid="1987729256950941628">"Vula amasethingi"</string> <string name="work_mode_off_title" msgid="5794818421357835873">"Susa ukumisa ama-app omsebenzi?"</string> diff --git a/packages/SystemUI/res/values-zu/tiles_states_strings.xml b/packages/SystemUI/res/values-zu/tiles_states_strings.xml index 8877268e4130..a795ee8b9d75 100644 --- a/packages/SystemUI/res/values-zu/tiles_states_strings.xml +++ b/packages/SystemUI/res/values-zu/tiles_states_strings.xml @@ -186,7 +186,9 @@ <item msgid="2478289035899842865">"Valiwe"</item> <item msgid="5137565285664080143">"Vuliwe"</item> </string-array> - <!-- no translation found for tile_states_hearing_devices:0 (1235334096484287173) --> - <!-- no translation found for tile_states_hearing_devices:1 (3079622119444911877) --> - <!-- no translation found for tile_states_hearing_devices:2 (3028994095749238254) --> + <string-array name="tile_states_hearing_devices"> + <item msgid="1235334096484287173">"Ayitholakali"</item> + <item msgid="3079622119444911877">"Kuvaliwe"</item> + <item msgid="3028994095749238254">"Kuvuliwe"</item> + </string-array> </resources> diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/ToAodFoldTransitionInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/ToAodFoldTransitionInteractor.kt index 3b25128fa878..6729246dcb7a 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/ToAodFoldTransitionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/ToAodFoldTransitionInteractor.kt @@ -75,7 +75,7 @@ constructor( fun initialize(parentAnimator: ShadeFoldAnimator) { this.parentAnimator = - parentAnimator as NotificationPanelViewController.ShadeFoldAnimatorImpl? + parentAnimator as? NotificationPanelViewController.ShadeFoldAnimatorImpl? } /** Forces the keyguard into AOD or Doze */ diff --git a/packages/SystemUI/src/com/android/systemui/scene/domain/startable/SceneContainerStartable.kt b/packages/SystemUI/src/com/android/systemui/scene/domain/startable/SceneContainerStartable.kt index e911ce17b395..f4292207f3a9 100644 --- a/packages/SystemUI/src/com/android/systemui/scene/domain/startable/SceneContainerStartable.kt +++ b/packages/SystemUI/src/com/android/systemui/scene/domain/startable/SceneContainerStartable.kt @@ -32,6 +32,7 @@ import com.android.systemui.common.coroutine.ConflatedCallbackFlow.conflatedCall import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.DisplayId +import com.android.systemui.deviceentry.domain.interactor.DeviceEntryFaceAuthInteractor import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor import com.android.systemui.model.SceneContainerPlugin @@ -63,6 +64,8 @@ import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.distinctUntilChangedBy import kotlinx.coroutines.flow.emptyFlow +import kotlinx.coroutines.flow.filter +import kotlinx.coroutines.flow.filterIsInstance import kotlinx.coroutines.flow.flatMapLatest import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.map @@ -96,6 +99,7 @@ constructor( private val centralSurfaces: CentralSurfaces, private val headsUpInteractor: HeadsUpNotificationInteractor, private val occlusionInteractor: SceneContainerOcclusionInteractor, + private val faceUnlockInteractor: DeviceEntryFaceAuthInteractor, ) : CoreStartable { override fun start() { @@ -108,6 +112,7 @@ constructor( respondToFalsingDetections() hydrateWindowFocus() hydrateInteractionState() + handleBouncerOverscroll() } else { sceneLogger.logFrameworkEnabled( isEnabled = false, @@ -227,7 +232,7 @@ constructor( is ObservableTransitionState.Idle -> setOf(transitionState.scene) is ObservableTransitionState.Transition -> setOf( - transitionState.progress, + transitionState.fromScene, transitionState.toScene, ) } @@ -294,12 +299,17 @@ constructor( val canSwipeToEnter = deviceEntryInteractor.canSwipeToEnter.value val isUnlocked = deviceEntryInteractor.isUnlocked.value if (isUnlocked && canSwipeToEnter == false) { - switchToScene( - targetSceneKey = Scenes.Gone, - loggingReason = - "device is waking up while unlocked without the ability" + - " to swipe up on lockscreen to enter.", - ) + val isTransitioningToLockscreen = + sceneInteractor.transitioningTo.value == Scenes.Lockscreen + if (!isTransitioningToLockscreen) { + switchToScene( + targetSceneKey = Scenes.Gone, + loggingReason = + "device is waking up while unlocked without the ability to" + + " swipe up on lockscreen to enter and not on or" + + " transitioning to, the lockscreen scene.", + ) + } } else if ( authenticationInteractor.get().getAuthenticationMethod() == AuthenticationMethodModel.Sim @@ -456,6 +466,33 @@ constructor( } } + private fun handleBouncerOverscroll() { + applicationScope.launch { + sceneInteractor.transitionState + // Only consider transitions. + .filterIsInstance<ObservableTransitionState.Transition>() + // Only consider user-initiated (e.g. drags) that go from bouncer to lockscreen. + .filter { transition -> + transition.fromScene == Scenes.Bouncer && + transition.toScene == Scenes.Lockscreen && + transition.isInitiatedByUserInput + } + .flatMapLatest { it.progress } + // Figure out the direction of scrolling. + .map { progress -> + when { + progress > 0 -> 1 + progress < 0 -> -1 + else -> 0 + } + } + .distinctUntilChanged() + // Only consider negative scrolling, AKA overscroll. + .filter { it == -1 } + .collect { faceUnlockInteractor.onSwipeUpOnBouncer() } + } + } + private fun switchToScene(targetSceneKey: SceneKey, loggingReason: String) { sceneInteractor.changeScene( toScene = targetSceneKey, diff --git a/packages/SystemUI/tests/utils/kosmos/src/com/android/systemui/kosmos/Kosmos.kt b/packages/SystemUI/tests/utils/kosmos/src/com/android/systemui/kosmos/Kosmos.kt new file mode 100644 index 000000000000..685bb0ac56da --- /dev/null +++ b/packages/SystemUI/tests/utils/kosmos/src/com/android/systemui/kosmos/Kosmos.kt @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.kosmos + +import kotlin.reflect.KProperty + +// (Historical note: The name Kosmos is meant to invoke "Kotlin", the "Object Mother" pattern +// (https://martinfowler.com/bliki/ObjectMother.html), and of course the Greek word "kosmos" for +// the "order of the world" (https://en.wiktionary.org/wiki/%CE%BA%CF%8C%CF%83%CE%BC%CE%BF%CF%82) + +/** + * Each Kosmos is its own self-contained set of fixtures, which may reference each other. Fixtures + * can be defined through extension properties in any file: + * ``` + * // fixture that must be set: + * var Kosmos.context by Fixture<Context>() + * + * // fixture with overrideable default. + * var Kosmos.landscapeMode by Fixture { false } + * + * // fixture forbidding override (note `val`, and referencing context fixture from above) + * val Kosmos.lifecycleScope by Fixture { context.lifecycleScope } + * ``` + * + * To use the fixtures, create an instance of Kosmos and retrieve the values you need: + * ``` + * val k = Kosmos() + * k.context = mContext + * val underTest = YourInteractor( + * context = k.context, + * landscapeMode = k.landscapeMode, + * ) + * ``` + */ +interface Kosmos { + /** + * Lookup a fixture in the Kosmos by [name], using [creator] to instantiate and store one if + * there is none present. + */ + fun <T> get(name: String, creator: (Kosmos.() -> T)?): T + + /** Sets the [value] of a fixture with the given [name]. */ + fun set(name: String, value: Any?) + + /** + * A value in the kosmos that has a single value once it's read. It can be overridden before + * first use only; all objects that are dependent on this fixture will get the same value. + * + * Example classic uses would be a clock, filesystem, or singleton controller. + * + * If no [creator] parameter is provided, the fixture must be set before use. + */ + class Fixture<T>(private val creator: (Kosmos.() -> T)? = null) { + operator fun getValue(thisRef: Kosmos, property: KProperty<*>): T = + thisRef.get(property.name, creator) + + operator fun setValue(thisRef: Kosmos, property: KProperty<*>, value: T) { + thisRef.set(property.name, value) + } + } +} + +/** Constructs a fresh Kosmos. */ +fun Kosmos(): Kosmos = KosmosRegistry() + +private class KosmosRegistry : Kosmos { + val map: MutableMap<String, Any?> = mutableMapOf() + val gotten: MutableSet<String> = mutableSetOf() + + override fun <T> get(name: String, creator: (Kosmos.() -> T)?): T { + gotten.add(name) + if (name !in map) { + checkNotNull(creator) { "Fixture $name has no default, and is read before set." } + map[name] = creator() + } + @Suppress("UNCHECKED_CAST") return map[name] as T + } + + override fun set(name: String, value: Any?) { + check(name !in gotten) { "Tried to set fixture '$name' after it's already been read." } + map[name] = value + } +} diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/kosmos/Kosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/kosmos/Kosmos.kt deleted file mode 100644 index c74cdd4ca4c4..000000000000 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/kosmos/Kosmos.kt +++ /dev/null @@ -1,69 +0,0 @@ -package com.android.systemui.kosmos - -import kotlin.reflect.KProperty - -// (Historical note: The name Kosmos is meant to invoke "Kotlin", the "Object Mother" pattern -// (https://martinfowler.com/bliki/ObjectMother.html), and of course the Greek word "kosmos" for -// the "order of the world" (https://en.wiktionary.org/wiki/%CE%BA%CF%8C%CF%83%CE%BC%CE%BF%CF%82) -/** - * Each Kosmos is its own self-contained set of fixtures, which may reference each other. Fixtures - * can be defined through extension properties in any file: - * ``` - * // fixture that must be set: - * var Kosmos.context by Fixture<Context>() - * - * // fixture with overrideable default. - * var Kosmos.landscapeMode by Fixture { false } - * - * // fixture forbidding override (note `val`, and referencing context fixture from above) - * val Kosmos.lifecycleScope by Fixture { context.lifecycleScope } - * ``` - * - * To use the fixtures, create an instance of Kosmos and retrieve the values you need: - * ``` - * val k = Kosmos() - * k.context = mContext - * val underTest = YourInteractor( - * context = k.context, - * landscapeMode = k.landscapeMode, - * ) - * ``` - */ -class Kosmos { - private val map: MutableMap<String, Any?> = mutableMapOf() - private val gotten: MutableSet<String> = mutableSetOf() - - /** - * A value in the kosmos that has a single value once it's read. It can be overridden before - * first use only; all objects that are dependent on this fixture will get the same value. - * - * Example classic uses would be a clock, filesystem, or singleton controller. - * - * If no [creator] parameter is provided, the fixture must be set before use. - */ - class Fixture<T>(private val creator: (Kosmos.() -> T)? = null) { - operator fun getValue(thisRef: Kosmos, property: KProperty<*>): T { - thisRef.gotten.add(property.name) - @Suppress("UNCHECKED_CAST") - if (!thisRef.map.contains(property.name)) { - if (creator == null) { - throw IllegalStateException( - "Fixture ${property.name} has no default, and is read before set." - ) - } else { - val nonNullCreator = creator - // The Kotlin compiler seems to need this odd workaround - thisRef.map[property.name] = thisRef.nonNullCreator() - } - } - return thisRef.map[property.name] as T - } - - operator fun setValue(thisRef: Kosmos, property: KProperty<*>, value: T) { - check(!thisRef.gotten.contains(property.name)) { - "Tried to set fixture '${property.name}' after it's already been read." - } - thisRef.map[property.name] = value - } - } -} diff --git a/packages/VpnDialogs/res/values-de/strings.xml b/packages/VpnDialogs/res/values-de/strings.xml index 7397ddb2510c..062f61c9eb42 100644 --- a/packages/VpnDialogs/res/values-de/strings.xml +++ b/packages/VpnDialogs/res/values-de/strings.xml @@ -17,7 +17,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="prompt" msgid="3183836924226407828">"Verbindungsanfrage"</string> - <string name="warning" msgid="809658604548412033">"<xliff:g id="APP">%s</xliff:g> möchte eine VPN-Verbindung herstellen, über die der Netzwerkverkehr überwacht werden kann. Lass die Verbindung nur zu, wenn die App vertrauenswürdig ist. <br /> <br /> Wenn das VPN aktiv ist, wird oben im Display <img src=vpn_icon /> angezeigt."</string> + <string name="warning" msgid="809658604548412033">"<xliff:g id="APP">%s</xliff:g> möchte eine VPN-Verbindung herstellen, über die der Netzwerkverkehr überwacht werden kann. Lass die Verbindung nur zu, wenn die App vertrauenswürdig ist. <br /> <br /> Wenn das VPN aktiv ist, wird oben auf dem Display das Symbol „<img src=vpn_icon />“ angezeigt."</string> <string name="warning" product="tv" msgid="5188957997628124947">"<xliff:g id="APP">%s</xliff:g> möchte eine VPN-Verbindung herstellen, über die der Netzwerkverkehr überwacht werden kann. Lass die Verbindung nur zu, wenn die App vertrauenswürdig ist. <br /> <br /> <img src=vpn_icon /> wird auf dem Display angezeigt, wenn VPN aktiv ist."</string> <string name="legacy_title" msgid="192936250066580964">"VPN ist verbunden"</string> <string name="session" msgid="6470628549473641030">"Sitzung:"</string> diff --git a/services/backup/flags.aconfig b/services/backup/flags.aconfig index e9f959f4b9eb..74adfe08dba7 100644 --- a/services/backup/flags.aconfig +++ b/services/backup/flags.aconfig @@ -50,4 +50,12 @@ flag { "logger." bug: "296844513" is_fixed_read_only: true +} + +flag { + name: "enable_increased_bmm_logging_for_restore_at_install" + namespace: "onboarding" + description: "Increase BMM logging coverage in restore at install flow." + bug: "331749778" + is_fixed_read_only: true }
\ No newline at end of file diff --git a/services/backup/java/com/android/server/backup/UserBackupManagerService.java b/services/backup/java/com/android/server/backup/UserBackupManagerService.java index 976504a8d880..dc1cfb92c3b8 100644 --- a/services/backup/java/com/android/server/backup/UserBackupManagerService.java +++ b/services/backup/java/com/android/server/backup/UserBackupManagerService.java @@ -3903,11 +3903,33 @@ public class UserBackupManagerService { skip = true; } + BackupManagerMonitorEventSender mBMMEventSender = + getBMMEventSender(/*monitor=*/ null); + PackageInfo packageInfo = getPackageInfoForBMMLogging(packageName); TransportConnection transportConnection = mTransportManager.getCurrentTransportClient("BMS.restoreAtInstall()"); if (transportConnection == null) { if (DEBUG) Slog.w(TAG, addUserIdToLogMessage(mUserId, "No transport client")); skip = true; + } else if (Flags.enableIncreasedBmmLoggingForRestoreAtInstall()) { + try { + BackupTransportClient transportClient = transportConnection.connectOrThrow( + "BMS.restoreAtInstall"); + mBMMEventSender.setMonitor(transportClient.getBackupManagerMonitor()); + } catch (TransportNotAvailableException | RemoteException e) { + mBMMEventSender.monitorEvent( + BackupManagerMonitor.LOG_EVENT_ID_TRANSPORT_IS_NULL, packageInfo, + BackupManagerMonitor.LOG_EVENT_CATEGORY_TRANSPORT, null); + } + } + + if (Flags.enableIncreasedBmmLoggingForRestoreAtInstall()) { + mBMMEventSender.monitorEvent( + BackupManagerMonitor.LOG_EVENT_ID_RESTORE_AT_INSTALL_INVOKED, packageInfo, + BackupManagerMonitor.LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY, + mBMMEventSender.putMonitoringExtra(/*extras=*/null, + BackupManagerMonitor.EXTRA_LOG_OPERATION_TYPE, + BackupAnnotations.OperationType.RESTORE)); } if (!mAutoRestore) { @@ -3943,7 +3965,7 @@ public class UserBackupManagerService { RestoreParams.createForRestoreAtInstall( transportConnection, /* observer */ null, - /* monitor */ null, + mBMMEventSender.getMonitor(), restoreSet, packageName, token, @@ -3963,6 +3985,15 @@ public class UserBackupManagerService { if (skip) { // Auto-restore disabled or no way to attempt a restore + if (Flags.enableIncreasedBmmLoggingForRestoreAtInstall()) { + mBMMEventSender.monitorEvent( + BackupManagerMonitor.LOG_EVENT_ID_SKIP_RESTORE_AT_INSTALL, packageInfo, + BackupManagerMonitor.LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY, + mBMMEventSender.putMonitoringExtra(/*extras=*/null, + BackupManagerMonitor.EXTRA_LOG_OPERATION_TYPE, + BackupAnnotations.OperationType.RESTORE)); + } + if (transportConnection != null) { mTransportManager.disposeOfTransportClient( transportConnection, "BMS.restoreAtInstall()"); @@ -3976,6 +4007,23 @@ public class UserBackupManagerService { } } + private PackageInfo getPackageInfoForBMMLogging(String packageName) { + try { + return mPackageManager.getPackageInfoAsUser(packageName, 0, mUserId); + } catch (NameNotFoundException e) { + Slog.w( + TAG, + addUserIdToLogMessage( + mUserId, "Asked to get PackageInfo for BMM logging of nonexistent pkg " + + packageName)); + + PackageInfo packageInfo = new PackageInfo(); + packageInfo.packageName = packageName; + + return packageInfo; + } + } + /** Hand off a restore session. */ public IRestoreSession beginRestoreSession(String packageName, String transport) { if (DEBUG) { diff --git a/services/backup/java/com/android/server/backup/restore/FullRestoreEngine.java b/services/backup/java/com/android/server/backup/restore/FullRestoreEngine.java index 2c9eb51972af..b414b252cc37 100644 --- a/services/backup/java/com/android/server/backup/restore/FullRestoreEngine.java +++ b/services/backup/java/com/android/server/backup/restore/FullRestoreEngine.java @@ -29,6 +29,7 @@ import android.app.ApplicationThreadConstants; import android.app.IBackupAgent; import android.app.backup.BackupAgent; import android.app.backup.BackupAnnotations; +import android.app.backup.BackupManagerMonitor; import android.app.backup.FullBackup; import android.app.backup.IBackupManagerMonitor; import android.app.backup.IFullBackupRestoreObserver; @@ -57,6 +58,7 @@ import com.android.server.backup.OperationStorage.OpType; import com.android.server.backup.UserBackupManagerService; import com.android.server.backup.fullbackup.FullBackupObbConnection; import com.android.server.backup.utils.BackupEligibilityRules; +import com.android.server.backup.utils.BackupManagerMonitorEventSender; import com.android.server.backup.utils.BytesReadListener; import com.android.server.backup.utils.FullBackupRestoreObserverUtils; import com.android.server.backup.utils.RestoreUtils; @@ -143,6 +145,8 @@ public class FullRestoreEngine extends RestoreEngine { private FileMetadata mReadOnlyParent = null; + private BackupManagerMonitorEventSender mBackupManagerMonitorEventSender; + public FullRestoreEngine( UserBackupManagerService backupManagerService, OperationStorage operationStorage, BackupRestoreTask monitorTask, IFullBackupRestoreObserver observer, @@ -155,6 +159,7 @@ public class FullRestoreEngine extends RestoreEngine { mMonitorTask = monitorTask; mObserver = observer; mMonitor = monitor; + mBackupManagerMonitorEventSender = new BackupManagerMonitorEventSender(monitor); mOnlyPackage = onlyPackage; mAllowApks = allowApks; mAgentTimeoutParameters = Objects.requireNonNull( @@ -225,6 +230,9 @@ public class FullRestoreEngine extends RestoreEngine { // one app's data but see a different app's on the wire if (onlyPackage != null) { if (!pkg.equals(onlyPackage.packageName)) { + logBMMEvent( + BackupManagerMonitor.LOG_EVENT_ID_RESTORE_DATA_DOES_NOT_BELONG_TO_PACKAGE, + onlyPackage); Slog.w(TAG, "Expected data for " + onlyPackage + " but saw " + pkg); setResult(RestoreEngine.TRANSPORT_FAILURE); setRunning(false); @@ -412,6 +420,9 @@ public class FullRestoreEngine extends RestoreEngine { } if (mAgent == null) { + logBMMEvent( + BackupManagerMonitor.LOG_EVENT_ID_UNABLE_TO_CREATE_AGENT_FOR_RESTORE, + onlyPackage); Slog.e(TAG, "Unable to create agent for " + pkg); okay = false; tearDownPipes(); @@ -501,6 +512,9 @@ public class FullRestoreEngine extends RestoreEngine { } catch (RemoteException e) { // whoops, remote entity went away. We'll eat the content // ourselves, then, and not copy it over. + logBMMEvent( + BackupManagerMonitor.LOG_EVENT_ID_AGENT_CRASHED_BEFORE_RESTORE_DATA_IS_SENT, + onlyPackage); Slog.e(TAG, "Agent crashed during full restore"); agentSuccess = false; okay = false; @@ -531,6 +545,9 @@ public class FullRestoreEngine extends RestoreEngine { } catch (IOException e) { Slog.e(TAG, "Failed to write to restore pipe: " + e.getMessage()); + logBMMEvent( + BackupManagerMonitor.LOG_EVENT_ID_FAILED_TO_SEND_DATA_TO_AGENT_DURING_RESTORE, + onlyPackage); pipeOkay = false; } } @@ -548,6 +565,8 @@ public class FullRestoreEngine extends RestoreEngine { // okay, if the remote end failed at any point, deal with // it by ignoring the rest of the restore on it if (!agentSuccess) { + logBMMEvent(BackupManagerMonitor.LOG_EVENT_ID_AGENT_FAILURE_DURING_RESTORE, + onlyPackage); Slog.w(TAG, "Agent failure restoring " + pkg + "; ending restore"); mBackupManagerService.getBackupHandler().removeMessages( MSG_RESTORE_OPERATION_TIMEOUT); @@ -590,6 +609,8 @@ public class FullRestoreEngine extends RestoreEngine { if (DEBUG) { Slog.w(TAG, "io exception on restore socket read: " + e.getMessage()); } + logBMMEvent(BackupManagerMonitor.LOG_EVENT_ID_FAILED_TO_READ_DATA_FROM_TRANSPORT, + onlyPackage); setResult(RestoreEngine.TRANSPORT_FAILURE); info = null; } @@ -631,6 +652,16 @@ public class FullRestoreEngine extends RestoreEngine { return false; } + private void logBMMEvent(int eventId, PackageInfo pkgInfo) { + if (Flags.enableIncreasedBmmLoggingForRestoreAtInstall()) { + mBackupManagerMonitorEventSender.monitorEvent(eventId, pkgInfo, + BackupManagerMonitor.LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY, + mBackupManagerMonitorEventSender.putMonitoringExtra(/*extras=*/ + null, BackupManagerMonitor.EXTRA_LOG_OPERATION_TYPE, + BackupAnnotations.OperationType.RESTORE)); + } + } + private static boolean isValidParent(FileMetadata parentDir, @NonNull FileMetadata childDir) { return parentDir != null && childDir.packageName.equals(parentDir.packageName) diff --git a/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java b/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java index 8fece8257b89..e536876f6cc3 100644 --- a/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java +++ b/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java @@ -418,25 +418,6 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { private void startRestore() { sendStartRestore(mAcceptSet.size()); - // If we're starting a full-system restore, set up to begin widget ID remapping - if (mIsSystemRestore) { - AppWidgetBackupBridge.systemRestoreStarting(mUserId); - Bundle monitoringExtras = addRestoreOperationTypeToEvent(/* extras= */ null); - mBackupManagerMonitorEventSender.monitorEvent( - BackupManagerMonitor.LOG_EVENT_ID_START_SYSTEM_RESTORE, - null, - BackupManagerMonitor.LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY, - monitoringExtras); - } else { - // We are either performing RestoreAtInstall or Bmgr. - Bundle monitoringExtras = addRestoreOperationTypeToEvent(/* extras= */ null); - mBackupManagerMonitorEventSender.monitorEvent( - BackupManagerMonitor.LOG_EVENT_ID_START_RESTORE_AT_INSTALL, - null, - BackupManagerMonitor.LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY, - monitoringExtras); - } - try { String transportDirName = mTransportManager.getTransportDirName( @@ -459,6 +440,34 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { mBackupManagerMonitorEventSender.setMonitor(transport.getBackupManagerMonitor()); } + if (Flags.enableIncreasedBmmLoggingForRestoreAtInstall()) { + for (PackageInfo info : mAcceptSet) { + mBackupManagerMonitorEventSender.monitorEvent( + BackupManagerMonitor.LOG_EVENT_ID_PACKAGE_ACCEPTED_FOR_RESTORE, info, + BackupManagerMonitor.LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY, + addRestoreOperationTypeToEvent(/* extras= */ null)); + } + } + + // If we're starting a full-system restore, set up to begin widget ID remapping + if (mIsSystemRestore) { + AppWidgetBackupBridge.systemRestoreStarting(mUserId); + Bundle monitoringExtras = addRestoreOperationTypeToEvent(/* extras= */ null); + mBackupManagerMonitorEventSender.monitorEvent( + BackupManagerMonitor.LOG_EVENT_ID_START_SYSTEM_RESTORE, + null, + BackupManagerMonitor.LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY, + monitoringExtras); + } else { + // We are either performing RestoreAtInstall or Bmgr. + Bundle monitoringExtras = addRestoreOperationTypeToEvent(/* extras= */ null); + mBackupManagerMonitorEventSender.monitorEvent( + BackupManagerMonitor.LOG_EVENT_ID_START_RESTORE_AT_INSTALL, + null, + BackupManagerMonitor.LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY, + monitoringExtras); + } + mStatus = transport.startRestore(mToken, packages); if (mStatus != BackupTransport.TRANSPORT_OK) { Slog.e(TAG, "Transport error " + mStatus + "; no restore possible"); @@ -638,7 +647,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { Bundle monitoringExtras = addRestoreOperationTypeToEvent(/* extras= */ null); mBackupManagerMonitorEventSender.monitorEvent( BackupManagerMonitor.LOG_EVENT_ID_PACKAGE_NOT_PRESENT, - mCurrentPackage, + createPackageInfoForBMMLogging(pkgName), BackupManagerMonitor.LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY, monitoringExtras); EventLog.writeEvent( @@ -739,7 +748,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { Bundle monitoringExtras = addRestoreOperationTypeToEvent(/* extras= */ null); mBackupManagerMonitorEventSender.monitorEvent( BackupManagerMonitor.LOG_EVENT_ID_NO_NEXT_RESTORE_TARGET, - mCurrentPackage, + null, BackupManagerMonitor.LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY, monitoringExtras); EventLog.writeEvent(EventLogTags.RESTORE_TRANSPORT_FAILURE); @@ -1804,4 +1813,10 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { monitoringExtrasDenylist); } + private PackageInfo createPackageInfoForBMMLogging(String packageName) { + PackageInfo packageInfo = new PackageInfo(); + packageInfo.packageName = packageName; + + return packageInfo; + } } diff --git a/services/backup/java/com/android/server/backup/utils/BackupManagerMonitorDumpsysUtils.java b/services/backup/java/com/android/server/backup/utils/BackupManagerMonitorDumpsysUtils.java index 6d315ba38b31..fad59d23a6dc 100644 --- a/services/backup/java/com/android/server/backup/utils/BackupManagerMonitorDumpsysUtils.java +++ b/services/backup/java/com/android/server/backup/utils/BackupManagerMonitorDumpsysUtils.java @@ -371,6 +371,24 @@ public class BackupManagerMonitorDumpsysUtils { "V to U restore pkg not eligible"; case BackupManagerMonitor.LOG_EVENT_ID_V_TO_U_RESTORE_SET_LIST -> "V to U restore lists"; + case BackupManagerMonitor.LOG_EVENT_ID_RESTORE_AT_INSTALL_INVOKED -> + "Invoked restore at install"; + case BackupManagerMonitor.LOG_EVENT_ID_SKIP_RESTORE_AT_INSTALL -> + "Skip restore at install"; + case BackupManagerMonitor.LOG_EVENT_ID_PACKAGE_ACCEPTED_FOR_RESTORE -> + "Pkg accepted for restore"; + case BackupManagerMonitor.LOG_EVENT_ID_RESTORE_DATA_DOES_NOT_BELONG_TO_PACKAGE -> + "Restore data does not belong to package"; + case BackupManagerMonitor.LOG_EVENT_ID_UNABLE_TO_CREATE_AGENT_FOR_RESTORE -> + "Unable to create Agent"; + case BackupManagerMonitor.LOG_EVENT_ID_AGENT_CRASHED_BEFORE_RESTORE_DATA_IS_SENT -> + "Agent crashed before restore data is streamed"; + case BackupManagerMonitor.LOG_EVENT_ID_FAILED_TO_SEND_DATA_TO_AGENT_DURING_RESTORE -> + "Failed to send data to agent"; + case BackupManagerMonitor.LOG_EVENT_ID_AGENT_FAILURE_DURING_RESTORE -> + "Agent failure during restore"; + case BackupManagerMonitor.LOG_EVENT_ID_FAILED_TO_READ_DATA_FROM_TRANSPORT -> + "Failed to read data from Transport"; default -> "Unknown log event ID: " + code; }; return id; diff --git a/services/companion/java/com/android/server/companion/virtual/GenericWindowPolicyController.java b/services/companion/java/com/android/server/companion/virtual/GenericWindowPolicyController.java index 9e3f5ce54599..f38d772b56c4 100644 --- a/services/companion/java/com/android/server/companion/virtual/GenericWindowPolicyController.java +++ b/services/companion/java/com/android/server/companion/virtual/GenericWindowPolicyController.java @@ -334,7 +334,7 @@ public class GenericWindowPolicyController extends DisplayWindowPolicyController // The error dialog alerting users that streaming is blocked is always allowed. return true; } - if (!mAllowedUsers.contains(activityUser)) { + if (!activityUser.isSystem() && !mAllowedUsers.contains(activityUser)) { Slog.d(TAG, "Virtual device launch disallowed from user " + activityUser); return false; } diff --git a/services/core/java/com/android/server/VpnManagerService.java b/services/core/java/com/android/server/VpnManagerService.java index 1d1e2d994787..626fa708b4e7 100644 --- a/services/core/java/com/android/server/VpnManagerService.java +++ b/services/core/java/com/android/server/VpnManagerService.java @@ -1007,6 +1007,71 @@ public class VpnManagerService extends IVpnManager.Stub { } } + /** + * Get the vpn profile owned by the calling uid with the given name from the vpn database. + * + * <p>Note this method should not be used for platform VPN profiles. </p> + * + * @param name The name of the profile to retrieve. + * @return the unstructured blob for the matching vpn profile. + * Returns null if no profile with a matching name was found. + * @hide + */ + @Override + @Nullable + public byte[] getFromVpnProfileStore(@NonNull String name) { + return mVpnProfileStore.get(name); + } + + /** + * Put the given vpn profile owned by the calling uid with the given name into the vpn database. + * Existing profiles with the same name will be replaced. + * + * <p>Note this method should not be used for platform VPN profiles. + * To update a platform VPN, use provisionVpnProfile() instead. </p> + * + * @param name The name of the profile to put. + * @param blob The profile. + * @return true if the profile was successfully added. False otherwise. + * @hide + */ + @Override + public boolean putIntoVpnProfileStore(@NonNull String name, @NonNull byte[] blob) { + return mVpnProfileStore.put(name, blob); + } + + /** + * Removes the vpn profile owned by the calling uid with the given name from the vpn database. + * + * <p>Note this method should not be used for platform VPN profiles. + * To remove a platform VPN, use deleteVpnProfile() instead.</p> + * + * @param name The name of the profile to be removed. + * @return true if a profile was removed. False if no profile with a matching name was found. + * @hide + */ + @Override + public boolean removeFromVpnProfileStore(@NonNull String name) { + return mVpnProfileStore.remove(name); + } + + /** + * Returns a list of the name suffixes of the vpn profiles owned by the calling uid in the vpn + * database matching the given prefix, sorted in ascending order. + * + * <p>Note this method should not be used for platform VPN profiles. </p> + * + * @param prefix The prefix to match. + * @return an array of strings representing the name suffixes stored in the profile database + * matching the given prefix. The return value may be empty but never null. + * @hide + */ + @Override + @NonNull + public String[] listFromVpnProfileStore(@NonNull String prefix) { + return mVpnProfileStore.list(prefix); + } + private void ensureRunningOnHandlerThread() { if (mHandler.getLooper().getThread() != Thread.currentThread()) { throw new IllegalStateException( diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java index 434985e96d3e..40f0362ff8f3 100644 --- a/services/core/java/com/android/server/display/DisplayManagerService.java +++ b/services/core/java/com/android/server/display/DisplayManagerService.java @@ -150,6 +150,7 @@ import android.window.ScreenCapture; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.display.BrightnessSynchronizer; +import com.android.internal.foldables.FoldGracePeriodProvider; import com.android.internal.foldables.FoldLockSettingAvailabilityProvider; import com.android.internal.os.BackgroundThread; import com.android.internal.util.ArrayUtils; @@ -596,7 +597,7 @@ public final class DisplayManagerService extends SystemService { mUiHandler = UiThread.getHandler(); mDisplayDeviceRepo = new DisplayDeviceRepository(mSyncRoot, mPersistentDataStore); mLogicalDisplayMapper = new LogicalDisplayMapper(mContext, - foldSettingProvider, + foldSettingProvider, new FoldGracePeriodProvider(), mDisplayDeviceRepo, new LogicalDisplayListener(), mSyncRoot, mHandler, mFlags); mDisplayModeDirector = new DisplayModeDirector(context, mHandler, mFlags); mBrightnessSynchronizer = new BrightnessSynchronizer(mContext, diff --git a/services/core/java/com/android/server/display/LogicalDisplayMapper.java b/services/core/java/com/android/server/display/LogicalDisplayMapper.java index f727eac71be8..6203a32151a0 100644 --- a/services/core/java/com/android/server/display/LogicalDisplayMapper.java +++ b/services/core/java/com/android/server/display/LogicalDisplayMapper.java @@ -40,6 +40,7 @@ import android.view.DisplayAddress; import android.view.DisplayInfo; import com.android.internal.annotations.VisibleForTesting; +import com.android.internal.foldables.FoldGracePeriodProvider; import com.android.server.display.feature.DisplayManagerFlags; import com.android.server.display.layout.DisplayIdProducer; import com.android.server.display.layout.Layout; @@ -120,7 +121,7 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { /** * Sleep the device when transitioning into these device state. */ - private final SparseBooleanArray mDeviceStatesOnWhichToSleep; + private final SparseBooleanArray mDeviceStatesOnWhichToSelectiveSleep; /** * Map of all logical displays indexed by logical display id. @@ -153,6 +154,7 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { private final DisplayManagerService.SyncRoot mSyncRoot; private final LogicalDisplayMapperHandler mHandler; private final FoldSettingProvider mFoldSettingProvider; + private final FoldGracePeriodProvider mFoldGracePeriodProvider; private final PowerManager mPowerManager; /** @@ -201,15 +203,18 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { private final DisplayManagerFlags mFlags; LogicalDisplayMapper(@NonNull Context context, FoldSettingProvider foldSettingProvider, + FoldGracePeriodProvider foldGracePeriodProvider, @NonNull DisplayDeviceRepository repo, @NonNull Listener listener, @NonNull DisplayManagerService.SyncRoot syncRoot, @NonNull Handler handler, DisplayManagerFlags flags) { - this(context, foldSettingProvider, repo, listener, syncRoot, handler, + this(context, foldSettingProvider, foldGracePeriodProvider, repo, listener, syncRoot, + handler, new DeviceStateToLayoutMap((isDefault) -> isDefault ? DEFAULT_DISPLAY : sNextNonDefaultDisplayId++, flags), flags); } LogicalDisplayMapper(@NonNull Context context, FoldSettingProvider foldSettingProvider, + FoldGracePeriodProvider foldGracePeriodProvider, @NonNull DisplayDeviceRepository repo, @NonNull Listener listener, @NonNull DisplayManagerService.SyncRoot syncRoot, @NonNull Handler handler, @NonNull DeviceStateToLayoutMap deviceStateToLayoutMap, @@ -221,13 +226,15 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { mDisplayDeviceRepo = repo; mListener = listener; mFoldSettingProvider = foldSettingProvider; + mFoldGracePeriodProvider = foldGracePeriodProvider; mSingleDisplayDemoMode = SystemProperties.getBoolean("persist.demo.singledisplay", false); mSupportsConcurrentInternalDisplays = context.getResources().getBoolean( com.android.internal.R.bool.config_supportsConcurrentInternalDisplays); mDeviceStatesOnWhichToWakeUp = toSparseBooleanArray(context.getResources().getIntArray( com.android.internal.R.array.config_deviceStatesOnWhichToWakeUp)); - mDeviceStatesOnWhichToSleep = toSparseBooleanArray(context.getResources().getIntArray( - com.android.internal.R.array.config_deviceStatesOnWhichToSleep)); + mDeviceStatesOnWhichToSelectiveSleep = toSparseBooleanArray( + context.getResources().getIntArray( + com.android.internal.R.array.config_deviceStatesOnWhichToSleep)); mDisplayDeviceRepo.addListener(this); mDeviceStateToLayoutMap = deviceStateToLayoutMap; mFlags = flags; @@ -404,7 +411,7 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { ipw.println("mSingleDisplayDemoMode=" + mSingleDisplayDemoMode); ipw.println("mCurrentLayout=" + mCurrentLayout); ipw.println("mDeviceStatesOnWhichToWakeUp=" + mDeviceStatesOnWhichToWakeUp); - ipw.println("mDeviceStatesOnWhichToSleep=" + mDeviceStatesOnWhichToSleep); + ipw.println("mDeviceStatesOnWhichSelectiveSleep=" + mDeviceStatesOnWhichToSelectiveSleep); ipw.println("mInteractive=" + mInteractive); ipw.println("mBootCompleted=" + mBootCompleted); @@ -569,8 +576,8 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { boolean shouldDeviceBePutToSleep(int pendingState, int currentState, boolean isInteractive, boolean isBootCompleted) { return currentState != DeviceStateManager.INVALID_DEVICE_STATE_IDENTIFIER - && mDeviceStatesOnWhichToSleep.get(pendingState) - && !mDeviceStatesOnWhichToSleep.get(currentState) + && mDeviceStatesOnWhichToSelectiveSleep.get(pendingState) + && !mDeviceStatesOnWhichToSelectiveSleep.get(currentState) && isInteractive && isBootCompleted && !mFoldSettingProvider.shouldStayAwakeOnFold(); @@ -611,9 +618,12 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { final boolean waitingToWakeDevice = mDeviceStatesOnWhichToWakeUp.get(mPendingDeviceState) && !mDeviceStatesOnWhichToWakeUp.get(mDeviceState) && !mInteractive && mBootCompleted; - final boolean waitingToSleepDevice = mDeviceStatesOnWhichToSleep.get(mPendingDeviceState) - && !mDeviceStatesOnWhichToSleep.get(mDeviceState) - && mInteractive && mBootCompleted; + // The device should only wait for sleep if #shouldStayAwakeOnFold method returns false. + // If not, device should be marked ready for transition immediately. + final boolean waitingToSleepDevice = mDeviceStatesOnWhichToSelectiveSleep.get( + mPendingDeviceState) + && !mDeviceStatesOnWhichToSelectiveSleep.get(mDeviceState) + && mInteractive && mBootCompleted && !shouldStayAwakeOnFold(); final boolean displaysOff = areAllTransitioningDisplaysOffLocked(); final boolean isReadyToTransition = displaysOff && !waitingToWakeDevice @@ -1233,6 +1243,16 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { return retval; } + /** + * Returns true if the device would definitely have outer display ON/Stay Awake on fold based on + * the value of `Continue using app on fold` setting + */ + private boolean shouldStayAwakeOnFold() { + return mFoldSettingProvider.shouldStayAwakeOnFold() || ( + mFoldSettingProvider.shouldSelectiveStayAwakeOnFold() + && mFoldGracePeriodProvider.isEnabled()); + } + private String displayEventToString(int msg) { switch(msg) { case LOGICAL_DISPLAY_EVENT_ADDED: diff --git a/services/core/java/com/android/server/display/brightness/clamper/BrightnessLowLuxModifier.java b/services/core/java/com/android/server/display/brightness/clamper/BrightnessLowLuxModifier.java index 29b457fca8fc..a3dfe229eb59 100644 --- a/services/core/java/com/android/server/display/brightness/clamper/BrightnessLowLuxModifier.java +++ b/services/core/java/com/android/server/display/brightness/clamper/BrightnessLowLuxModifier.java @@ -70,11 +70,10 @@ public class BrightnessLowLuxModifier extends BrightnessModifier { mHandler = handler; mContentResolver = context.getContentResolver(); mSettingsObserver = new SettingsObserver(mHandler); + mDisplayDeviceConfig = displayDeviceConfig; mHandler.post(() -> { start(); }); - - mDisplayDeviceConfig = displayDeviceConfig; } /** diff --git a/services/core/java/com/android/server/graphics/fonts/UpdatableFontDir.java b/services/core/java/com/android/server/graphics/fonts/UpdatableFontDir.java index 1715254a7403..9d04682f2374 100644 --- a/services/core/java/com/android/server/graphics/fonts/UpdatableFontDir.java +++ b/services/core/java/com/android/server/graphics/fonts/UpdatableFontDir.java @@ -196,8 +196,7 @@ final class UpdatableFontDir { File signatureFile = new File(dir, FONT_SIGNATURE_FILE); if (!signatureFile.exists()) { Slog.i(TAG, "The signature file is missing."); - FileUtils.deleteContentsAndDir(dir); - continue; + return; } byte[] signature; try { @@ -222,10 +221,36 @@ final class UpdatableFontDir { FontFileInfo fontFileInfo = validateFontFile(fontFile, signature); if (fontConfig == null) { - fontConfig = getSystemFontConfig(); + // Use preinstalled font config for checking revision number. + fontConfig = mConfigSupplier.apply(Collections.emptyMap()); } addFileToMapIfSameOrNewer(fontFileInfo, fontConfig, true /* deleteOldFile */); } + + // Treat as error if post script name of font family was not installed. + for (int i = 0; i < config.fontFamilies.size(); ++i) { + FontUpdateRequest.Family family = config.fontFamilies.get(i); + for (int j = 0; j < family.getFonts().size(); ++j) { + FontUpdateRequest.Font font = family.getFonts().get(j); + if (mFontFileInfoMap.containsKey(font.getPostScriptName())) { + continue; + } + + if (fontConfig == null) { + fontConfig = mConfigSupplier.apply(Collections.emptyMap()); + } + + if (getFontByPostScriptName(font.getPostScriptName(), fontConfig) != null) { + continue; + } + + Slog.e(TAG, "Unknown font that has PostScript name " + + font.getPostScriptName() + " is requested in FontFamily " + + family.getName()); + return; + } + } + success = true; } catch (Throwable t) { // If something happened during loading system fonts, clear all contents in finally @@ -237,6 +262,7 @@ final class UpdatableFontDir { mFontFileInfoMap.clear(); mLastModifiedMillis = 0; FileUtils.deleteContents(mFilesDir); + mConfigFile.delete(); } } } @@ -485,8 +511,7 @@ final class UpdatableFontDir { return shouldAddToMap; } - private long getPreinstalledFontRevision(FontFileInfo info, FontConfig fontConfig) { - String psName = info.getPostScriptName(); + private FontConfig.Font getFontByPostScriptName(String psName, FontConfig fontConfig) { FontConfig.Font targetFont = null; for (int i = 0; i < fontConfig.getFontFamilies().size(); i++) { FontConfig.FontFamily family = fontConfig.getFontFamilies().get(i); @@ -511,6 +536,13 @@ final class UpdatableFontDir { } } } + return targetFont; + } + + private long getPreinstalledFontRevision(FontFileInfo info, FontConfig fontConfig) { + String psName = info.getPostScriptName(); + FontConfig.Font targetFont = getFontByPostScriptName(psName, fontConfig); + if (targetFont == null) { return -1; } diff --git a/services/core/java/com/android/server/notification/NotificationChannelExtractor.java b/services/core/java/com/android/server/notification/NotificationChannelExtractor.java index 2f60e426245d..bd73cb6544f0 100644 --- a/services/core/java/com/android/server/notification/NotificationChannelExtractor.java +++ b/services/core/java/com/android/server/notification/NotificationChannelExtractor.java @@ -15,8 +15,16 @@ */ package com.android.server.notification; +import static android.app.Flags.restrictAudioAttributesAlarm; +import static android.app.Flags.restrictAudioAttributesCall; +import static android.app.Flags.restrictAudioAttributesMedia; +import static android.app.Notification.CATEGORY_ALARM; +import static android.media.AudioAttributes.USAGE_NOTIFICATION; + +import android.app.Notification; import android.app.NotificationChannel; import android.content.Context; +import android.media.AudioAttributes; import android.util.Slog; /** @@ -50,6 +58,36 @@ public class NotificationChannelExtractor implements NotificationSignalExtractor record.getSbn().getShortcutId(), true, false); record.updateNotificationChannel(updatedChannel); + if (restrictAudioAttributesCall() || restrictAudioAttributesAlarm() + || restrictAudioAttributesMedia()) { + AudioAttributes attributes = record.getChannel().getAudioAttributes(); + boolean updateAttributes = false; + if (restrictAudioAttributesCall() + && !record.getNotification().isStyle(Notification.CallStyle.class) + && attributes.getUsage() == AudioAttributes.USAGE_NOTIFICATION_RINGTONE) { + updateAttributes = true; + } + if (restrictAudioAttributesAlarm() + && record.getNotification().category != CATEGORY_ALARM + && attributes.getUsage() == AudioAttributes.USAGE_ALARM) { + updateAttributes = true; + } + + if (restrictAudioAttributesMedia() + && (attributes.getUsage() == AudioAttributes.USAGE_UNKNOWN + || attributes.getUsage() == AudioAttributes.USAGE_MEDIA)) { + updateAttributes = true; + } + + if (updateAttributes) { + NotificationChannel clone = record.getChannel().copy(); + clone.setSound(clone.getSound(), new AudioAttributes.Builder(attributes) + .setUsage(USAGE_NOTIFICATION) + .build()); + record.updateNotificationChannel(clone); + } + } + return null; } diff --git a/services/core/java/com/android/server/notification/NotificationRecord.java b/services/core/java/com/android/server/notification/NotificationRecord.java index a4464a1cbb14..97d26208571c 100644 --- a/services/core/java/com/android/server/notification/NotificationRecord.java +++ b/services/core/java/com/android/server/notification/NotificationRecord.java @@ -15,6 +15,9 @@ */ package com.android.server.notification; +import static android.app.Flags.restrictAudioAttributesAlarm; +import static android.app.Flags.restrictAudioAttributesCall; +import static android.app.Flags.restrictAudioAttributesMedia; import static android.app.Flags.updateRankingTime; import static android.app.NotificationChannel.USER_LOCKED_IMPORTANCE; import static android.app.NotificationManager.IMPORTANCE_DEFAULT; @@ -1159,6 +1162,11 @@ public final class NotificationRecord { mChannel = channel; calculateImportance(); calculateUserSentiment(); + mVibration = calculateVibration(); + if (restrictAudioAttributesCall() || restrictAudioAttributesAlarm() + || restrictAudioAttributesMedia()) { + mAttributes = channel.getAudioAttributes(); + } } } diff --git a/services/core/java/com/android/server/ondeviceintelligence/BundleUtil.java b/services/core/java/com/android/server/ondeviceintelligence/BundleUtil.java new file mode 100644 index 000000000000..681dd0b49f4e --- /dev/null +++ b/services/core/java/com/android/server/ondeviceintelligence/BundleUtil.java @@ -0,0 +1,352 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.ondeviceintelligence; + +import static android.system.OsConstants.F_GETFL; +import static android.system.OsConstants.O_ACCMODE; +import static android.system.OsConstants.O_RDONLY; +import static android.system.OsConstants.PROT_READ; + +import android.app.ondeviceintelligence.IResponseCallback; +import android.app.ondeviceintelligence.IStreamingResponseCallback; +import android.app.ondeviceintelligence.ITokenInfoCallback; +import android.app.ondeviceintelligence.OnDeviceIntelligenceManager.InferenceParams; +import android.app.ondeviceintelligence.OnDeviceIntelligenceManager.ResponseParams; +import android.app.ondeviceintelligence.OnDeviceIntelligenceManager.StateParams; +import android.app.ondeviceintelligence.TokenInfo; +import android.database.CursorWindow; +import android.graphics.Bitmap; +import android.os.BadParcelableException; +import android.os.Bundle; +import android.os.ParcelFileDescriptor; +import android.os.PersistableBundle; +import android.os.RemoteCallback; +import android.os.RemoteException; +import android.os.SharedMemory; +import android.system.ErrnoException; +import android.system.Os; +import android.util.Log; + +import java.util.concurrent.Executor; + +/** + * Util methods for ensuring the Bundle passed in various methods are read-only and restricted to + * some known types. + */ +public class BundleUtil { + private static final String TAG = "BundleUtil"; + + /** + * Validation of the inference request payload as described in {@link InferenceParams} + * description. + * + * @throws BadParcelableException when the bundle does not meet the read-only requirements. + */ + public static void sanitizeInferenceParams( + @InferenceParams Bundle bundle) { + ensureValidBundle(bundle); + + if (!bundle.hasFileDescriptors()) { + return; //safe to exit if there are no FDs and Binders + } + + for (String key : bundle.keySet()) { + Object obj = bundle.get(key); + if (obj == null) { + /* Null value here could also mean deserializing a custom parcelable has failed, + * and since {@link Bundle} is marked as defusable in system-server - the + * {@link ClassNotFoundException} exception is swallowed and `null` is returned + * instead. We want to ensure cleanup of null entries in such case. + */ + bundle.putObject(key, null); + continue; + } + if (canMarshall(obj) || obj instanceof CursorWindow) { + continue; + } + + if (obj instanceof ParcelFileDescriptor) { + validatePfdReadOnly((ParcelFileDescriptor) obj); + } else if (obj instanceof SharedMemory) { + ((SharedMemory) obj).setProtect(PROT_READ); + } else if (obj instanceof Bitmap) { + if (((Bitmap) obj).isMutable()) { + throw new BadParcelableException( + "Encountered a mutable Bitmap in the Bundle at key : " + key); + } + } else { + throw new BadParcelableException( + "Unsupported Parcelable type encountered in the Bundle: " + + obj.getClass().getSimpleName()); + } + } + } + + /** + * Validation of the inference request payload as described in {@link ResponseParams} + * description. + * + * @throws BadParcelableException when the bundle does not meet the read-only requirements. + */ + public static void sanitizeResponseParams( + @ResponseParams Bundle bundle) { + ensureValidBundle(bundle); + + if (!bundle.hasFileDescriptors()) { + return; //safe to exit if there are no FDs and Binders + } + + for (String key : bundle.keySet()) { + Object obj = bundle.get(key); + if (obj == null) { + /* Null value here could also mean deserializing a custom parcelable has failed, + * and since {@link Bundle} is marked as defusable in system-server - the + * {@link ClassNotFoundException} exception is swallowed and `null` is returned + * instead. We want to ensure cleanup of null entries in such case. + */ + bundle.putObject(key, null); + continue; + } + if (canMarshall(obj)) { + continue; + } + + if (obj instanceof ParcelFileDescriptor) { + validatePfdReadOnly((ParcelFileDescriptor) obj); + } else if (obj instanceof Bitmap) { + if (((Bitmap) obj).isMutable()) { + throw new BadParcelableException( + "Encountered a mutable Bitmap in the Bundle at key : " + key); + } + } else { + throw new BadParcelableException( + "Unsupported Parcelable type encountered in the Bundle: " + + obj.getClass().getSimpleName()); + } + } + Log.e(TAG, "validateResponseParams : Finished"); + } + + /** + * Validation of the inference request payload as described in {@link StateParams} + * description. + * + * @throws BadParcelableException when the bundle does not meet the read-only requirements. + */ + public static void sanitizeStateParams( + @StateParams Bundle bundle) { + ensureValidBundle(bundle); + + if (!bundle.hasFileDescriptors()) { + return; //safe to exit if there are no FDs and Binders + } + + for (String key : bundle.keySet()) { + Object obj = bundle.get(key); + if (obj == null) { + /* Null value here could also mean deserializing a custom parcelable has failed, + * and since {@link Bundle} is marked as defusable in system-server - the + * {@link ClassNotFoundException} exception is swallowed and `null` is returned + * instead. We want to ensure cleanup of null entries in such case. + */ + bundle.putObject(key, null); + continue; + } + if (canMarshall(obj)) { + continue; + } + + if (obj instanceof ParcelFileDescriptor) { + validatePfdReadOnly((ParcelFileDescriptor) obj); + } else { + throw new BadParcelableException( + "Unsupported Parcelable type encountered in the Bundle: " + + obj.getClass().getSimpleName()); + } + } + } + + + public static IStreamingResponseCallback wrapWithValidation( + IStreamingResponseCallback streamingResponseCallback, + Executor resourceClosingExecutor) { + return new IStreamingResponseCallback.Stub() { + @Override + public void onNewContent(Bundle processedResult) throws RemoteException { + try { + sanitizeResponseParams(processedResult); + streamingResponseCallback.onNewContent(processedResult); + } finally { + resourceClosingExecutor.execute(() -> tryCloseResource(processedResult)); + } + } + + @Override + public void onSuccess(Bundle resultBundle) + throws RemoteException { + try { + sanitizeResponseParams(resultBundle); + streamingResponseCallback.onSuccess(resultBundle); + } finally { + resourceClosingExecutor.execute(() -> tryCloseResource(resultBundle)); + } + } + + @Override + public void onFailure(int errorCode, String errorMessage, + PersistableBundle errorParams) throws RemoteException { + streamingResponseCallback.onFailure(errorCode, errorMessage, errorParams); + } + + @Override + public void onDataAugmentRequest(Bundle processedContent, + RemoteCallback remoteCallback) + throws RemoteException { + try { + sanitizeResponseParams(processedContent); + streamingResponseCallback.onDataAugmentRequest(processedContent, + new RemoteCallback( + augmentedData -> { + try { + sanitizeInferenceParams(augmentedData); + remoteCallback.sendResult(augmentedData); + } finally { + resourceClosingExecutor.execute( + () -> tryCloseResource(augmentedData)); + } + })); + } finally { + resourceClosingExecutor.execute(() -> tryCloseResource(processedContent)); + } + } + }; + } + + public static IResponseCallback wrapWithValidation(IResponseCallback responseCallback, + Executor resourceClosingExecutor) { + return new IResponseCallback.Stub() { + @Override + public void onSuccess(Bundle resultBundle) + throws RemoteException { + try { + sanitizeResponseParams(resultBundle); + responseCallback.onSuccess(resultBundle); + } finally { + resourceClosingExecutor.execute(() -> tryCloseResource(resultBundle)); + } + } + + @Override + public void onFailure(int errorCode, String errorMessage, + PersistableBundle errorParams) throws RemoteException { + responseCallback.onFailure(errorCode, errorMessage, errorParams); + } + + @Override + public void onDataAugmentRequest(Bundle processedContent, + RemoteCallback remoteCallback) + throws RemoteException { + try { + sanitizeResponseParams(processedContent); + responseCallback.onDataAugmentRequest(processedContent, new RemoteCallback( + augmentedData -> { + try { + sanitizeInferenceParams(augmentedData); + remoteCallback.sendResult(augmentedData); + } finally { + resourceClosingExecutor.execute( + () -> tryCloseResource(augmentedData)); + } + })); + } finally { + resourceClosingExecutor.execute(() -> tryCloseResource(processedContent)); + } + } + }; + } + + + public static ITokenInfoCallback wrapWithValidation(ITokenInfoCallback responseCallback) { + return new ITokenInfoCallback.Stub() { + @Override + public void onSuccess(TokenInfo tokenInfo) throws RemoteException { + responseCallback.onSuccess(tokenInfo); + } + + @Override + public void onFailure(int errorCode, String errorMessage, PersistableBundle errorParams) + throws RemoteException { + responseCallback.onFailure(errorCode, errorMessage, errorParams); + } + }; + } + + private static boolean canMarshall(Object obj) { + return obj instanceof byte[] || obj instanceof PersistableBundle + || PersistableBundle.isValidType(obj); + } + + private static void ensureValidBundle(Bundle bundle) { + if (bundle == null) { + throw new IllegalArgumentException("Request passed is expected to be non-null"); + } + + if (bundle.hasBinders() != Bundle.STATUS_BINDERS_NOT_PRESENT) { + throw new BadParcelableException("Bundle should not contain IBinder objects."); + } + } + + public static void validatePfdReadOnly(ParcelFileDescriptor pfd) { + if (pfd == null) { + return; + } + try { + int readMode = Os.fcntlInt(pfd.getFileDescriptor(), F_GETFL, 0) & O_ACCMODE; + if (readMode != O_RDONLY) { + throw new BadParcelableException( + "Bundle contains a parcel file descriptor which is not read-only."); + } + } catch (ErrnoException e) { + throw new BadParcelableException( + "Invalid File descriptor passed in the Bundle.", e); + } + } + + public static void tryCloseResource(Bundle bundle) { + if (bundle == null || bundle.isEmpty() || !bundle.hasFileDescriptors()) { + return; + } + + for (String key : bundle.keySet()) { + Object obj = bundle.get(key); + + try { + // TODO(b/329898589) : This can be cleaned up after the flag passing is fixed. + if (obj instanceof ParcelFileDescriptor) { + ((ParcelFileDescriptor) obj).close(); + } else if (obj instanceof CursorWindow) { + ((CursorWindow) obj).close(); + } else if (obj instanceof SharedMemory) { + // TODO(b/331796886) : Shared memory should honour parcelable flags. + ((SharedMemory) obj).close(); + } + } catch (Exception e) { + Log.e(TAG, "Error closing resource with key: " + key, e); + } + } + } +} diff --git a/services/core/java/com/android/server/ondeviceintelligence/OnDeviceIntelligenceManagerService.java b/services/core/java/com/android/server/ondeviceintelligence/OnDeviceIntelligenceManagerService.java index d39debb8458f..af339dfe541d 100644 --- a/services/core/java/com/android/server/ondeviceintelligence/OnDeviceIntelligenceManagerService.java +++ b/services/core/java/com/android/server/ondeviceintelligence/OnDeviceIntelligenceManagerService.java @@ -16,6 +16,12 @@ package com.android.server.ondeviceintelligence; +import static com.android.server.ondeviceintelligence.BundleUtil.sanitizeInferenceParams; +import static com.android.server.ondeviceintelligence.BundleUtil.validatePfdReadOnly; +import static com.android.server.ondeviceintelligence.BundleUtil.sanitizeStateParams; +import static com.android.server.ondeviceintelligence.BundleUtil.wrapWithValidation; + + import android.Manifest; import android.annotation.NonNull; import android.annotation.Nullable; @@ -61,6 +67,7 @@ import android.service.ondeviceintelligence.IRemoteStorageService; import android.service.ondeviceintelligence.OnDeviceIntelligenceService; import android.service.ondeviceintelligence.OnDeviceSandboxedInferenceService; import android.text.TextUtils; +import android.util.Log; import android.util.Slog; import com.android.internal.R; @@ -72,8 +79,11 @@ import com.android.server.LocalServices; import com.android.server.SystemService; import java.io.FileDescriptor; +import java.io.IOException; import java.util.Objects; import java.util.Set; +import java.util.concurrent.Executor; +import java.util.concurrent.Executors; /** * This is the system service for handling calls on the @@ -99,6 +109,9 @@ public class OnDeviceIntelligenceManagerService extends SystemService { private static final boolean DEFAULT_SERVICE_ENABLED = true; private static final String NAMESPACE_ON_DEVICE_INTELLIGENCE = "ondeviceintelligence"; + private final Executor resourceClosingExecutor = Executors.newCachedThreadPool(); + private final Executor callbackExecutor = Executors.newCachedThreadPool(); + private final Context mContext; protected final Object mLock = new Object(); @@ -261,7 +274,7 @@ public class OnDeviceIntelligenceManagerService extends SystemService { ensureRemoteIntelligenceServiceInitialized(); mRemoteOnDeviceIntelligenceService.run( service -> service.requestFeatureDownload(Binder.getCallingUid(), feature, - cancellationSignalFuture, + wrapCancellationFuture(cancellationSignalFuture), downloadCallback)); } @@ -272,26 +285,35 @@ public class OnDeviceIntelligenceManagerService extends SystemService { AndroidFuture cancellationSignalFuture, ITokenInfoCallback tokenInfoCallback) throws RemoteException { Slog.i(TAG, "OnDeviceIntelligenceManagerInternal requestTokenInfo"); - Objects.requireNonNull(feature); - Objects.requireNonNull(request); - Objects.requireNonNull(tokenInfoCallback); - - mContext.enforceCallingOrSelfPermission( - Manifest.permission.USE_ON_DEVICE_INTELLIGENCE, TAG); - if (!mIsServiceEnabled) { - Slog.w(TAG, "Service not available"); - tokenInfoCallback.onFailure( - OnDeviceIntelligenceException.ON_DEVICE_INTELLIGENCE_SERVICE_UNAVAILABLE, - "OnDeviceIntelligenceManagerService is unavailable", - PersistableBundle.EMPTY); + AndroidFuture<Void> result = null; + try { + Objects.requireNonNull(feature); + sanitizeInferenceParams(request); + Objects.requireNonNull(tokenInfoCallback); + + mContext.enforceCallingOrSelfPermission( + Manifest.permission.USE_ON_DEVICE_INTELLIGENCE, TAG); + if (!mIsServiceEnabled) { + Slog.w(TAG, "Service not available"); + tokenInfoCallback.onFailure( + OnDeviceIntelligenceException.ON_DEVICE_INTELLIGENCE_SERVICE_UNAVAILABLE, + "OnDeviceIntelligenceManagerService is unavailable", + PersistableBundle.EMPTY); + } + ensureRemoteInferenceServiceInitialized(); + + result = mRemoteInferenceService.post( + service -> service.requestTokenInfo(Binder.getCallingUid(), feature, + request, + wrapCancellationFuture(cancellationSignalFuture), + wrapWithValidation(tokenInfoCallback))); + result.whenCompleteAsync((c, e) -> BundleUtil.tryCloseResource(request), + resourceClosingExecutor); + } finally { + if (result == null) { + resourceClosingExecutor.execute(() -> BundleUtil.tryCloseResource(request)); + } } - ensureRemoteInferenceServiceInitialized(); - - mRemoteInferenceService.run( - service -> service.requestTokenInfo(Binder.getCallingUid(), feature, - request, - cancellationSignalFuture, - tokenInfoCallback)); } @Override @@ -302,24 +324,36 @@ public class OnDeviceIntelligenceManagerService extends SystemService { AndroidFuture processingSignalFuture, IResponseCallback responseCallback) throws RemoteException { - Slog.i(TAG, "OnDeviceIntelligenceManagerInternal processRequest"); - Objects.requireNonNull(feature); - Objects.requireNonNull(responseCallback); - mContext.enforceCallingOrSelfPermission( - Manifest.permission.USE_ON_DEVICE_INTELLIGENCE, TAG); - if (!mIsServiceEnabled) { - Slog.w(TAG, "Service not available"); - responseCallback.onFailure( - OnDeviceIntelligenceException.PROCESSING_ERROR_SERVICE_UNAVAILABLE, - "OnDeviceIntelligenceManagerService is unavailable", - PersistableBundle.EMPTY); + AndroidFuture<Void> result = null; + try { + Slog.i(TAG, "OnDeviceIntelligenceManagerInternal processRequest"); + Objects.requireNonNull(feature); + sanitizeInferenceParams(request); + Objects.requireNonNull(responseCallback); + mContext.enforceCallingOrSelfPermission( + Manifest.permission.USE_ON_DEVICE_INTELLIGENCE, TAG); + if (!mIsServiceEnabled) { + Slog.w(TAG, "Service not available"); + responseCallback.onFailure( + OnDeviceIntelligenceException.PROCESSING_ERROR_SERVICE_UNAVAILABLE, + "OnDeviceIntelligenceManagerService is unavailable", + PersistableBundle.EMPTY); + } + ensureRemoteInferenceServiceInitialized(); + result = mRemoteInferenceService.post( + service -> service.processRequest(Binder.getCallingUid(), feature, + request, + requestType, + wrapCancellationFuture(cancellationSignalFuture), + wrapProcessingFuture(processingSignalFuture), + wrapWithValidation(responseCallback, resourceClosingExecutor))); + result.whenCompleteAsync((c, e) -> BundleUtil.tryCloseResource(request), + resourceClosingExecutor); + } finally { + if (result == null) { + resourceClosingExecutor.execute(() -> BundleUtil.tryCloseResource(request)); + } } - ensureRemoteInferenceServiceInitialized(); - mRemoteInferenceService.run( - service -> service.processRequest(Binder.getCallingUid(), feature, request, - requestType, - cancellationSignalFuture, processingSignalFuture, - responseCallback)); } @Override @@ -329,24 +363,36 @@ public class OnDeviceIntelligenceManagerService extends SystemService { AndroidFuture cancellationSignalFuture, AndroidFuture processingSignalFuture, IStreamingResponseCallback streamingCallback) throws RemoteException { - Slog.i(TAG, "OnDeviceIntelligenceManagerInternal processRequestStreaming"); - Objects.requireNonNull(feature); - Objects.requireNonNull(streamingCallback); - mContext.enforceCallingOrSelfPermission( - Manifest.permission.USE_ON_DEVICE_INTELLIGENCE, TAG); - if (!mIsServiceEnabled) { - Slog.w(TAG, "Service not available"); - streamingCallback.onFailure( - OnDeviceIntelligenceException.PROCESSING_ERROR_SERVICE_UNAVAILABLE, - "OnDeviceIntelligenceManagerService is unavailable", - PersistableBundle.EMPTY); + AndroidFuture<Void> result = null; + try { + Slog.i(TAG, "OnDeviceIntelligenceManagerInternal processRequestStreaming"); + Objects.requireNonNull(feature); + sanitizeInferenceParams(request); + Objects.requireNonNull(streamingCallback); + mContext.enforceCallingOrSelfPermission( + Manifest.permission.USE_ON_DEVICE_INTELLIGENCE, TAG); + if (!mIsServiceEnabled) { + Slog.w(TAG, "Service not available"); + streamingCallback.onFailure( + OnDeviceIntelligenceException.PROCESSING_ERROR_SERVICE_UNAVAILABLE, + "OnDeviceIntelligenceManagerService is unavailable", + PersistableBundle.EMPTY); + } + ensureRemoteInferenceServiceInitialized(); + result = mRemoteInferenceService.post( + service -> service.processRequestStreaming(Binder.getCallingUid(), + feature, + request, requestType, + wrapCancellationFuture(cancellationSignalFuture), + wrapProcessingFuture(processingSignalFuture), + streamingCallback)); + result.whenCompleteAsync((c, e) -> BundleUtil.tryCloseResource(request), + resourceClosingExecutor); + } finally { + if (result == null) { + resourceClosingExecutor.execute(() -> BundleUtil.tryCloseResource(request)); + } } - ensureRemoteInferenceServiceInitialized(); - mRemoteInferenceService.run( - service -> service.processRequestStreaming(Binder.getCallingUid(), feature, - request, requestType, - cancellationSignalFuture, processingSignalFuture, - streamingCallback)); } @Override @@ -372,9 +418,9 @@ public class OnDeviceIntelligenceManagerService extends SystemService { public void onConnected( @NonNull IOnDeviceIntelligenceService service) { try { - service.ready(); service.registerRemoteServices( getRemoteProcessingService()); + service.ready(); } catch (RemoteException ex) { Slog.w(TAG, "Failed to send connected event", ex); } @@ -391,10 +437,24 @@ public class OnDeviceIntelligenceManagerService extends SystemService { public void updateProcessingState( Bundle processingState, IProcessingUpdateStatusCallback callback) { - ensureRemoteInferenceServiceInitialized(); - mRemoteInferenceService.run( - service -> service.updateProcessingState( - processingState, callback)); + callbackExecutor.execute(() -> { + AndroidFuture<Void> result = null; + try { + sanitizeStateParams(processingState); + ensureRemoteInferenceServiceInitialized(); + result = mRemoteInferenceService.post( + service -> service.updateProcessingState( + processingState, callback)); + result.whenCompleteAsync( + (c, e) -> BundleUtil.tryCloseResource(processingState), + resourceClosingExecutor); + } finally { + if (result == null) { + resourceClosingExecutor.execute( + () -> BundleUtil.tryCloseResource(processingState)); + } + } + }); } }; } @@ -415,7 +475,7 @@ public class OnDeviceIntelligenceManagerService extends SystemService { try { ensureRemoteIntelligenceServiceInitialized(); mRemoteOnDeviceIntelligenceService.run( - intelligenceService -> intelligenceService.notifyInferenceServiceConnected()); + IOnDeviceIntelligenceService::notifyInferenceServiceConnected); service.registerRemoteStorageService( getIRemoteStorageService()); } catch (RemoteException ex) { @@ -434,18 +494,49 @@ public class OnDeviceIntelligenceManagerService extends SystemService { public void getReadOnlyFileDescriptor( String filePath, AndroidFuture<ParcelFileDescriptor> future) { + ensureRemoteIntelligenceServiceInitialized(); + AndroidFuture<ParcelFileDescriptor> pfdFuture = new AndroidFuture<>(); mRemoteOnDeviceIntelligenceService.run( service -> service.getReadOnlyFileDescriptor( - filePath, future)); + filePath, pfdFuture)); + pfdFuture.whenCompleteAsync((pfd, error) -> { + try { + if (error != null) { + future.completeExceptionally(error); + } else { + validatePfdReadOnly(pfd); + future.complete(pfd); + } + } finally { + tryClosePfd(pfd); + } + }, callbackExecutor); } @Override public void getReadOnlyFeatureFileDescriptorMap( Feature feature, RemoteCallback remoteCallback) { + ensureRemoteIntelligenceServiceInitialized(); mRemoteOnDeviceIntelligenceService.run( service -> service.getReadOnlyFeatureFileDescriptorMap( - feature, remoteCallback)); + feature, + new RemoteCallback(result -> callbackExecutor.execute(() -> { + try { + if (result == null) { + remoteCallback.sendResult(null); + } + for (String key : result.keySet()) { + ParcelFileDescriptor pfd = result.getParcelable(key, + ParcelFileDescriptor.class); + validatePfdReadOnly(pfd); + } + remoteCallback.sendResult(result); + } finally { + resourceClosingExecutor.execute( + () -> BundleUtil.tryCloseResource(result)); + } + })))); } }; } @@ -461,7 +552,8 @@ public class OnDeviceIntelligenceManagerService extends SystemService { ServiceInfo serviceInfo = AppGlobals.getPackageManager().getServiceInfo( serviceComponent, PackageManager.MATCH_DIRECT_BOOT_AWARE - | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, 0); + | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, + UserHandle.SYSTEM.getIdentifier()); if (serviceInfo != null) { if (!checkIsolated) { checkServiceRequiresPermission(serviceInfo, @@ -539,10 +631,14 @@ public class OnDeviceIntelligenceManagerService extends SystemService { Manifest.permission.USE_ON_DEVICE_INTELLIGENCE, TAG); synchronized (mLock) { mTemporaryServiceNames = componentNames; - mRemoteInferenceService.unbind(); - mRemoteOnDeviceIntelligenceService.unbind(); - mRemoteOnDeviceIntelligenceService = null; - mRemoteInferenceService = null; + if (mRemoteInferenceService != null) { + mRemoteInferenceService.unbind(); + mRemoteInferenceService = null; + } + if (mRemoteOnDeviceIntelligenceService != null) { + mRemoteOnDeviceIntelligenceService.unbind(); + mRemoteOnDeviceIntelligenceService = null; + } if (mTemporaryHandler == null) { mTemporaryHandler = new Handler(Looper.getMainLooper(), null, true) { @Override @@ -592,4 +688,57 @@ public class OnDeviceIntelligenceManagerService extends SystemService { throw new SecurityException(message + ": Only shell user can call it"); } + + private AndroidFuture<IBinder> wrapCancellationFuture( + AndroidFuture future) { + if (future == null) { + return null; + } + AndroidFuture<IBinder> cancellationFuture = new AndroidFuture<>(); + cancellationFuture.whenCompleteAsync((c, e) -> { + if (e != null) { + Log.e(TAG, "Error forwarding ICancellationSignal to manager layer", e); + future.completeExceptionally(e); + } else { + future.complete(new ICancellationSignal.Stub() { + @Override + public void cancel() throws RemoteException { + ICancellationSignal.Stub.asInterface(c).cancel(); + } + }); + } + }); + return cancellationFuture; + } + + private AndroidFuture<IBinder> wrapProcessingFuture( + AndroidFuture future) { + if (future == null) { + return null; + } + AndroidFuture<IBinder> processingSignalFuture = new AndroidFuture<>(); + processingSignalFuture.whenCompleteAsync((c, e) -> { + if (e != null) { + future.completeExceptionally(e); + } else { + future.complete(new IProcessingSignal.Stub() { + @Override + public void sendSignal(PersistableBundle actionParams) throws RemoteException { + IProcessingSignal.Stub.asInterface(c).sendSignal(actionParams); + } + }); + } + }); + return processingSignalFuture; + } + + private static void tryClosePfd(ParcelFileDescriptor pfd) { + if (pfd != null) { + try { + pfd.close(); + } catch (IOException e) { + Log.e(TAG, "Failed to close parcel file descriptor ", e); + } + } + } } diff --git a/services/core/java/com/android/server/pm/PackageManagerInternalBase.java b/services/core/java/com/android/server/pm/PackageManagerInternalBase.java index 7a72e70592d3..d2b60a489de3 100644 --- a/services/core/java/com/android/server/pm/PackageManagerInternalBase.java +++ b/services/core/java/com/android/server/pm/PackageManagerInternalBase.java @@ -16,7 +16,7 @@ package com.android.server.pm; -import static android.app.admin.flags.Flags.crossUserSuspensionEnabled; +import static android.app.admin.flags.Flags.crossUserSuspensionEnabledRo; import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DEFAULT; import static android.content.pm.PackageManager.RESTRICTION_NONE; @@ -690,7 +690,7 @@ abstract class PackageManagerInternalBase extends PackageManagerInternal { @Deprecated public final void unsuspendAdminSuspendedPackages(int affectedUser) { final int suspendingUserId = - crossUserSuspensionEnabled() ? UserHandle.USER_SYSTEM : affectedUser; + crossUserSuspensionEnabledRo() ? UserHandle.USER_SYSTEM : affectedUser; mService.unsuspendForSuspendingPackage( snapshot(), PLATFORM_PACKAGE_NAME, suspendingUserId, /* inAllUsers= */ false); } @@ -699,7 +699,7 @@ abstract class PackageManagerInternalBase extends PackageManagerInternal { @Deprecated public final boolean isAdminSuspendingAnyPackages(int userId) { final int suspendingUserId = - crossUserSuspensionEnabled() ? UserHandle.USER_SYSTEM : userId; + crossUserSuspensionEnabledRo() ? UserHandle.USER_SYSTEM : userId; return snapshot().isSuspendingAnyPackages(PLATFORM_PACKAGE_NAME, suspendingUserId, userId); } diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index a86f8386f269..72cd447bb3cd 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -18,7 +18,7 @@ package com.android.server.pm; import static android.Manifest.permission.MANAGE_DEVICE_ADMINS; import static android.Manifest.permission.SET_HARMFUL_APP_WARNINGS; import static android.app.AppOpsManager.MODE_IGNORED; -import static android.app.admin.flags.Flags.crossUserSuspensionEnabled; +import static android.app.admin.flags.Flags.crossUserSuspensionEnabledRo; import static android.content.pm.PackageManager.APP_METADATA_SOURCE_APK; import static android.content.pm.PackageManager.APP_METADATA_SOURCE_UNKNOWN; import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DEFAULT; @@ -3182,7 +3182,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService callingMethod); } - if (crossUserSuspensionEnabled()) { + if (crossUserSuspensionEnabledRo()) { final int suspendingPackageUid = snapshot.getPackageUid(suspender.packageName, 0, suspender.userId); if (suspendingPackageUid != callingUid) { @@ -3220,7 +3220,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService final String[] allPackages = computer.getPackageStates().keySet().toArray(new String[0]); final Predicate<UserPackage> suspenderPredicate = UserPackage.of(suspendingUserId, suspendingPackage)::equals; - if (!crossUserSuspensionEnabled() || !inAllUsers) { + if (!crossUserSuspensionEnabledRo() || !inAllUsers) { mSuspendPackageHelper.removeSuspensionsBySuspendingPackage(computer, allPackages, suspenderPredicate, suspendingUserId); } else { @@ -4366,7 +4366,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } mInstantAppRegistry.onUserRemoved(userId); mPackageMonitorCallbackHelper.onUserRemoved(userId); - if (crossUserSuspensionEnabled()) { + if (crossUserSuspensionEnabledRo()) { cleanUpCrossUserSuspension(userId); } } @@ -6302,7 +6302,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService final boolean quarantined = ((flags & PackageManager.FLAG_SUSPEND_QUARANTINED) != 0) && Flags.quarantinedEnabled(); final Computer snapshot = snapshotComputer(); - final UserPackage suspender = crossUserSuspensionEnabled() + final UserPackage suspender = crossUserSuspensionEnabledRo() ? UserPackage.of(suspendingUserId, suspendingPackage) : UserPackage.of(targetUserId, suspendingPackage); enforceCanSetPackagesSuspendedAsUser(snapshot, quarantined, suspender, callingUid, @@ -6787,7 +6787,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService // Suspension by admin isn't attributed to admin package but to the platform, // Using USER_SYSTEM for consistency with other internal suspenders, like shell or root. final int suspendingUserId = - crossUserSuspensionEnabled() ? UserHandle.USER_SYSTEM : userId; + crossUserSuspensionEnabledRo() ? UserHandle.USER_SYSTEM : userId; final UserPackage suspender = UserPackage.of( suspendingUserId, PackageManagerService.PLATFORM_PACKAGE_NAME); return mSuspendPackageHelper.setPackagesSuspended(snapshotComputer(), packageNames, diff --git a/services/core/java/com/android/server/pm/PackageSetting.java b/services/core/java/com/android/server/pm/PackageSetting.java index b44042c75e80..7870b1735af4 100644 --- a/services/core/java/com/android/server/pm/PackageSetting.java +++ b/services/core/java/com/android/server/pm/PackageSetting.java @@ -16,7 +16,7 @@ package com.android.server.pm; -import static android.app.admin.flags.Flags.crossUserSuspensionEnabled; +import static android.app.admin.flags.Flags.crossUserSuspensionEnabledRo; import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_DEFAULT_TO_DEVICE_PROTECTED_STORAGE; import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DEFAULT; import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED; @@ -1241,7 +1241,7 @@ public class PackageSetting extends SettingBase implements PackageStateInternal for (int j = 0; j < state.getSuspendParams().size(); j++) { proto.write(PackageProto.UserInfoProto.SUSPENDING_PACKAGE, state.getSuspendParams().keyAt(j).packageName); - if (crossUserSuspensionEnabled()) { + if (crossUserSuspensionEnabledRo()) { proto.write(PackageProto.UserInfoProto.SUSPENDING_USER, state.getSuspendParams().keyAt(j).userId); } diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java index 9f2c36a1c34a..0f868eb9fb8f 100644 --- a/services/core/java/com/android/server/pm/Settings.java +++ b/services/core/java/com/android/server/pm/Settings.java @@ -16,7 +16,7 @@ package com.android.server.pm; -import static android.app.admin.flags.Flags.crossUserSuspensionEnabled; +import static android.app.admin.flags.Flags.crossUserSuspensionEnabledRo; import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DEFAULT; import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED; import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_ENABLED; @@ -2058,7 +2058,7 @@ public final class Settings implements Watchable, Snappable, ResilientAtomicFile return null; } int suspendingUserId; - if (crossUserSuspensionEnabled()) { + if (crossUserSuspensionEnabledRo()) { suspendingUserId = parser.getAttributeInt( null, ATTR_SUSPENDING_USER, UserHandle.USER_NULL); if (suspendingUserId == UserHandle.USER_NULL) { @@ -2437,7 +2437,7 @@ public final class Settings implements Watchable, Snappable, ResilientAtomicFile serializer.startTag(null, TAG_SUSPEND_PARAMS); serializer.attribute(null, ATTR_SUSPENDING_PACKAGE, suspendingPackage.packageName); - if (crossUserSuspensionEnabled()) { + if (crossUserSuspensionEnabledRo()) { serializer.attributeInt(null, ATTR_SUSPENDING_USER, suspendingPackage.userId); } diff --git a/services/core/java/com/android/server/power/hint/HintManagerService.java b/services/core/java/com/android/server/power/hint/HintManagerService.java index 3f1b1c1e99df..101983e6ecf1 100644 --- a/services/core/java/com/android/server/power/hint/HintManagerService.java +++ b/services/core/java/com/android/server/power/hint/HintManagerService.java @@ -456,6 +456,9 @@ public final class HintManagerService extends SystemService { totalDurationNs / durationNsList.length); int th90DurationUs = (int) TimeUnit.NANOSECONDS.toMicros( durationNsList[(int) (durationNsList.length * 0.9)]); + FrameworkStatsLog.write(FrameworkStatsLog.ADPF_HINT_SESSION_TID_CLEANUP, uid, + totalDurationUs, maxDurationUs, totalTidCnt, totalInvalidTidCnt, + maxInvalidTidCnt, sessionCnt, isForeground); Slog.d(TAG, "Invalid tid found for UID" + uid + " in " + totalDurationUs + "us:\n\t" + "count(" diff --git a/services/core/java/com/android/server/power/hint/TEST_MAPPING b/services/core/java/com/android/server/power/hint/TEST_MAPPING index 873dc09ad1ea..ce6277d2f490 100644 --- a/services/core/java/com/android/server/power/hint/TEST_MAPPING +++ b/services/core/java/com/android/server/power/hint/TEST_MAPPING @@ -10,6 +10,17 @@ "exclude-annotation": "androidx.test.filters.FlakyTest" } ] + }, + { + "name": "CtsStatsdAtomHostTestCases", + "options": [ + {"exclude-annotation": "androidx.test.filters.FlakyTest"}, + {"exclude-annotation": "org.junit.Ignore"}, + {"include-filter": "android.cts.statsdatom.powermanager"} + ], + "file_patterns": [ + "(/|^)ThermalManagerService.java" + ] } ] }
\ No newline at end of file diff --git a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java index 02f90f24714e..b5df30f05947 100644 --- a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java +++ b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java @@ -37,6 +37,7 @@ import static android.net.NetworkTemplate.OEM_MANAGED_ALL; import static android.net.NetworkTemplate.OEM_MANAGED_PAID; import static android.net.NetworkTemplate.OEM_MANAGED_PRIVATE; import static android.os.Debug.getIonHeapsSizeKb; +import static android.os.Process.INVALID_UID; import static android.os.Process.LAST_SHARED_APPLICATION_GID; import static android.os.Process.SYSTEM_UID; import static android.os.Process.getUidForPid; @@ -3537,17 +3538,23 @@ public class StatsPullAtomService extends SystemService { String roleName = roleEntry.getKey(); Set<String> packageNames = roleEntry.getValue(); - for (String packageName : packageNames) { - PackageInfo pkg; - try { - pkg = pm.getPackageInfoAsUser(packageName, 0, userId); - } catch (PackageManager.NameNotFoundException e) { - Slog.w(TAG, "Role holder " + packageName + " not found"); - return StatsManager.PULL_SKIP; - } + if (!packageNames.isEmpty()) { + for (String packageName : packageNames) { + PackageInfo pkg; + try { + pkg = pm.getPackageInfoAsUser(packageName, 0, userId); + } catch (PackageManager.NameNotFoundException e) { + Slog.w(TAG, "Role holder " + packageName + " not found"); + return StatsManager.PULL_SKIP; + } + pulledData.add(FrameworkStatsLog.buildStatsEvent( + atomTag, pkg.applicationInfo.uid, packageName, roleName)); + } + } else { + // Ensure that roles set to None are logged with an empty state. pulledData.add(FrameworkStatsLog.buildStatsEvent( - atomTag, pkg.applicationInfo.uid, packageName, roleName)); + atomTag, INVALID_UID, "", roleName)); } } } diff --git a/services/core/java/com/android/server/wm/BackNavigationController.java b/services/core/java/com/android/server/wm/BackNavigationController.java index 7144445f86d8..f6681c571090 100644 --- a/services/core/java/com/android/server/wm/BackNavigationController.java +++ b/services/core/java/com/android/server/wm/BackNavigationController.java @@ -359,6 +359,7 @@ class BackNavigationController { mAnimationHandler.prepareAnimation( backType, adapter, + mNavigationMonitor, currentTask, prevTask, currentActivity, @@ -667,7 +668,8 @@ class BackNavigationController { mAnimationHandler.markWindowHasDrawn(openActivity); } - private class NavigationMonitor { + @VisibleForTesting + class NavigationMonitor { // The window which triggering the back navigation. private WindowState mNavigatingWindow; private RemoteCallback mObserver; @@ -1492,28 +1494,31 @@ class BackNavigationController { ScheduleAnimationBuilder prepareAnimation( int backType, BackAnimationAdapter adapter, + NavigationMonitor monitor, Task currentTask, Task previousTask, ActivityRecord currentActivity, ArrayList<ActivityRecord> previousActivity, WindowContainer removedWindowContainer) { + final ScheduleAnimationBuilder builder = + new ScheduleAnimationBuilder(backType, adapter, monitor); switch (backType) { case BackNavigationInfo.TYPE_RETURN_TO_HOME: - return new ScheduleAnimationBuilder(backType, adapter) + return builder .setIsLaunchBehind(true) .setComposeTarget(currentTask, previousTask); case BackNavigationInfo.TYPE_CROSS_ACTIVITY: ActivityRecord[] prevActs = new ActivityRecord[previousActivity.size()]; prevActs = previousActivity.toArray(prevActs); - return new ScheduleAnimationBuilder(backType, adapter) + return builder .setComposeTarget(currentActivity, prevActs) .setIsLaunchBehind(false); case BackNavigationInfo.TYPE_CROSS_TASK: - return new ScheduleAnimationBuilder(backType, adapter) + return builder .setComposeTarget(currentTask, previousTask) .setIsLaunchBehind(false); case BackNavigationInfo.TYPE_DIALOG_CLOSE: - return new ScheduleAnimationBuilder(backType, adapter) + return builder .setComposeTarget(removedWindowContainer, currentActivity) .setIsLaunchBehind(false); } @@ -1523,13 +1528,16 @@ class BackNavigationController { class ScheduleAnimationBuilder { final int mType; final BackAnimationAdapter mBackAnimationAdapter; + final NavigationMonitor mNavigationMonitor; WindowContainer mCloseTarget; WindowContainer[] mOpenTargets; boolean mIsLaunchBehind; - ScheduleAnimationBuilder(int type, BackAnimationAdapter backAnimationAdapter) { + ScheduleAnimationBuilder(int type, BackAnimationAdapter adapter, + NavigationMonitor monitor) { mType = type; - mBackAnimationAdapter = backAnimationAdapter; + mBackAnimationAdapter = adapter; + mNavigationMonitor = monitor; } ScheduleAnimationBuilder setComposeTarget(@NonNull WindowContainer close, @@ -1610,8 +1618,13 @@ class BackNavigationController { return () -> { try { - mBackAnimationAdapter.getRunner().onAnimationStart( - targets, null, null, callback); + if (hasTargetDetached() || !validateAnimationTargets(targets)) { + mNavigationMonitor.cancelBackNavigating("cancelAnimation"); + mBackAnimationAdapter.getRunner().onAnimationCancelled(); + } else { + mBackAnimationAdapter.getRunner().onAnimationStart( + targets, null, null, callback); + } } catch (RemoteException e) { e.printStackTrace(); } @@ -1641,6 +1654,21 @@ class BackNavigationController { } /** + * Validate animation targets. + */ + private static boolean validateAnimationTargets(RemoteAnimationTarget[] apps) { + if (apps == null || apps.length == 0) { + return false; + } + for (int i = apps.length - 1; i >= 0; --i) { + if (!apps[i].leash.isValid()) { + return false; + } + } + return true; + } + + /** * Finds next opening activity(ies) based on open targets, which could be: * 1. If the open window is Task, then the open activity can either be an activity, or * two activities inside two TaskFragments diff --git a/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java b/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java index 8c4f9ef41fd6..2dbb37066a9e 100644 --- a/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java +++ b/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java @@ -67,8 +67,9 @@ final class ImeInsetsSourceProvider extends InsetsSourceProvider { /** @see #setServerVisible(boolean) */ private boolean mServerVisible; - ImeInsetsSourceProvider(InsetsSource source, - InsetsStateController stateController, DisplayContent displayContent) { + ImeInsetsSourceProvider(@NonNull InsetsSource source, + @NonNull InsetsStateController stateController, + @NonNull DisplayContent displayContent) { super(source, stateController, displayContent); } @@ -230,7 +231,7 @@ final class ImeInsetsSourceProvider extends InsetsSourceProvider { if (mImeRequesterStatsToken != null) { // Cancel the pre-existing stats token, if any. // Log state on pre-existing request cancel. - logShowImePostLayoutState(); + logShowImePostLayoutState(false /* aborted */); ImeTracker.forLogging().onCancelled( mImeRequesterStatsToken, ImeTracker.PHASE_WM_SHOW_IME_RUNNER); } @@ -310,7 +311,7 @@ final class ImeInsetsSourceProvider extends InsetsSourceProvider { ProtoLog.d(WM_DEBUG_IME, "abortShowImePostLayout"); if (mImeRequesterStatsToken != null) { // Log state on abort. - logShowImePostLayoutState(); + logShowImePostLayoutState(true /* aborted */); ImeTracker.forLogging().onFailed( mImeRequesterStatsToken, ImeTracker.PHASE_WM_ABORT_SHOW_IME_POST_LAYOUT); mImeRequesterStatsToken = null; @@ -333,11 +334,30 @@ final class ImeInsetsSourceProvider extends InsetsSourceProvider { // actual IME target. final InsetsControlTarget dcTarget = mDisplayContent.getImeTarget(IME_TARGET_LAYERING); if (dcTarget == null || mImeRequester == null) { + // Not ready to show if there is no IME layering target, or no IME requester. return false; } - // Not ready to show if there is no IME control target. - final InsetsControlTarget controlTarget = mDisplayContent.getImeTarget(IME_TARGET_CONTROL); + final InsetsControlTarget controlTarget = getControlTarget(); if (controlTarget == null) { + // Not ready to show if there is no IME control target. + return false; + } + if (controlTarget != mDisplayContent.getImeTarget(IME_TARGET_CONTROL)) { + // Not ready to show if control target does not match the one in DisplayContent. + return false; + } + if (!mServerVisible || mFrozen) { + // Not ready to show if the window container is not available and considered visible. + // If frozen, the server visibility is not set until unfrozen. + return false; + } + if (mStateController.hasPendingControls(controlTarget)) { + // Not ready to show if control target has pending controls. + return false; + } + if (getLeash(controlTarget) == null) { + // Not ready to show if control target has no source control leash (or leash is not + // ready for dispatching). return false; } @@ -353,35 +373,56 @@ final class ImeInsetsSourceProvider extends InsetsSourceProvider { } /** - * Logs the current state required for scheduleShowImePostLayout's runnable to be triggered. + * Logs the current state required for showImePostLayout to be triggered. + * + * @param aborted whether the showImePostLayout was aborted or cancelled. */ - private void logShowImePostLayoutState() { + private void logShowImePostLayoutState(boolean aborted) { final var windowState = mWindowContainer != null ? mWindowContainer.asWindowState() : null; final var dcTarget = mDisplayContent.getImeTarget(IME_TARGET_LAYERING); - final var controlTarget = mDisplayContent.getImeTarget(IME_TARGET_CONTROL); + final var controlTarget = getControlTarget(); final var sb = new StringBuilder(); - sb.append("mWindowContainer: ").append(mWindowContainer); - sb.append(" windowState: ").append(windowState); + sb.append("showImePostLayout ").append(aborted ? "aborted" : "cancelled"); + sb.append(", mWindowContainer is: "); + sb.append(mWindowContainer != null ? "non-null" : "null"); + sb.append(", windowState: ").append(windowState); if (windowState != null) { - sb.append(" windowState.isDrawn(): ").append(windowState.isDrawn()); - sb.append(" windowState.mGivenInsetsPending: ").append(windowState.mGivenInsetsPending); + sb.append(", windowState.isDrawn(): "); + sb.append(windowState.isDrawn()); + sb.append(", windowState.mGivenInsetsPending: "); + sb.append(windowState.mGivenInsetsPending); } - sb.append(" mIsImeLayoutDrawn: ").append(mIsImeLayoutDrawn); - sb.append(" mShowImeRunner: ").append(mShowImeRunner); - sb.append(" mImeRequester: ").append(mImeRequester); - sb.append(" dcTarget: ").append(dcTarget); - sb.append(" controlTarget: ").append(controlTarget); - sb.append(" isReadyToShowIme(): ").append(isReadyToShowIme()); + sb.append(", mIsImeLayoutDrawn: ").append(mIsImeLayoutDrawn); + sb.append(", mShowImeRunner: ").append(mShowImeRunner); + sb.append(", mImeRequester: ").append(mImeRequester); + sb.append(", dcTarget: ").append(dcTarget); + sb.append(", controlTarget: ").append(controlTarget); + sb.append("\n"); + sb.append("isReadyToShowIme(): ").append(isReadyToShowIme()); if (mImeRequester != null && dcTarget != null && controlTarget != null) { - sb.append(" isImeLayeringTarget: "); + sb.append(", controlTarget == DisplayContent.controlTarget: "); + sb.append(controlTarget == mDisplayContent.getImeTarget(IME_TARGET_CONTROL)); + sb.append(", hasPendingControls: "); + sb.append(mStateController.hasPendingControls(controlTarget)); + sb.append(", serverVisible: "); + sb.append(mServerVisible); + sb.append(", frozen: "); + sb.append(mFrozen); + sb.append(", leash is: "); + sb.append(getLeash(controlTarget) != null ? "non-null" : "null"); + sb.append(", control is: "); + sb.append(mControl != null ? "non-null" : "null"); + sb.append(", mIsLeashReadyForDispatching: "); + sb.append(mIsLeashReadyForDispatching); + sb.append(", isImeLayeringTarget: "); sb.append(isImeLayeringTarget(mImeRequester, dcTarget)); - sb.append(" isAboveImeLayeringTarget: "); + sb.append(", isAboveImeLayeringTarget: "); sb.append(isAboveImeLayeringTarget(mImeRequester, dcTarget)); - sb.append(" isImeFallbackTarget: "); + sb.append(", isImeFallbackTarget: "); sb.append(isImeFallbackTarget(mImeRequester)); - sb.append(" isImeInputTarget: "); + sb.append(", isImeInputTarget: "); sb.append(isImeInputTarget(mImeRequester)); - sb.append(" sameAsImeControlTarget: "); + sb.append(", sameAsImeControlTarget: "); sb.append(sameAsImeControlTarget()); } Slog.d(TAG, sb.toString()); diff --git a/services/core/java/com/android/server/wm/InsetsSourceProvider.java b/services/core/java/com/android/server/wm/InsetsSourceProvider.java index 83f44d23dbb1..a8cbc621d966 100644 --- a/services/core/java/com/android/server/wm/InsetsSourceProvider.java +++ b/services/core/java/com/android/server/wm/InsetsSourceProvider.java @@ -64,15 +64,16 @@ class InsetsSourceProvider { private static final Rect EMPTY_RECT = new Rect(); - protected final DisplayContent mDisplayContent; protected final @NonNull InsetsSource mSource; - protected WindowContainer mWindowContainer; + protected final @NonNull DisplayContent mDisplayContent; + protected final @NonNull InsetsStateController mStateController; + protected @Nullable WindowContainer mWindowContainer; + protected @Nullable InsetsSourceControl mControl; + protected boolean mIsLeashReadyForDispatching; private final Rect mTmpRect = new Rect(); - private final InsetsStateController mStateController; private final InsetsSourceControl mFakeControl; private final Consumer<Transaction> mSetLeashPositionConsumer; - private @Nullable InsetsSourceControl mControl; private @Nullable InsetsControlTarget mControlTarget; private @Nullable InsetsControlTarget mPendingControlTarget; private @Nullable InsetsControlTarget mFakeControlTarget; @@ -82,7 +83,6 @@ class InsetsSourceProvider { private SparseArray<TriFunction<DisplayFrames, WindowContainer, Rect, Integer>> mOverrideFrameProviders; private final SparseArray<Rect> mOverrideFrames = new SparseArray<Rect>(); - private boolean mIsLeashReadyForDispatching; private final Rect mSourceFrame = new Rect(); private final Rect mLastSourceFrame = new Rect(); private @NonNull Insets mInsetsHint = Insets.NONE; @@ -114,8 +114,9 @@ class InsetsSourceProvider { */ private boolean mCropToProvidingInsets = false; - InsetsSourceProvider(InsetsSource source, InsetsStateController stateController, - DisplayContent displayContent) { + InsetsSourceProvider(@NonNull InsetsSource source, + @NonNull InsetsStateController stateController, + @NonNull DisplayContent displayContent) { mClientVisible = (WindowInsets.Type.defaultVisible() & source.getType()) != 0; mSource = source; mDisplayContent = displayContent; @@ -560,7 +561,7 @@ class InsetsSourceProvider { mDisplayContent.mWmService.mWindowPlacerLocked.requestTraversal(); } - @VisibleForTesting + @VisibleForTesting(visibility = VisibleForTesting.Visibility.PROTECTED) void setServerVisible(boolean serverVisible) { mServerVisible = serverVisible; updateSourceFrameForServerVisibility(); @@ -575,6 +576,14 @@ class InsetsSourceProvider { mServerVisible, mClientVisible); } + /** + * Gets the source control for the given control target. If this is the provider's control + * target, but the leash is not ready for dispatching, a new source control object with the + * leash set to {@code null} is returned. + * + * @param target the control target to get the source control for. + */ + @Nullable InsetsSourceControl getControl(InsetsControlTarget target) { if (target == mControlTarget) { if (!mIsLeashReadyForDispatching && mControl != null) { @@ -593,10 +602,25 @@ class InsetsSourceProvider { return null; } + /** + * Gets the leash of the source control for the given control target. If this is not the + * provider's control target, or the leash is not ready for dispatching, this will + * return {@code null}. + * + * @param target the control target to get the source control leash for. + */ + @Nullable + protected SurfaceControl getLeash(@NonNull InsetsControlTarget target) { + return target == mControlTarget && mIsLeashReadyForDispatching && mControl != null + ? mControl.getLeash() : null; + } + + @Nullable InsetsControlTarget getControlTarget() { return mControlTarget; } + @Nullable InsetsControlTarget getFakeControlTarget() { return mFakeControlTarget; } diff --git a/services/core/java/com/android/server/wm/InsetsStateController.java b/services/core/java/com/android/server/wm/InsetsStateController.java index 6b9fcf411ce1..3a04bcd1df7d 100644 --- a/services/core/java/com/android/server/wm/InsetsStateController.java +++ b/services/core/java/com/android/server/wm/InsetsStateController.java @@ -388,6 +388,9 @@ class InsetsStateController { onRequestedVisibleTypesChanged(newControlTargets.valueAt(i)); } newControlTargets.clear(); + // Check for and try to run the scheduled show IME request (if it exists), as we + // now applied the surface transaction and notified the target of the new control. + getImeSourceProvider().checkShowImePostLayout(); }); } @@ -395,6 +398,15 @@ class InsetsStateController { mDisplayContent.notifyInsetsChanged(mDispatchInsetsChanged); } + /** + * Checks if the control target has pending controls. + * + * @param target the control target to check. + */ + boolean hasPendingControls(@NonNull InsetsControlTarget target) { + return mPendingControlChanged.contains(target); + } + void dump(String prefix, PrintWriter pw) { pw.println(prefix + "WindowInsetsStateController"); prefix = prefix + " "; diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java index d66005f8fd99..9dba8c6b90c4 100644 --- a/services/core/java/com/android/server/wm/RootWindowContainer.java +++ b/services/core/java/com/android/server/wm/RootWindowContainer.java @@ -31,6 +31,7 @@ import static android.view.Display.INVALID_DISPLAY; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_SUSTAINED_PERFORMANCE_MODE; import static android.view.WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG; import static android.view.WindowManager.LayoutParams.TYPE_NOTIFICATION_SHADE; +import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_OCCLUDING; import static android.view.WindowManager.TRANSIT_NONE; import static android.view.WindowManager.TRANSIT_PIP; import static android.view.WindowManager.TRANSIT_SLEEP; @@ -2496,15 +2497,17 @@ class RootWindowContainer extends WindowContainer<DisplayContent> // Use NONE if keyguard is not showing. int transit = TRANSIT_NONE; Task startTask = null; + int flags = 0; + if (display.isKeyguardOccluded()) { + startTask = display.getTaskOccludingKeyguard(); + flags = TRANSIT_FLAG_KEYGUARD_OCCLUDING; + transit = WindowManager.TRANSIT_KEYGUARD_OCCLUDE; + } if (wasSleeping) { transit = TRANSIT_WAKE; - } else if (display.isKeyguardOccluded()) { - // The display was awake so this is resuming activity for occluding keyguard. - transit = WindowManager.TRANSIT_KEYGUARD_OCCLUDE; - startTask = display.getTaskOccludingKeyguard(); } display.mTransitionController.requestStartTransition( - display.mTransitionController.createTransition(transit), + display.mTransitionController.createTransition(transit, flags), startTask, null /* remoteTransition */, null /* displayChange */); } // Set the sleeping state of the root tasks on the display. diff --git a/services/core/java/com/android/server/wm/TransitionController.java b/services/core/java/com/android/server/wm/TransitionController.java index ac03a1bbf590..222abc35ee0b 100644 --- a/services/core/java/com/android/server/wm/TransitionController.java +++ b/services/core/java/com/android/server/wm/TransitionController.java @@ -300,7 +300,7 @@ class TransitionController { * Creates a transition. It can immediately collect participants. */ @NonNull - private Transition createTransition(@WindowManager.TransitionType int type, + Transition createTransition(@WindowManager.TransitionType int type, @WindowManager.TransitionFlags int flags) { if (mTransitionPlayer == null) { throw new IllegalStateException("Shell Transitions not enabled"); diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index aca3119c63bb..b716dc67f1a3 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -4977,8 +4977,15 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP displayInfo.appWidth, displayInfo.appHeight); anim.restrictDuration(MAX_ANIMATION_DURATION); anim.scaleCurrentDuration(mWmService.getWindowAnimationScaleLocked()); + final Point position = new Point(); + if (com.android.window.flags.Flags.removePrepareSurfaceInPlacement()) { + transformFrameToSurfacePosition(mWindowFrames.mFrame.left, mWindowFrames.mFrame.top, + position); + } else { + position.set(mSurfacePosition); + } final AnimationAdapter adapter = new LocalAnimationAdapter( - new WindowAnimationSpec(anim, mSurfacePosition, false /* canSkipFirstFrame */, + new WindowAnimationSpec(anim, position, false /* canSkipFirstFrame */, 0 /* windowCornerRadius */), mWmService.mSurfaceAnimationRunner); startAnimation(getPendingTransaction(), adapter); diff --git a/services/tests/VpnTests/java/com/android/server/VpnManagerServiceTest.java b/services/tests/VpnTests/java/com/android/server/VpnManagerServiceTest.java index ecc70e3669d6..8495de4480ef 100644 --- a/services/tests/VpnTests/java/com/android/server/VpnManagerServiceTest.java +++ b/services/tests/VpnTests/java/com/android/server/VpnManagerServiceTest.java @@ -397,4 +397,35 @@ public class VpnManagerServiceTest extends VpnTestBase { // Even lockdown is enabled but no Vpn is created for SECONDARY_USER. assertNull(mService.getVpnLockdownAllowlist(SECONDARY_USER.id)); } + + @Test + public void testGetFromVpnProfileStore() { + final String name = Credentials.VPN + TEST_VPN_PKG; + mService.getFromVpnProfileStore(name); + verify(mVpnProfileStore).get(name); + } + + @Test + public void testPutIntoVpnProfileStore() { + final String name = Credentials.VPN + TEST_VPN_PKG; + final VpnProfile vpnProfile = new VpnProfile(TEST_VPN_PKG); + final byte[] encodedProfile = vpnProfile.encode(); + + mService.putIntoVpnProfileStore(name, encodedProfile); + verify(mVpnProfileStore).put(name, encodedProfile); + } + + @Test + public void testRemoveFromVpnProfileStore() { + final String name = Credentials.VPN + TEST_VPN_PKG; + mService.removeFromVpnProfileStore(name); + verify(mVpnProfileStore).remove(name); + } + + @Test + public void testListFromVpnProfileStore() { + final String name = Credentials.VPN + TEST_VPN_PKG; + mService.listFromVpnProfileStore(name); + verify(mVpnProfileStore).list(name); + } } diff --git a/services/tests/displayservicetests/src/com/android/server/display/LogicalDisplayMapperTest.java b/services/tests/displayservicetests/src/com/android/server/display/LogicalDisplayMapperTest.java index d0c7077f29c0..5a50510082d6 100644 --- a/services/tests/displayservicetests/src/com/android/server/display/LogicalDisplayMapperTest.java +++ b/services/tests/displayservicetests/src/com/android/server/display/LogicalDisplayMapperTest.java @@ -20,6 +20,8 @@ import static android.hardware.devicestate.DeviceStateManager.INVALID_DEVICE_STA import static android.view.Display.DEFAULT_DISPLAY; import static android.view.Display.DEFAULT_DISPLAY_GROUP; import static android.view.Display.FLAG_REAR; +import static android.view.Display.STATE_OFF; +import static android.view.Display.STATE_ON; import static android.view.Display.TYPE_EXTERNAL; import static android.view.Display.TYPE_INTERNAL; import static android.view.Display.TYPE_VIRTUAL; @@ -28,6 +30,7 @@ import static com.android.server.display.DeviceStateToLayoutMap.STATE_DEFAULT; import static com.android.server.display.DisplayAdapter.DISPLAY_DEVICE_EVENT_ADDED; import static com.android.server.display.DisplayAdapter.DISPLAY_DEVICE_EVENT_CHANGED; import static com.android.server.display.DisplayAdapter.DISPLAY_DEVICE_EVENT_REMOVED; +import static com.android.server.display.DisplayDeviceInfo.DIFF_EVERYTHING; import static com.android.server.display.DisplayDeviceInfo.FLAG_ALLOWED_TO_BE_DEFAULT_DISPLAY; import static com.android.server.display.LogicalDisplayMapper.LOGICAL_DISPLAY_EVENT_ADDED; import static com.android.server.display.LogicalDisplayMapper.LOGICAL_DISPLAY_EVENT_CONNECTED; @@ -35,6 +38,9 @@ import static com.android.server.display.LogicalDisplayMapper.LOGICAL_DISPLAY_EV import static com.android.server.display.LogicalDisplayMapper.LOGICAL_DISPLAY_EVENT_REMOVED; import static com.android.server.display.layout.Layout.Display.POSITION_REAR; import static com.android.server.display.layout.Layout.Display.POSITION_UNKNOWN; +import static com.android.server.utils.FoldSettingProvider.SETTING_VALUE_SELECTIVE_STAY_AWAKE; +import static com.android.server.utils.FoldSettingProvider.SETTING_VALUE_SLEEP_ON_FOLD; +import static com.android.server.utils.FoldSettingProvider.SETTING_VALUE_STAY_AWAKE_ON_FOLD; import static com.google.common.truth.Truth.assertThat; @@ -72,6 +78,7 @@ import android.view.DisplayInfo; import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.SmallTest; +import com.android.internal.foldables.FoldGracePeriodProvider; import com.android.server.display.feature.DisplayManagerFlags; import com.android.server.display.layout.DisplayIdProducer; import com.android.server.display.layout.Layout; @@ -96,9 +103,13 @@ import java.util.List; @RunWith(AndroidJUnit4.class) public class LogicalDisplayMapperTest { private static int sUniqueTestDisplayId = 0; + private static final int TIMEOUT_STATE_TRANSITION_MILLIS = 500; + private static final int FOLD_SETTLE_DELAY = 1000; private static final int DEVICE_STATE_CLOSED = 0; + private static final int DEVICE_STATE_HALF_OPEN = 1; private static final int DEVICE_STATE_OPEN = 2; private static final int FLAG_GO_TO_SLEEP_ON_FOLD = 0; + private static final int FLAG_GO_TO_SLEEP_FLAG_SOFT_SLEEP = 2; private static int sNextNonDefaultDisplayId = DEFAULT_DISPLAY + 1; private static final File NON_EXISTING_FILE = new File("/non_existing_folder/should_not_exist"); @@ -116,6 +127,7 @@ public class LogicalDisplayMapperTest { @Mock LogicalDisplayMapper.Listener mListenerMock; @Mock Context mContextMock; @Mock FoldSettingProvider mFoldSettingProviderMock; + @Mock FoldGracePeriodProvider mFoldGracePeriodProvider; @Mock Resources mResourcesMock; @Mock IPowerManager mIPowerManagerMock; @Mock IThermalService mIThermalServiceMock; @@ -160,6 +172,7 @@ public class LogicalDisplayMapperTest { .thenReturn(Context.POWER_SERVICE); when(mFoldSettingProviderMock.shouldStayAwakeOnFold()).thenReturn(false); when(mFoldSettingProviderMock.shouldSleepOnFold()).thenReturn(false); + when(mFoldSettingProviderMock.shouldSelectiveStayAwakeOnFold()).thenReturn(true); when(mIPowerManagerMock.isInteractive()).thenReturn(true); when(mContextMock.getSystemService(PowerManager.class)).thenReturn(mPowerManager); when(mContextMock.getResources()).thenReturn(mResourcesMock); @@ -177,6 +190,7 @@ public class LogicalDisplayMapperTest { mLooper = new TestLooper(); mHandler = new Handler(mLooper.getLooper()); mLogicalDisplayMapper = new LogicalDisplayMapper(mContextMock, mFoldSettingProviderMock, + mFoldGracePeriodProvider, mDisplayDeviceRepo, mListenerMock, new DisplayManagerService.SyncRoot(), mHandler, mDeviceStateToLayoutMapSpy, mFlagsMock); @@ -681,22 +695,147 @@ public class LogicalDisplayMapperTest { when(mFoldSettingProviderMock.shouldSleepOnFold()).thenReturn(true); finishBootAndFoldDevice(); + advanceTime(FOLD_SETTLE_DELAY); verify(mIPowerManagerMock, atLeastOnce()).goToSleep(anyLong(), anyInt(), eq(FLAG_GO_TO_SLEEP_ON_FOLD)); } @Test + public void testDeviceShouldPutToSleepWhenFoldSettingSelective() throws RemoteException { + when(mFoldSettingProviderMock.shouldSelectiveStayAwakeOnFold()).thenReturn(true); + + finishBootAndFoldDevice(); + advanceTime(FOLD_SETTLE_DELAY); + + verify(mIPowerManagerMock, atLeastOnce()).goToSleep(anyLong(), anyInt(), + eq(FLAG_GO_TO_SLEEP_FLAG_SOFT_SLEEP)); + } + + @Test public void testDeviceShouldNotBePutToSleepWhenSleepSettingFalse() throws RemoteException { when(mFoldSettingProviderMock.shouldSleepOnFold()).thenReturn(false); finishBootAndFoldDevice(); + advanceTime(FOLD_SETTLE_DELAY); verify(mIPowerManagerMock, never()).goToSleep(anyLong(), anyInt(), eq(FLAG_GO_TO_SLEEP_ON_FOLD)); } @Test + public void testWaitForSleepWhenFoldSettingSleep() { + // Test device should not be marked ready for transition immediately, when 'Continue + // using app on fold' set to 'Never' + setFoldLockBehaviorSettingValue(SETTING_VALUE_SLEEP_ON_FOLD); + setGracePeriodAvailability(false); + FoldableDisplayDevices foldableDisplayDevices = createFoldableDeviceStateToLayoutMap(); + + finishBootAndFoldDevice(); + foldableDisplayDevices.mInner.setState(STATE_OFF); + notifyDisplayChanges(foldableDisplayDevices.mOuter); + + assertDisplayDisabled(foldableDisplayDevices.mOuter); + assertDisplayEnabled(foldableDisplayDevices.mInner); + } + + @Test + public void testSwapDeviceStateWithDelayWhenFoldSettingSleep() { + // Test device should be marked ready for transition after a delay when 'Continue using + // app on fold' set to 'Never' + setFoldLockBehaviorSettingValue(SETTING_VALUE_SLEEP_ON_FOLD); + setGracePeriodAvailability(false); + FoldableDisplayDevices foldableDisplayDevices = createFoldableDeviceStateToLayoutMap(); + + finishBootAndFoldDevice(); + foldableDisplayDevices.mInner.setState(STATE_OFF); + notifyDisplayChanges(foldableDisplayDevices.mOuter); + advanceTime(TIMEOUT_STATE_TRANSITION_MILLIS); + + assertDisplayEnabled(foldableDisplayDevices.mOuter); + assertDisplayDisabled(foldableDisplayDevices.mInner); + } + + @Test + public void testDoNotWaitForSleepWhenFoldSettingStayAwake() { + // Test device should be marked ready for transition immediately when 'Continue using app + // on fold' set to 'Always' + setFoldLockBehaviorSettingValue(SETTING_VALUE_STAY_AWAKE_ON_FOLD); + setGracePeriodAvailability(false); + FoldableDisplayDevices foldableDisplayDevices = createFoldableDeviceStateToLayoutMap(); + + finishBootAndFoldDevice(); + foldableDisplayDevices.mInner.setState(STATE_OFF); + notifyDisplayChanges(foldableDisplayDevices.mOuter); + + assertDisplayEnabled(foldableDisplayDevices.mOuter); + assertDisplayDisabled(foldableDisplayDevices.mInner); + } + + @Test + public void testDoNotWaitForSleepWhenFoldSettingSelectiveStayAwake() { + // Test device should be marked ready for transition immediately when 'Continue using app + // on fold' set to 'Swipe up to continue' + setFoldLockBehaviorSettingValue(SETTING_VALUE_SELECTIVE_STAY_AWAKE); + setGracePeriodAvailability(true); + FoldableDisplayDevices foldableDisplayDevices = createFoldableDeviceStateToLayoutMap(); + + finishBootAndFoldDevice(); + foldableDisplayDevices.mInner.setState(STATE_OFF); + notifyDisplayChanges(foldableDisplayDevices.mOuter); + + assertDisplayEnabled(foldableDisplayDevices.mOuter); + assertDisplayDisabled(foldableDisplayDevices.mInner); + } + + @Test + public void testWaitForSleepWhenGracePeriodSettingDisabled() { + // Test device should not be marked ready for transition immediately when 'Continue using + // app on fold' set to 'Swipe up to continue' but Grace Period flag is disabled + setFoldLockBehaviorSettingValue(SETTING_VALUE_SELECTIVE_STAY_AWAKE); + setGracePeriodAvailability(false); + FoldableDisplayDevices foldableDisplayDevices = createFoldableDeviceStateToLayoutMap(); + + finishBootAndFoldDevice(); + foldableDisplayDevices.mInner.setState(STATE_OFF); + notifyDisplayChanges(foldableDisplayDevices.mOuter); + + assertDisplayDisabled(foldableDisplayDevices.mOuter); + assertDisplayEnabled(foldableDisplayDevices.mInner); + } + + @Test + public void testWaitForSleepWhenTransitionDisplayStaysOn() { + // Test device should not be marked ready for transition immediately, when 'Continue + // using app on fold' set to 'Always' but not all transitioning displays are OFF. + setFoldLockBehaviorSettingValue(SETTING_VALUE_STAY_AWAKE_ON_FOLD); + setGracePeriodAvailability(false); + FoldableDisplayDevices foldableDisplayDevices = createFoldableDeviceStateToLayoutMap(); + + finishBootAndFoldDevice(); + notifyDisplayChanges(foldableDisplayDevices.mOuter); + + assertDisplayDisabled(foldableDisplayDevices.mOuter); + assertDisplayEnabled(foldableDisplayDevices.mInner); + } + + @Test + public void testSwapDeviceStateWithDelayWhenTransitionDisplayStaysOn() { + // Test device should be marked ready for transition after a delay, when 'Continue using + // app on fold' set to 'Never' but not all transitioning displays are OFF. + setFoldLockBehaviorSettingValue(SETTING_VALUE_SLEEP_ON_FOLD); + setGracePeriodAvailability(false); + FoldableDisplayDevices foldableDisplayDevices = createFoldableDeviceStateToLayoutMap(); + + finishBootAndFoldDevice(); + notifyDisplayChanges(foldableDisplayDevices.mOuter); + advanceTime(TIMEOUT_STATE_TRANSITION_MILLIS); + + assertDisplayEnabled(foldableDisplayDevices.mOuter); + assertDisplayDisabled(foldableDisplayDevices.mInner); + } + + @Test public void testDeviceStateLocked() { DisplayDevice device1 = createDisplayDevice(TYPE_INTERNAL, 600, 800, FLAG_ALLOWED_TO_BE_DEFAULT_DISPLAY); @@ -950,13 +1089,77 @@ public class LogicalDisplayMapperTest { // Helper Methods ///////////////// + private void setGracePeriodAvailability(boolean isGracePeriodEnabled) { + when(mFoldGracePeriodProvider.isEnabled()).thenReturn(isGracePeriodEnabled); + } + + private void setFoldLockBehaviorSettingValue(String foldLockBehaviorSettingValue) { + when(mFoldSettingProviderMock.shouldSleepOnFold()).thenReturn(false); + when(mFoldSettingProviderMock.shouldStayAwakeOnFold()).thenReturn(false); + when(mFoldSettingProviderMock.shouldSelectiveStayAwakeOnFold()).thenReturn(false); + + switch (foldLockBehaviorSettingValue) { + case SETTING_VALUE_STAY_AWAKE_ON_FOLD: + when(mFoldSettingProviderMock.shouldStayAwakeOnFold()).thenReturn(true); + break; + + case SETTING_VALUE_SLEEP_ON_FOLD: + when(mFoldSettingProviderMock.shouldSleepOnFold()).thenReturn(true); + break; + + default: + when(mFoldSettingProviderMock.shouldSelectiveStayAwakeOnFold()).thenReturn(true); + break; + } + } + + private FoldableDisplayDevices createFoldableDeviceStateToLayoutMap() { + TestDisplayDevice outer = createDisplayDevice(TYPE_INTERNAL, 600, 800, + FLAG_ALLOWED_TO_BE_DEFAULT_DISPLAY); + TestDisplayDevice inner = createDisplayDevice(TYPE_INTERNAL, 600, 800, + FLAG_ALLOWED_TO_BE_DEFAULT_DISPLAY); + outer.setState(STATE_OFF); + inner.setState(STATE_ON); + + Layout layout = new Layout(); + createDefaultDisplay(layout, outer); + createNonDefaultDisplay(layout, inner, /* enabled= */ false, /* group= */ null); + when(mDeviceStateToLayoutMapSpy.get(DEVICE_STATE_CLOSED)).thenReturn(layout); + + layout = new Layout(); + createNonDefaultDisplay(layout, outer, /* enabled= */ false, /* group= */ null); + createDefaultDisplay(layout, inner); + when(mDeviceStateToLayoutMapSpy.get(DEVICE_STATE_HALF_OPEN)).thenReturn(layout); + when(mDeviceStateToLayoutMapSpy.get(DEVICE_STATE_OPEN)).thenReturn(layout); + when(mDeviceStateToLayoutMapSpy.size()).thenReturn(4); + + add(outer); + add(inner); + + return new FoldableDisplayDevices(outer, inner); + } + private void finishBootAndFoldDevice() { mLogicalDisplayMapper.setDeviceStateLocked(DEVICE_STATE_OPEN); + mLogicalDisplayMapper.onEarlyInteractivityChange(true); advanceTime(1000); mLogicalDisplayMapper.onBootCompleted(); advanceTime(1000); mLogicalDisplayMapper.setDeviceStateLocked(DEVICE_STATE_CLOSED); - advanceTime(1000); + } + + private void notifyDisplayChanges(TestDisplayDevice displayDevice) { + mLogicalDisplayMapper.onDisplayDeviceChangedLocked(displayDevice, DIFF_EVERYTHING); + } + + private void assertDisplayEnabled(DisplayDevice displayDevice) { + assertThat( + mLogicalDisplayMapper.getDisplayLocked(displayDevice).isEnabledLocked()).isTrue(); + } + + private void assertDisplayDisabled(DisplayDevice displayDevice) { + assertThat( + mLogicalDisplayMapper.getDisplayLocked(displayDevice).isEnabledLocked()).isFalse(); } private void createDefaultDisplay(Layout layout, DisplayDevice device) { @@ -1058,6 +1261,16 @@ public class LogicalDisplayMapperTest { assertNotEquals(DEFAULT_DISPLAY, id(displayRemoved)); } + private final static class FoldableDisplayDevices { + final TestDisplayDevice mOuter; + final TestDisplayDevice mInner; + + FoldableDisplayDevices(TestDisplayDevice outer, TestDisplayDevice inner) { + this.mOuter = outer; + this.mInner = inner; + } + } + class TestDisplayDevice extends DisplayDevice { private DisplayDeviceInfo mInfo; private DisplayDeviceInfo mSentInfo; @@ -1083,6 +1296,16 @@ public class LogicalDisplayMapperTest { mSentInfo = null; } + public void setState(int state) { + mState = state; + if (mSentInfo == null) { + mInfo.state = state; + } else { + mInfo.state = state; + mSentInfo.state = state; + } + } + @Override public boolean hasStableUniqueId() { return true; diff --git a/services/tests/servicestests/src/com/android/server/companion/virtual/GenericWindowPolicyControllerTest.java b/services/tests/servicestests/src/com/android/server/companion/virtual/GenericWindowPolicyControllerTest.java index ec3e97b641b8..067814036afb 100644 --- a/services/tests/servicestests/src/com/android/server/companion/virtual/GenericWindowPolicyControllerTest.java +++ b/services/tests/servicestests/src/com/android/server/companion/virtual/GenericWindowPolicyControllerTest.java @@ -123,6 +123,7 @@ public class GenericWindowPolicyControllerTest { @Test public void containsUid() { GenericWindowPolicyController gwpc = createGwpc(); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); assertThat(gwpc.containsUid(TEST_UID)).isFalse(); @@ -136,6 +137,7 @@ public class GenericWindowPolicyControllerTest { @Test public void isEnteringPipAllowed_falseByDefault() { GenericWindowPolicyController gwpc = createGwpc(); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); assertThat(gwpc.isEnteringPipAllowed(TEST_UID)).isFalse(); verify(mPipBlockedCallback, timeout(TIMEOUT_MILLIS)).onEnteringPipBlocked(TEST_UID); @@ -144,6 +146,7 @@ public class GenericWindowPolicyControllerTest { @Test public void isEnteringPipAllowed_dpcSupportsPinned_allowed() { GenericWindowPolicyController gwpc = createGwpc(); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); gwpc.setSupportedWindowingModes(new HashSet<>( Arrays.asList(WindowConfiguration.WINDOWING_MODE_FULLSCREEN, WindowConfiguration.WINDOWING_MODE_PINNED))); @@ -160,11 +163,25 @@ public class GenericWindowPolicyControllerTest { NONBLOCKED_APP_PACKAGE_NAME, NONBLOCKED_APP_PACKAGE_NAME, /* displayOnRemoteDevices */ true, - /* targetDisplayCategory */ null); + /* targetDisplayCategory */ null, + /* uid */ UserHandle.PER_USER_RANGE + 1); assertActivityIsBlocked(gwpc, activityInfo); } @Test + public void userNotAllowlisted_systemUser_isNotBlocked() { + GenericWindowPolicyController gwpc = createGwpcWithNoAllowedUsers(); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); + + ActivityInfo activityInfo = getActivityInfo( + NONBLOCKED_APP_PACKAGE_NAME, + NONBLOCKED_APP_PACKAGE_NAME, + /* displayOnRemoteDevices */ true, + /* targetDisplayCategory */ null); + assertActivityCanBeLaunched(gwpc, activityInfo); + } + + @Test public void userNotAllowlisted_systemUserCanLaunchBlockedAppStreamingActivity() { GenericWindowPolicyController gwpc = createGwpcWithNoAllowedUsers(); gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); @@ -521,6 +538,7 @@ public class GenericWindowPolicyControllerTest { public void registerRunningAppsChangedListener_onRunningAppsChanged_listenersNotified() { ArraySet<Integer> uids = new ArraySet<>(Arrays.asList(TEST_UID)); GenericWindowPolicyController gwpc = createGwpc(); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); gwpc.registerRunningAppsChangedListener(mRunningAppsChangedListener); gwpc.onRunningAppsChanged(uids); @@ -545,6 +563,7 @@ public class GenericWindowPolicyControllerTest { public void noRunningAppsChangedListener_onRunningAppsChanged_doesNotThrowException() { ArraySet<Integer> uids = new ArraySet<>(Arrays.asList(TEST_UID)); GenericWindowPolicyController gwpc = createGwpc(); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); gwpc.onRunningAppsChanged(uids); @@ -557,6 +576,7 @@ public class GenericWindowPolicyControllerTest { public void registerUnregisterRunningAppsChangedListener_onRunningAppsChanged_doesNotThrowException() { ArraySet<Integer> uids = new ArraySet<>(Arrays.asList(TEST_UID)); GenericWindowPolicyController gwpc = createGwpc(); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); gwpc.registerRunningAppsChangedListener(mRunningAppsChangedListener); gwpc.unregisterRunningAppsChangedListener(mRunningAppsChangedListener); @@ -579,6 +599,7 @@ public class GenericWindowPolicyControllerTest { doReturn(interceptor).when(interceptor).queryLocalInterface(anyString()); GenericWindowPolicyController gwpc = createGwpc(); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( NONBLOCKED_APP_PACKAGE_NAME, NONBLOCKED_APP_PACKAGE_NAME, @@ -603,6 +624,7 @@ public class GenericWindowPolicyControllerTest { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("testing")); GenericWindowPolicyController gwpc = createGwpc(); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( NONBLOCKED_APP_PACKAGE_NAME, NONBLOCKED_APP_PACKAGE_NAME, @@ -621,6 +643,7 @@ public class GenericWindowPolicyControllerTest { @Test public void onTopActivitychanged_null_noCallback() { GenericWindowPolicyController gwpc = createGwpc(); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); gwpc.onTopActivityChanged(null, 0, 0); verify(mActivityListener, after(TIMEOUT_MILLIS).never()) @@ -697,6 +720,7 @@ public class GenericWindowPolicyControllerTest { @Test public void getCustomHomeComponent_noneSet() { GenericWindowPolicyController gwpc = createGwpc(); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); assertThat(gwpc.getCustomHomeComponent()).isNull(); } @@ -705,6 +729,7 @@ public class GenericWindowPolicyControllerTest { public void getCustomHomeComponent_returnsHomeComponent() { GenericWindowPolicyController gwpc = createGwpcWithCustomHomeComponent( NONBLOCKED_COMPONENT); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); assertThat(gwpc.getCustomHomeComponent()).isEqualTo(NONBLOCKED_COMPONENT); } diff --git a/services/tests/servicestests/src/com/android/server/graphics/fonts/UpdatableFontDirTest.java b/services/tests/servicestests/src/com/android/server/graphics/fonts/UpdatableFontDirTest.java index dacff4c07759..fa892782f42e 100644 --- a/services/tests/servicestests/src/com/android/server/graphics/fonts/UpdatableFontDirTest.java +++ b/services/tests/servicestests/src/com/android/server/graphics/fonts/UpdatableFontDirTest.java @@ -999,6 +999,563 @@ public final class UpdatableFontDirTest { assertThat(mUpdatableFontFilesDir.list()).hasLength(0); } + private UpdatableFontDir createNewUpdateDir() { + UpdatableFontDir dir = new UpdatableFontDir( + mUpdatableFontFilesDir, mParser, mFakeFsverityUtil, + mConfigFile, mCurrentTimeSupplier, mConfigSupplier); + dir.loadFontFileMap(); + return dir; + } + + private UpdatableFontDir installTestFontFamilies(int version) { + UpdatableFontDir dir = createNewUpdateDir(); + try { + dir.update(Arrays.asList( + newFontUpdateRequest("foo.ttf," + version + ",foo", GOOD_SIGNATURE), + newFontUpdateRequest("bar.ttf," + version + ",bar", GOOD_SIGNATURE), + newAddFontFamilyRequest("<family name='foobar'>" + + " <font>foo.ttf</font>" + + " <font>bar.ttf</font>" + + "</family>"))); + } catch (Exception e) { + throw new RuntimeException(e); + } + return dir; + } + + private UpdatableFontDir installTestFontFile(int numFonts, int version) { + UpdatableFontDir dir = createNewUpdateDir(); + List<FontUpdateRequest> requests = new ArrayList<>(); + if (numFonts <= 0 || numFonts > 3) { + throw new IllegalArgumentException("numFont must be 1, 2 or 3"); + } + try { + requests.add(newFontUpdateRequest("foo.ttf," + version + ",foo", GOOD_SIGNATURE)); + if (numFonts >= 2) { + requests.add(newFontUpdateRequest("bar.ttf," + version + ",bar", GOOD_SIGNATURE)); + } + if (numFonts == 3) { + requests.add(newFontUpdateRequest("baz.ttf," + version + ",baz", GOOD_SIGNATURE)); + } + dir.update(requests); + } catch (Exception e) { + throw new RuntimeException(e); + } + return dir; + } + + private List<File> collectSignatureFiles() { + return Arrays.stream(mUpdatableFontFilesDir.listFiles()) + .map((file) -> file.listFiles((unused, s) -> s.endsWith(".fsv_sig"))) + .flatMap(Arrays::stream) + .toList(); + } + + private List<File> collectFontFiles() { + return Arrays.stream(mUpdatableFontFilesDir.listFiles()) + .map((file) -> file.listFiles((unused, s) -> s.endsWith(".ttf"))) + .flatMap(Arrays::stream) + .toList(); + } + + private void removeAll(List<File> files) { + files.forEach((File file) -> { + if (file.isDirectory()) { + removeAll(List.of(file.listFiles())); + } else { + assertThat(file.delete()).isTrue(); + } + }); + } + + private void assertTestFontFamilyInstalled(UpdatableFontDir dir, int version) { + try { + assertNamedFamilyExists(dir.getSystemFontConfig(), "foobar"); + assertThat(dir.getFontFamilyMap()).containsKey("foobar"); + assertThat(dir.getFontFamilyMap().get("foobar").getFamilies().size()).isEqualTo(1); + FontConfig.FontFamily foobar = dir.getFontFamilyMap().get("foobar").getFamilies() + .get(0); + assertThat(foobar.getFontList()).hasSize(2); + assertThat(foobar.getFontList().get(0).getFile()) + .isEqualTo(dir.getPostScriptMap().get("foo")); + assertThat(mParser.getRevision(dir.getPostScriptMap().get("foo"))).isEqualTo(version); + assertThat(foobar.getFontList().get(1).getFile()) + .isEqualTo(dir.getPostScriptMap().get("bar")); + assertThat(mParser.getRevision(dir.getPostScriptMap().get("bar"))).isEqualTo(version); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + private void assertTestFontInstalled(UpdatableFontDir dir, int version) { + try { + assertThat(dir.getPostScriptMap().containsKey("foo")).isTrue(); + assertThat(mParser.getRevision(dir.getPostScriptMap().get("foo"))).isEqualTo(version); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + @Test + public void signatureMissingCase_fontFamilyInstalled_fontFamilyInstallLater() { + // Install font families, foo.ttf, bar.ttf. + installTestFontFamilies(1 /* version */); + + // Delete one signature file + assertThat(collectSignatureFiles().get(0).delete()).isTrue(); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFamilies(2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontFamilyInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontFamilyInstalled(nextDir, 2 /* version */); + } + + @Test + public void signatureMissingCase_fontFamilyInstalled_fontInstallLater() { + // Install font families, foo.ttf, bar.ttf. + installTestFontFamilies(1); + + // Delete one signature file + assertThat(collectSignatureFiles().get(0).delete()).isTrue(); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFile(1 /* numFonts */, 2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontInstalled(nextDir, 2 /* version */); + } + + @Test + public void signatureMissingCase_fontFileInstalled_fontFamilyInstallLater() { + // Install font file, foo.ttf and bar.ttf + installTestFontFile(2 /* numFonts */, 1 /* version */); + + // Delete one signature file + assertThat(collectSignatureFiles().get(0).delete()).isTrue(); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFamilies(2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontFamilyInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontFamilyInstalled(nextDir, 2 /* version */); + } + + @Test + public void signatureMissingCase_fontFileInstalled_fontFileInstallLater() { + // Install font file, foo.ttf and bar.ttf + installTestFontFile(2 /* numFonts */, 1 /* version */); + + // Delete one signature file + assertThat(collectSignatureFiles().get(0).delete()).isTrue(); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFile(2 /* numFonts */, 2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontInstalled(nextDir, 2 /* version */); + } + + @Test + public void signatureAllMissingCase_fontFamilyInstalled_fontFamilyInstallLater() { + // Install font families, foo.ttf, bar.ttf. + installTestFontFamilies(1 /* version */); + + // Delete all signature files + removeAll(collectSignatureFiles()); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFamilies(2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontFamilyInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontFamilyInstalled(nextDir, 2 /* version */); + } + + @Test + public void signatureAllMissingCase_fontFamilyInstalled_fontInstallLater() { + // Install font families, foo.ttf, bar.ttf. + installTestFontFamilies(1 /* version */); + + // Delete all signature files + removeAll(collectSignatureFiles()); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFile(1 /* numFonts */, 2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontInstalled(nextDir, 2 /* version */); + } + + @Test + public void signatureAllMissingCase_fontFileInstalled_fontFamilyInstallLater() { + // Install font file, foo.ttf + installTestFontFile(1 /* numFonts */, 1 /* version */); + + // Delete all signature files + removeAll(collectSignatureFiles()); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFamilies(2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontFamilyInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontFamilyInstalled(nextDir, 2 /* version */); + } + + @Test + public void signatureAllMissingCase_fontFileInstalled_fontFileInstallLater() { + // Install font file, foo.ttf + installTestFontFile(1 /* numFonts */, 1 /* version */); + + // Delete all signature files + removeAll(collectSignatureFiles()); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFile(1 /* numFonts */, 2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontInstalled(nextDir, 2 /* version */); + } + + @Test + public void fontMissingCase_fontFamilyInstalled_fontFamilyInstallLater() { + // Install font families, foo.ttf, bar.ttf. + installTestFontFamilies(1 /* version */); + + // Delete one font file + assertThat(collectFontFiles().get(0).delete()).isTrue(); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFamilies(2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontFamilyInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontFamilyInstalled(nextDir, 2 /* version */); + } + + @Test + public void fontMissingCase_fontFamilyInstalled_fontInstallLater() { + // Install font families, foo.ttf, bar.ttf. + installTestFontFamilies(1); + + // Delete one font file + assertThat(collectFontFiles().get(0).delete()).isTrue(); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFile(1 /* numFonts */, 2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontInstalled(nextDir, 2 /* version */); + } + + @Test + public void fontMissingCase_fontFileInstalled_fontFamilyInstallLater() { + // Install font file, foo.ttf and bar.ttf + installTestFontFile(2 /* numFonts */, 1 /* version */); + + // Delete one font file + assertThat(collectFontFiles().get(0).delete()).isTrue(); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFamilies(2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontFamilyInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontFamilyInstalled(nextDir, 2 /* version */); + } + + @Test + public void fontMissingCase_fontFileInstalled_fontFileInstallLater() { + // Install font file, foo.ttf and bar.ttf + installTestFontFile(2 /* numFonts */, 1 /* version */); + + // Delete one font file + assertThat(collectFontFiles().get(0).delete()).isTrue(); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFile(2 /* numFonts */, 2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontInstalled(nextDir, 2 /* version */); + } + + @Test + public void fontAllMissingCase_fontFamilyInstalled_fontFamilyInstallLater() { + // Install font families, foo.ttf, bar.ttf. + installTestFontFamilies(1 /* version */); + + // Delete all font files + removeAll(collectFontFiles()); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFamilies(2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontFamilyInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontFamilyInstalled(nextDir, 2 /* version */); + } + + @Test + public void fontAllMissingCase_fontFamilyInstalled_fontInstallLater() { + // Install font families, foo.ttf, bar.ttf. + installTestFontFamilies(1 /* version */); + + // Delete all font files + removeAll(collectFontFiles()); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFile(1 /* numFonts */, 2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontInstalled(nextDir, 2 /* version */); + } + + @Test + public void fontAllMissingCase_fontFileInstalled_fontFamilyInstallLater() { + // Install font file, foo.ttf + installTestFontFile(1 /* numFonts */, 1 /* version */); + + // Delete all font files + removeAll(collectFontFiles()); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFamilies(2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontFamilyInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontFamilyInstalled(nextDir, 2 /* version */); + } + + @Test + public void fontAllMissingCase_fontFileInstalled_fontFileInstallLater() { + // Install font file, foo.ttf + installTestFontFile(1 /* numFonts */, 1 /* version */); + + // Delete all font files + removeAll(collectFontFiles()); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFile(1 /* numFonts */, 2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontInstalled(nextDir, 2 /* version */); + } + + @Test + public void fontDirAllMissingCase_fontFamilyInstalled_fontFamilyInstallLater() { + // Install font families, foo.ttf, bar.ttf. + installTestFontFamilies(1 /* version */); + + // Delete all font files + removeAll(List.of(mUpdatableFontFilesDir.listFiles())); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFamilies(2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontFamilyInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontFamilyInstalled(nextDir, 2 /* version */); + } + + @Test + public void fontDirAllMissingCase_fontFamilyInstalled_fontInstallLater() { + // Install font families, foo.ttf, bar.ttf. + installTestFontFamilies(1 /* version */); + + // Delete all font files + removeAll(List.of(mUpdatableFontFilesDir.listFiles())); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFile(1 /* numFonts */, 2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontInstalled(nextDir, 2 /* version */); + } + + @Test + public void fontDirAllMissingCase_fontFileInstalled_fontFamilyInstallLater() { + // Install font file, foo.ttf + installTestFontFile(1 /* numFonts */, 1 /* version */); + + // Delete all font files + removeAll(List.of(mUpdatableFontFilesDir.listFiles())); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFamilies(2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontFamilyInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontFamilyInstalled(nextDir, 2 /* version */); + } + + @Test + public void fontDirAllMissingCase_fontFileInstalled_fontFileInstallLater() { + // Install font file, foo.ttf + installTestFontFile(1 /* numFonts */, 1 /* version */); + + // Delete all font files + removeAll(List.of(mUpdatableFontFilesDir.listFiles())); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFile(1 /* numFonts */, 2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontInstalled(nextDir, 2 /* version */); + } + + @Test + public void dirContentAllMissingCase_fontFamilyInstalled_fontFamilyInstallLater() { + // Install font families, foo.ttf, bar.ttf. + installTestFontFamilies(1 /* version */); + + // Delete all font files + removeAll(collectFontFiles()); + removeAll(collectSignatureFiles()); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFamilies(2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontFamilyInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontFamilyInstalled(nextDir, 2 /* version */); + } + + @Test + public void dirContentAllMissingCase_fontFamilyInstalled_fontInstallLater() { + // Install font families, foo.ttf, bar.ttf. + installTestFontFamilies(1 /* version */); + + // Delete all font files + removeAll(collectFontFiles()); + removeAll(collectSignatureFiles()); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFile(1 /* numFonts */, 2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontInstalled(nextDir, 2 /* version */); + } + + @Test + public void dirContentAllMissingCase_fontFileInstalled_fontFamilyInstallLater() { + // Install font file, foo.ttf + installTestFontFile(1 /* numFonts */, 1 /* version */); + + // Delete all font files + removeAll(collectFontFiles()); + removeAll(collectSignatureFiles()); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFamilies(2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontFamilyInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontFamilyInstalled(nextDir, 2 /* version */); + } + + @Test + public void dirContentAllMissingCase_fontFileInstalled_fontFileInstallLater() { + // Install font file, foo.ttf + installTestFontFile(1 /* numFonts */, 1 /* version */); + + // Delete all font files + removeAll(collectFontFiles()); + removeAll(collectSignatureFiles()); + + // New instance of UpdatableFontDir, this emulate a device reboot. + UpdatableFontDir dir = installTestFontFile(1 /* numFonts */, 2 /* version */); + + // Make sure the font installation succeeds. + assertTestFontInstalled(dir, 2 /* version */); + + // Make sure after the reboot, the configuration remains. + UpdatableFontDir nextDir = createNewUpdateDir(); + assertTestFontInstalled(nextDir, 2 /* version */); + } + private FontUpdateRequest newFontUpdateRequest(String content, String signature) throws Exception { File file = File.createTempFile("font", "ttf", mCacheDir); diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationChannelExtractorTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationChannelExtractorTest.java index 77ce2f032a09..ad25d76e2db7 100644 --- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationChannelExtractorTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationChannelExtractorTest.java @@ -16,26 +16,43 @@ package com.android.server.notification; +import static android.app.Notification.CATEGORY_ALARM; import static android.app.NotificationManager.IMPORTANCE_HIGH; import static android.app.NotificationManager.IMPORTANCE_LOW; +import static android.media.AudioAttributes.USAGE_ALARM; +import static android.media.AudioAttributes.USAGE_MEDIA; +import static android.media.AudioAttributes.USAGE_NOTIFICATION; +import static android.media.AudioAttributes.USAGE_NOTIFICATION_RINGTONE; +import static android.media.AudioAttributes.USAGE_UNKNOWN; +import static android.platform.test.flag.junit.SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT; +import static com.google.common.truth.Truth.assertThat; import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertNull; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import android.app.Flags; import android.app.Notification; import android.app.NotificationChannel; +import android.app.PendingIntent; +import android.app.Person; +import android.media.AudioAttributes; +import android.net.Uri; import android.os.UserHandle; +import android.platform.test.annotations.EnableFlags; +import android.platform.test.flag.junit.SetFlagsRule; import android.provider.Settings; import android.service.notification.StatusBarNotification; import com.android.server.UiServiceTestCase; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; @@ -44,25 +61,34 @@ public class NotificationChannelExtractorTest extends UiServiceTestCase { @Mock RankingConfig mConfig; + @Rule + public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(DEVICE_DEFAULT); + + NotificationChannelExtractor mExtractor; + @Before public void setUp() { MockitoAnnotations.initMocks(this); + + mExtractor = new NotificationChannelExtractor(); + mExtractor.setConfig(mConfig); + mExtractor.initialize(mContext, null); } - @Test - public void testExtractsUpdatedChannel() { - NotificationChannelExtractor extractor = new NotificationChannelExtractor(); - extractor.setConfig(mConfig); - extractor.initialize(mContext, null); + private NotificationRecord getRecord(NotificationChannel channel, Notification n) { + StatusBarNotification sbn = new StatusBarNotification("", "", 0, "", 0, + 0, n, UserHandle.ALL, null, System.currentTimeMillis()); + return new NotificationRecord(getContext(), sbn, channel); + } + @Test + public void testExtractsUpdatedConversationChannel() { NotificationChannel channel = new NotificationChannel("a", "a", IMPORTANCE_LOW); - final Notification.Builder builder = new Notification.Builder(getContext()) + final Notification n = new Notification.Builder(getContext()) .setContentTitle("foo") - .setSmallIcon(android.R.drawable.sym_def_app_icon); - Notification n = builder.build(); - StatusBarNotification sbn = new StatusBarNotification("", "", 0, "", 0, - 0, n, UserHandle.ALL, null, System.currentTimeMillis()); - NotificationRecord r = new NotificationRecord(getContext(), sbn, channel); + .setSmallIcon(android.R.drawable.sym_def_app_icon) + .build(); + NotificationRecord r = getRecord(channel, n); NotificationChannel updatedChannel = new NotificationChannel("a", "", IMPORTANCE_HIGH); @@ -70,26 +96,19 @@ public class NotificationChannelExtractorTest extends UiServiceTestCase { any(), anyInt(), eq("a"), eq(null), eq(true), eq(false))) .thenReturn(updatedChannel); - assertNull(extractor.process(r)); + assertNull(mExtractor.process(r)); assertEquals(updatedChannel, r.getChannel()); } @Test - public void testInvalidShortcutFlagEnabled_looksUpCorrectChannel() { - - NotificationChannelExtractor extractor = new NotificationChannelExtractor(); - extractor.setConfig(mConfig); - extractor.initialize(mContext, null); - + public void testInvalidShortcutFlagEnabled_looksUpCorrectNonChannel() { NotificationChannel channel = new NotificationChannel("a", "a", IMPORTANCE_LOW); - final Notification.Builder builder = new Notification.Builder(getContext()) + final Notification n = new Notification.Builder(getContext()) .setContentTitle("foo") .setStyle(new Notification.MessagingStyle("name")) - .setSmallIcon(android.R.drawable.sym_def_app_icon); - Notification n = builder.build(); - StatusBarNotification sbn = new StatusBarNotification("", "", 0, "tag", 0, - 0, n, UserHandle.ALL, null, System.currentTimeMillis()); - NotificationRecord r = new NotificationRecord(getContext(), sbn, channel); + .setSmallIcon(android.R.drawable.sym_def_app_icon) + .build(); + NotificationRecord r = getRecord(channel, n); NotificationChannel updatedChannel = new NotificationChannel("a", "", IMPORTANCE_HIGH); @@ -98,26 +117,19 @@ public class NotificationChannelExtractorTest extends UiServiceTestCase { eq(true), eq(false))) .thenReturn(updatedChannel); - assertNull(extractor.process(r)); + assertNull(mExtractor.process(r)); assertEquals(updatedChannel, r.getChannel()); } @Test public void testInvalidShortcutFlagDisabled_looksUpCorrectChannel() { - - NotificationChannelExtractor extractor = new NotificationChannelExtractor(); - extractor.setConfig(mConfig); - extractor.initialize(mContext, null); - NotificationChannel channel = new NotificationChannel("a", "a", IMPORTANCE_LOW); - final Notification.Builder builder = new Notification.Builder(getContext()) + final Notification n = new Notification.Builder(getContext()) .setContentTitle("foo") .setStyle(new Notification.MessagingStyle("name")) - .setSmallIcon(android.R.drawable.sym_def_app_icon); - Notification n = builder.build(); - StatusBarNotification sbn = new StatusBarNotification("", "", 0, "tag", 0, - 0, n, UserHandle.ALL, null, System.currentTimeMillis()); - NotificationRecord r = new NotificationRecord(getContext(), sbn, channel); + .setSmallIcon(android.R.drawable.sym_def_app_icon) + .build(); + NotificationRecord r = getRecord(channel, n); NotificationChannel updatedChannel = new NotificationChannel("a", "", IMPORTANCE_HIGH); @@ -125,7 +137,129 @@ public class NotificationChannelExtractorTest extends UiServiceTestCase { any(), anyInt(), eq("a"), eq(null), eq(true), eq(false))) .thenReturn(updatedChannel); - assertNull(extractor.process(r)); + assertNull(mExtractor.process(r)); assertEquals(updatedChannel, r.getChannel()); } + + @Test + @EnableFlags(Flags.FLAG_RESTRICT_AUDIO_ATTRIBUTES_CALL) + public void testAudioAttributes_callStyleCanUseCallUsage() { + NotificationChannel channel = new NotificationChannel("a", "a", IMPORTANCE_HIGH); + channel.setSound(Uri.EMPTY, new AudioAttributes.Builder() + .setUsage(USAGE_NOTIFICATION_RINGTONE) + .build()); + final Notification n = new Notification.Builder(getContext()) + .setContentTitle("foo") + .setStyle(Notification.CallStyle.forIncomingCall( + new Person.Builder().setName("A Caller").build(), + mock(PendingIntent.class), + mock(PendingIntent.class) + )) + .setSmallIcon(android.R.drawable.sym_def_app_icon) + .build(); + NotificationRecord r = getRecord(channel, n); + + assertThat(mExtractor.process(r)).isNull(); + assertThat(r.getAudioAttributes().getUsage()).isEqualTo(USAGE_NOTIFICATION_RINGTONE); + assertThat(r.getChannel()).isEqualTo(channel); + } + + @Test + @EnableFlags(Flags.FLAG_RESTRICT_AUDIO_ATTRIBUTES_CALL) + public void testAudioAttributes_nonCallStyleCannotUseCallUsage() { + NotificationChannel channel = new NotificationChannel("a", "a", IMPORTANCE_HIGH); + channel.setSound(Uri.EMPTY, new AudioAttributes.Builder() + .setUsage(USAGE_NOTIFICATION_RINGTONE) + .build()); + final Notification n = new Notification.Builder(getContext()) + .setContentTitle("foo") + .setSmallIcon(android.R.drawable.sym_def_app_icon) + .build(); + NotificationRecord r = getRecord(channel, n); + + assertThat(mExtractor.process(r)).isNull(); + // instance updated + assertThat(r.getAudioAttributes().getUsage()).isEqualTo(USAGE_NOTIFICATION); + // in-memory channel unchanged + assertThat(channel.getAudioAttributes().getUsage()).isEqualTo(USAGE_NOTIFICATION_RINGTONE); + } + + @Test + @EnableFlags(Flags.FLAG_RESTRICT_AUDIO_ATTRIBUTES_ALARM) + public void testAudioAttributes_alarmCategoryCanUseAlarmUsage() { + NotificationChannel channel = new NotificationChannel("a", "a", IMPORTANCE_HIGH); + channel.setSound(Uri.EMPTY, new AudioAttributes.Builder() + .setUsage(USAGE_ALARM) + .build()); + final Notification n = new Notification.Builder(getContext()) + .setContentTitle("foo") + .setCategory(CATEGORY_ALARM) + .setSmallIcon(android.R.drawable.sym_def_app_icon) + .build(); + NotificationRecord r = getRecord(channel, n); + + assertThat(mExtractor.process(r)).isNull(); + assertThat(r.getAudioAttributes().getUsage()).isEqualTo(USAGE_ALARM); + assertThat(r.getChannel()).isEqualTo(channel); + } + + @Test + @EnableFlags(Flags.FLAG_RESTRICT_AUDIO_ATTRIBUTES_ALARM) + public void testAudioAttributes_nonAlarmCategoryCannotUseAlarmUsage() { + NotificationChannel channel = new NotificationChannel("a", "a", IMPORTANCE_HIGH); + channel.setSound(Uri.EMPTY, new AudioAttributes.Builder() + .setUsage(USAGE_ALARM) + .build()); + final Notification n = new Notification.Builder(getContext()) + .setContentTitle("foo") + .setSmallIcon(android.R.drawable.sym_def_app_icon) + .build(); + NotificationRecord r = getRecord(channel, n); + + assertThat(mExtractor.process(r)).isNull(); + // instance updated + assertThat(r.getAudioAttributes().getUsage()).isEqualTo(USAGE_NOTIFICATION); + // in-memory channel unchanged + assertThat(channel.getAudioAttributes().getUsage()).isEqualTo(USAGE_ALARM); + } + + @Test + @EnableFlags(Flags.FLAG_RESTRICT_AUDIO_ATTRIBUTES_MEDIA) + public void testAudioAttributes_noMediaUsage() { + NotificationChannel channel = new NotificationChannel("a", "a", IMPORTANCE_HIGH); + channel.setSound(Uri.EMPTY, new AudioAttributes.Builder() + .setUsage(USAGE_MEDIA) + .build()); + final Notification n = new Notification.Builder(getContext()) + .setContentTitle("foo") + .setSmallIcon(android.R.drawable.sym_def_app_icon) + .build(); + NotificationRecord r = getRecord(channel, n); + + assertThat(mExtractor.process(r)).isNull(); + // instance updated + assertThat(r.getAudioAttributes().getUsage()).isEqualTo(USAGE_NOTIFICATION); + // in-memory channel unchanged + assertThat(channel.getAudioAttributes().getUsage()).isEqualTo(USAGE_MEDIA); + } + + @Test + @EnableFlags(Flags.FLAG_RESTRICT_AUDIO_ATTRIBUTES_MEDIA) + public void testAudioAttributes_noUnknownUsage() { + NotificationChannel channel = new NotificationChannel("a", "a", IMPORTANCE_HIGH); + channel.setSound(Uri.EMPTY, new AudioAttributes.Builder() + .setUsage(USAGE_UNKNOWN) + .build()); + final Notification n = new Notification.Builder(getContext()) + .setContentTitle("foo") + .setSmallIcon(android.R.drawable.sym_def_app_icon) + .build(); + NotificationRecord r = getRecord(channel, n); + + assertThat(mExtractor.process(r)).isNull(); + // instance updated + assertThat(r.getAudioAttributes().getUsage()).isEqualTo(USAGE_NOTIFICATION); + // in-memory channel unchanged + assertThat(channel.getAudioAttributes().getUsage()).isEqualTo(USAGE_UNKNOWN); + } } diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java index 20d1e988556b..f6fa487f21ae 100755 --- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java @@ -72,6 +72,8 @@ import static android.content.pm.PackageManager.FEATURE_TELECOM; import static android.content.pm.PackageManager.FEATURE_WATCH; import static android.content.pm.PackageManager.PERMISSION_DENIED; import static android.content.pm.PackageManager.PERMISSION_GRANTED; +import static android.media.AudioAttributes.USAGE_MEDIA; +import static android.media.AudioAttributes.USAGE_NOTIFICATION; import static android.os.Build.VERSION_CODES.O_MR1; import static android.os.Build.VERSION_CODES.P; import static android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE; @@ -191,6 +193,7 @@ import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.Color; import android.graphics.drawable.Icon; +import android.media.AudioAttributes; import android.media.AudioManager; import android.media.session.MediaSession; import android.net.Uri; @@ -14868,6 +14871,33 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { assertThat(posted.getRankingTimeMs()).isEqualTo(posted.getSbn().getPostTime()); } + @Test + @EnableFlags(android.app.Flags.FLAG_RESTRICT_AUDIO_ATTRIBUTES_MEDIA) + public void testRestrictAudioAttributes_listenersGetCorrectAttributes() throws Exception { + NotificationChannel sound = new NotificationChannel("a", "a", IMPORTANCE_DEFAULT); + sound.setSound(Uri.EMPTY, new AudioAttributes.Builder().setUsage(USAGE_MEDIA).build()); + mBinderService.createNotificationChannels(mPkg, new ParceledListSlice( + Arrays.asList(sound))); + + Notification n = new Notification.Builder(mContext, "a") + .setSmallIcon(android.R.drawable.sym_def_app_icon) + .build(); + StatusBarNotification sbn = new StatusBarNotification(mPkg, mPkg, 9, null, mUid, 0, + n, UserHandle.getUserHandleForUid(mUid), null, 0); + + mBinderService.enqueueNotificationWithTag(mPkg, mPkg, sbn.getTag(), + sbn.getId(), sbn.getNotification(), sbn.getUserId()); + waitForIdle(); + + ArgumentCaptor<NotificationRecord> captor = + ArgumentCaptor.forClass(NotificationRecord.class); + verify(mListeners, times(1)).prepareNotifyPostedLocked( + captor.capture(), any(), anyBoolean()); + + assertThat(captor.getValue().getChannel().getAudioAttributes().getUsage()) + .isEqualTo(USAGE_NOTIFICATION); + } + private NotificationRecord createAndPostCallStyleNotification(String packageName, UserHandle userHandle, String testName) throws Exception { Person person = new Person.Builder().setName("caller").build(); diff --git a/services/tests/uiservicestests/src/com/android/server/notification/RankingHelperTest.java b/services/tests/uiservicestests/src/com/android/server/notification/RankingHelperTest.java index a071f0bfed60..ad420f6bf502 100644 --- a/services/tests/uiservicestests/src/com/android/server/notification/RankingHelperTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/RankingHelperTest.java @@ -207,12 +207,12 @@ public class RankingHelperTest extends UiServiceTestCase { .build(); mRecentlyIntrusive = new NotificationRecord(mContext, new StatusBarNotification( mPkg, mPkg, 1, null, 0, 0, n, mUser, - null, System.currentTimeMillis()+100), getDefaultChannel()); + null, 100), getDefaultChannel()); mRecentlyIntrusive.setRecentlyIntrusive(true); mNewest = new NotificationRecord(mContext, new StatusBarNotification( mPkg, mPkg, 2, null, 0, 0, n, mUser, - null, System.currentTimeMillis()+10000), getDefaultChannel()); + null, 10000), getDefaultChannel()); } private NotificationChannel getLowChannel() { 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 21251c33569c..a911131507a3 100644 --- a/services/tests/wmtests/src/com/android/server/wm/BackNavigationControllerTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/BackNavigationControllerTests.java @@ -94,6 +94,7 @@ public class BackNavigationControllerTests extends WindowTestsBase { private BackNavigationController mBackNavigationController; private WindowManagerInternal mWindowManagerInternal; private BackAnimationAdapter mBackAnimationAdapter; + private BackNavigationController.NavigationMonitor mNavigationMonitor; private Task mRootHomeTask; @Before @@ -105,6 +106,7 @@ public class BackNavigationControllerTests extends WindowTestsBase { mWindowManagerInternal = mock(WindowManagerInternal.class); LocalServices.addService(WindowManagerInternal.class, mWindowManagerInternal); mBackAnimationAdapter = mock(BackAnimationAdapter.class); + mNavigationMonitor = mock(BackNavigationController.NavigationMonitor.class); mRootHomeTask = initHomeActivity(); } @@ -813,6 +815,7 @@ public class BackNavigationControllerTests extends WindowTestsBase { animationHandler.prepareAnimation( BackNavigationInfo.TYPE_RETURN_TO_HOME, mBackAnimationAdapter, + mNavigationMonitor, task, mRootHomeTask, bottomActivity, @@ -832,6 +835,7 @@ public class BackNavigationControllerTests extends WindowTestsBase { animationHandler.prepareAnimation( BackNavigationInfo.TYPE_CROSS_ACTIVITY, mBackAnimationAdapter, + mNavigationMonitor, task, task, topActivity, diff --git a/services/tests/wmtests/src/com/android/server/wm/ImeInsetsSourceProviderTest.java b/services/tests/wmtests/src/com/android/server/wm/ImeInsetsSourceProviderTest.java index faa6d97ce0e3..7380aecbf47b 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ImeInsetsSourceProviderTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/ImeInsetsSourceProviderTest.java @@ -16,8 +16,6 @@ package com.android.server.wm; -import static android.view.InsetsSource.ID_IME; -import static android.view.WindowInsets.Type.ime; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION; import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD; @@ -26,7 +24,6 @@ import static org.junit.Assert.assertTrue; import android.graphics.PixelFormat; import android.platform.test.annotations.Presubmit; -import android.view.InsetsSource; import android.view.inputmethod.ImeTracker; import androidx.test.filters.SmallTest; @@ -46,57 +43,148 @@ import org.junit.runner.RunWith; @RunWith(WindowTestRunner.class) public class ImeInsetsSourceProviderTest extends WindowTestsBase { - private InsetsSource mImeSource = new InsetsSource(ID_IME, ime()); private ImeInsetsSourceProvider mImeProvider; @Before public void setUp() throws Exception { - mImeSource.setVisible(true); - mImeProvider = new ImeInsetsSourceProvider(mImeSource, - mDisplayContent.getInsetsStateController(), mDisplayContent); + mImeProvider = mDisplayContent.getInsetsStateController().getImeSourceProvider(); + mImeProvider.getSource().setVisible(true); } @Test public void testTransparentControlTargetWindowCanShowIme() { + final WindowState ime = createWindow(null, TYPE_INPUT_METHOD, "ime"); + makeWindowVisibleAndDrawn(ime); + mImeProvider.setWindowContainer(ime, null, null); + final WindowState appWin = createWindow(null, TYPE_APPLICATION, "app"); final WindowState popup = createWindow(appWin, TYPE_APPLICATION, "popup"); - mDisplayContent.setImeControlTarget(popup); - mDisplayContent.setImeLayeringTarget(appWin); popup.mAttrs.format = PixelFormat.TRANSPARENT; + mDisplayContent.setImeLayeringTarget(appWin); + mDisplayContent.updateImeInputAndControlTarget(popup); + performSurfacePlacementAndWaitForWindowAnimator(); + mImeProvider.scheduleShowImePostLayout(appWin, ImeTracker.Token.empty()); assertTrue(mImeProvider.isReadyToShowIme()); } + /** + * Checks that scheduling with all the state set and manually triggering the show does succeed. + */ @Test - public void testInputMethodInputTargetCanShowIme() { - WindowState target = createWindow(null, TYPE_APPLICATION, "app"); + public void testScheduleShowIme() { + final WindowState ime = createWindow(null, TYPE_INPUT_METHOD, "ime"); + makeWindowVisibleAndDrawn(ime); + mImeProvider.setWindowContainer(ime, null, null); + + final WindowState target = createWindow(null, TYPE_APPLICATION, "app"); mDisplayContent.setImeLayeringTarget(target); mDisplayContent.updateImeInputAndControlTarget(target); + performSurfacePlacementAndWaitForWindowAnimator(); + + // Schedule (without triggering) after everything is ready. mImeProvider.scheduleShowImePostLayout(target, ImeTracker.Token.empty()); assertTrue(mImeProvider.isReadyToShowIme()); + assertFalse(mImeProvider.isImeShowing()); + + // Manually trigger the show. + mImeProvider.checkShowImePostLayout(); + // No longer ready as it was already shown. + assertFalse(mImeProvider.isReadyToShowIme()); + assertTrue(mImeProvider.isImeShowing()); + } + + /** + * Checks that scheduling to show before any state is set does succeed when + * all the state becomes available. + */ + @Test + public void testScheduleShowIme_noInitialState() { + final WindowState target = createWindow(null, TYPE_APPLICATION, "app"); + + // Schedule before anything is ready. + mImeProvider.scheduleShowImePostLayout(target, ImeTracker.Token.empty()); + assertFalse(mImeProvider.isReadyToShowIme()); + assertFalse(mImeProvider.isImeShowing()); + + final WindowState ime = createWindow(null, TYPE_INPUT_METHOD, "ime"); + makeWindowVisibleAndDrawn(ime); + mImeProvider.setWindowContainer(ime, null, null); + + mDisplayContent.setImeLayeringTarget(target); + mDisplayContent.updateImeInputAndControlTarget(target); + // Performing surface placement picks up the show scheduled above. + performSurfacePlacementAndWaitForWindowAnimator(); + // No longer ready as it was already shown. + assertFalse(mImeProvider.isReadyToShowIme()); + assertTrue(mImeProvider.isImeShowing()); } + /** + * Checks that scheduling to show before starting the {@code afterPrepareSurfacesRunnable} + * from {@link InsetsStateController#notifyPendingInsetsControlChanged} + * does continue and succeed when the runnable is started. + */ @Test - public void testIsImeShowing() { - WindowState ime = createWindow(null, TYPE_INPUT_METHOD, "ime"); + public void testScheduleShowIme_delayedAfterPrepareSurfaces() { + final WindowState ime = createWindow(null, TYPE_INPUT_METHOD, "ime"); makeWindowVisibleAndDrawn(ime); mImeProvider.setWindowContainer(ime, null, null); - WindowState target = createWindow(null, TYPE_APPLICATION, "app"); + final WindowState target = createWindow(null, TYPE_APPLICATION, "app"); mDisplayContent.setImeLayeringTarget(target); - mDisplayContent.setImeControlTarget(target); + mDisplayContent.updateImeInputAndControlTarget(target); + // Schedule before starting the afterPrepareSurfacesRunnable. mImeProvider.scheduleShowImePostLayout(target, ImeTracker.Token.empty()); + assertFalse(mImeProvider.isReadyToShowIme()); assertFalse(mImeProvider.isImeShowing()); - mImeProvider.checkShowImePostLayout(); + + // This tries to pick up the show scheduled above, but must fail as the + // afterPrepareSurfacesRunnable was not started yet. + mDisplayContent.applySurfaceChangesTransaction(); + assertFalse(mImeProvider.isReadyToShowIme()); + assertFalse(mImeProvider.isImeShowing()); + + // Starting the afterPrepareSurfacesRunnable picks up the show scheduled above. + mWm.mAnimator.executeAfterPrepareSurfacesRunnables(); + // No longer ready as it was already shown. + assertFalse(mImeProvider.isReadyToShowIme()); assertTrue(mImeProvider.isImeShowing()); - mImeProvider.setImeShowing(false); + } + + /** + * Checks that scheduling to show before the surface placement does continue and succeed + * when the surface placement happens. + */ + @Test + public void testScheduleShowIme_delayedSurfacePlacement() { + final WindowState ime = createWindow(null, TYPE_INPUT_METHOD, "ime"); + makeWindowVisibleAndDrawn(ime); + mImeProvider.setWindowContainer(ime, null, null); + + final WindowState target = createWindow(null, TYPE_APPLICATION, "app"); + mDisplayContent.setImeLayeringTarget(target); + mDisplayContent.updateImeInputAndControlTarget(target); + + // Schedule before surface placement. + mImeProvider.scheduleShowImePostLayout(target, ImeTracker.Token.empty()); + assertFalse(mImeProvider.isReadyToShowIme()); assertFalse(mImeProvider.isImeShowing()); + + // Performing surface placement picks up the show scheduled above, and succeeds. + // This first executes the afterPrepareSurfacesRunnable, and then + // applySurfaceChangesTransaction. Both of them try to trigger the show, + // but only the second one can succeed, as it comes after onPostLayout. + performSurfacePlacementAndWaitForWindowAnimator(); + // No longer ready as it was already shown. + assertFalse(mImeProvider.isReadyToShowIme()); + assertTrue(mImeProvider.isImeShowing()); } @Test public void testSetFrozen() { - WindowState ime = createWindow(null, TYPE_INPUT_METHOD, "ime"); + final WindowState ime = createWindow(null, TYPE_INPUT_METHOD, "ime"); makeWindowVisibleAndDrawn(ime); mImeProvider.setWindowContainer(ime, null, null); mImeProvider.setServerVisible(true); diff --git a/services/tests/wmtests/src/com/android/server/wm/InsetsSourceProviderTest.java b/services/tests/wmtests/src/com/android/server/wm/InsetsSourceProviderTest.java index 4034dbc70236..2a025cd721b0 100644 --- a/services/tests/wmtests/src/com/android/server/wm/InsetsSourceProviderTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/InsetsSourceProviderTest.java @@ -24,6 +24,7 @@ import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; @@ -163,6 +164,48 @@ public class InsetsSourceProviderTest extends WindowTestsBase { } @Test + public void testGetLeash() { + final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar"); + final WindowState target = createWindow(null, TYPE_APPLICATION, "target"); + final WindowState fakeTarget = createWindow(null, TYPE_APPLICATION, "fakeTarget"); + final WindowState otherTarget = createWindow(null, TYPE_APPLICATION, "otherTarget"); + statusBar.getFrame().set(0, 0, 500, 100); + + // We must not have control or control target before we have the insets source window, + // so also no leash. + mProvider.updateControlForTarget(target, true /* force */); + assertNull(mProvider.getControl(target)); + assertNull(mProvider.getControlTarget()); + assertNull(mProvider.getLeash(target)); + + // We can have the control or the control target after we have the insets source window, + // but no leash as this is not yet ready for dispatching. + mProvider.setWindowContainer(statusBar, null, null); + mProvider.updateControlForTarget(target, false /* force */); + assertNotNull(mProvider.getControl(target)); + assertNotNull(mProvider.getControlTarget()); + assertEquals(mProvider.getControlTarget(), target); + assertNull(mProvider.getLeash(target)); + + // After surface transactions are applied, the leash is ready for dispatching. + mProvider.onSurfaceTransactionApplied(); + assertNotNull(mProvider.getLeash(target)); + + // We do have fake control for the fake control target, but that has no leash. + mProvider.updateFakeControlTarget(fakeTarget); + assertNotNull(mProvider.getControl(fakeTarget)); + assertNotNull(mProvider.getFakeControlTarget()); + assertNotEquals(mProvider.getControlTarget(), fakeTarget); + assertNull(mProvider.getLeash(fakeTarget)); + + // We don't have any control for a different (non-fake control target), so also no leash. + assertNull(mProvider.getControl(otherTarget)); + assertNotNull(mProvider.getControlTarget()); + assertNotEquals(mProvider.getControlTarget(), otherTarget); + assertNull(mProvider.getLeash(otherTarget)); + } + + @Test public void testUpdateSourceFrame() { final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar"); mProvider.setWindowContainer(statusBar, null, null); diff --git a/services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java index 2085d6140f68..0e1a1af9bc48 100644 --- a/services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java @@ -552,6 +552,24 @@ public class InsetsStateControllerTest extends WindowTestsBase { control2.getInsetsHint().bottom); } + @Test + public void testHasPendingControls() { + final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar"); + final WindowState app = createWindow(null, TYPE_APPLICATION, "app"); + getController().getOrCreateSourceProvider(ID_STATUS_BAR, statusBars()) + .setWindowContainer(statusBar, null, null); + // No controls dispatched yet. + assertFalse(getController().hasPendingControls(app)); + + getController().onBarControlTargetChanged(app, null, null, null); + // Controls pending to be dispatched. + assertTrue(getController().hasPendingControls(app)); + + performSurfacePlacementAndWaitForWindowAnimator(); + // Pending controls were dispatched. + assertFalse(getController().hasPendingControls(app)); + } + /** Creates a window which is associated with ActivityRecord. */ private WindowState createTestWindow(String name) { final WindowState win = createWindow(null, TYPE_APPLICATION, name); |