diff options
551 files changed, 8389 insertions, 3458 deletions
diff --git a/Android.mk b/Android.mk index 51dfa575b77f..d3e1cf5b4db8 100644 --- a/Android.mk +++ b/Android.mk @@ -499,6 +499,7 @@ aidl_files := \ frameworks/base/graphics/java/android/graphics/PointF.aidl \ frameworks/base/graphics/java/android/graphics/RectF.aidl \ frameworks/base/graphics/java/android/graphics/Rect.aidl \ + frameworks/base/graphics/java/android/graphics/drawable/Icon.aidl \ frameworks/base/core/java/android/accounts/AuthenticatorDescription.aidl \ frameworks/base/core/java/android/accounts/Account.aidl \ frameworks/base/core/java/android/app/admin/SystemUpdatePolicy.aidl \ diff --git a/api/current.txt b/api/current.txt index 6610e37e309d..3854b7aebca1 100644 --- a/api/current.txt +++ b/api/current.txt @@ -3504,6 +3504,7 @@ package android.app { method public boolean releaseInstance(); method public final deprecated void removeDialog(int); method public void reportFullyDrawn(); + method public android.view.DropPermissions requestDropPermissions(android.view.DragEvent); method public final void requestPermissions(java.lang.String[], int); method public boolean requestVisibleBehind(boolean); method public final boolean requestWindowFeature(int); @@ -4837,6 +4838,7 @@ package android.app { field public static final java.lang.String EXTRA_PROGRESS = "android.progress"; field public static final java.lang.String EXTRA_PROGRESS_INDETERMINATE = "android.progressIndeterminate"; field public static final java.lang.String EXTRA_PROGRESS_MAX = "android.progressMax"; + field public static final java.lang.String EXTRA_REMOTE_INPUT_HISTORY = "android.remoteInputHistory"; field public static final java.lang.String EXTRA_SHOW_CHRONOMETER = "android.showChronometer"; field public static final java.lang.String EXTRA_SHOW_WHEN = "android.showWhen"; field public static final java.lang.String EXTRA_SMALL_ICON = "android.icon"; @@ -5003,6 +5005,7 @@ package android.app { method public android.app.Notification.Builder setPriority(int); method public android.app.Notification.Builder setProgress(int, int, boolean); method public android.app.Notification.Builder setPublicVersion(android.app.Notification); + method public android.app.Notification.Builder setRemoteInputHistory(java.lang.CharSequence[]); method public android.app.Notification.Builder setShowWhen(boolean); method public android.app.Notification.Builder setSmallIcon(int); method public android.app.Notification.Builder setSmallIcon(int, int); @@ -29146,6 +29149,9 @@ package android.print { method public android.print.PrinterInfo build(); method public android.print.PrinterInfo.Builder setCapabilities(android.print.PrinterCapabilitiesInfo); method public android.print.PrinterInfo.Builder setDescription(java.lang.String); + method public android.print.PrinterInfo.Builder setHasCustomPrinterIcon(); + method public android.print.PrinterInfo.Builder setIconResourceId(int); + method public android.print.PrinterInfo.Builder setInfoIntent(android.app.PendingIntent); method public android.print.PrinterInfo.Builder setName(java.lang.String); method public android.print.PrinterInfo.Builder setStatus(int); } @@ -29166,6 +29172,10 @@ package android.print.pdf { package android.printservice { + public class CustomPrinterIconCallback { + method public boolean onCustomPrinterIconLoaded(android.graphics.drawable.Icon); + } + public final class PrintDocument { method public android.os.ParcelFileDescriptor getData(); method public android.print.PrintDocumentInfo getInfo(); @@ -29221,6 +29231,7 @@ package android.printservice { method public final boolean isDestroyed(); method public final boolean isPrinterDiscoveryStarted(); method public abstract void onDestroy(); + method public void onRequestCustomPrinterIcon(android.print.PrinterId, android.printservice.CustomPrinterIconCallback); method public abstract void onStartPrinterDiscovery(java.util.List<android.print.PrinterId>); method public abstract void onStartPrinterStateTracking(android.print.PrinterId); method public abstract void onStopPrinterDiscovery(); @@ -39596,7 +39607,6 @@ package android.view { method public boolean getResult(); method public float getX(); method public float getY(); - method public android.view.DropPermissions requestDropPermissions(); method public void writeToParcel(android.os.Parcel, int); field public static final int ACTION_DRAG_ENDED = 4; // 0x4 field public static final int ACTION_DRAG_ENTERED = 5; // 0x5 diff --git a/api/system-current.txt b/api/system-current.txt index ff3736580a92..29905169b0da 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -3609,6 +3609,7 @@ package android.app { method public boolean releaseInstance(); method public final deprecated void removeDialog(int); method public void reportFullyDrawn(); + method public android.view.DropPermissions requestDropPermissions(android.view.DragEvent); method public final void requestPermissions(java.lang.String[], int); method public boolean requestVisibleBehind(boolean); method public final boolean requestWindowFeature(int); @@ -4957,6 +4958,7 @@ package android.app { field public static final java.lang.String EXTRA_PROGRESS = "android.progress"; field public static final java.lang.String EXTRA_PROGRESS_INDETERMINATE = "android.progressIndeterminate"; field public static final java.lang.String EXTRA_PROGRESS_MAX = "android.progressMax"; + field public static final java.lang.String EXTRA_REMOTE_INPUT_HISTORY = "android.remoteInputHistory"; field public static final java.lang.String EXTRA_SHOW_CHRONOMETER = "android.showChronometer"; field public static final java.lang.String EXTRA_SHOW_WHEN = "android.showWhen"; field public static final java.lang.String EXTRA_SMALL_ICON = "android.icon"; @@ -5123,6 +5125,7 @@ package android.app { method public android.app.Notification.Builder setPriority(int); method public android.app.Notification.Builder setProgress(int, int, boolean); method public android.app.Notification.Builder setPublicVersion(android.app.Notification); + method public android.app.Notification.Builder setRemoteInputHistory(java.lang.CharSequence[]); method public android.app.Notification.Builder setShowWhen(boolean); method public android.app.Notification.Builder setSmallIcon(int); method public android.app.Notification.Builder setSmallIcon(int, int); @@ -25756,7 +25759,6 @@ package android.net.wifi { method public void writeToParcel(android.os.Parcel, int); field public int band; field public android.net.wifi.WifiScanner.ChannelSpec[] channels; - field public int exponent; field public int maxPeriodInMs; field public int maxScansToCache; field public int numBssidsPerScan; @@ -31156,6 +31158,9 @@ package android.print { method public android.print.PrinterInfo build(); method public android.print.PrinterInfo.Builder setCapabilities(android.print.PrinterCapabilitiesInfo); method public android.print.PrinterInfo.Builder setDescription(java.lang.String); + method public android.print.PrinterInfo.Builder setHasCustomPrinterIcon(); + method public android.print.PrinterInfo.Builder setIconResourceId(int); + method public android.print.PrinterInfo.Builder setInfoIntent(android.app.PendingIntent); method public android.print.PrinterInfo.Builder setName(java.lang.String); method public android.print.PrinterInfo.Builder setStatus(int); } @@ -31176,6 +31181,10 @@ package android.print.pdf { package android.printservice { + public class CustomPrinterIconCallback { + method public boolean onCustomPrinterIconLoaded(android.graphics.drawable.Icon); + } + public final class PrintDocument { method public android.os.ParcelFileDescriptor getData(); method public android.print.PrintDocumentInfo getInfo(); @@ -31231,6 +31240,7 @@ package android.printservice { method public final boolean isDestroyed(); method public final boolean isPrinterDiscoveryStarted(); method public abstract void onDestroy(); + method public void onRequestCustomPrinterIcon(android.print.PrinterId, android.printservice.CustomPrinterIconCallback); method public abstract void onStartPrinterDiscovery(java.util.List<android.print.PrinterId>); method public abstract void onStartPrinterStateTracking(android.print.PrinterId); method public abstract void onStopPrinterDiscovery(); @@ -41950,7 +41960,6 @@ package android.view { method public boolean getResult(); method public float getX(); method public float getY(); - method public android.view.DropPermissions requestDropPermissions(); method public void writeToParcel(android.os.Parcel, int); field public static final int ACTION_DRAG_ENDED = 4; // 0x4 field public static final int ACTION_DRAG_ENTERED = 5; // 0x5 diff --git a/api/test-current.txt b/api/test-current.txt index 883dd31f3c55..83d12fcf1ee3 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -3504,6 +3504,7 @@ package android.app { method public boolean releaseInstance(); method public final deprecated void removeDialog(int); method public void reportFullyDrawn(); + method public android.view.DropPermissions requestDropPermissions(android.view.DragEvent); method public final void requestPermissions(java.lang.String[], int); method public boolean requestVisibleBehind(boolean); method public final boolean requestWindowFeature(int); @@ -4837,6 +4838,7 @@ package android.app { field public static final java.lang.String EXTRA_PROGRESS = "android.progress"; field public static final java.lang.String EXTRA_PROGRESS_INDETERMINATE = "android.progressIndeterminate"; field public static final java.lang.String EXTRA_PROGRESS_MAX = "android.progressMax"; + field public static final java.lang.String EXTRA_REMOTE_INPUT_HISTORY = "android.remoteInputHistory"; field public static final java.lang.String EXTRA_SHOW_CHRONOMETER = "android.showChronometer"; field public static final java.lang.String EXTRA_SHOW_WHEN = "android.showWhen"; field public static final java.lang.String EXTRA_SMALL_ICON = "android.icon"; @@ -5003,6 +5005,7 @@ package android.app { method public android.app.Notification.Builder setPriority(int); method public android.app.Notification.Builder setProgress(int, int, boolean); method public android.app.Notification.Builder setPublicVersion(android.app.Notification); + method public android.app.Notification.Builder setRemoteInputHistory(java.lang.CharSequence[]); method public android.app.Notification.Builder setShowWhen(boolean); method public android.app.Notification.Builder setSmallIcon(int); method public android.app.Notification.Builder setSmallIcon(int, int); @@ -29135,6 +29138,7 @@ package android.print { method public android.print.PrinterId getId(); method public java.lang.String getName(); method public int getStatus(); + method public android.graphics.drawable.Drawable loadIcon(android.content.Context); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.print.PrinterInfo> CREATOR; field public static final int STATUS_BUSY = 2; // 0x2 @@ -29148,6 +29152,9 @@ package android.print { method public android.print.PrinterInfo build(); method public android.print.PrinterInfo.Builder setCapabilities(android.print.PrinterCapabilitiesInfo); method public android.print.PrinterInfo.Builder setDescription(java.lang.String); + method public android.print.PrinterInfo.Builder setHasCustomPrinterIcon(); + method public android.print.PrinterInfo.Builder setIconResourceId(int); + method public android.print.PrinterInfo.Builder setInfoIntent(android.app.PendingIntent); method public android.print.PrinterInfo.Builder setName(java.lang.String); method public android.print.PrinterInfo.Builder setStatus(int); } @@ -29168,6 +29175,10 @@ package android.print.pdf { package android.printservice { + public class CustomPrinterIconCallback { + method public boolean onCustomPrinterIconLoaded(android.graphics.drawable.Icon); + } + public final class PrintDocument { method public android.os.ParcelFileDescriptor getData(); method public android.print.PrintDocumentInfo getInfo(); @@ -29223,6 +29234,7 @@ package android.printservice { method public final boolean isDestroyed(); method public final boolean isPrinterDiscoveryStarted(); method public abstract void onDestroy(); + method public void onRequestCustomPrinterIcon(android.print.PrinterId, android.printservice.CustomPrinterIconCallback); method public abstract void onStartPrinterDiscovery(java.util.List<android.print.PrinterId>); method public abstract void onStartPrinterStateTracking(android.print.PrinterId); method public abstract void onStopPrinterDiscovery(); @@ -39598,7 +39610,6 @@ package android.view { method public boolean getResult(); method public float getX(); method public float getY(); - method public android.view.DropPermissions requestDropPermissions(); method public void writeToParcel(android.os.Parcel, int); field public static final int ACTION_DRAG_ENDED = 4; // 0x4 field public static final int ACTION_DRAG_ENTERED = 5; // 0x5 diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java index 6d72059e0a47..800ebc6ce243 100644 --- a/core/java/android/app/Activity.java +++ b/core/java/android/app/Activity.java @@ -31,6 +31,8 @@ import android.transition.Scene; import android.transition.TransitionManager; import android.util.ArrayMap; import android.util.SuperNotCalledException; +import android.view.DragEvent; +import android.view.DropPermissions; import android.view.Window.WindowControllerCallback; import android.widget.Toolbar; @@ -6336,6 +6338,21 @@ public class Activity extends ContextThemeWrapper mActivityTransitionState.startPostponedEnterTransition(); } + /** + * Create {@link DropPermissions} object bound to this activity and controlling the access + * permissions for content URIs associated with the {@link DragEvent}. + * @param event Drag event + * @return The DropPermissions object used to control access to the content URIs. Null if + * no content URIs are associated with the event or if permissions could not be granted. + */ + public DropPermissions requestDropPermissions(DragEvent event) { + DropPermissions dropPermissions = DropPermissions.obtain(event); + if (dropPermissions != null && dropPermissions.take(getActivityToken())) { + return dropPermissions; + } + return null; + } + // ------------------ Internal API ------------------ final void setParent(Activity parent) { diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java index 1b0827331903..3a3aa92697e6 100644 --- a/core/java/android/app/ActivityManagerNative.java +++ b/core/java/android/app/ActivityManagerNative.java @@ -1845,6 +1845,15 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM return true; } + case GET_URI_PERMISSION_OWNER_FOR_ACTIVITY_TRANSACTION: { + data.enforceInterface(IActivityManager.descriptor); + IBinder activityToken = data.readStrongBinder(); + IBinder perm = getUriPermissionOwnerForActivity(activityToken); + reply.writeNoException(); + reply.writeStrongBinder(perm); + return true; + } + case GRANT_URI_PERMISSION_FROM_OWNER_TRANSACTION: { data.enforceInterface(IActivityManager.descriptor); IBinder owner = data.readStrongBinder(); @@ -5121,6 +5130,19 @@ class ActivityManagerProxy implements IActivityManager return res; } + public IBinder getUriPermissionOwnerForActivity(IBinder activityToken) throws RemoteException { + Parcel data = Parcel.obtain(); + Parcel reply = Parcel.obtain(); + data.writeInterfaceToken(IActivityManager.descriptor); + data.writeStrongBinder(activityToken); + mRemote.transact(GET_URI_PERMISSION_OWNER_FOR_ACTIVITY_TRANSACTION, data, reply, 0); + reply.readException(); + IBinder res = reply.readStrongBinder(); + data.recycle(); + reply.recycle(); + return res; + } + public void grantUriPermissionFromOwner(IBinder owner, int fromUid, String targetPkg, Uri uri, int mode, int sourceUserId, int targetUserId) throws RemoteException { Parcel data = Parcel.obtain(); diff --git a/core/java/android/app/IActivityManager.java b/core/java/android/app/IActivityManager.java index 0ecf2231665a..61b1bc8f0546 100644 --- a/core/java/android/app/IActivityManager.java +++ b/core/java/android/app/IActivityManager.java @@ -363,6 +363,7 @@ public interface IActivityManager extends IInterface { public String getProviderMimeType(Uri uri, int userId) throws RemoteException; public IBinder newUriPermissionOwner(String name) throws RemoteException; + public IBinder getUriPermissionOwnerForActivity(IBinder activityToken) throws RemoteException; public void grantUriPermissionFromOwner(IBinder owner, int fromUid, String targetPkg, Uri uri, int mode, int sourceUserId, int targetUserId) throws RemoteException; public void revokeUriPermissionFromOwner(IBinder owner, Uri uri, @@ -920,4 +921,5 @@ public interface IActivityManager extends IInterface { int KILL_PACKAGE_DEPENDENTS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 354; int ENTER_PICTURE_IN_PICTURE_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 355; int SET_VR_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 356; + int GET_URI_PERMISSION_OWNER_FOR_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 357; } diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index 3ff089659456..a392abd80de8 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -145,6 +145,11 @@ public class Notification implements Parcelable private static final int MAX_CHARSEQUENCE_LENGTH = 5 * 1024; /** + * Maximum entries of reply text that are accepted by Builder and friends. + */ + private static final int MAX_REPLY_HISTORY = 5; + + /** * A timestamp related to this notification, in milliseconds since the epoch. * * Default value: {@link System#currentTimeMillis() Now}. @@ -745,6 +750,12 @@ public class Notification implements Parcelable public static final String EXTRA_SUB_TEXT = "android.subText"; /** + * {@link #extras} key: this is the remote input history, as supplied to + * {@link Builder#setRemoteInputHistory(CharSequence[])}. + */ + public static final String EXTRA_REMOTE_INPUT_HISTORY = "android.remoteInputHistory"; + + /** * {@link #extras} key: this is a small piece of additional text as supplied to * {@link Builder#setContentInfo(CharSequence)}. */ @@ -2324,6 +2335,34 @@ public class Notification implements Parcelable } /** + * Set the remote input history. + * + * This should be set to the most recent inputs that have been sent + * through a {@link RemoteInput} of this Notification and cleared once the it is no + * longer relevant (e.g. for chat notifications once the other party has responded). + * + * The most recent input must be stored at the 0 index, the second most recent at the + * 1 index, etc. Note that the system will limit both how far back the inputs will be shown + * and how much of each individual input is shown. + * + * <p>Note: The reply text will only be shown on notifications that have least one action + * with a {@code RemoteInput}.</p> + */ + public Builder setRemoteInputHistory(CharSequence[] text) { + if (text == null) { + mN.extras.putCharSequenceArray(EXTRA_REMOTE_INPUT_HISTORY, null); + } else { + final int N = Math.min(MAX_REPLY_HISTORY, text.length); + CharSequence[] safe = new CharSequence[N]; + for (int i = 0; i < N; i++) { + safe[i] = safeCharSequence(text[i]); + } + mN.extras.putCharSequenceArray(EXTRA_REMOTE_INPUT_HISTORY, safe); + } + return this; + } + + /** * Set the large number at the right-hand side of the notification. This is * equivalent to setContentInfo, although it might show the number in a different * font size for readability. @@ -3232,6 +3271,14 @@ public class Notification implements Parcelable private void resetStandardTemplateWithActions(RemoteViews big) { big.setViewVisibility(R.id.actions, View.GONE); big.removeAllViews(R.id.actions); + + big.setViewVisibility(R.id.notification_material_reply_container, View.GONE); + big.setTextViewText(R.id.notification_material_reply_text_1, null); + + big.setViewVisibility(R.id.notification_material_reply_text_2, View.GONE); + big.setTextViewText(R.id.notification_material_reply_text_2, null); + big.setViewVisibility(R.id.notification_material_reply_text_3, View.GONE); + big.setTextViewText(R.id.notification_material_reply_text_3, null); } private RemoteViews applyStandardTemplateWithActions(int layoutId) { @@ -3239,18 +3286,62 @@ public class Notification implements Parcelable resetStandardTemplateWithActions(big); + boolean validRemoteInput = false; + int N = mActions.size(); if (N > 0) { big.setViewVisibility(R.id.actions, View.VISIBLE); if (N>MAX_ACTION_BUTTONS) N=MAX_ACTION_BUTTONS; for (int i=0; i<N; i++) { - final RemoteViews button = generateActionButton(mActions.get(i)); + Action action = mActions.get(i); + validRemoteInput |= hasValidRemoteInput(action); + + final RemoteViews button = generateActionButton(action); big.addView(R.id.actions, button); } } + + CharSequence[] replyText = mN.extras.getCharSequenceArray(EXTRA_REMOTE_INPUT_HISTORY); + if (validRemoteInput && replyText != null + && replyText.length > 0 && !TextUtils.isEmpty(replyText[0])) { + big.setViewVisibility(R.id.notification_material_reply_container, View.VISIBLE); + big.setTextViewText(R.id.notification_material_reply_text_1, replyText[0]); + + if (replyText.length > 1 && !TextUtils.isEmpty(replyText[1])) { + big.setViewVisibility(R.id.notification_material_reply_text_2, View.VISIBLE); + big.setTextViewText(R.id.notification_material_reply_text_2, replyText[1]); + + if (replyText.length > 2 && !TextUtils.isEmpty(replyText[2])) { + big.setViewVisibility( + R.id.notification_material_reply_text_3, View.VISIBLE); + big.setTextViewText(R.id.notification_material_reply_text_3, replyText[2]); + } + } + } + return big; } + private boolean hasValidRemoteInput(Action action) { + if (TextUtils.isEmpty(action.title) || action.actionIntent == null) { + // Weird actions + return false; + } + + RemoteInput[] remoteInputs = action.getRemoteInputs(); + if (remoteInputs == null) { + return false; + } + + for (RemoteInput r : remoteInputs) { + CharSequence[] choices = r.getChoices(); + if (r.getAllowFreeFormInput() || (choices != null && choices.length != 0)) { + return true; + } + } + return false; + } + /** * Construct a RemoteViews for the final 1U notification layout. In order: * 1. Custom contentView from the caller diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index 5df6ba80a10a..eda098252aa0 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -4142,6 +4142,10 @@ public class DevicePolicyManager { * <p>When account management is disabled for an account type, adding or removing an account * of that type will not be possible. * + * <p>From {@link android.os.Build.VERSION_CODES#N} the profile or device owner can still use + * {@link android.accounts.AccountManager} APIs to add or remove accounts when account + * management for a specific type is disabled. + * * @param admin Which {@link DeviceAdminReceiver} this request is associated with. * @param accountType For which account management is disabled or enabled. * @param disabled The boolean indicating that account management will be disabled (true) or diff --git a/core/java/android/nfc/NfcActivityManager.java b/core/java/android/nfc/NfcActivityManager.java index d619c0a8e117..c7d4c65d99c0 100644 --- a/core/java/android/nfc/NfcActivityManager.java +++ b/core/java/android/nfc/NfcActivityManager.java @@ -371,40 +371,44 @@ public final class NfcActivityManager extends IAppCallback.Stub flags = state.flags; activity = state.activity; } - - // Make callbacks without lock - if (ndefCallback != null) { - message = ndefCallback.createNdefMessage(event); - } - if (urisCallback != null) { - uris = urisCallback.createBeamUris(event); - if (uris != null) { - ArrayList<Uri> validUris = new ArrayList<Uri>(); - for (Uri uri : uris) { - if (uri == null) { - Log.e(TAG, "Uri not allowed to be null."); - continue; - } - String scheme = uri.getScheme(); - if (scheme == null || (!scheme.equalsIgnoreCase("file") && - !scheme.equalsIgnoreCase("content"))) { - Log.e(TAG, "Uri needs to have " + - "either scheme file or scheme content"); - continue; + final long ident = Binder.clearCallingIdentity(); + try { + // Make callbacks without lock + if (ndefCallback != null) { + message = ndefCallback.createNdefMessage(event); + } + if (urisCallback != null) { + uris = urisCallback.createBeamUris(event); + if (uris != null) { + ArrayList<Uri> validUris = new ArrayList<Uri>(); + for (Uri uri : uris) { + if (uri == null) { + Log.e(TAG, "Uri not allowed to be null."); + continue; + } + String scheme = uri.getScheme(); + if (scheme == null || (!scheme.equalsIgnoreCase("file") && + !scheme.equalsIgnoreCase("content"))) { + Log.e(TAG, "Uri needs to have " + + "either scheme file or scheme content"); + continue; + } + uri = ContentProvider.maybeAddUserId(uri, UserHandle.myUserId()); + validUris.add(uri); } - uri = ContentProvider.maybeAddUserId(uri, UserHandle.myUserId()); - validUris.add(uri); - } - uris = validUris.toArray(new Uri[validUris.size()]); + uris = validUris.toArray(new Uri[validUris.size()]); + } } - } - if (uris != null && uris.length > 0) { - for (Uri uri : uris) { - // Grant the NFC process permission to read these URIs - activity.grantUriPermission("com.android.nfc", uri, - Intent.FLAG_GRANT_READ_URI_PERMISSION); + if (uris != null && uris.length > 0) { + for (Uri uri : uris) { + // Grant the NFC process permission to read these URIs + activity.grantUriPermission("com.android.nfc", uri, + Intent.FLAG_GRANT_READ_URI_PERMISSION); + } } + } finally { + Binder.restoreCallingIdentity(ident); } return new BeamShareData(message, uris, new UserHandle(UserHandle.myUserId()), flags); } diff --git a/core/java/android/os/ParcelFileDescriptor.java b/core/java/android/os/ParcelFileDescriptor.java index 135f369f895f..d5491d3a808a 100644 --- a/core/java/android/os/ParcelFileDescriptor.java +++ b/core/java/android/os/ParcelFileDescriptor.java @@ -233,6 +233,19 @@ public class ParcelFileDescriptor implements Parcelable, Closeable { final FileDescriptor fd = openInternal(file, mode); if (fd == null) return null; + return fromFd(fd, handler, listener); + } + + /** {@hide} */ + public static ParcelFileDescriptor fromFd( + FileDescriptor fd, Handler handler, final OnCloseListener listener) throws IOException { + if (handler == null) { + throw new IllegalArgumentException("Handler must not be null"); + } + if (listener == null) { + throw new IllegalArgumentException("Listener must not be null"); + } + final FileDescriptor[] comm = createCommSocketPair(); final ParcelFileDescriptor pfd = new ParcelFileDescriptor(fd, comm[0]); final MessageQueue queue = handler.getLooper().getQueue(); diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java index 16696af950bc..037916a94e5f 100644 --- a/core/java/android/os/UserManager.java +++ b/core/java/android/os/UserManager.java @@ -57,6 +57,10 @@ public class UserManager { * Authenticator. * The default value is <code>false</code>. * + * <p>From {@link android.os.Build.VERSION_CODES#N} a profile or device owner app can still + * use {@link android.accounts.AccountManager} APIs to add or remove accounts when account + * management is disallowed. + * * <p/>Key for user restrictions. * <p/>Type: Boolean * @see DevicePolicyManager#addUserRestriction(ComponentName, String) diff --git a/core/java/android/print/IPrintManager.aidl b/core/java/android/print/IPrintManager.aidl index 8fa7ab90ebad..9a80e375ceb2 100644 --- a/core/java/android/print/IPrintManager.aidl +++ b/core/java/android/print/IPrintManager.aidl @@ -16,6 +16,7 @@ package android.print; +import android.graphics.drawable.Icon; import android.os.Bundle; import android.print.IPrinterDiscoveryObserver; import android.print.IPrintDocumentAdapter; @@ -53,6 +54,19 @@ interface IPrintManager { void stopPrinterDiscovery(in IPrinterDiscoveryObserver observer, int userId); void validatePrinters(in List<PrinterId> printerIds, int userId); void startPrinterStateTracking(in PrinterId printerId, int userId); + + /** + * Get the custom icon for a printer. If the icon is not cached, the icon is + * requested asynchronously. Once it is available the printer is updated. + * + * @param printerId the id of the printer the icon should be loaded for + * @param userId the id of the user requesting the printer + * @return the custom icon to be used for the printer or null if the icon is + * not yet available + * @see android.print.PrinterInfo.Builder#setHasCustomPrinterIcon() + */ + Icon getCustomPrinterIcon(in PrinterId printerId, int userId); + void stopPrinterStateTracking(in PrinterId printerId, int userId); void destroyPrinterDiscoverySession(in IPrinterDiscoveryObserver observer, int userId); diff --git a/core/java/android/print/IPrintSpooler.aidl b/core/java/android/print/IPrintSpooler.aidl index b7cfbea43646..c3625b8fb029 100644 --- a/core/java/android/print/IPrintSpooler.aidl +++ b/core/java/android/print/IPrintSpooler.aidl @@ -17,9 +17,11 @@ package android.print; import android.content.ComponentName; +import android.graphics.drawable.Icon; import android.os.ParcelFileDescriptor; import android.print.IPrintSpoolerClient; import android.print.IPrintSpoolerCallbacks; +import android.print.PrinterId; import android.print.PrinterInfo; import android.print.PrintAttributes; import android.print.PrintJobId; @@ -58,6 +60,39 @@ oneway interface IPrintSpooler { */ void setStatus(in PrintJobId printJobId, in CharSequence status); + /** + * Handle that a custom icon for a printer was loaded. + * + * @param printerId the id of the printer the icon belongs to + * @param icon the icon that was loaded + * @param callbacks the callback to call once icon is stored in case + * @param sequence the sequence number of the call + * @see android.print.PrinterInfo.Builder#setHasCustomPrinterIcon() + */ + void onCustomPrinterIconLoaded(in PrinterId printerId, in Icon icon, + in IPrintSpoolerCallbacks callbacks, in int sequence); + + /** + * Get the custom icon for a printer. If the icon is not cached, the icon is + * requested asynchronously. Once it is available the printer is updated. + * + * @param printerId the id of the printer the icon should be loaded for + * @param callbacks the callback to call once icon is retrieved + * @param sequence the sequence number of the call + * @see android.print.PrinterInfo.Builder#setHasCustomPrinterIcon() + */ + void getCustomPrinterIcon(in PrinterId printerId, + in IPrintSpoolerCallbacks callbacks, in int sequence); + + /** + * Clear all state from the custom printer icon cache. + * + * @param callbacks the callback to call once cache is cleared + * @param sequence the sequence number of the call + */ + void clearCustomPrinterIconCache(in IPrintSpoolerCallbacks callbacks, + in int sequence); + void setPrintJobTag(in PrintJobId printJobId, String tag, IPrintSpoolerCallbacks callback, int sequence); void writePrintJobData(in ParcelFileDescriptor fd, in PrintJobId printJobId); diff --git a/core/java/android/print/IPrintSpoolerCallbacks.aidl b/core/java/android/print/IPrintSpoolerCallbacks.aidl index 45c5332965da..23d706a1cd1b 100644 --- a/core/java/android/print/IPrintSpoolerCallbacks.aidl +++ b/core/java/android/print/IPrintSpoolerCallbacks.aidl @@ -16,7 +16,9 @@ package android.print; +import android.graphics.drawable.Icon; import android.print.PrintJobInfo; +import android.print.PrinterId; import java.util.List; /** @@ -32,4 +34,27 @@ oneway interface IPrintSpoolerCallbacks { void onSetPrintJobStateResult(boolean success, int sequence); void onSetPrintJobTagResult(boolean success, int sequence); void onGetPrintJobInfoResult(in PrintJobInfo printJob, int sequence); + + /** + * Deliver the result of a request of a custom printer icon. + * + * @param icon the icon that was retrieved, or null if no icon could be + * found + * @param sequence the sequence number of the call to get the icon + */ + void onGetCustomPrinterIconResult(in Icon icon, int sequence); + + /** + * Declare that the print spooler cached a custom printer icon. + * + * @param sequence the sequence number of the call to cache the icon + */ + void onCustomPrinterIconCached(int sequence); + + /** + * Declare that the custom printer icon cache was cleared. + * + * @param sequence the sequence number of the call to clear the cache + */ + void customPrinterIconCacheCleared(int sequence); } diff --git a/core/java/android/print/PageRange.java b/core/java/android/print/PageRange.java index 8bc157a9fcad..57c7718c3370 100644 --- a/core/java/android/print/PageRange.java +++ b/core/java/android/print/PageRange.java @@ -16,6 +16,8 @@ package android.print; +import android.annotation.IntRange; +import android.annotation.NonNull; import android.os.Parcel; import android.os.Parcelable; @@ -42,7 +44,7 @@ public final class PageRange implements Parcelable { * @throws IllegalArgumentException If start is less than zero or end * is less than zero or start greater than end. */ - public PageRange(int start, int end) { + public PageRange(@IntRange(from = 0) int start, @IntRange(from = 0) int end) { if (start < 0) { throw new IllegalArgumentException("start cannot be less than zero."); } @@ -56,7 +58,7 @@ public final class PageRange implements Parcelable { mEnd = end; } - private PageRange (Parcel parcel) { + private PageRange(@NonNull Parcel parcel) { this(parcel.readInt(), parcel.readInt()); } @@ -65,7 +67,7 @@ public final class PageRange implements Parcelable { * * @return The start page index. */ - public int getStart() { + public @IntRange(from = 0) int getStart() { return mStart; } @@ -74,7 +76,7 @@ public final class PageRange implements Parcelable { * * @return The end page index. */ - public int getEnd() { + public @IntRange(from = 0) int getEnd() { return mEnd; } diff --git a/core/java/android/print/PrintAttributes.java b/core/java/android/print/PrintAttributes.java index 2afbb99b3a26..8892e3430fe4 100644 --- a/core/java/android/print/PrintAttributes.java +++ b/core/java/android/print/PrintAttributes.java @@ -16,6 +16,10 @@ package android.print; +import android.annotation.IntDef; +import android.annotation.IntRange; +import android.annotation.NonNull; +import android.annotation.Nullable; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Resources.NotFoundException; @@ -27,6 +31,8 @@ import android.util.Log; import com.android.internal.R; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.util.Map; /** @@ -37,6 +43,13 @@ import java.util.Map; * 10 mills (thousand of an inch) on all sides, and be black and white. */ public final class PrintAttributes implements Parcelable { + /** @hide */ + @Retention(RetentionPolicy.SOURCE) + @IntDef(flag = true, value = { + COLOR_MODE_MONOCHROME, COLOR_MODE_COLOR + }) + public @interface ColorMode { + } /** Color mode: Monochrome color scheme, for example one color is used. */ public static final int COLOR_MODE_MONOCHROME = 1 << 0; /** Color mode: Color color scheme, for example many colors are used. */ @@ -45,6 +58,13 @@ public final class PrintAttributes implements Parcelable { private static final int VALID_COLOR_MODES = COLOR_MODE_MONOCHROME | COLOR_MODE_COLOR; + /** @hide */ + @Retention(RetentionPolicy.SOURCE) + @IntDef(flag = true, value = { + DUPLEX_MODE_NONE, DUPLEX_MODE_LONG_EDGE, DUPLEX_MODE_SHORT_EDGE + }) + public @interface DuplexMode { + } /** Duplex mode: No duplexing. */ public static final int DUPLEX_MODE_NONE = 1 << 0; /** Duplex mode: Pages are turned sideways along the long edge - like a book. */ @@ -66,7 +86,7 @@ public final class PrintAttributes implements Parcelable { /* hide constructor */ } - private PrintAttributes(Parcel parcel) { + private PrintAttributes(@NonNull Parcel parcel) { mMediaSize = (parcel.readInt() == 1) ? MediaSize.createFromParcel(parcel) : null; mResolution = (parcel.readInt() == 1) ? Resolution.createFromParcel(parcel) : null; mMinMargins = (parcel.readInt() == 1) ? Margins.createFromParcel(parcel) : null; @@ -79,7 +99,7 @@ public final class PrintAttributes implements Parcelable { * * @return The media size or <code>null</code> if not set. */ - public MediaSize getMediaSize() { + public @Nullable MediaSize getMediaSize() { return mMediaSize; } @@ -99,7 +119,7 @@ public final class PrintAttributes implements Parcelable { * * @return The resolution or <code>null</code> if not set. */ - public Resolution getResolution() { + public @Nullable Resolution getResolution() { return mResolution; } @@ -127,7 +147,7 @@ public final class PrintAttributes implements Parcelable { * * @return The margins or <code>null</code> if not set. */ - public Margins getMinMargins() { + public @Nullable Margins getMinMargins() { return mMinMargins; } @@ -158,7 +178,7 @@ public final class PrintAttributes implements Parcelable { * @see #COLOR_MODE_COLOR * @see #COLOR_MODE_MONOCHROME */ - public int getColorMode() { + public @ColorMode int getColorMode() { return mColorMode; } @@ -199,7 +219,7 @@ public final class PrintAttributes implements Parcelable { * @see #DUPLEX_MODE_LONG_EDGE * @see #DUPLEX_MODE_SHORT_EDGE */ - public int getDuplexMode() { + public @DuplexMode int getDuplexMode() { return mDuplexMode; } @@ -828,7 +848,8 @@ public final class PrintAttributes implements Parcelable { * or the widthMils is less than or equal to zero or the heightMils is less * than or equal to zero. */ - public MediaSize(String id, String label, int widthMils, int heightMils) { + public MediaSize(@NonNull String id, @NonNull String label, + @IntRange(from = 1) int widthMils, @IntRange(from = 1) int heightMils) { if (TextUtils.isEmpty(id)) { throw new IllegalArgumentException("id cannot be empty."); } @@ -872,7 +893,7 @@ public final class PrintAttributes implements Parcelable { * * @return The unique media size id. */ - public String getId() { + public @NonNull String getId() { return mId; } @@ -882,7 +903,7 @@ public final class PrintAttributes implements Parcelable { * @param packageManager The package manager for loading the label. * @return The human readable label. */ - public String getLabel(PackageManager packageManager) { + public @NonNull String getLabel(@NonNull PackageManager packageManager) { if (!TextUtils.isEmpty(mPackageName) && mLabelResId > 0) { try { return packageManager.getResourcesForApplication( @@ -903,7 +924,7 @@ public final class PrintAttributes implements Parcelable { * * @return The media width. */ - public int getWidthMils() { + public @IntRange(from = 1) int getWidthMils() { return mWidthMils; } @@ -912,7 +933,7 @@ public final class PrintAttributes implements Parcelable { * * @return The media height. */ - public int getHeightMils() { + public @IntRange(from = 1) int getHeightMils() { return mHeightMils; } @@ -934,7 +955,7 @@ public final class PrintAttributes implements Parcelable { * @return New instance in landscape orientation if this one * is in landscape, otherwise this instance. */ - public MediaSize asPortrait() { + public @NonNull MediaSize asPortrait() { if (isPortrait()) { return this; } @@ -951,7 +972,7 @@ public final class PrintAttributes implements Parcelable { * @return New instance in landscape orientation if this one * is in portrait, otherwise this instance. */ - public MediaSize asLandscape() { + public @NonNull MediaSize asLandscape() { if (!isPortrait()) { return this; } @@ -1063,7 +1084,8 @@ public final class PrintAttributes implements Parcelable { * or the horizontalDpi is less than or equal to zero or the verticalDpi is * less than or equal to zero. */ - public Resolution(String id, String label, int horizontalDpi, int verticalDpi) { + public Resolution(@NonNull String id, @NonNull String label, + @IntRange(from = 1) int horizontalDpi, @IntRange(from = 1) int verticalDpi) { if (TextUtils.isEmpty(id)) { throw new IllegalArgumentException("id cannot be empty."); } @@ -1094,7 +1116,7 @@ public final class PrintAttributes implements Parcelable { * * @return The unique resolution id. */ - public String getId() { + public @NonNull String getId() { return mId; } @@ -1103,7 +1125,7 @@ public final class PrintAttributes implements Parcelable { * * @return The human readable label. */ - public String getLabel() { + public @NonNull String getLabel() { return mLabel; } @@ -1112,7 +1134,7 @@ public final class PrintAttributes implements Parcelable { * * @return The horizontal resolution. */ - public int getHorizontalDpi() { + public @IntRange(from = 1) int getHorizontalDpi() { return mHorizontalDpi; } @@ -1121,7 +1143,7 @@ public final class PrintAttributes implements Parcelable { * * @return The vertical resolution. */ - public int getVerticalDpi() { + public @IntRange(from = 1) int getVerticalDpi() { return mVerticalDpi; } @@ -1204,7 +1226,8 @@ public final class PrintAttributes implements Parcelable { * @param rightMils The right margin in mils (thousands of an inch). * @param bottomMils The bottom margin in mils (thousands of an inch). */ - public Margins(int leftMils, int topMils, int rightMils, int bottomMils) { + public Margins(@IntRange(from = 0) int leftMils, @IntRange(from = 0) int topMils, + @IntRange(from = 0) int rightMils, @IntRange(from = 0) int bottomMils) { mTopMils = topMils; mLeftMils = leftMils; mRightMils = rightMils; @@ -1216,7 +1239,7 @@ public final class PrintAttributes implements Parcelable { * * @return The left margin. */ - public int getLeftMils() { + public @IntRange(from = 0) int getLeftMils() { return mLeftMils; } @@ -1225,7 +1248,7 @@ public final class PrintAttributes implements Parcelable { * * @return The top margin. */ - public int getTopMils() { + public @IntRange(from = 0) int getTopMils() { return mTopMils; } @@ -1234,7 +1257,7 @@ public final class PrintAttributes implements Parcelable { * * @return The right margin. */ - public int getRightMils() { + public @IntRange(from = 0) int getRightMils() { return mRightMils; } @@ -1243,7 +1266,7 @@ public final class PrintAttributes implements Parcelable { * * @return The bottom margin. */ - public int getBottomMils() { + public @IntRange(from = 0) int getBottomMils() { return mBottomMils; } @@ -1368,7 +1391,7 @@ public final class PrintAttributes implements Parcelable { * @param mediaSize The media size. * @return This builder. */ - public Builder setMediaSize(MediaSize mediaSize) { + public @NonNull Builder setMediaSize(@NonNull MediaSize mediaSize) { mAttributes.setMediaSize(mediaSize); return this; } @@ -1379,7 +1402,7 @@ public final class PrintAttributes implements Parcelable { * @param resolution The resolution. * @return This builder. */ - public Builder setResolution(Resolution resolution) { + public @NonNull Builder setResolution(@NonNull Resolution resolution) { mAttributes.setResolution(resolution); return this; } @@ -1391,7 +1414,7 @@ public final class PrintAttributes implements Parcelable { * @param margins The margins. * @return This builder. */ - public Builder setMinMargins(Margins margins) { + public @NonNull Builder setMinMargins(@NonNull Margins margins) { mAttributes.setMinMargins(margins); return this; } @@ -1405,7 +1428,7 @@ public final class PrintAttributes implements Parcelable { * @see PrintAttributes#COLOR_MODE_MONOCHROME * @see PrintAttributes#COLOR_MODE_COLOR */ - public Builder setColorMode(int colorMode) { + public @NonNull Builder setColorMode(@ColorMode int colorMode) { mAttributes.setColorMode(colorMode); return this; } @@ -1420,7 +1443,7 @@ public final class PrintAttributes implements Parcelable { * @see PrintAttributes#DUPLEX_MODE_LONG_EDGE * @see PrintAttributes#DUPLEX_MODE_SHORT_EDGE */ - public Builder setDuplexMode(int duplexMode) { + public @NonNull Builder setDuplexMode(@DuplexMode int duplexMode) { mAttributes.setDuplexMode(duplexMode); return this; } @@ -1430,7 +1453,7 @@ public final class PrintAttributes implements Parcelable { * * @return The new instance. */ - public PrintAttributes build() { + public @NonNull PrintAttributes build() { return mAttributes; } } diff --git a/core/java/android/print/PrintDocumentInfo.java b/core/java/android/print/PrintDocumentInfo.java index 44e6410f64d5..db3b6f47af43 100644 --- a/core/java/android/print/PrintDocumentInfo.java +++ b/core/java/android/print/PrintDocumentInfo.java @@ -16,10 +16,16 @@ package android.print; +import android.annotation.IntDef; +import android.annotation.IntRange; +import android.annotation.NonNull; import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + /** * This class encapsulates information about a document for printing * purposes. This meta-data is used by the platform and print services, @@ -74,6 +80,13 @@ public final class PrintDocumentInfo implements Parcelable { */ public static final int PAGE_COUNT_UNKNOWN = -1; + /** @hide */ + @Retention(RetentionPolicy.SOURCE) + @IntDef({ + CONTENT_TYPE_UNKNOWN, CONTENT_TYPE_DOCUMENT, CONTENT_TYPE_PHOTO + }) + public @interface ContentType { + } /** * Content type: unknown. */ @@ -116,9 +129,9 @@ public final class PrintDocumentInfo implements Parcelable { /** * Creates a new instance. * - * @param Prototype from which to clone. + * @param prototype from which to clone. */ - private PrintDocumentInfo(PrintDocumentInfo prototype) { + private PrintDocumentInfo(@NonNull PrintDocumentInfo prototype) { mName = prototype.mName; mPageCount = prototype.mPageCount; mContentType = prototype.mContentType; @@ -143,7 +156,7 @@ public final class PrintDocumentInfo implements Parcelable { * * @return The document name. */ - public String getName() { + public @NonNull String getName() { return mName; } @@ -154,7 +167,7 @@ public final class PrintDocumentInfo implements Parcelable { * * @see #PAGE_COUNT_UNKNOWN */ - public int getPageCount() { + public @IntRange(from = -1) int getPageCount() { return mPageCount; } @@ -167,7 +180,7 @@ public final class PrintDocumentInfo implements Parcelable { * @see #CONTENT_TYPE_DOCUMENT * @see #CONTENT_TYPE_PHOTO */ - public int getContentType() { + public @ContentType int getContentType() { return mContentType; } @@ -176,7 +189,7 @@ public final class PrintDocumentInfo implements Parcelable { * * @return The data size. */ - public long getDataSize() { + public @IntRange(from = 0) long getDataSize() { return mDataSize; } @@ -187,7 +200,7 @@ public final class PrintDocumentInfo implements Parcelable { * * @hide */ - public void setDataSize(long dataSize) { + public void setDataSize(@IntRange(from = 0) long dataSize) { mDataSize = dataSize; } @@ -288,7 +301,7 @@ public final class PrintDocumentInfo implements Parcelable { * is the file name if the content it describes is saved as a PDF. * Cannot be empty. */ - public Builder(String name) { + public Builder(@NonNull String name) { if (TextUtils.isEmpty(name)) { throw new IllegalArgumentException("name cannot be empty"); } @@ -302,10 +315,11 @@ public final class PrintDocumentInfo implements Parcelable { * <strong>Default: </strong> {@link #PAGE_COUNT_UNKNOWN} * </p> * - * @param pageCount The number of pages. Must be greater than - * or equal to zero or {@link PrintDocumentInfo#PAGE_COUNT_UNKNOWN}. + * @param pageCount The number of pages. Must be greater than or equal to zero or + * {@link PrintDocumentInfo#PAGE_COUNT_UNKNOWN}. + * @return This builder. */ - public Builder setPageCount(int pageCount) { + public @NonNull Builder setPageCount(@IntRange(from = -1) int pageCount) { if (pageCount < 0 && pageCount != PAGE_COUNT_UNKNOWN) { throw new IllegalArgumentException("pageCount" + " must be greater than or equal to zero or" @@ -322,12 +336,12 @@ public final class PrintDocumentInfo implements Parcelable { * </p> * * @param type The content type. - * + * @return This builder. * @see #CONTENT_TYPE_UNKNOWN * @see #CONTENT_TYPE_DOCUMENT * @see #CONTENT_TYPE_PHOTO */ - public Builder setContentType(int type) { + public @NonNull Builder setContentType(@ContentType int type) { mPrototype.mContentType = type; return this; } @@ -337,7 +351,7 @@ public final class PrintDocumentInfo implements Parcelable { * * @return The new instance. */ - public PrintDocumentInfo build() { + public @NonNull PrintDocumentInfo build() { // Zero pages is the same as unknown as in this case // we will have to ask for all pages and look a the // wiritten PDF file for the page count. diff --git a/core/java/android/print/PrintJob.java b/core/java/android/print/PrintJob.java index 0abe2193249e..777baabd955a 100644 --- a/core/java/android/print/PrintJob.java +++ b/core/java/android/print/PrintJob.java @@ -16,6 +16,9 @@ package android.print; +import android.annotation.NonNull; +import android.annotation.Nullable; + /** * This class represents a print job from the perspective of an * application. It contains behavior methods for performing operations @@ -41,7 +44,7 @@ public final class PrintJob { * * @return The id. */ - public PrintJobId getId() { + public @NonNull PrintJobId getId() { return mCachedInfo.getId(); } @@ -55,7 +58,7 @@ public final class PrintJob { * * @return The print job info. */ - public PrintJobInfo getInfo() { + public @Nullable PrintJobInfo getInfo() { if (isInImmutableState()) { return mCachedInfo; } diff --git a/core/java/android/print/PrintJobId.java b/core/java/android/print/PrintJobId.java index 01550e2a7413..a2ee02b7bc49 100644 --- a/core/java/android/print/PrintJobId.java +++ b/core/java/android/print/PrintJobId.java @@ -16,6 +16,7 @@ package android.print; +import android.annotation.NonNull; import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; @@ -91,14 +92,14 @@ public final class PrintJobId implements Parcelable { * * @hide */ - public String flattenToString() { + public @NonNull String flattenToString() { return mValue; } /** * Unflattens a print job id from a string. * - * @string The string. + * @param string The string. * @return The unflattened id, or null if the string is malformed. * * @hide diff --git a/core/java/android/print/PrintJobInfo.java b/core/java/android/print/PrintJobInfo.java index 7148c8757830..21836b3a6109 100644 --- a/core/java/android/print/PrintJobInfo.java +++ b/core/java/android/print/PrintJobInfo.java @@ -17,6 +17,9 @@ package android.print; import android.annotation.FloatRange; +import android.annotation.IntDef; +import android.annotation.IntRange; +import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.TestApi; import android.os.Bundle; @@ -25,6 +28,8 @@ import android.os.Parcelable; import com.android.internal.util.Preconditions; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.util.Arrays; /** @@ -35,6 +40,15 @@ import java.util.Arrays; */ public final class PrintJobInfo implements Parcelable { + /** @hide */ + @IntDef({ + STATE_CREATED, STATE_QUEUED, STATE_STARTED, STATE_BLOCKED, STATE_COMPLETED, + STATE_FAILED, STATE_CANCELED + }) + @Retention(RetentionPolicy.SOURCE) + public @interface State { + } + /** * Constant for matching any print job state. * @@ -200,7 +214,7 @@ public final class PrintJobInfo implements Parcelable { mAdvancedOptions = other.mAdvancedOptions; } - private PrintJobInfo(Parcel parcel) { + private PrintJobInfo(@NonNull Parcel parcel) { mId = parcel.readParcelable(null); mLabel = parcel.readString(); mPrinterId = parcel.readParcelable(null); @@ -230,7 +244,7 @@ public final class PrintJobInfo implements Parcelable { * * @return The id. */ - public PrintJobId getId() { + public @NonNull PrintJobId getId() { return mId; } @@ -241,7 +255,7 @@ public final class PrintJobInfo implements Parcelable { * * @hide */ - public void setId(PrintJobId id) { + public void setId(@NonNull PrintJobId id) { this.mId = id; } @@ -250,7 +264,7 @@ public final class PrintJobInfo implements Parcelable { * * @return The label. */ - public String getLabel() { + public @NonNull String getLabel() { return mLabel; } @@ -261,7 +275,7 @@ public final class PrintJobInfo implements Parcelable { * * @hide */ - public void setLabel(String label) { + public void setLabel(@NonNull String label) { mLabel = label; } @@ -270,7 +284,7 @@ public final class PrintJobInfo implements Parcelable { * * @return The target printer id. */ - public PrinterId getPrinterId() { + public @Nullable PrinterId getPrinterId() { return mPrinterId; } @@ -281,7 +295,7 @@ public final class PrintJobInfo implements Parcelable { * * @hide */ - public void setPrinterId(PrinterId printerId) { + public void setPrinterId(@NonNull PrinterId printerId) { mPrinterId = printerId; } @@ -292,7 +306,7 @@ public final class PrintJobInfo implements Parcelable { * * @hide */ - public String getPrinterName() { + public @Nullable String getPrinterName() { return mPrinterName; } @@ -303,7 +317,7 @@ public final class PrintJobInfo implements Parcelable { * * @hide */ - public void setPrinterName(String printerName) { + public void setPrinterName(@NonNull String printerName) { mPrinterName = printerName; } @@ -320,7 +334,7 @@ public final class PrintJobInfo implements Parcelable { * @see #STATE_FAILED * @see #STATE_CANCELED */ - public int getState() { + public @State int getState() { return mState; } @@ -431,7 +445,7 @@ public final class PrintJobInfo implements Parcelable { * * @return The number of copies or zero if not set. */ - public int getCopies() { + public @IntRange(from = 0) int getCopies() { return mCopies; } @@ -454,7 +468,7 @@ public final class PrintJobInfo implements Parcelable { * * @return The included pages or <code>null</code> if not set. */ - public PageRange[] getPages() { + public @Nullable PageRange[] getPages() { return mPageRanges; } @@ -474,7 +488,7 @@ public final class PrintJobInfo implements Parcelable { * * @return The attributes. */ - public PrintAttributes getAttributes() { + public @NonNull PrintAttributes getAttributes() { return mAttributes; } @@ -713,7 +727,7 @@ public final class PrintJobInfo implements Parcelable { * @param prototype Prototype to use as a starting point. * Can be <code>null</code>. */ - public Builder(PrintJobInfo prototype) { + public Builder(@Nullable PrintJobInfo prototype) { mPrototype = (prototype != null) ? new PrintJobInfo(prototype) : new PrintJobInfo(); @@ -724,7 +738,7 @@ public final class PrintJobInfo implements Parcelable { * * @param copies The number of copies. */ - public void setCopies(int copies) { + public void setCopies(@IntRange(from = 1) int copies) { mPrototype.mCopies = copies; } @@ -733,7 +747,7 @@ public final class PrintJobInfo implements Parcelable { * * @param attributes The attributes. */ - public void setAttributes(PrintAttributes attributes) { + public void setAttributes(@NonNull PrintAttributes attributes) { mPrototype.mAttributes = attributes; } @@ -742,7 +756,7 @@ public final class PrintJobInfo implements Parcelable { * * @param pages The included pages. */ - public void setPages(PageRange[] pages) { + public void setPages(@NonNull PageRange[] pages) { mPrototype.mPageRanges = pages; } @@ -774,7 +788,7 @@ public final class PrintJobInfo implements Parcelable { * @param key The option key. * @param value The option value. */ - public void putAdvancedOption(String key, String value) { + public void putAdvancedOption(@NonNull String key, @Nullable String value) { if (mPrototype.mAdvancedOptions == null) { mPrototype.mAdvancedOptions = new Bundle(); } @@ -787,7 +801,7 @@ public final class PrintJobInfo implements Parcelable { * @param key The option key. * @param value The option value. */ - public void putAdvancedOption(String key, int value) { + public void putAdvancedOption(@NonNull String key, int value) { if (mPrototype.mAdvancedOptions == null) { mPrototype.mAdvancedOptions = new Bundle(); } @@ -799,7 +813,7 @@ public final class PrintJobInfo implements Parcelable { * * @return The new instance. */ - public PrintJobInfo build() { + public @NonNull PrintJobInfo build() { return mPrototype; } } diff --git a/core/java/android/print/PrintManager.java b/core/java/android/print/PrintManager.java index 3fb812e401f7..3eb487461e5c 100644 --- a/core/java/android/print/PrintManager.java +++ b/core/java/android/print/PrintManager.java @@ -16,11 +16,14 @@ package android.print; +import android.annotation.NonNull; +import android.annotation.Nullable; import android.app.Activity; import android.app.Application.ActivityLifecycleCallbacks; import android.content.Context; import android.content.IntentSender; import android.content.IntentSender.SendIntentException; +import android.graphics.drawable.Icon; import android.os.Bundle; import android.os.CancellationSignal; import android.os.Handler; @@ -180,6 +183,8 @@ public final class PrintManager { * * @param context The current context in which to operate. * @param service The backing system service. + * @param userId The user id in which to operate. + * @param appId The application id in which to operate. * @hide */ public PrintManager(Context context, IPrintManager service, int userId, int appId) { @@ -290,6 +295,7 @@ public final class PrintManager { /** * Gets a print job given its id. * + * @param printJobId The id of the print job. * @return The print job list. * @see PrintJob * @hide @@ -311,12 +317,35 @@ public final class PrintManager { } /** + * Get the custom icon for a printer. If the icon is not cached, the icon is + * requested asynchronously. Once it is available the printer is updated. + * + * @param printerId the id of the printer the icon should be loaded for + * @return the custom icon to be used for the printer or null if the icon is + * not yet available + * @see android.print.PrinterInfo.Builder#setHasCustomPrinterIcon() + * @hide + */ + public Icon getCustomPrinterIcon(PrinterId printerId) { + if (mService == null) { + Log.w(LOG_TAG, "Feature android.software.print not available"); + return null; + } + try { + return mService.getCustomPrinterIcon(printerId, mUserId); + } catch (RemoteException re) { + Log.e(LOG_TAG, "Error getting custom printer icon", re); + } + return null; + } + + /** * Gets the print jobs for this application. * * @return The print job list. * @see PrintJob */ - public List<PrintJob> getPrintJobs() { + public @NonNull List<PrintJob> getPrintJobs() { if (mService == null) { Log.w(LOG_TAG, "Feature android.software.print not available"); return Collections.emptyList(); @@ -411,8 +440,9 @@ public final class PrintManager { * * @see PrintJob */ - public PrintJob print(String printJobName, PrintDocumentAdapter documentAdapter, - PrintAttributes attributes) { + public @NonNull PrintJob print(@NonNull String printJobName, + @NonNull PrintDocumentAdapter documentAdapter, + @Nullable PrintAttributes attributes) { if (mService == null) { Log.w(LOG_TAG, "Feature android.software.print not available"); return null; diff --git a/core/java/android/print/PrinterCapabilitiesInfo.java b/core/java/android/print/PrinterCapabilitiesInfo.java index 96f318526384..d13879ba6914 100644 --- a/core/java/android/print/PrinterCapabilitiesInfo.java +++ b/core/java/android/print/PrinterCapabilitiesInfo.java @@ -16,8 +16,11 @@ package android.print; +import android.annotation.NonNull; import android.os.Parcel; import android.os.Parcelable; +import android.print.PrintAttributes.ColorMode; +import android.print.PrintAttributes.DuplexMode; import android.print.PrintAttributes.Margins; import android.print.PrintAttributes.MediaSize; import android.print.PrintAttributes.Resolution; @@ -121,7 +124,7 @@ public final class PrinterCapabilitiesInfo implements Parcelable { * * @return The media sizes. */ - public List<MediaSize> getMediaSizes() { + public @NonNull List<MediaSize> getMediaSizes() { return Collections.unmodifiableList(mMediaSizes); } @@ -130,7 +133,7 @@ public final class PrinterCapabilitiesInfo implements Parcelable { * * @return The resolutions. */ - public List<Resolution> getResolutions() { + public @NonNull List<Resolution> getResolutions() { return Collections.unmodifiableList(mResolutions); } @@ -140,7 +143,7 @@ public final class PrinterCapabilitiesInfo implements Parcelable { * * @return The minimal margins. */ - public Margins getMinMargins() { + public @NonNull Margins getMinMargins() { return mMinMargins; } @@ -152,7 +155,7 @@ public final class PrinterCapabilitiesInfo implements Parcelable { * @see PrintAttributes#COLOR_MODE_COLOR * @see PrintAttributes#COLOR_MODE_MONOCHROME */ - public int getColorModes() { + public @ColorMode int getColorModes() { return mColorModes; } @@ -165,7 +168,7 @@ public final class PrinterCapabilitiesInfo implements Parcelable { * @see PrintAttributes#DUPLEX_MODE_LONG_EDGE * @see PrintAttributes#DUPLEX_MODE_SHORT_EDGE */ - public int getDuplexModes() { + public @DuplexMode int getDuplexModes() { return mDuplexModes; } @@ -174,7 +177,7 @@ public final class PrinterCapabilitiesInfo implements Parcelable { * * @return The default attributes. */ - public PrintAttributes getDefaults() { + public @NonNull PrintAttributes getDefaults() { PrintAttributes.Builder builder = new PrintAttributes.Builder(); builder.setMinMargins(mMinMargins); @@ -425,7 +428,7 @@ public final class PrinterCapabilitiesInfo implements Parcelable { * * @throws IllegalArgumentException If the printer id is <code>null</code>. */ - public Builder(PrinterId printerId) { + public Builder(@NonNull PrinterId printerId) { if (printerId == null) { throw new IllegalArgumentException("printerId cannot be null."); } @@ -446,7 +449,7 @@ public final class PrinterCapabilitiesInfo implements Parcelable { * * @see PrintAttributes.MediaSize */ - public Builder addMediaSize(MediaSize mediaSize, boolean isDefault) { + public @NonNull Builder addMediaSize(@NonNull MediaSize mediaSize, boolean isDefault) { if (mPrototype.mMediaSizes == null) { mPrototype.mMediaSizes = new ArrayList<MediaSize>(); } @@ -474,7 +477,7 @@ public final class PrinterCapabilitiesInfo implements Parcelable { * * @see PrintAttributes.Resolution */ - public Builder addResolution(Resolution resolution, boolean isDefault) { + public @NonNull Builder addResolution(@NonNull Resolution resolution, boolean isDefault) { if (mPrototype.mResolutions == null) { mPrototype.mResolutions = new ArrayList<Resolution>(); } @@ -502,7 +505,7 @@ public final class PrinterCapabilitiesInfo implements Parcelable { * * @see PrintAttributes.Margins */ - public Builder setMinMargins(Margins margins) { + public @NonNull Builder setMinMargins(@NonNull Margins margins) { if (margins == null) { throw new IllegalArgumentException("margins cannot be null"); } @@ -532,7 +535,8 @@ public final class PrinterCapabilitiesInfo implements Parcelable { * @see PrintAttributes#COLOR_MODE_COLOR * @see PrintAttributes#COLOR_MODE_MONOCHROME */ - public Builder setColorModes(int colorModes, int defaultColorMode) { + public @NonNull Builder setColorModes(@ColorMode int colorModes, + @ColorMode int defaultColorMode) { int currentModes = colorModes; while (currentModes > 0) { final int currentMode = (1 << Integer.numberOfTrailingZeros(currentModes)); @@ -562,7 +566,8 @@ public final class PrinterCapabilitiesInfo implements Parcelable { * @see PrintAttributes#DUPLEX_MODE_LONG_EDGE * @see PrintAttributes#DUPLEX_MODE_SHORT_EDGE */ - public Builder setDuplexModes(int duplexModes, int defaultDuplexMode) { + public @NonNull Builder setDuplexModes(@DuplexMode int duplexModes, + @DuplexMode int defaultDuplexMode) { int currentModes = duplexModes; while (currentModes > 0) { final int currentMode = (1 << Integer.numberOfTrailingZeros(currentModes)); @@ -589,7 +594,7 @@ public final class PrinterCapabilitiesInfo implements Parcelable { * * @throws IllegalStateException If a required attribute was not specified. */ - public PrinterCapabilitiesInfo build() { + public @NonNull PrinterCapabilitiesInfo build() { if (mPrototype.mMediaSizes == null || mPrototype.mMediaSizes.isEmpty()) { throw new IllegalStateException("No media size specified."); } diff --git a/core/java/android/print/PrinterId.java b/core/java/android/print/PrinterId.java index a3f3b2bfee11..83efe8020d98 100644 --- a/core/java/android/print/PrinterId.java +++ b/core/java/android/print/PrinterId.java @@ -16,6 +16,7 @@ package android.print; +import android.annotation.NonNull; import android.content.ComponentName; import android.os.Parcel; import android.os.Parcelable; @@ -65,7 +66,7 @@ public final class PrinterId implements Parcelable { * * @return The printer name. */ - public String getLocalId() { + public @NonNull String getLocalId() { return mLocalId; } diff --git a/core/java/android/print/PrinterInfo.java b/core/java/android/print/PrinterInfo.java index 7fcc81f41006..20d91b20e814 100644 --- a/core/java/android/print/PrinterInfo.java +++ b/core/java/android/print/PrinterInfo.java @@ -16,10 +16,26 @@ package android.print; +import android.annotation.DrawableRes; +import android.annotation.IntDef; +import android.annotation.NonNull; +import android.annotation.Nullable; +import android.annotation.TestApi; +import android.app.PendingIntent; +import android.content.Context; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; +import android.graphics.drawable.Drawable; +import android.graphics.drawable.Icon; import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + /** * This class represents the description of a printer. Instances of * this class are created by print services to report to the system @@ -30,6 +46,13 @@ import android.text.TextUtils; */ public final class PrinterInfo implements Parcelable { + /** @hide */ + @IntDef({ + STATUS_IDLE, STATUS_BUSY, STATUS_UNAVAILABLE + }) + @Retention(RetentionPolicy.SOURCE) + public @interface Status { + } /** Printer status: the printer is idle and ready to print. */ public static final int STATUS_IDLE = 1; @@ -41,6 +64,18 @@ public final class PrinterInfo implements Parcelable { private PrinterId mId; + /** Resource inside the printer's services's package to be used as an icon */ + private int mIconResourceId; + + /** If a custom icon can be loaded for the printer */ + private boolean mHasCustomPrinterIcon; + + /** The generation of the icon in the cache. */ + private int mCustomPrinterIconGen; + + /** Intent that launches the activity showing more information about the printer. */ + private PendingIntent mInfoIntent; + private String mName; private int mStatus; @@ -77,6 +112,10 @@ public final class PrinterInfo implements Parcelable { } else { mCapabilities = null; } + mIconResourceId = other.mIconResourceId; + mHasCustomPrinterIcon = other.mHasCustomPrinterIcon; + mCustomPrinterIconGen = other.mCustomPrinterIconGen; + mInfoIntent = other.mInfoIntent; } /** @@ -84,16 +123,64 @@ public final class PrinterInfo implements Parcelable { * * @return The printer id. */ - public PrinterId getId() { + public @NonNull PrinterId getId() { return mId; } /** + * Get the icon to be used for this printer. If no per printer icon is available, the printer's + * service's icon is returned. If the printer has a custom icon this icon might get requested + * asynchronously. Once the icon is loaded the discovery sessions will be notified that the + * printer changed. + * + * @param context The context that will be using the icons + * @return The icon to be used for the printer or null if no icon could be found. + * @hide + */ + @TestApi + public @Nullable Drawable loadIcon(@NonNull Context context) { + Drawable drawable = null; + PackageManager packageManager = context.getPackageManager(); + + if (mHasCustomPrinterIcon) { + PrintManager printManager = (PrintManager) context + .getSystemService(Context.PRINT_SERVICE); + + Icon icon = printManager.getCustomPrinterIcon(mId); + + if (icon != null) { + drawable = icon.loadDrawable(context); + } + } + + if (drawable == null) { + try { + String packageName = mId.getServiceName().getPackageName(); + PackageInfo packageInfo = packageManager.getPackageInfo(packageName, 0); + ApplicationInfo appInfo = packageInfo.applicationInfo; + + // If no custom icon is available, try the icon from the resources + if (mIconResourceId != 0) { + drawable = packageManager.getDrawable(packageName, mIconResourceId, appInfo); + } + + // Fall back to the printer's service's icon if no per printer icon could be found + if (drawable == null) { + drawable = appInfo.loadIcon(packageManager); + } + } catch (NameNotFoundException e) { + } + } + + return drawable; + } + + /** * Get the printer name. * * @return The printer name. */ - public String getName() { + public @Nullable String getName() { return mName; } @@ -106,7 +193,7 @@ public final class PrinterInfo implements Parcelable { * @see #STATUS_IDLE * @see #STATUS_UNAVAILABLE */ - public int getStatus() { + public @Status int getStatus() { return mStatus; } @@ -115,16 +202,28 @@ public final class PrinterInfo implements Parcelable { * * @return The description. */ - public String getDescription() { + public @Nullable String getDescription() { return mDescription; } /** + * Get the {@link PendingIntent} that launches the activity showing more information about the + * printer. + * + * @return the {@link PendingIntent} that launches the activity showing more information about + * the printer or null if it is not configured + * @hide + */ + public @Nullable PendingIntent getInfoIntent() { + return mInfoIntent; + } + + /** * Gets the printer capabilities. * * @return The capabilities. */ - public PrinterCapabilitiesInfo getCapabilities() { + public @Nullable PrinterCapabilitiesInfo getCapabilities() { return mCapabilities; } @@ -134,6 +233,10 @@ public final class PrinterInfo implements Parcelable { mStatus = parcel.readInt(); mDescription = parcel.readString(); mCapabilities = parcel.readParcelable(null); + mIconResourceId = parcel.readInt(); + mHasCustomPrinterIcon = parcel.readByte() != 0; + mCustomPrinterIconGen = parcel.readInt(); + mInfoIntent = parcel.readParcelable(null); } @Override @@ -148,6 +251,10 @@ public final class PrinterInfo implements Parcelable { parcel.writeInt(mStatus); parcel.writeString(mDescription); parcel.writeParcelable(mCapabilities, flags); + parcel.writeInt(mIconResourceId); + parcel.writeByte((byte) (mHasCustomPrinterIcon ? 1 : 0)); + parcel.writeInt(mCustomPrinterIconGen); + parcel.writeParcelable(mInfoIntent, flags); } @Override @@ -159,21 +266,22 @@ public final class PrinterInfo implements Parcelable { result = prime * result + mStatus; result = prime * result + ((mDescription != null) ? mDescription.hashCode() : 0); result = prime * result + ((mCapabilities != null) ? mCapabilities.hashCode() : 0); + result = prime * result + mIconResourceId; + result = prime * result + (mHasCustomPrinterIcon ? 1 : 0); + result = prime * result + mCustomPrinterIconGen; + result = prime * result + ((mInfoIntent != null) ? mInfoIntent.hashCode() : 0); return result; } - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - PrinterInfo other = (PrinterInfo) obj; + /** + * Compare two {@link PrinterInfo printerInfos} in all aspects beside being null and the + * {@link #mStatus}. + * + * @param other the other {@link PrinterInfo} + * @return true iff the infos are equivalent + * @hide + */ + public boolean equalsIgnoringStatus(PrinterInfo other) { if (mId == null) { if (other.mId != null) { return false; @@ -184,9 +292,6 @@ public final class PrinterInfo implements Parcelable { if (!TextUtils.equals(mName, other.mName)) { return false; } - if (mStatus != other.mStatus) { - return false; - } if (!TextUtils.equals(mDescription, other.mDescription)) { return false; } @@ -197,6 +302,43 @@ public final class PrinterInfo implements Parcelable { } else if (!mCapabilities.equals(other.mCapabilities)) { return false; } + if (mIconResourceId != other.mIconResourceId) { + return false; + } + if (mHasCustomPrinterIcon != other.mHasCustomPrinterIcon) { + return false; + } + if (mCustomPrinterIconGen != other.mCustomPrinterIconGen) { + return false; + } + if (mInfoIntent == null) { + if (other.mInfoIntent != null) { + return false; + } + } else if (!mInfoIntent.equals(other.mInfoIntent)) { + return false; + } + return true; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + PrinterInfo other = (PrinterInfo) obj; + if (!equalsIgnoringStatus(other)) { + return false; + } + if (mStatus != other.mStatus) { + return false; + } return true; } @@ -209,6 +351,10 @@ public final class PrinterInfo implements Parcelable { builder.append(", status=").append(mStatus); builder.append(", description=").append(mDescription); builder.append(", capabilities=").append(mCapabilities); + builder.append(", iconResId=").append(mIconResourceId); + builder.append(", hasCustomPrinterIcon=").append(mHasCustomPrinterIcon); + builder.append(", customPrinterIconGen=").append(mCustomPrinterIconGen); + builder.append(", infoIntent=").append(mInfoIntent); builder.append("\"}"); return builder.toString(); } @@ -228,7 +374,7 @@ public final class PrinterInfo implements Parcelable { * @throws IllegalArgumentException If the printer id is null, or the * printer name is empty or the status is not a valid one. */ - public Builder(PrinterId printerId, String name, int status) { + public Builder(@NonNull PrinterId printerId, @NonNull String name, @Status int status) { if (printerId == null) { throw new IllegalArgumentException("printerId cannot be null."); } @@ -249,7 +395,7 @@ public final class PrinterInfo implements Parcelable { * * @param other Other info from which to start building. */ - public Builder(PrinterInfo other) { + public Builder(@NonNull PrinterInfo other) { mPrototype = new PrinterInfo(); mPrototype.copyFrom(other); } @@ -264,19 +410,50 @@ public final class PrinterInfo implements Parcelable { * @see PrinterInfo#STATUS_BUSY * @see PrinterInfo#STATUS_UNAVAILABLE */ - public Builder setStatus(int status) { + public @Nullable Builder setStatus(@Status int status) { mPrototype.mStatus = status; return this; } /** + * Set a drawable resource as icon for this printer. If no icon is set the printer's + * service's icon is used for the printer. + * + * @param iconResourceId The resource ID of the icon. + * @return This builder. + * @see PrinterInfo.Builder#setHasCustomPrinterIcon + */ + public @NonNull Builder setIconResourceId(@DrawableRes int iconResourceId) { + mPrototype.mIconResourceId = iconResourceId; + return this; + } + + /** + * Declares that the print service can load a custom per printer's icon. If both + * {@link PrinterInfo.Builder#setIconResourceId} and a custom icon are set the resource icon + * is shown while the custom icon loads but then the custom icon is used. If + * {@link PrinterInfo.Builder#setIconResourceId} is not set the printer's service's icon is + * shown while loading. + * <p> + * The icon is requested asynchronously and only when needed via + * {@link android.printservice.PrinterDiscoverySession#onRequestCustomPrinterIcon}. + * </p> + * + * @return This builder. + */ + public @NonNull Builder setHasCustomPrinterIcon() { + mPrototype.mHasCustomPrinterIcon = true; + return this; + } + + /** * Sets the <strong>localized</strong> printer name which * is shown to the user * * @param name The name. * @return This builder. */ - public Builder setName(String name) { + public @NonNull Builder setName(@NonNull String name) { mPrototype.mName = name; return this; } @@ -288,18 +465,30 @@ public final class PrinterInfo implements Parcelable { * @param description The description. * @return This builder. */ - public Builder setDescription(String description) { + public @NonNull Builder setDescription(@NonNull String description) { mPrototype.mDescription = description; return this; } /** + * Sets the {@link PendingIntent} that launches an activity showing more information about + * the printer. + * + * @param infoIntent The {@link PendingIntent intent}. + * @return This builder. + */ + public @NonNull Builder setInfoIntent(@NonNull PendingIntent infoIntent) { + mPrototype.mInfoIntent = infoIntent; + return this; + } + + /** * Sets the printer capabilities. * * @param capabilities The capabilities. * @return This builder. */ - public Builder setCapabilities(PrinterCapabilitiesInfo capabilities) { + public @NonNull Builder setCapabilities(@NonNull PrinterCapabilitiesInfo capabilities) { mPrototype.mCapabilities = capabilities; return this; } @@ -309,7 +498,7 @@ public final class PrinterInfo implements Parcelable { * * @return A new {@link PrinterInfo}. */ - public PrinterInfo build() { + public @NonNull PrinterInfo build() { return mPrototype; } @@ -318,6 +507,19 @@ public final class PrinterInfo implements Parcelable { || status == STATUS_BUSY || status == STATUS_UNAVAILABLE); } + + /** + * Increments the generation number of the custom printer icon. As the {@link PrinterInfo} + * does not match the previous one anymore, users of the {@link PrinterInfo} will reload the + * icon if needed. + * + * @return This builder. + * @hide + */ + public @NonNull Builder incCustomPrinterIconGen() { + mPrototype.mCustomPrinterIconGen++; + return this; + } } public static final Parcelable.Creator<PrinterInfo> CREATOR = diff --git a/core/java/android/print/pdf/PrintedPdfDocument.java b/core/java/android/print/pdf/PrintedPdfDocument.java index 2d8aafa1a573..df7c05477a1a 100644 --- a/core/java/android/print/pdf/PrintedPdfDocument.java +++ b/core/java/android/print/pdf/PrintedPdfDocument.java @@ -16,26 +16,25 @@ package android.print.pdf; +import android.annotation.IntRange; +import android.annotation.NonNull; import android.content.Context; import android.graphics.Rect; import android.graphics.pdf.PdfDocument; -import android.graphics.pdf.PdfDocument.Page; -import android.graphics.pdf.PdfDocument.PageInfo; import android.print.PrintAttributes; import android.print.PrintAttributes.Margins; import android.print.PrintAttributes.MediaSize; /** - * This class is a helper for creating a PDF file for given print - * attributes. It is useful for implementing printing via the native - * Android graphics APIs. + * This class is a helper for creating a PDF file for given print attributes. It is useful for + * implementing printing via the native Android graphics APIs. * <p> - * This class computes the page width, page height, and content rectangle - * from the provided print attributes and these precomputed values can be - * accessed via {@link #getPageWidth()}, {@link #getPageHeight()}, and - * {@link #getPageContentRect()}, respectively. The {@link #startPage(int)} - * methods creates pages whose {@link PageInfo} is initialized with the - * precomputed values for width, height, and content rectangle. + * This class computes the page width, page height, and content rectangle from the provided print + * attributes and these precomputed values can be accessed via {@link #getPageWidth()}, + * {@link #getPageHeight()}, and {@link #getPageContentRect()}, respectively. The + * {@link #startPage(int)} methods creates pages whose + * {@link android.graphics.pdf.PdfDocument.PageInfo PageInfo} is initialized with the precomputed + * values for width, height, and content rectangle. * <p> * A typical use of the APIs looks like this: * </p> @@ -81,7 +80,7 @@ public class PrintedPdfDocument extends PdfDocument { * @param context Context instance for accessing resources. * @param attributes The print attributes. */ - public PrintedPdfDocument(Context context, PrintAttributes attributes) { + public PrintedPdfDocument(@NonNull Context context, @NonNull PrintAttributes attributes) { MediaSize mediaSize = attributes.getMediaSize(); // Compute the size of the target canvas from the attributes. @@ -105,28 +104,28 @@ public class PrintedPdfDocument extends PdfDocument { } /** - * Starts a new page. The page is created using width, height and content - * rectangle computed from the print attributes passed in the constructor - * and the given page number to create an appropriate {@link PageInfo}. + * Starts a new page. The page is created using width, height and content rectangle computed + * from the print attributes passed in the constructor and the given page number to create an + * appropriate {@link android.graphics.pdf.PdfDocument.PageInfo PageInfo}. * <p> - * After the page is created you can draw arbitrary content on the page's - * canvas which you can get by calling {@link Page#getCanvas() Page.getCanvas()}. + * After the page is created you can draw arbitrary content on the page's canvas which you can + * get by calling {@link android.graphics.pdf.PdfDocument.Page#getCanvas() Page.getCanvas()}. * After you are done drawing the content you should finish the page by calling - * {@link #finishPage(Page)}. After the page is finished you should no longer - * access the page or its canvas. + * {@link #finishPage(Page)}. After the page is finished you should no longer access the page or + * its canvas. * </p> * <p> - * <strong>Note:</strong> Do not call this method after {@link #close()}. - * Also do not call this method if the last page returned by this method - * is not finished by calling {@link #finishPage(Page)}. + * <strong>Note:</strong> Do not call this method after {@link #close()}. Also do not call this + * method if the last page returned by this method is not finished by calling + * {@link #finishPage(Page)}. * </p> * - * @param pageNumber The page number. Must be a positive value. + * @param pageNumber The page number. Must be a non negative. * @return A blank page. * * @see #finishPage(Page) */ - public Page startPage(int pageNumber) { + public @NonNull Page startPage(@IntRange(from = 0) int pageNumber) { PageInfo pageInfo = new PageInfo .Builder(mPageWidth, mPageHeight, pageNumber) .setContentRect(mContentRect) @@ -139,7 +138,7 @@ public class PrintedPdfDocument extends PdfDocument { * * @return The page width in PostScript points (1/72th of an inch). */ - public int getPageWidth() { + public @IntRange(from = 0) int getPageWidth() { return mPageWidth; } @@ -148,7 +147,7 @@ public class PrintedPdfDocument extends PdfDocument { * * @return The page height in PostScript points (1/72th of an inch). */ - public int getPageHeight() { + public @IntRange(from = 0) int getPageHeight() { return mPageHeight; } @@ -158,7 +157,7 @@ public class PrintedPdfDocument extends PdfDocument { * * @return The content rectangle. */ - public Rect getPageContentRect() { + public @NonNull Rect getPageContentRect() { return mContentRect; } } diff --git a/core/java/android/printservice/CustomPrinterIconCallback.java b/core/java/android/printservice/CustomPrinterIconCallback.java new file mode 100644 index 000000000000..ea9ea8bf43f6 --- /dev/null +++ b/core/java/android/printservice/CustomPrinterIconCallback.java @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.printservice; + +import android.annotation.NonNull; +import android.annotation.Nullable; +import android.graphics.drawable.Icon; +import android.os.RemoteException; +import android.print.PrinterId; +import android.util.Log; + + +/** + * Callback for {@link PrinterDiscoverySession#onRequestCustomPrinterIcon}. + */ +public class CustomPrinterIconCallback { + /** The printer the call back is for */ + private final @NonNull PrinterId mPrinterId; + private final @NonNull IPrintServiceClient mObserver; + private static final String LOG_TAG = "CustomPrinterIconCallback"; + + /** + * Create a callback class to be used once a icon is loaded + * + * @param printerId The printer the icon should be loaded for + * @param observer The observer that needs to be notified about the update. + */ + CustomPrinterIconCallback(@NonNull PrinterId printerId, @NonNull IPrintServiceClient observer) { + mPrinterId = printerId; + mObserver = observer; + } + + /** + * Provide a new icon for a printer. Can be called more than once to update the icon. + * + * @param icon The new icon for the printer or null to unset the current icon + * @return true iff the icon could be updated + */ + public boolean onCustomPrinterIconLoaded(@Nullable Icon icon) { + try { + mObserver.onCustomPrinterIconLoaded(mPrinterId, icon); + } catch (RemoteException e) { + Log.e(LOG_TAG , "Could not update icon", e); + return false; + } + + return true; + } +} diff --git a/core/java/android/printservice/IPrintService.aidl b/core/java/android/printservice/IPrintService.aidl index ee3661937395..3750d7ae1a9f 100644 --- a/core/java/android/printservice/IPrintService.aidl +++ b/core/java/android/printservice/IPrintService.aidl @@ -10,7 +10,7 @@ * 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 languagÿe governing permissions and + * See the License for the specific language governing permissions and * limitations under the License. */ @@ -35,6 +35,15 @@ oneway interface IPrintService { void stopPrinterDiscovery(); void validatePrinters(in List<PrinterId> printerIds); void startPrinterStateTracking(in PrinterId printerId); + + /** + * Request the custom icon for a printer. + * + * @param printerId the id of the printer the icon should be loaded for + * @see android.print.PrinterInfo.Builder#setHasCustomPrinterIcon() + */ + void requestCustomPrinterIcon(in PrinterId printerId); + void stopPrinterStateTracking(in PrinterId printerId); void destroyPrinterDiscoverySession(); } diff --git a/core/java/android/printservice/IPrintServiceClient.aidl b/core/java/android/printservice/IPrintServiceClient.aidl index b4baa4851392..0ae1e180ec9e 100644 --- a/core/java/android/printservice/IPrintServiceClient.aidl +++ b/core/java/android/printservice/IPrintServiceClient.aidl @@ -16,6 +16,7 @@ package android.printservice; +import android.graphics.drawable.Icon; import android.os.ParcelFileDescriptor; import android.print.PrintJobInfo; import android.print.PrinterId; @@ -53,4 +54,13 @@ interface IPrintServiceClient { void onPrintersAdded(in ParceledListSlice printers); void onPrintersRemoved(in ParceledListSlice printerIds); + + /** + * Handle that a custom icon for a printer was loaded. + * + * @param printerId the id of the printer the icon belongs to + * @param icon the icon that was loaded + * @see android.print.PrinterInfo.Builder#setHasCustomPrinterIcon() + */ + void onCustomPrinterIconLoaded(in PrinterId printerId, in Icon icon); } diff --git a/core/java/android/printservice/PrintDocument.java b/core/java/android/printservice/PrintDocument.java index e43f2a836376..0121ae13e32f 100644 --- a/core/java/android/printservice/PrintDocument.java +++ b/core/java/android/printservice/PrintDocument.java @@ -16,6 +16,8 @@ package android.printservice; +import android.annotation.NonNull; +import android.annotation.Nullable; import android.os.ParcelFileDescriptor; import android.os.RemoteException; import android.print.PrintDocumentInfo; @@ -54,7 +56,7 @@ public final class PrintDocument { * * @return The document info. */ - public PrintDocumentInfo getInfo() { + public @NonNull PrintDocumentInfo getInfo() { PrintService.throwIfNotCalledOnMainThread(); return mInfo; } @@ -69,7 +71,7 @@ public final class PrintDocument { * * @return A file descriptor for reading the data. */ - public ParcelFileDescriptor getData() { + public @Nullable ParcelFileDescriptor getData() { PrintService.throwIfNotCalledOnMainThread(); ParcelFileDescriptor source = null; ParcelFileDescriptor sink = null; diff --git a/core/java/android/printservice/PrintJob.java b/core/java/android/printservice/PrintJob.java index 86fc292cb003..6414b6a2230c 100644 --- a/core/java/android/printservice/PrintJob.java +++ b/core/java/android/printservice/PrintJob.java @@ -344,7 +344,7 @@ public final class PrintJob { * @return True if the tag was set, false otherwise. */ @MainThread - public boolean setTag(String tag) { + public boolean setTag(@NonNull String tag) { PrintService.throwIfNotCalledOnMainThread(); if (isInImmutableState()) { return false; @@ -364,7 +364,8 @@ public final class PrintJob { * * @see #setTag(String) */ - public String getTag() { + @MainThread + public @Nullable String getTag() { PrintService.throwIfNotCalledOnMainThread(); return getInfo().getTag(); } diff --git a/core/java/android/printservice/PrintService.java b/core/java/android/printservice/PrintService.java index 6295822c7e4a..d0037b762560 100644 --- a/core/java/android/printservice/PrintService.java +++ b/core/java/android/printservice/PrintService.java @@ -16,6 +16,7 @@ package android.printservice; +import android.annotation.Nullable; import android.app.Service; import android.content.ComponentName; import android.content.Context; @@ -191,30 +192,29 @@ public abstract class PrintService extends Service { /** * If you declared an optional activity with advanced print options via the - * {@link android.R.attr#advancedPrintOptionsActivity advancedPrintOptionsActivity} - * attribute, this extra is used to pass in the currently constructed {@link - * PrintJobInfo} to your activity allowing you to modify it. After you are - * done, you must return the modified {@link PrintJobInfo} via the same extra. + * {@link android.R.attr#advancedPrintOptionsActivity advancedPrintOptionsActivity} attribute, + * this extra is used to pass in the currently constructed {@link PrintJobInfo} to your activity + * allowing you to modify it. After you are done, you must return the modified + * {@link PrintJobInfo} via the same extra. * <p> - * You cannot modify the passed in {@link PrintJobInfo} directly, rather you - * should build another one using the {@link PrintJobInfo.Builder} class. You - * can specify any standard properties and add advanced, printer specific, - * ones via {@link PrintJobInfo.Builder#putAdvancedOption(String, String) - * PrintJobInfo.Builder.putAdvancedOption(String, String)} and {@link - * PrintJobInfo.Builder#putAdvancedOption(String, int) - * PrintJobInfo.Builder.putAdvancedOption(String, int)}. The advanced options - * are not interpreted by the system, they will not be visible to applications, - * and can only be accessed by your print service via {@link - * PrintJob#getAdvancedStringOption(String) PrintJob.getAdvancedStringOption(String)} - * and {@link PrintJob#getAdvancedIntOption(String) PrintJob.getAdvancedIntOption(String)}. + * You cannot modify the passed in {@link PrintJobInfo} directly, rather you should build + * another one using the {@link android.print.PrintJobInfo.Builder PrintJobInfo.Builder} class. + * You can specify any standard properties and add advanced, printer specific, ones via + * {@link android.print.PrintJobInfo.Builder#putAdvancedOption(String, String) + * PrintJobInfo.Builder.putAdvancedOption(String, String)} and + * {@link android.print.PrintJobInfo.Builder#putAdvancedOption(String, int) + * PrintJobInfo.Builder.putAdvancedOption(String, int)}. The advanced options are not + * interpreted by the system, they will not be visible to applications, and can only be accessed + * by your print service via {@link PrintJob#getAdvancedStringOption(String) + * PrintJob.getAdvancedStringOption(String)} and {@link PrintJob#getAdvancedIntOption(String) + * PrintJob.getAdvancedIntOption(String)}. * </p> * <p> - * If the advanced print options activity offers changes to the standard print - * options, you can get the current {@link android.print.PrinterInfo} using the - * {@link #EXTRA_PRINTER_INFO} extra which will allow you to present the user - * with UI options supported by the current printer. For example, if the current - * printer does not support a given media size, you should not offer it in the - * advanced print options UI. + * If the advanced print options activity offers changes to the standard print options, you can + * get the current {@link android.print.PrinterInfo PrinterInfo} using the + * {@link #EXTRA_PRINTER_INFO} extra which will allow you to present the user with UI options + * supported by the current printer. For example, if the current printer does not support a + * given media size, you should not offer it in the advanced print options UI. * </p> * * @see #EXTRA_PRINTER_INFO @@ -275,9 +275,10 @@ public abstract class PrintService extends Service { /** * Callback asking you to create a new {@link PrinterDiscoverySession}. * + * @return The created session. * @see PrinterDiscoverySession */ - protected abstract PrinterDiscoverySession onCreatePrinterDiscoverySession(); + protected abstract @Nullable PrinterDiscoverySession onCreatePrinterDiscoverySession(); /** * Called when cancellation of a print job is requested. The service @@ -368,6 +369,7 @@ public abstract class PrintService extends Service { mHandler.sendEmptyMessage(ServiceHandler.MSG_DESTROY_PRINTER_DISCOVERY_SESSION); } + @Override public void startPrinterDiscovery(List<PrinterId> priorityList) { mHandler.obtainMessage(ServiceHandler.MSG_START_PRINTER_DISCOVERY, priorityList).sendToTarget(); @@ -391,6 +393,12 @@ public abstract class PrintService extends Service { } @Override + public void requestCustomPrinterIcon(PrinterId printerId) { + mHandler.obtainMessage(ServiceHandler.MSG_REQUEST_CUSTOM_PRINTER_ICON, + printerId).sendToTarget(); + } + + @Override public void stopPrinterStateTracking(PrinterId printerId) { mHandler.obtainMessage(ServiceHandler.MSG_STOP_PRINTER_STATE_TRACKING, printerId).sendToTarget(); @@ -423,10 +431,11 @@ public abstract class PrintService extends Service { public static final int MSG_STOP_PRINTER_DISCOVERY = 4; public static final int MSG_VALIDATE_PRINTERS = 5; public static final int MSG_START_PRINTER_STATE_TRACKING = 6; - public static final int MSG_STOP_PRINTER_STATE_TRACKING = 7; - public static final int MSG_ON_PRINTJOB_QUEUED = 8; - public static final int MSG_ON_REQUEST_CANCEL_PRINTJOB = 9; - public static final int MSG_SET_CLIENT = 10; + public static final int MSG_REQUEST_CUSTOM_PRINTER_ICON = 7; + public static final int MSG_STOP_PRINTER_STATE_TRACKING = 8; + public static final int MSG_ON_PRINTJOB_QUEUED = 9; + public static final int MSG_ON_REQUEST_CANCEL_PRINTJOB = 10; + public static final int MSG_SET_CLIENT = 11; public ServiceHandler(Looper looper) { super(looper, null, true); @@ -508,6 +517,17 @@ public abstract class PrintService extends Service { } } break; + case MSG_REQUEST_CUSTOM_PRINTER_ICON: { + if (DEBUG) { + Log.i(LOG_TAG, "MSG_REQUEST_CUSTOM_PRINTER_ICON " + + getPackageName()); + } + if (mDiscoverySession != null) { + PrinterId printerId = (PrinterId) message.obj; + mDiscoverySession.requestCustomPrinterIcon(printerId); + } + } break; + case MSG_STOP_PRINTER_STATE_TRACKING: { if (DEBUG) { Log.i(LOG_TAG, "MSG_STOP_PRINTER_STATE_TRACKING " diff --git a/core/java/android/printservice/PrintServiceInfo.java b/core/java/android/printservice/PrintServiceInfo.java index a2c6c09e4932..b33ef8304556 100644 --- a/core/java/android/printservice/PrintServiceInfo.java +++ b/core/java/android/printservice/PrintServiceInfo.java @@ -98,8 +98,7 @@ public final class PrintServiceInfo implements Parcelable { * * @param resolveInfo The service resolve info. * @param context Context for accessing resources. - * @throws XmlPullParserException If a XML parsing error occurs. - * @throws IOException If a I/O error occurs. + * @return The created instance. */ public static PrintServiceInfo create(ResolveInfo resolveInfo, Context context) { String settingsActivityName = null; @@ -220,10 +219,12 @@ public final class PrintServiceInfo implements Parcelable { /** * {@inheritDoc} */ + @Override public int describeContents() { return 0; } + @Override public void writeToParcel(Parcel parcel, int flagz) { parcel.writeString(mId); parcel.writeParcelable(mResolveInfo, 0); @@ -275,10 +276,12 @@ public final class PrintServiceInfo implements Parcelable { public static final Parcelable.Creator<PrintServiceInfo> CREATOR = new Parcelable.Creator<PrintServiceInfo>() { + @Override public PrintServiceInfo createFromParcel(Parcel parcel) { return new PrintServiceInfo(parcel); } + @Override public PrintServiceInfo[] newArray(int size) { return new PrintServiceInfo[size]; } diff --git a/core/java/android/printservice/PrinterDiscoverySession.java b/core/java/android/printservice/PrinterDiscoverySession.java index 17cb68f1cfcc..cd5a903c4e69 100644 --- a/core/java/android/printservice/PrinterDiscoverySession.java +++ b/core/java/android/printservice/PrinterDiscoverySession.java @@ -16,6 +16,7 @@ package android.printservice; +import android.annotation.NonNull; import android.content.pm.ParceledListSlice; import android.os.RemoteException; import android.print.PrinterCapabilitiesInfo; @@ -138,7 +139,7 @@ public abstract class PrinterDiscoverySession { * @see #removePrinters(List) * @see #isDestroyed() */ - public final List<PrinterInfo> getPrinters() { + public final @NonNull List<PrinterInfo> getPrinters() { PrintService.throwIfNotCalledOnMainThread(); if (mIsDestroyed) { return Collections.emptyList(); @@ -161,7 +162,7 @@ public abstract class PrinterDiscoverySession { * @see #getPrinters() * @see #isDestroyed() */ - public final void addPrinters(List<PrinterInfo> printers) { + public final void addPrinters(@NonNull List<PrinterInfo> printers) { PrintService.throwIfNotCalledOnMainThread(); // If the session is destroyed - nothing do to. @@ -225,7 +226,7 @@ public abstract class PrinterDiscoverySession { * @see #getPrinters() * @see #isDestroyed() */ - public final void removePrinters(List<PrinterId> printerIds) { + public final void removePrinters(@NonNull List<PrinterId> printerIds) { PrintService.throwIfNotCalledOnMainThread(); // If the session is destroyed - nothing do to. @@ -350,7 +351,7 @@ public abstract class PrinterDiscoverySession { * @see #removePrinters(List) * @see #isPrinterDiscoveryStarted() */ - public abstract void onStartPrinterDiscovery(List<PrinterId> priorityList); + public abstract void onStartPrinterDiscovery(@NonNull List<PrinterId> priorityList); /** * Callback notifying you that you should stop printer discovery. @@ -372,10 +373,10 @@ public abstract class PrinterDiscoverySession { * * @param printerIds The printers to validate. * - * @see PrinterInfo.Builder#setCapabilities(PrinterCapabilitiesInfo) + * @see android.print.PrinterInfo.Builder#setCapabilities(PrinterCapabilitiesInfo) * PrinterInfo.Builder.setCapabilities(PrinterCapabilitiesInfo) */ - public abstract void onValidatePrinters(List<PrinterId> printerIds); + public abstract void onValidatePrinters(@NonNull List<PrinterId> printerIds); /** * Callback asking you to start tracking the state of a printer. Tracking @@ -400,10 +401,24 @@ public abstract class PrinterDiscoverySession { * @param printerId The printer to start tracking. * * @see #onStopPrinterStateTracking(PrinterId) - * @see PrinterInfo.Builder#setCapabilities(PrinterCapabilitiesInfo) + * @see android.print.PrinterInfo.Builder#setCapabilities(PrinterCapabilitiesInfo) * PrinterInfo.Builder.setCapabilities(PrinterCapabilitiesInfo) */ - public abstract void onStartPrinterStateTracking(PrinterId printerId); + public abstract void onStartPrinterStateTracking(@NonNull PrinterId printerId); + + /** + * Request the custom icon for a printer. Once the icon is available use + * {@link CustomPrinterIconCallback#onCustomPrinterIconLoaded} to send the data to the print + * service. + * + * @param printerId The printer to icon belongs to. + * @param callback Callback for returning the icon to the print spooler. + * + * @see android.print.PrinterInfo.Builder#setHasCustomPrinterIcon() + */ + public void onRequestCustomPrinterIcon(@NonNull PrinterId printerId, + @NonNull CustomPrinterIconCallback callback) { + } /** * Callback asking you to stop tracking the state of a printer. The passed @@ -414,7 +429,7 @@ public abstract class PrinterDiscoverySession { * * @see #onStartPrinterStateTracking(PrinterId) */ - public abstract void onStopPrinterStateTracking(PrinterId printerId); + public abstract void onStopPrinterStateTracking(@NonNull PrinterId printerId); /** * Gets the printers that should be tracked. These are printers that are @@ -434,7 +449,7 @@ public abstract class PrinterDiscoverySession { * @see #onStopPrinterStateTracking(PrinterId) * @see #isDestroyed() */ - public final List<PrinterId> getTrackedPrinters() { + public final @NonNull List<PrinterId> getTrackedPrinters() { PrintService.throwIfNotCalledOnMainThread(); if (mIsDestroyed) { return Collections.emptyList(); @@ -476,7 +491,7 @@ public abstract class PrinterDiscoverySession { return mIsDiscoveryStarted; } - void startPrinterDiscovery(List<PrinterId> priorityList) { + void startPrinterDiscovery(@NonNull List<PrinterId> priorityList) { if (!mIsDestroyed) { mIsDiscoveryStarted = true; sendOutOfDiscoveryPeriodPrinterChanges(); @@ -494,13 +509,13 @@ public abstract class PrinterDiscoverySession { } } - void validatePrinters(List<PrinterId> printerIds) { + void validatePrinters(@NonNull List<PrinterId> printerIds) { if (!mIsDestroyed && mObserver != null) { onValidatePrinters(printerIds); } } - void startPrinterStateTracking(PrinterId printerId) { + void startPrinterStateTracking(@NonNull PrinterId printerId) { if (!mIsDestroyed && mObserver != null && !mTrackedPrinters.contains(printerId)) { mTrackedPrinters.add(printerId); @@ -508,7 +523,21 @@ public abstract class PrinterDiscoverySession { } } - void stopPrinterStateTracking(PrinterId printerId) { + /** + * Request the custom icon for a printer. + * + * @param printerId The printer to icon belongs to. + * @see android.print.PrinterInfo.Builder#setHasCustomPrinterIcon() + */ + void requestCustomPrinterIcon(@NonNull PrinterId printerId) { + if (!mIsDestroyed && mObserver != null) { + CustomPrinterIconCallback callback = new CustomPrinterIconCallback(printerId, + mObserver); + onRequestCustomPrinterIcon(printerId, callback); + } + } + + void stopPrinterStateTracking(@NonNull PrinterId printerId) { if (!mIsDestroyed && mObserver != null && mTrackedPrinters.remove(printerId)) { onStopPrinterStateTracking(printerId); diff --git a/core/java/android/util/PathParser.java b/core/java/android/util/PathParser.java index f17a16c066f0..78d5bcd90624 100644 --- a/core/java/android/util/PathParser.java +++ b/core/java/android/util/PathParser.java @@ -82,6 +82,10 @@ public class PathParser { } } + public long getNativePtr() { + return mNativePathData; + } + /** * Update the path data to match the source. * Before calling this, make sure canMorph(target, source) is true. diff --git a/core/java/android/view/DragEvent.java b/core/java/android/view/DragEvent.java index 5903d4a7c444..71db0b51b0bf 100644 --- a/core/java/android/view/DragEvent.java +++ b/core/java/android/view/DragEvent.java @@ -364,20 +364,9 @@ public class DragEvent implements Parcelable { return mClipDescription; } - /** - * Requests the permissions for the content URIs contained in {@link android.content.ClipData} - * object associated with this event. Which permissions will be granted is defined by the set of - * flags passed to {@link View#startDragAndDrop(ClipData, View.DragShadowBuilder, Object, int)}. - * Returns the {@link DropPermissions} object that can be used by the receiving app to release - * the permissions for the content URIs when they are no longer needed. - * This method only returns valid data if the event action is {@link #ACTION_DROP}. - * @return The DropPermissions object used to control access to the content URIs. - */ - public DropPermissions requestDropPermissions() { - if (mDropPermissions == null) { - return null; - } - return new DropPermissions(mDropPermissions); + /** @hide */ + public IDropPermissions getDropPermissions() { + return mDropPermissions; } /** diff --git a/core/java/android/view/DropPermissions.java b/core/java/android/view/DropPermissions.java index 780461fe69a3..8c948a9ab4ae 100644 --- a/core/java/android/view/DropPermissions.java +++ b/core/java/android/view/DropPermissions.java @@ -16,11 +16,27 @@ package android.view; +import android.os.IBinder; import android.os.RemoteException; import com.android.internal.view.IDropPermissions; import dalvik.system.CloseGuard; +/** + * {@link DropPermissions} controls the access permissions for the content URIs associated with a + * {@link DragEvent}. + * <p> + * Permission are granted when this object is created by {@link + * android.app.Activity#requestDropPermissions(DragEvent) Activity.requestDropPermissions}. + * Which permissions are granted is defined by the set of flags passed to {@link + * View#startDragAndDrop(android.content.ClipData, View.DragShadowBuilder, Object, int) + * View.startDragAndDrop} by the app that started the drag operation. + * <p> + * The life cycle of the permissions is bound to the activity used to call {@link + * android.app.Activity#requestDropPermissions(DragEvent) requestDropPermissions}. The + * permissions are revoked when this activity is destroyed, or when {@link #release()} is called, + * whichever occurs first. + */ public final class DropPermissions { private final IDropPermissions mDropPermissions; @@ -28,21 +44,43 @@ public final class DropPermissions { private final CloseGuard mCloseGuard = CloseGuard.get(); /** - * Create a new DropPermissions object to be passed to the client with a DragEvent. - * + * Create a new {@link DropPermissions} object to control the access permissions for content + * URIs associated with {@link DragEvent}. + * @param dragEvent Drag event + * @return {@link DropPermissions} object or null if there are no content URIs associated with + * the {@link DragEvent}. * @hide */ - DropPermissions(IDropPermissions dropPermissions) { + public static DropPermissions obtain(DragEvent dragEvent) { + if (dragEvent.getDropPermissions() == null) { + return null; + } + return new DropPermissions(dragEvent.getDropPermissions()); + } + + /** @hide */ + private DropPermissions(IDropPermissions dropPermissions) { mDropPermissions = dropPermissions; + } + + /** + * Take the permissions and bind their lifetime to the activity. + * @param activityToken Binder pointing to an Activity instance to bind the lifetime to. + * @return True if permissions are successfully taken. + * @hide + */ + public boolean take(IBinder activityToken) { try { - mDropPermissions.take(); + mDropPermissions.take(activityToken); } catch (RemoteException e) { + return false; } mCloseGuard.open("release"); + return true; } /** - * Revoke permissions taken by {@link DragEvent#requestDropPermissions()}. + * Revoke permissions explicitly. */ public void release() { try { diff --git a/core/java/android/view/Surface.java b/core/java/android/view/Surface.java index 394660fb538b..ef50fdc5eb4f 100644 --- a/core/java/android/view/Surface.java +++ b/core/java/android/view/Surface.java @@ -57,6 +57,7 @@ public class Surface implements Parcelable { private static native int nativeGetHeight(long nativeObject); private static native long nativeGetNextFrameNumber(long nativeObject); + private static native int nativeSetScalingMode(long nativeObject, int scalingMode); public static final Parcelable.Creator<Surface> CREATOR = new Parcelable.Creator<Surface>() { @@ -95,6 +96,21 @@ public class Surface implements Parcelable { private HwuiContext mHwuiContext; /** @hide */ + @Retention(RetentionPolicy.SOURCE) + @IntDef({SCALING_MODE_FREEZE, SCALING_MODE_SCALE_TO_WINDOW, + SCALING_MODE_SCALE_CROP, SCALING_MODE_NO_SCALE_CROP}) + public @interface ScalingMode {} + // From system/window.h + /** @hide */ + static final int SCALING_MODE_FREEZE = 0; + /** @hide */ + static final int SCALING_MODE_SCALE_TO_WINDOW = 1; + /** @hide */ + static final int SCALING_MODE_SCALE_CROP = 2; + /** @hide */ + static final int SCALING_MODE_NO_SCALE_CROP = 3; + + /** @hide */ @IntDef({ROTATION_0, ROTATION_90, ROTATION_180, ROTATION_270}) @Retention(RetentionPolicy.SOURCE) public @interface Rotation {} @@ -500,6 +516,20 @@ public class Surface implements Parcelable { } /** + * Set the scaling mode to be used for this surfaces buffers + * @hide + */ + void setScalingMode(@ScalingMode int scalingMode) { + synchronized (mLock) { + checkNotReleasedLocked(); + int err = nativeSetScalingMode(mNativeObject, scalingMode); + if (err != 0) { + throw new IllegalArgumentException("Invalid scaling mode: " + scalingMode); + } + } + } + + /** * Exception thrown when a Canvas couldn't be locked with {@link Surface#lockCanvas}, or * when a SurfaceTexture could not successfully be allocated. */ diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java index 589c0dc85b68..f4fa98029be7 100644 --- a/core/java/android/view/SurfaceView.java +++ b/core/java/android/view/SurfaceView.java @@ -578,8 +578,19 @@ public class SurfaceView extends View { } mSurface.transferFrom(mNewSurface); - if (visible && mSurface.isValid()) { + // We set SCALING_MODE_NO_SCALE_CROP to allow the WindowManager + // to update our Surface crop without requiring a new buffer from + // us. In the default mode of SCALING_MODE_FREEZE, surface geometry + // state (which includes crop) is only applied when a buffer + // with appropriate geometry is available. During drag resize + // it is quite frequent that a matching buffer will not be available + // (because we are constantly being resized and have fallen behind). + // However in such situations the WindowManager still needs to be able + // to update our crop to ensure we stay within the bounds of the containing + // window. + mSurface.setScalingMode(Surface.SCALING_MODE_NO_SCALE_CROP); + if (!mSurfaceCreated && (surfaceChanged || visibleChanged)) { mSurfaceCreated = true; mIsCreating = true; diff --git a/core/java/com/android/internal/app/LocalePicker.java b/core/java/com/android/internal/app/LocalePicker.java index 4efefa943947..6a365e0a6927 100644 --- a/core/java/com/android/internal/app/LocalePicker.java +++ b/core/java/com/android/internal/app/LocalePicker.java @@ -28,6 +28,7 @@ import android.content.res.Resources; import android.os.Bundle; import android.os.RemoteException; import android.provider.Settings; +import android.util.LocaleList; import android.util.Log; import android.view.LayoutInflater; import android.view.View; @@ -45,6 +46,7 @@ import java.util.ArrayList; public class LocalePicker extends ListFragment { private static final String TAG = "LocalePicker"; private static final boolean DEBUG = false; + private static final String[] pseudoLocales = { "en-XA", "ar-XB" }; public static interface LocaleSelectionListener { // You can add any argument if you really need it... @@ -57,7 +59,7 @@ public class LocalePicker extends ListFragment { static final Collator sCollator = Collator.getInstance(); String label; - Locale locale; + final Locale locale; public LocaleInfo(String label, Locale locale) { this.label = label; @@ -83,17 +85,30 @@ public class LocalePicker extends ListFragment { } } + public static String[] getSystemAssetLocales() { + return Resources.getSystem().getAssets().getLocales(); + } + + public static String[] getSupportedLocales(Context context) { + return context.getResources().getStringArray(R.array.supported_locales); + } + + public static String[] getPseudoLocales() { + return pseudoLocales; + } + public static List<LocaleInfo> getAllAssetLocales(Context context, boolean isInDeveloperMode) { final Resources resources = context.getResources(); - final String[] locales = Resources.getSystem().getAssets().getLocales(); + final String[] locales = getSystemAssetLocales(); List<String> localeList = new ArrayList<String>(locales.length); Collections.addAll(localeList, locales); // Don't show the pseudolocales unless we're in developer mode. http://b/17190407. if (!isInDeveloperMode) { - localeList.remove("ar-XB"); - localeList.remove("en-XA"); + for (String locale : pseudoLocales) { + localeList.remove(locale); + } } Collections.sort(localeList); @@ -240,13 +255,24 @@ public class LocalePicker extends ListFragment { /** * Requests the system to update the system locale. Note that the system looks halted * for a while during the Locale migration, so the caller need to take care of it. + * + * @see #updateLocales(LocaleList) */ public static void updateLocale(Locale locale) { + updateLocales(new LocaleList(locale)); + } + + /** + * Requests the system to update the list of system locales. + * Note that the system looks halted for a while during the Locale migration, + * so the caller need to take care of it. + */ + public static void updateLocales(LocaleList locales) { try { - IActivityManager am = ActivityManagerNative.getDefault(); - Configuration config = am.getConfiguration(); + final IActivityManager am = ActivityManagerNative.getDefault(); + final Configuration config = am.getConfiguration(); - config.setLocale(locale); + config.setLocales(locales); config.userSetLocale = true; am.updateConfiguration(config); @@ -256,4 +282,19 @@ public class LocalePicker extends ListFragment { // Intentionally left blank } } + + /** + * Get the locale list. + * + * @return The locale list. + */ + public static LocaleList getLocales() { + try { + return ActivityManagerNative.getDefault() + .getConfiguration().getLocales(); + } catch (RemoteException e) { + // If something went wrong + return LocaleList.getDefault(); + } + } } diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java index 8e318a22750e..4a1f7f490a6d 100644 --- a/core/java/com/android/internal/os/ZygoteInit.java +++ b/core/java/com/android/internal/os/ZygoteInit.java @@ -534,7 +534,7 @@ public class ZygoteInit { String args[] = { "--setuid=1000", "--setgid=1000", - "--setgroups=1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1018,1021,1032,3001,3002,3003,3006,3007,3009", + "--setgroups=1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1018,1021,1032,3001,3002,3003,3006,3007,3009,3010", "--capabilities=" + capabilities + "," + capabilities, "--nice-name=system_server", "--runtime-args", diff --git a/core/java/com/android/internal/policy/PhoneWindow.java b/core/java/com/android/internal/policy/PhoneWindow.java index 2d8bfd4e73d9..fafe3d1a7506 100644 --- a/core/java/com/android/internal/policy/PhoneWindow.java +++ b/core/java/com/android/internal/policy/PhoneWindow.java @@ -274,6 +274,8 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { private int mDecorCaptionShade = DECOR_CAPTION_SHADE_AUTO; + private boolean mUseDecorContext = false; + static class WindowManagerHolder { static final IWindowManager sWindowManager = IWindowManager.Stub.asInterface( ServiceManager.getService("window")); @@ -286,8 +288,14 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { mLayoutInflater = LayoutInflater.from(context); } + /** + * Constructor for main window of an activity. + */ public PhoneWindow(Context context, Window preservedWindow) { this(context); + // Only main activity windows use decor context, all the other windows depend on whatever + // context that was given to them. + mUseDecorContext = true; if (preservedWindow != null) { mDecor = (DecorView) preservedWindow.getDecorView(); mElevation = preservedWindow.getElevation(); @@ -2259,15 +2267,19 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { // System process doesn't have application context and in that case we need to directly use // the context we have. Otherwise we want the application context, so we don't cling to the // activity. - Context applicationContext = getContext().getApplicationContext(); Context context; - if (applicationContext == null) { - context = getContext(); - } else { - context = new DecorContext(applicationContext); - if (mTheme != -1) { - context.setTheme(mTheme); + if (mUseDecorContext) { + Context applicationContext = getContext().getApplicationContext(); + if (applicationContext == null) { + context = getContext(); + } else { + context = new DecorContext(applicationContext); + if (mTheme != -1) { + context.setTheme(mTheme); + } } + } else { + context = getContext(); } return new DecorView(context, featureId, this); } diff --git a/core/java/com/android/internal/view/IDropPermissions.aidl b/core/java/com/android/internal/view/IDropPermissions.aidl index 86d27e7c6f1f..2438bdaed135 100644 --- a/core/java/com/android/internal/view/IDropPermissions.aidl +++ b/core/java/com/android/internal/view/IDropPermissions.aidl @@ -16,11 +16,13 @@ package com.android.internal.view; +import android.os.IBinder; + /** * Interface to allow a drop receiver to request permissions for URIs passed along with ClipData * contained in DragEvent. */ interface IDropPermissions { - void take(); + void take(IBinder activityToken); void release(); } diff --git a/core/jni/Android.mk b/core/jni/Android.mk index bc3ac5ff426b..30593f2eb67e 100644 --- a/core/jni/Android.mk +++ b/core/jni/Android.mk @@ -49,6 +49,7 @@ LOCAL_SRC_FILES:= \ android_database_SQLiteConnection.cpp \ android_database_SQLiteGlobal.cpp \ android_database_SQLiteDebug.cpp \ + android_graphics_drawable_VectorDrawable.cpp \ android_view_DisplayEventReceiver.cpp \ android_view_DisplayListCanvas.cpp \ android_view_GraphicBuffer.cpp \ diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp index c44a62c08020..63f193d57419 100644 --- a/core/jni/AndroidRuntime.cpp +++ b/core/jni/AndroidRuntime.cpp @@ -130,6 +130,7 @@ extern int register_android_graphics_Rasterizer(JNIEnv* env); extern int register_android_graphics_Region(JNIEnv* env); extern int register_android_graphics_SurfaceTexture(JNIEnv* env); extern int register_android_graphics_Xfermode(JNIEnv* env); +extern int register_android_graphics_drawable_VectorDrawable(JNIEnv* env); extern int register_android_graphics_pdf_PdfDocument(JNIEnv* env); extern int register_android_graphics_pdf_PdfEditor(JNIEnv* env); extern int register_android_graphics_pdf_PdfRenderer(JNIEnv* env); @@ -1312,6 +1313,7 @@ static const RegJNIRec gRegJNI[] = { REG_JNI(register_android_graphics_Typeface), REG_JNI(register_android_graphics_Xfermode), REG_JNI(register_android_graphics_YuvImage), + REG_JNI(register_android_graphics_drawable_VectorDrawable), REG_JNI(register_android_graphics_pdf_PdfDocument), REG_JNI(register_android_graphics_pdf_PdfEditor), REG_JNI(register_android_graphics_pdf_PdfRenderer), diff --git a/core/jni/android_graphics_drawable_VectorDrawable.cpp b/core/jni/android_graphics_drawable_VectorDrawable.cpp new file mode 100644 index 000000000000..53d4c6a1cb78 --- /dev/null +++ b/core/jni/android_graphics_drawable_VectorDrawable.cpp @@ -0,0 +1,386 @@ +/* + * Copyright (C) 2015 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. + */ + +#include "jni.h" +#include "GraphicsJNI.h" +#include "core_jni_helpers.h" +#include "log/log.h" + +#include "Paint.h" +#include "VectorDrawable.h" + +namespace android { +using namespace uirenderer; +using namespace uirenderer::VectorDrawable; + +static jlong createTree(JNIEnv*, jobject, jlong groupPtr) { + VectorDrawable::Group* rootGroup = reinterpret_cast<VectorDrawable::Group*>(groupPtr); + VectorDrawable::Tree* tree = new VectorDrawable::Tree(rootGroup); + return reinterpret_cast<jlong>(tree); +} + +static void deleteTree(JNIEnv*, jobject, jlong treePtr) { + VectorDrawable::Tree* tree = reinterpret_cast<VectorDrawable::Tree*>(treePtr); + delete tree; +} + +static void setTreeViewportSize(JNIEnv*, jobject, jlong treePtr, + jfloat viewportWidth, jfloat viewportHeight) { + VectorDrawable::Tree* tree = reinterpret_cast<VectorDrawable::Tree*>(treePtr); + tree->setViewportSize(viewportWidth, viewportHeight); +} + +static jboolean setRootAlpha(JNIEnv*, jobject, jlong treePtr, jfloat alpha) { + VectorDrawable::Tree* tree = reinterpret_cast<VectorDrawable::Tree*>(treePtr); + return tree->setRootAlpha(alpha); +} + +static jfloat getRootAlpha(JNIEnv*, jobject, jlong treePtr) { + VectorDrawable::Tree* tree = reinterpret_cast<VectorDrawable::Tree*>(treePtr); + return tree->getRootAlpha(); +} + +static void setAllowCaching(JNIEnv*, jobject, jlong treePtr, jboolean allowCaching) { + VectorDrawable::Tree* tree = reinterpret_cast<VectorDrawable::Tree*>(treePtr); + tree->setAllowCaching(allowCaching); +} + +static void draw(JNIEnv* env, jobject, jlong treePtr, jlong canvasPtr, + jlong colorFilterPtr, jobject jrect, jboolean needsMirroring, jboolean canReuseCache) { + VectorDrawable::Tree* tree = reinterpret_cast<VectorDrawable::Tree*>(treePtr); + Canvas* canvas = reinterpret_cast<Canvas*>(canvasPtr); + SkRect rect; + GraphicsJNI::jrect_to_rect(env, jrect, &rect); + SkColorFilter* colorFilter = reinterpret_cast<SkColorFilter*>(colorFilterPtr); + tree->draw(canvas, colorFilter, rect, needsMirroring, canReuseCache); +} + +static jlong createEmptyFullPath(JNIEnv*, jobject) { + VectorDrawable::FullPath* newPath = new VectorDrawable::FullPath(); + return reinterpret_cast<jlong>(newPath); +} + +static jlong createFullPath(JNIEnv*, jobject, jlong srcFullPathPtr) { + VectorDrawable::FullPath* srcFullPath = + reinterpret_cast<VectorDrawable::FullPath*>(srcFullPathPtr); + VectorDrawable::FullPath* newPath = new VectorDrawable::FullPath(*srcFullPath); + return reinterpret_cast<jlong>(newPath); +} + +static void updateFullPathPropertiesAndStrokeStyles(JNIEnv*, jobject, jlong fullPathPtr, + jfloat strokeWidth, jint strokeColor, jfloat strokeAlpha, jint fillColor, jfloat fillAlpha, + jfloat trimPathStart, jfloat trimPathEnd, jfloat trimPathOffset, jfloat strokeMiterLimit, + jint strokeLineCap, jint strokeLineJoin) { + VectorDrawable::FullPath* fullPath = reinterpret_cast<VectorDrawable::FullPath*>(fullPathPtr); + fullPath->updateProperties(strokeWidth, strokeColor, strokeAlpha, fillColor, fillAlpha, + trimPathStart, trimPathEnd, trimPathOffset, strokeMiterLimit, strokeLineCap, + strokeLineJoin); +} + +static jboolean getFullPathProperties(JNIEnv* env, jobject, jlong fullPathPtr, + jbyteArray outProperties, jint length) { + VectorDrawable::FullPath* fullPath = reinterpret_cast<VectorDrawable::FullPath*>(fullPathPtr); + int8_t pathProperties[length]; + bool success = fullPath->getProperties(pathProperties, length); + env->SetByteArrayRegion(outProperties, 0, length, reinterpret_cast<int8_t*>(&pathProperties)); + return success; +} + +static jboolean getGroupProperties(JNIEnv* env, jobject, jlong groupPtr, + jfloatArray outProperties, jint length) { + VectorDrawable::Group* group = reinterpret_cast<VectorDrawable::Group*>(groupPtr); + float groupProperties[length]; + bool success = group->getProperties(groupProperties, length); + env->SetFloatArrayRegion(outProperties, 0, length, reinterpret_cast<float*>(&groupProperties)); + return success; +} + +static jlong createEmptyClipPath(JNIEnv*, jobject) { + VectorDrawable::ClipPath* newPath = new VectorDrawable::ClipPath(); + return reinterpret_cast<jlong>(newPath); +} + +static jlong createClipPath(JNIEnv*, jobject, jlong srcClipPathPtr) { + VectorDrawable::ClipPath* srcClipPath = + reinterpret_cast<VectorDrawable::ClipPath*>(srcClipPathPtr); + VectorDrawable::ClipPath* newPath = new VectorDrawable::ClipPath(*srcClipPath); + return reinterpret_cast<jlong>(newPath); +} + +static jlong createEmptyGroup(JNIEnv*, jobject) { + VectorDrawable::Group* newGroup = new VectorDrawable::Group(); + return reinterpret_cast<jlong>(newGroup); +} + +static jlong createGroup(JNIEnv*, jobject, jlong srcGroupPtr) { + VectorDrawable::Group* srcGroup = reinterpret_cast<VectorDrawable::Group*>(srcGroupPtr); + VectorDrawable::Group* newGroup = new VectorDrawable::Group(*srcGroup); + return reinterpret_cast<jlong>(newGroup); +} + +static void deleteNode(JNIEnv*, jobject, jlong nodePtr) { + VectorDrawable::Node* node = reinterpret_cast<VectorDrawable::Node*>(nodePtr); + delete node; +} + +static void setNodeName(JNIEnv* env, jobject, jlong nodePtr, jstring nameStr) { + VectorDrawable::Node* node = reinterpret_cast<VectorDrawable::Node*>(nodePtr); + const char* nodeName = env->GetStringUTFChars(nameStr, NULL); + node->setName(nodeName); + env->ReleaseStringUTFChars(nameStr, nodeName); +} + +static void updateGroupProperties(JNIEnv*, jobject, jlong groupPtr, jfloat rotate, jfloat pivotX, + jfloat pivotY, jfloat scaleX, jfloat scaleY, jfloat translateX, jfloat translateY) { + VectorDrawable::Group* group = reinterpret_cast<VectorDrawable::Group*>(groupPtr); + group->updateLocalMatrix(rotate, pivotX, pivotY, scaleX, scaleY, translateX, translateY); +} + +static void addChild(JNIEnv*, jobject, jlong groupPtr, jlong childPtr) { + VectorDrawable::Group* group = reinterpret_cast<VectorDrawable::Group*>(groupPtr); + VectorDrawable::Node* child = reinterpret_cast<VectorDrawable::Node*>(childPtr); + group->addChild(child); +} + +static void setPathString(JNIEnv* env, jobject, jlong pathPtr, jstring inputStr, + jint stringLength) { + VectorDrawable::Path* path = reinterpret_cast<VectorDrawable::Path*>(pathPtr); + const char* pathString = env->GetStringUTFChars(inputStr, NULL); + path->setPath(pathString, stringLength); + env->ReleaseStringUTFChars(inputStr, pathString); +} + +static jfloat getRotation(JNIEnv*, jobject, jlong groupPtr) { + VectorDrawable::Group* group = reinterpret_cast<VectorDrawable::Group*>(groupPtr); + return group->getRotation(); +} + +static void setRotation(JNIEnv*, jobject, jlong groupPtr, jfloat rotation) { + VectorDrawable::Group* group = reinterpret_cast<VectorDrawable::Group*>(groupPtr); + group->setRotation(rotation); +} + +static jfloat getPivotX(JNIEnv*, jobject, jlong groupPtr) { + VectorDrawable::Group* group = reinterpret_cast<VectorDrawable::Group*>(groupPtr); + return group->getPivotX(); +} + +static void setPivotX(JNIEnv*, jobject, jlong groupPtr, jfloat pivotX) { + VectorDrawable::Group* group = reinterpret_cast<VectorDrawable::Group*>(groupPtr); + group->setPivotX(pivotX); +} + +static jfloat getPivotY(JNIEnv*, jobject, jlong groupPtr) { + VectorDrawable::Group* group = reinterpret_cast<VectorDrawable::Group*>(groupPtr); + return group->getPivotY(); +} + +static void setPivotY(JNIEnv*, jobject, jlong groupPtr, jfloat pivotY) { + VectorDrawable::Group* group = reinterpret_cast<VectorDrawable::Group*>(groupPtr); + group->setPivotY(pivotY); +} + +static jfloat getScaleX(JNIEnv*, jobject, jlong groupPtr) { + VectorDrawable::Group* group = reinterpret_cast<VectorDrawable::Group*>(groupPtr); + return group->getScaleX(); +} + +static void setScaleX(JNIEnv*, jobject, jlong groupPtr, jfloat scaleX) { + VectorDrawable::Group* group = reinterpret_cast<VectorDrawable::Group*>(groupPtr); + group->setScaleX(scaleX); +} + +static jfloat getScaleY(JNIEnv*, jobject, jlong groupPtr) { + VectorDrawable::Group* group = reinterpret_cast<VectorDrawable::Group*>(groupPtr); + return group->getScaleY(); +} + +static void setScaleY(JNIEnv*, jobject, jlong groupPtr, jfloat scaleY) { + VectorDrawable::Group* group = reinterpret_cast<VectorDrawable::Group*>(groupPtr); + group->setScaleY(scaleY); +} + +static jfloat getTranslateX(JNIEnv*, jobject, jlong groupPtr) { + VectorDrawable::Group* group = reinterpret_cast<VectorDrawable::Group*>(groupPtr); + return group->getTranslateX(); +} + +static void setTranslateX(JNIEnv*, jobject, jlong groupPtr, jfloat translateX) { + VectorDrawable::Group* group = reinterpret_cast<VectorDrawable::Group*>(groupPtr); + group->setTranslateX(translateX); +} + +static jfloat getTranslateY(JNIEnv*, jobject, jlong groupPtr) { + VectorDrawable::Group* group = reinterpret_cast<VectorDrawable::Group*>(groupPtr); + return group->getTranslateY(); +} + +static void setTranslateY(JNIEnv*, jobject, jlong groupPtr, jfloat translateY) { + VectorDrawable::Group* group = reinterpret_cast<VectorDrawable::Group*>(groupPtr); + group->setTranslateY(translateY); +} + +static void setPathData(JNIEnv*, jobject, jlong pathPtr, jlong pathDataPtr) { + VectorDrawable::Path* path = reinterpret_cast<VectorDrawable::Path*>(pathPtr); + PathData* pathData = reinterpret_cast<PathData*>(pathDataPtr); + path->setPathData(*pathData); +} + +static jfloat getStrokeWidth(JNIEnv*, jobject, jlong fullPathPtr) { + VectorDrawable::FullPath* fullPath = reinterpret_cast<VectorDrawable::FullPath*>(fullPathPtr); + return fullPath->getStrokeWidth(); +} + +static void setStrokeWidth(JNIEnv*, jobject, jlong fullPathPtr, jfloat strokeWidth) { + VectorDrawable::FullPath* fullPath = reinterpret_cast<VectorDrawable::FullPath*>(fullPathPtr); + fullPath->setStrokeWidth(strokeWidth); +} + +static jint getStrokeColor(JNIEnv*, jobject, jlong fullPathPtr) { + VectorDrawable::FullPath* fullPath = reinterpret_cast<VectorDrawable::FullPath*>(fullPathPtr); + return fullPath->getStrokeColor(); +} + +static void setStrokeColor(JNIEnv*, jobject, jlong fullPathPtr, jint strokeColor) { + VectorDrawable::FullPath* fullPath = reinterpret_cast<VectorDrawable::FullPath*>(fullPathPtr); + fullPath->setStrokeColor(strokeColor); +} + +static jfloat getStrokeAlpha(JNIEnv*, jobject, jlong fullPathPtr) { + VectorDrawable::FullPath* fullPath = reinterpret_cast<VectorDrawable::FullPath*>(fullPathPtr); + return fullPath->getStrokeAlpha(); +} + +static void setStrokeAlpha(JNIEnv*, jobject, jlong fullPathPtr, jfloat strokeAlpha) { + VectorDrawable::FullPath* fullPath = reinterpret_cast<VectorDrawable::FullPath*>(fullPathPtr); + fullPath->setStrokeAlpha(strokeAlpha); +} + +static jint getFillColor(JNIEnv*, jobject, jlong fullPathPtr) { + VectorDrawable::FullPath* fullPath = reinterpret_cast<VectorDrawable::FullPath*>(fullPathPtr); + return fullPath->getFillColor(); +} + +static void setFillColor(JNIEnv*, jobject, jlong fullPathPtr, jint fillColor) { + VectorDrawable::FullPath* fullPath = reinterpret_cast<VectorDrawable::FullPath*>(fullPathPtr); + fullPath->setFillColor(fillColor); +} + +static jfloat getFillAlpha(JNIEnv*, jobject, jlong fullPathPtr) { + VectorDrawable::FullPath* fullPath = reinterpret_cast<VectorDrawable::FullPath*>(fullPathPtr); + return fullPath->getFillAlpha(); +} + +static void setFillAlpha(JNIEnv*, jobject, jlong fullPathPtr, jfloat fillAlpha) { + VectorDrawable::FullPath* fullPath = reinterpret_cast<VectorDrawable::FullPath*>(fullPathPtr); + fullPath->setFillAlpha(fillAlpha); +} + +static jfloat getTrimPathStart(JNIEnv*, jobject, jlong fullPathPtr) { + VectorDrawable::FullPath* fullPath = reinterpret_cast<VectorDrawable::FullPath*>(fullPathPtr); + return fullPath->getTrimPathStart(); +} + +static void setTrimPathStart(JNIEnv*, jobject, jlong fullPathPtr, jfloat trimPathStart) { + VectorDrawable::FullPath* fullPath = reinterpret_cast<VectorDrawable::FullPath*>(fullPathPtr); + fullPath->setTrimPathStart(trimPathStart); +} + +static jfloat getTrimPathEnd(JNIEnv*, jobject, jlong fullPathPtr) { + VectorDrawable::FullPath* fullPath = reinterpret_cast<VectorDrawable::FullPath*>(fullPathPtr); + return fullPath->getTrimPathEnd(); +} + +static void setTrimPathEnd(JNIEnv*, jobject, jlong fullPathPtr, jfloat trimPathEnd) { + VectorDrawable::FullPath* fullPath = reinterpret_cast<VectorDrawable::FullPath*>(fullPathPtr); + fullPath->setTrimPathEnd(trimPathEnd); +} + +static jfloat getTrimPathOffset(JNIEnv*, jobject, jlong fullPathPtr) { + VectorDrawable::FullPath* fullPath = reinterpret_cast<VectorDrawable::FullPath*>(fullPathPtr); + return fullPath->getTrimPathOffset(); +} + +static void setTrimPathOffset(JNIEnv*, jobject, jlong fullPathPtr, jfloat trimPathOffset) { + VectorDrawable::FullPath* fullPath = reinterpret_cast<VectorDrawable::FullPath*>(fullPathPtr); + fullPath->setTrimPathOffset(trimPathOffset); +} + +static const JNINativeMethod gMethods[] = { + {"nCreateRenderer", "!(J)J", (void*)createTree}, + {"nDestroyRenderer", "!(J)V", (void*)deleteTree}, + {"nSetRendererViewportSize", "!(JFF)V", (void*)setTreeViewportSize}, + {"nSetRootAlpha", "!(JF)Z", (void*)setRootAlpha}, + {"nGetRootAlpha", "!(J)F", (void*)getRootAlpha}, + {"nSetAllowCaching", "!(JZ)V", (void*)setAllowCaching}, + + {"nDraw", "(JJJLandroid/graphics/Rect;ZZ)V", (void*)draw}, + {"nCreateFullPath", "!()J", (void*)createEmptyFullPath}, + {"nCreateFullPath", "!(J)J", (void*)createFullPath}, + {"nUpdateFullPathProperties", "!(JFIFIFFFFFII)V", (void*)updateFullPathPropertiesAndStrokeStyles}, + {"nGetFullPathProperties", "(J[BI)Z", (void*)getFullPathProperties}, + {"nGetGroupProperties", "(J[FI)Z", (void*)getGroupProperties}, + + {"nCreateClipPath", "!()J", (void*)createEmptyClipPath}, + {"nCreateClipPath", "!(J)J", (void*)createClipPath}, + {"nCreateGroup", "!()J", (void*)createEmptyGroup}, + {"nCreateGroup", "!(J)J", (void*)createGroup}, + {"nDestroy", "!(J)V", (void*)deleteNode}, + {"nSetName", "(JLjava/lang/String;)V", (void*)setNodeName}, + {"nUpdateGroupProperties", "!(JFFFFFFF)V", (void*)updateGroupProperties}, + + {"nAddChild", "!(JJ)V", (void*)addChild}, + {"nSetPathString", "(JLjava/lang/String;I)V", (void*)setPathString}, + + {"nGetRotation", "!(J)F", (void*)getRotation}, + {"nSetRotation", "!(JF)V", (void*)setRotation}, + {"nGetPivotX", "!(J)F", (void*)getPivotX}, + {"nSetPivotX", "!(JF)V", (void*)setPivotX}, + {"nGetPivotY", "!(J)F", (void*)getPivotY}, + {"nSetPivotY", "!(JF)V", (void*)setPivotY}, + {"nGetScaleX", "!(J)F", (void*)getScaleX}, + {"nSetScaleX", "!(JF)V", (void*)setScaleX}, + {"nGetScaleY", "!(J)F", (void*)getScaleY}, + {"nSetScaleY", "!(JF)V", (void*)setScaleY}, + {"nGetTranslateX", "!(J)F", (void*)getTranslateX}, + {"nSetTranslateX", "!(JF)V", (void*)setTranslateX}, + {"nGetTranslateY", "!(J)F", (void*)getTranslateY}, + {"nSetTranslateY", "!(JF)V", (void*)setTranslateY}, + + {"nSetPathData", "!(JJ)V", (void*)setPathData}, + {"nGetStrokeWidth", "!(J)F", (void*)getStrokeWidth}, + {"nSetStrokeWidth", "!(JF)V", (void*)setStrokeWidth}, + {"nGetStrokeColor", "!(J)I", (void*)getStrokeColor}, + {"nSetStrokeColor", "!(JI)V", (void*)setStrokeColor}, + {"nGetStrokeAlpha", "!(J)F", (void*)getStrokeAlpha}, + {"nSetStrokeAlpha", "!(JF)V", (void*)setStrokeAlpha}, + {"nGetFillColor", "!(J)I", (void*)getFillColor}, + {"nSetFillColor", "!(JI)V", (void*)setFillColor}, + {"nGetFillAlpha", "!(J)F", (void*)getFillAlpha}, + {"nSetFillAlpha", "!(JF)V", (void*)setFillAlpha}, + {"nGetTrimPathStart", "!(J)F", (void*)getTrimPathStart}, + {"nSetTrimPathStart", "!(JF)V", (void*)setTrimPathStart}, + {"nGetTrimPathEnd", "!(J)F", (void*)getTrimPathEnd}, + {"nSetTrimPathEnd", "!(JF)V", (void*)setTrimPathEnd}, + {"nGetTrimPathOffset", "!(J)F", (void*)getTrimPathOffset}, + {"nSetTrimPathOffset", "!(JF)V", (void*)setTrimPathOffset}, +}; + +int register_android_graphics_drawable_VectorDrawable(JNIEnv* env) { + return RegisterMethodsOrDie(env, "android/graphics/drawable/VectorDrawable", gMethods, NELEM(gMethods)); +} + +}; // namespace android diff --git a/core/jni/android_view_Surface.cpp b/core/jni/android_view_Surface.cpp index f6e68c48e881..cf68449096a6 100644 --- a/core/jni/android_view_Surface.cpp +++ b/core/jni/android_view_Surface.cpp @@ -465,11 +465,17 @@ static jint nativeGetHeight(JNIEnv* env, jclass clazz, jlong nativeObject) { anw->query(anw, NATIVE_WINDOW_HEIGHT, &value); return value; } + static jlong nativeGetNextFrameNumber(JNIEnv *env, jclass clazz, jlong nativeObject) { Surface* surface = reinterpret_cast<Surface*>(nativeObject); return surface->getNextFrameNumber(); } +static jint nativeSetScalingMode(JNIEnv *env, jclass clazz, jlong nativeObject, jint scalingMode) { + Surface* surface = reinterpret_cast<Surface*>(nativeObject); + return surface->setScalingMode(scalingMode); +} + namespace uirenderer { using namespace android::uirenderer::renderthread; @@ -546,6 +552,7 @@ static const JNINativeMethod gSurfaceMethods[] = { {"nativeGetWidth", "(J)I", (void*)nativeGetWidth }, {"nativeGetHeight", "(J)I", (void*)nativeGetHeight }, {"nativeGetNextFrameNumber", "(J)J", (void*)nativeGetNextFrameNumber }, + {"nativeSetScalingMode", "(JI)I", (void*)nativeSetScalingMode }, // HWUI context {"nHwuiCreate", "(JJ)J", (void*) hwui::create }, diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp index 96d150be0234..041e693089de 100644 --- a/core/jni/com_android_internal_os_Zygote.cpp +++ b/core/jni/com_android_internal_os_Zygote.cpp @@ -605,10 +605,32 @@ static jint com_android_internal_os_Zygote_nativeForkAndSpecialize( jint debug_flags, jobjectArray rlimits, jint mount_external, jstring se_info, jstring se_name, jintArray fdsToClose, jstring instructionSet, jstring appDataDir) { - // Grant CAP_WAKE_ALARM to the Bluetooth process. jlong capabilities = 0; + + // Grant CAP_WAKE_ALARM to the Bluetooth process. if (uid == AID_BLUETOOTH) { - capabilities |= (1LL << CAP_WAKE_ALARM); + capabilities |= (1LL << CAP_WAKE_ALARM); + } + + // Grant CAP_BLOCK_SUSPEND to processes that belong to GID "wakelock" + bool gid_wakelock_found = false; + if (gid == AID_WAKELOCK) { + gid_wakelock_found = true; + } else if (gids != NULL) { + jsize gids_num = env->GetArrayLength(gids); + ScopedIntArrayRO ar(env, gids); + if (ar.get() == NULL) { + RuntimeAbort(env, __LINE__, "Bad gids array"); + } + for (int i = 0; i < gids_num; i++) { + if (ar[i] == AID_WAKELOCK) { + gid_wakelock_found = true; + break; + } + } + } + if (gid_wakelock_found) { + capabilities |= (1LL << CAP_BLOCK_SUSPEND); } return ForkAndSpecializeCommon(env, uid, gid, gids, debug_flags, diff --git a/core/res/res/layout/notification_material_reply_text.xml b/core/res/res/layout/notification_material_reply_text.xml new file mode 100644 index 000000000000..bc22eb49cf57 --- /dev/null +++ b/core/res/res/layout/notification_material_reply_text.xml @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2015 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 + --> + +<!-- Note: this layout is included from a view stub; layout attributes will be overridden. --> +<LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/notification_material_reply_container" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:paddingStart="@dimen/notification_content_margin_start"> + + <ImageView + android:layout_width="match_parent" + android:layout_height="1dip" + android:id="@+id/action_divider" + android:layout_marginBottom="15dp" + android:background="@drawable/notification_template_divider" /> + + <TextView + android:id="@+id/notification_material_reply_text_3" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginEnd="@dimen/notification_content_margin_end" + android:visibility="gone" + android:textAppearance="@style/TextAppearance.Material.Notification.Reply" + android:singleLine="true" /> + + <TextView + android:id="@+id/notification_material_reply_text_2" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginEnd="@dimen/notification_content_margin_end" + android:visibility="gone" + android:textAppearance="@style/TextAppearance.Material.Notification.Reply" + android:singleLine="true" /> + + <TextView + android:id="@+id/notification_material_reply_text_1" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="15dp" + android:layout_marginEnd="@dimen/notification_content_margin_end" + android:textAppearance="@style/TextAppearance.Material.Notification.Reply" + android:singleLine="true" /> + +</LinearLayout> diff --git a/core/res/res/layout/notification_template_material_big_base.xml b/core/res/res/layout/notification_template_material_big_base.xml index 91a5cebe1994..dfd72c08a8c6 100644 --- a/core/res/res/layout/notification_template_material_big_base.xml +++ b/core/res/res/layout/notification_template_material_big_base.xml @@ -55,6 +55,11 @@ </FrameLayout> <include layout="@layout/notification_template_right_icon" /> </FrameLayout> + <ViewStub android:layout="@layout/notification_material_reply_text" + android:id="@+id/notification_material_reply_container" + android:layout_width="match_parent" + android:layout_height="wrap_content" + /> <include layout="@layout/notification_material_action_list" android:layout_width="match_parent" diff --git a/core/res/res/layout/notification_template_material_big_picture.xml b/core/res/res/layout/notification_template_material_big_picture.xml index 58e3d1b2612e..5c07b9bf5a0c 100644 --- a/core/res/res/layout/notification_template_material_big_picture.xml +++ b/core/res/res/layout/notification_template_material_big_picture.xml @@ -52,6 +52,13 @@ android:layout_marginBottom="16dp" android:scaleType="centerCrop" /> + <ViewStub android:layout="@layout/notification_material_reply_text" + android:id="@+id/notification_material_reply_container" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginStart="-16dp" + android:layout_marginEnd="-16dp" + /> <include layout="@layout/notification_material_action_list" /> </LinearLayout> </FrameLayout> diff --git a/core/res/res/layout/notification_template_material_big_text.xml b/core/res/res/layout/notification_template_material_big_text.xml index de9f5721f4e6..ebaffc30e28a 100644 --- a/core/res/res/layout/notification_template_material_big_text.xml +++ b/core/res/res/layout/notification_template_material_big_text.xml @@ -63,6 +63,13 @@ android:contentDescription="@string/notification_work_profile_content_description" /> </LinearLayout> + <ViewStub android:layout="@layout/notification_material_reply_text" + android:id="@+id/notification_material_reply_container" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginStart="-16dp" + android:layout_marginEnd="-16dp" + /> <include layout="@layout/notification_material_action_list" /> </LinearLayout> <include layout="@layout/notification_template_right_icon" /> diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml index 1ac7e98d3177..04466e511bb8 100644 --- a/core/res/res/values-af/strings.xml +++ b/core/res/res/values-af/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Sluit nou"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Inhoud versteek"</string> <string name="safeMode" msgid="2788228061547930246">"Veiligmodus"</string> <string name="android_system_label" msgid="6577375335728551336">"Android-stelsel"</string> <string name="user_owner_label" msgid="2804351898001038951">"Persoonlik"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Sny"</string> <string name="copy" msgid="2681946229533511987">"Kopieer"</string> <string name="paste" msgid="5629880836805036433">"Plak"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Plak as skoonteks"</string> <string name="replace" msgid="5781686059063148930">"Vervang..."</string> <string name="delete" msgid="6098684844021697789">"Vee uit"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopieer URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Kies teks"</string> + <string name="undo" msgid="7905788502491742328">"Ontdoen"</string> + <string name="redo" msgid="7759464876566803888">"Herdoen"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Tekskeuse"</string> <string name="addToDictionary" msgid="4352161534510057874">"Voeg by woordeboek"</string> <string name="deleteText" msgid="6979668428458199034">"Vee uit"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Verander muurpapier"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Kennisgewingluisteraar"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Toestandverskaffer"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Kennisgewingassistent"</string> <string name="vpn_title" msgid="19615213552042827">"VPN geaktiveer"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN is geaktiveer deur <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Raak om die netwerk te bestuur."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Opgedateer deur jou administrateur"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Deur jou administrateur uitgevee"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Om batterylewe te help verbeter, verminder batterybespaarder jou toestel se werkverrigting en beperk vibrasie, liggingdienste en die meeste agtergronddata. E-pos, boodskappe en ander programme wat op sinkronisering staatmaak, sal dalk nie opdateer tensy jy hulle oopmaak nie.\n\nBatterybespaarder skakel outomaties af wanneer jou toestel besig is om te laai."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Belangrikheid"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Geblokkeer: Moet nooit hierdie kennisgewings wys nie"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Laag: Wys sonder klank aan die onderkant van die kennisgewinglys"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normaal: Wys hierdie kennisgewings sonder klank"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Hoog: Wys aan die bokant van die kennisgewingslys en maak \'n geluid"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Dringend: Verskyn vlugtig op die skerm en maak \'n geluid"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d minute lank (tot <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">Een minuut lank (tot <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml index d7b08eb5a2d3..b26232572be7 100644 --- a/core/res/res/values-am/strings.xml +++ b/core/res/res/values-am/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"አáˆáŠ• ቆáˆá"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"á‹á‹˜á‰¶á‰½ ተደብቀዋáˆ"</string> <string name="safeMode" msgid="2788228061547930246">"የሚያስተማáˆáŠ• áˆáŠá‰³"</string> <string name="android_system_label" msgid="6577375335728551336">"Android ስáˆá‹“ት"</string> <string name="user_owner_label" msgid="2804351898001038951">"የáŒáˆ"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"á‰áˆ¨áŒ¥"</string> <string name="copy" msgid="2681946229533511987">"áŒáˆ‹á‰£áŒ"</string> <string name="paste" msgid="5629880836805036433">"ለጥá"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"እንደ ስáŠáŒ£ አáˆá‰£ ጽáˆá ለጥá"</string> <string name="replace" msgid="5781686059063148930">"ተካ..."</string> <string name="delete" msgid="6098684844021697789">"ሰáˆá‹"</string> <string name="copyUrl" msgid="2538211579596067402">"የURL ቅጂ"</string> <string name="selectTextMode" msgid="1018691815143165326">"á…áˆá áˆáˆ¨áŒ¥"</string> + <string name="undo" msgid="7905788502491742328">"ቀáˆá‰¥áˆµ"</string> + <string name="redo" msgid="7759464876566803888">"ድገáˆ"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"የá…áˆá áˆáˆáŒ«"</string> <string name="addToDictionary" msgid="4352161534510057874">"ወደ መá‹áŒˆá‰ ቃላት አáŠáˆ"</string> <string name="deleteText" msgid="6979668428458199034">"ሰáˆá‹"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"áˆáŒ£á ለá‹áŒ¥"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"ማሳወቂያ አዳማáŒ"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"የáˆáŠ”á‰³ አቅራቢ"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"የማሳወቂያ ረዳት"</string> <string name="vpn_title" msgid="19615213552042827">"VPN áŠá‰…ቷáˆá¢"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN በ<xliff:g id="APP">%s</xliff:g>ገብሯáˆ"</string> <string name="vpn_text" msgid="3011306607126450322">"አá‹á‰³áˆ¨áˆ˜áˆ¨á‰¥ ለማደራጀት ንካá¢"</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"በአስተዳዳሪዎ ተዘáˆáŠ—áˆ"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"በእáˆáˆµá‹Ž አስተዳዳሪ ተሰáˆá‹Ÿáˆ"</string> <string name="battery_saver_description" msgid="1960431123816253034">"የባትሪ ዕድሜን ለማሻሻሠማገዠእንዲቻáˆá£ ኢሜá‹áˆá£ መáˆá‹•áŠá‰µ አላላአእና ሌሎች በማመሳሰሠላዠየሚመረኮዙ መተáŒá‰ ሪያዎች እáˆáˆµá‹Ž ካáˆáЍáˆá‰±á‹‹á‰¸á‹ በቀሠአá‹á‹˜áˆáŠ‘áˆá¢\n\nየባትሪ ኃá‹áˆ ቆጣቢ የእáˆáˆµá‹Ž መሣሪያ ኃá‹áˆ በሚሞላበት ጊዜ በራስ-ሰሠá‹áŒ á‹áˆá¢"</string> - <string name="notification_importance_title" msgid="7493989722610008700">"አስáˆáˆ‹áŒŠáŠá‰µ"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"የታገደᦠእáŠáŠáˆ…ን ማሳወቂያዎች áˆá…ሞ አታሳá‹"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"á‹á‰…ተኛᦠበጸጥታ የማሳወቂያ á‹áˆá‹áˆ የታችኛá‹áŠ• áŠáሠአሳá‹"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"መደበኛᦠበጸጥታ እáŠáŠáˆ…ን ማሳወቂያዎች አሳá‹"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"ከáተኛᦠየማሳወቂያዎችን á‹áˆá‹áˆ የላá‹áŠ›á‹áŠ• áŠáሠአሳዠእና ድáˆá… አሰማ"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"አስቸኳá‹á¦ ወደ ገጸ ማያዠአንሳ እና ድáˆá… ቅዳ"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">ለ%1$d ደቂቃዎች (እስከ <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> ድረስ)</item> <item quantity="other">ለ%1$d ደቂቃዎች (እስከ <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> ድረስ)</item> diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml index c18fc4ac6b38..6eb005c0aae4 100644 --- a/core/res/res/values-ar/strings.xml +++ b/core/res/res/values-ar/strings.xml @@ -227,6 +227,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Ù‚ÙÙ„ الآن"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Ø§Ù„Ù…ØØªÙˆÙŠØ§Øª مخÙية"</string> <string name="safeMode" msgid="2788228061547930246">"الوضع الآمن"</string> <string name="android_system_label" msgid="6577375335728551336">"â€Ù†Ø¸Ø§Ù… Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"شخصي"</string> @@ -878,10 +879,13 @@ <string name="cut" msgid="3092569408438626261">"قص"</string> <string name="copy" msgid="2681946229533511987">"نسخ"</string> <string name="paste" msgid="5629880836805036433">"لصق"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"اللصق كنص عادي"</string> <string name="replace" msgid="5781686059063148930">"استبدال..."</string> <string name="delete" msgid="6098684844021697789">"ØØ°Ù"</string> <string name="copyUrl" msgid="2538211579596067402">"â€Ù†Ø³Ø® عنوان URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"ØªØØ¯ÙŠØ¯ نص"</string> + <string name="undo" msgid="7905788502491742328">"تراجع"</string> + <string name="redo" msgid="7759464876566803888">"إعادة"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"ØªØØ¯ÙŠØ¯ النص"</string> <string name="addToDictionary" msgid="4352161534510057874">"Ø¥Ø¶Ø§ÙØ© إلى القاموس"</string> <string name="deleteText" msgid="6979668428458199034">"ØØ°Ù"</string> @@ -1135,6 +1139,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"تغيير الخلÙية"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"برنامج تلقّي الإشعارات الصوتية"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Ù…ÙˆÙØ± Ø§Ù„ØØ§Ù„Ø©"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"مساعد الإشعار"</string> <string name="vpn_title" msgid="19615213552042827">"â€ØªÙ… تنشيط الشبكة الظاهرية الخاصة (VPN)"</string> <string name="vpn_title_long" msgid="6400714798049252294">"â€ØªÙ… تنشيط VPN بواسطة <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"المس لإدارة الشبكة."</string> @@ -1476,12 +1481,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"تم Ø§Ù„ØªØØ¯ÙŠØ« بواسطة المشرÙ"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"تم ØØ°Ù Ø§Ù„ØØ²Ù…Ø© عن طريق المشرÙ"</string> <string name="battery_saver_description" msgid="1960431123816253034">"للمساعدة ÙÙŠ ØªØØ³ÙŠÙ† عمر البطارية، يساعد Ù…ÙˆÙØ± البطارية ÙÙŠ تقليل أداء الجهاز ÙˆÙŠÙØ±Ø¶ قيدًا على الاهتزاز وخدمات الموقع ومعظم بيانات الخلÙية. قد لا يتم ØªØØ¯ÙŠØ« البريد الإلكتروني والمراسلة والتطبيقات الأخرى التي تعتمد على المزامنة ما لم ØªÙØªØÙ‡Ø§.\n\nيتم Ø¥ÙŠÙ‚Ø§Ù Ù…ÙˆÙØ± البطارية تلقائيًا أثناء Ø´ØÙ† الجهاز."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"الأهمية"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Ù…ØØ¸ÙˆØ±: عدم عرض هذه الإشعارات مطلقًا"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Ù…Ù†Ø®ÙØ¶ الأهمية: عرض بأسÙÙ„ قائمة الإشعارات وبدون تنبيه صوتي"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"عادي: عرض هذه الإشعارات بدون تنبيه صوتي"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"عالي الأهمية: عرض بأعلى قائمة الإشعارات مع إصدار تنبيه صوتي"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"عاجل: الظهور سريعًا على الشاشة مع إصدار تنبيه صوتي"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="zero">â€Ù„مدة أقل من دقيقة (%1$d) (ØØªÙ‰ <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="two">â€Ù„مدة دقيقتين (%1$d) (ØØªÙ‰ <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-az-rAZ/strings.xml b/core/res/res/values-az-rAZ/strings.xml index 5de0b5997656..30b6e77d59f5 100644 --- a/core/res/res/values-az-rAZ/strings.xml +++ b/core/res/res/values-az-rAZ/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"İndi kilidlÉ™yin"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"MÉ™zmun gizlidir"</string> <string name="safeMode" msgid="2788228061547930246">"TÉ™hlükÉ™siz rejim"</string> <string name="android_system_label" msgid="6577375335728551336">"Android sistemi"</string> <string name="user_owner_label" msgid="2804351898001038951">"Şəxsi"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"KÉ™s"</string> <string name="copy" msgid="2681946229533511987">"Kopyala"</string> <string name="paste" msgid="5629880836805036433">"Yerləşdir"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Adi mÉ™tn kimi köçürün"</string> <string name="replace" msgid="5781686059063148930">"ÆvÉ™z et..."</string> <string name="delete" msgid="6098684844021697789">"Sil"</string> <string name="copyUrl" msgid="2538211579596067402">"URL kopyala"</string> <string name="selectTextMode" msgid="1018691815143165326">"MÉ™tn seçin"</string> + <string name="undo" msgid="7905788502491742328">"Ləğv edin"</string> + <string name="redo" msgid="7759464876566803888">"YenidÉ™n edin"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"MÉ™tn seçimi"</string> <string name="addToDictionary" msgid="4352161534510057874">"LüğətÉ™ É™lavÉ™ et"</string> <string name="deleteText" msgid="6979668428458199034">"Sil"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Divar kağızını dÉ™yiÅŸin"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"BildiriÅŸ dinlÉ™yÉ™n"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Şərait provayderi"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"BildiriÅŸ kömÉ™kçisi"</string> <string name="vpn_title" msgid="19615213552042827">"VPN aktivləşdirildi"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN <xliff:g id="APP">%s</xliff:g> tÉ™rÉ™findÉ™n aktivləşdirilib"</string> <string name="vpn_text" msgid="3011306607126450322">"ŞəbÉ™kÉ™ni idarÉ™ etmÉ™k üçün toxunun."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Sizin administrator tÉ™rÉ™findÉ™n yenilÉ™ndi"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Administratorunuz tÉ™rÉ™findÉ™n silinib"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Batareyanın istismar müddÉ™tini tÉ™kmilləşdirmÉ™k üçün batareya qÉ™naÉ™ti cihazınızın mÉ™hsuldarlığını azaldır vÉ™ titrÉ™tmÉ™, mÉ™kan xidmÉ™tlÉ™ri vÉ™ É™n son fon mÉ™lumatlarını mÉ™hdudlaÅŸdırır. SinxronlaÅŸmaya arxayın olan e-poçt, mesajlaÅŸma vÉ™ digÉ™r proqramlar siz onları açmayana kimi yenilÉ™nmÉ™yÉ™ bilÉ™r.\n\nCihazınız doldurulan zaman batareya qÉ™naÉ™ti avtomatik olaraq sönür."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"ÆhÉ™miyyÉ™t"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Blok edildi: Bu bildiriÅŸlÉ™ri heç vaxt göstÉ™rmÉ™yin"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Alçaq: BildiriÅŸlÉ™r siyahısının aÅŸağısında sÉ™ssiz göstÉ™rin"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normal: Bu bildiÅŸlÉ™ri sÉ™ssiz göstÉ™rin"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"YüksÉ™k: BildiriÅŸlÉ™r siyahısında yuxarıda göstÉ™rin vÉ™ sÉ™sli edin"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"TÉ™cili: Ekranda nÉ™zÉ™r salın vÉ™ sÉ™sli edin"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other"> %1$d dÉ™qiqÉ™lik (saat <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> radÉ™sinÉ™ qÉ™dÉ™r)</item> <item quantity="one">Bir dÉ™qiqÉ™lik (saat <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g> radÉ™sinÉ™ qÉ™dÉ™r)</item> diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml index 8871bbc03599..0f51f0d9d976 100644 --- a/core/res/res/values-b+sr+Latn/strings.xml +++ b/core/res/res/values-b+sr+Latn/strings.xml @@ -224,6 +224,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"ZakljuÄaj odmah"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Sadržaj je sakriven"</string> <string name="safeMode" msgid="2788228061547930246">"Bezbedni režim"</string> <string name="android_system_label" msgid="6577375335728551336">"Android sistem"</string> <string name="user_owner_label" msgid="2804351898001038951">"LiÄno"</string> @@ -863,10 +864,13 @@ <string name="cut" msgid="3092569408438626261">"Iseci"</string> <string name="copy" msgid="2681946229533511987">"Kopiraj"</string> <string name="paste" msgid="5629880836805036433">"Nalepi"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Nalepi kao obiÄan tekst"</string> <string name="replace" msgid="5781686059063148930">"Zameni..."</string> <string name="delete" msgid="6098684844021697789">"IzbriÅ¡i"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopiraj URL adresu"</string> <string name="selectTextMode" msgid="1018691815143165326">"Izaberi tekst"</string> + <string name="undo" msgid="7905788502491742328">"Opozovi"</string> + <string name="redo" msgid="7759464876566803888">"Ponovi"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Izbor teksta"</string> <string name="addToDictionary" msgid="4352161534510057874">"Dodaj u reÄnik"</string> <string name="deleteText" msgid="6979668428458199034">"IzbriÅ¡i"</string> @@ -1114,6 +1118,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Promena pozadine"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Monitor obaveÅ¡tenja"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"DobavljaÄ uslova"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Pomoćnik za obaveÅ¡tenja"</string> <string name="vpn_title" msgid="19615213552042827">"VPN je aktiviran"</string> <string name="vpn_title_long" msgid="6400714798049252294">"Aplikacija <xliff:g id="APP">%s</xliff:g> je aktivirala VPN"</string> <string name="vpn_text" msgid="3011306607126450322">"Dodirnite da biste upravljali mrežom."</string> @@ -1449,12 +1454,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Ažurirao je administrator"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Izbrisao je vaÅ¡ admiistrator"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Da bi produžila vreme trajanja baterije, uÅ¡teda baterije smanjuje performanse ureÄ‘aja i ograniÄava vibraciju, usluge lokacije i većinu pozadinskih podataka. Imejl, razmena poruka i druge aplikacije koje se oslanjaju na sinhronizaciju možda neće da se ažuriraju ako ih ne otvorite.\n\nUÅ¡teda baterije se automatski iskljuÄuje kada se ureÄ‘aj puni."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Važnost"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Blokirana: Ova obaveÅ¡tenja se nikada ne prikazuju"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Niska: Prikazuju se u dnu liste obaveÅ¡tenja bez zvuka"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"UobiÄajena: Ova obaveÅ¡tenja se prikazuju bez zvuka"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Visoka: Prikazuju se u vrhu liste obaveÅ¡tenja i aktivira se zvuÄni signal"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Hitna: Nakratko se prikazuju na ekranu i aktivira se zvuÄni signal"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">%1$d minut (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="few">%1$d minuta (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml index fc0317abc3cc..d70f95fcd45b 100644 --- a/core/res/res/values-bg/strings.xml +++ b/core/res/res/values-bg/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Заключване Ñега"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Скрито Ñъдържание"</string> <string name="safeMode" msgid="2788228061547930246">"БезопаÑен режим"</string> <string name="android_system_label" msgid="6577375335728551336">"СиÑтемно от Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Личен"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"ИзрÑзване"</string> <string name="copy" msgid="2681946229533511987">"Копиране"</string> <string name="paste" msgid="5629880836805036433">"ПоÑтавÑне"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"ПоÑтавÑне като неформатиран текÑÑ‚"</string> <string name="replace" msgid="5781686059063148930">"ЗамÑна..."</string> <string name="delete" msgid="6098684844021697789">"Изтриване"</string> <string name="copyUrl" msgid="2538211579596067402">"Копиране на URL адреÑа"</string> <string name="selectTextMode" msgid="1018691815143165326">"Избор на текÑÑ‚"</string> + <string name="undo" msgid="7905788502491742328">"ОтмÑна"</string> + <string name="redo" msgid="7759464876566803888">"ВъзÑтановÑване"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Избиране на текÑÑ‚"</string> <string name="addToDictionary" msgid="4352161534510057874">"ДобавÑне в речника"</string> <string name="deleteText" msgid="6979668428458199034">"Изтриване"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"ПромÑна на тапета"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Слушател на извеÑтиÑ"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"ДоÑтавчик на уÑловиÑ"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Помощник за извеÑтиÑ"</string> <string name="vpn_title" msgid="19615213552042827">"VPN е активирана"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN е активирана от <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"ДокоÑнете за управление на мрежата."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Ðктуализирано от админиÑтратора ви"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Изтрито от админиÑтратора ви"</string> <string name="battery_saver_description" msgid="1960431123816253034">"С цел удължаване на живота на батериÑта режимът за запазването й намалÑва ефективноÑтта на уÑтройÑтвото ви и ограничава вибрирането, уÑлугите за меÑтоположение и повечето данни на заден план. ПриложениÑта за електронна поща, ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¸ др., които разчитат на Ñинхронизиране, може да не Ñе актуализират, оÑвен ако не ги отворите.\n\nРежимът за запазване на батериÑта Ñе изключва автоматично, когато уÑтройÑтвото ви Ñе зарежда."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"ВажноÑÑ‚"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Блокирано: Тези извеÑÑ‚Ð¸Ñ Ð½Ð¸ÐºÐ¾Ð³Ð° да не Ñе показват"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Маловажно: Показване без звуков Ñигнал в долната чаÑÑ‚ на ÑпиÑъка Ñ Ð¸Ð·Ð²ÐµÑтиÑ"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Ðормално: Тези извеÑÑ‚Ð¸Ñ Ð´Ð° Ñе показват без звуков Ñигнал"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Важно: Показване в горната чаÑÑ‚ на ÑпиÑъка Ñ Ð¸Ð·Ð²ÐµÑÑ‚Ð¸Ñ Ð¸ издаване на звуков Ñигнал"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Спешно: Показване на екрана и издаване на звуков Ñигнал"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">За %1$d минути (до <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">За една минута (до <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-bn-rBD/strings.xml b/core/res/res/values-bn-rBD/strings.xml index de10c611dddf..683e2ecc437a 100644 --- a/core/res/res/values-bn-rBD/strings.xml +++ b/core/res/res/values-bn-rBD/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"à¦à¦–নই লক করà§à¦¨"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"৯৯৯+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>টি)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"লà§à¦•ানো বিষয়বসà§à¦¤à§"</string> <string name="safeMode" msgid="2788228061547930246">"নিরাপদ মোড"</string> <string name="android_system_label" msgid="6577375335728551336">"Android সিসà§à¦Ÿà§‡à¦®"</string> <string name="user_owner_label" msgid="2804351898001038951">"বà§à¦¯à¦•à§à¦¤à¦¿à¦—ত"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"কাটà§à¦¨"</string> <string name="copy" msgid="2681946229533511987">"অনà§à¦²à¦¿à¦ªà¦¿"</string> <string name="paste" msgid="5629880836805036433">"আটকান"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"পà§à¦²à§‡à¦‡à¦¨ টেকà§à¦¸à¦Ÿ হিসাবে আটকান"</string> <string name="replace" msgid="5781686059063148930">"পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨ করà§à¦¨..."</string> <string name="delete" msgid="6098684844021697789">"মà§à¦›à§à¦¨"</string> <string name="copyUrl" msgid="2538211579596067402">"URL অনà§à¦²à¦¿à¦ªà¦¿ করà§à¦¨"</string> <string name="selectTextMode" msgid="1018691815143165326">"পাঠà§à¦¯ নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨"</string> + <string name="undo" msgid="7905788502491742328">"পূরà§à¦¬à¦¾à¦¬à¦¸à§à¦¥à¦¾à¦¯à¦¼ ফিরà§à¦¨"</string> + <string name="redo" msgid="7759464876566803888">"পà§à¦¨à¦°à¦¾à¦¯à¦¼ করà§à¦¨"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"পাঠà§à¦¯ নিরà§à¦¬à¦¾à¦šà¦¨"</string> <string name="addToDictionary" msgid="4352161534510057874">"অà¦à¦¿à¦§à¦¾à¦¨à§‡ যà§à¦•à§à¦¤ করà§à¦¨"</string> <string name="deleteText" msgid="6979668428458199034">"মà§à¦›à§à¦¨"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"ওয়ালপেপার পরিবরà§à¦¤à¦¨ করà§à¦¨"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"বিজà§à¦žà¦ªà§à¦¤à¦¿à¦° শà§à¦°à§‹à¦¤à¦¾"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"শরà§à¦¤ পà§à¦°à¦¦à¦¾à¦¨à¦•ারী"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"বিজà§à¦žà¦ªà§à¦¤à¦¿ সহায়ক"</string> <string name="vpn_title" msgid="19615213552042827">"VPN সকà§à¦°à¦¿à¦¯à¦¼"</string> <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> à¦à¦° দà§à¦¬à¦¾à¦°à¦¾ VPN সকà§à¦°à¦¿à¦¯à¦¼ করা হয়েছে"</string> <string name="vpn_text" msgid="3011306607126450322">"নেটওয়ারà§à¦• পরিচালনা করতে সà§à¦ªà¦°à§à¦¶ করà§à¦¨à§·"</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"আপনার পà§à¦°à¦¶à¦¾à¦¸à¦• দà§à¦¬à¦¾à¦°à¦¾ আপডেট করা হয়েছে"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"আপনার পà§à¦°à¦¶à¦¾à¦¸à¦• দà§à¦¬à¦¾à¦°à¦¾ মà§à¦›à§‡ ফেলা হয়েছে"</string> <string name="battery_saver_description" msgid="1960431123816253034">"বà§à¦¯à¦¾à¦Ÿà¦°à¦¿à¦° লাইফ উনà§à¦¨à¦¤ করতে সহায়তা করতে, বà§à¦¯à¦¾à¦Ÿà¦¾à¦°à¦¿ সাশà§à¦°à¦¯à¦¼à¦•ারী আপনার ডিà¦à¦¾à¦‡à¦¸à§‡à¦° কারà§à¦¯à¦¸à¦®à§à¦ªà¦¾à¦¦à¦¨à¦¾ হà§à¦°à¦¾à¦¸ করে à¦à¦¬à¦‚ কমà§à¦ªà¦¨, অবসà§à¦¥à¦¾à¦¨ পরিষেবাসমূহ à¦à¦¬à¦‚ অধিকাংশ বà§à¦¯à¦¾à¦•গà§à¦°à¦¾à¦‰à¦¨à§à¦¡ ডেটা সীমিত করে৷ ইমেল, বারà§à¦¤à¦¾à¦ªà§à¦°à§‡à¦°à¦£ à¦à¦¬à¦‚ অনà§à¦¯à¦¾à¦¨à§à¦¯ অà§à¦¯à¦¾à¦ªà§à¦²à¦¿à¦•েশানগà§à¦²à¦¿à¦•ে যেগà§à¦²à¦¿ সিঙà§à¦•ের উপর নিরà§à¦à¦° করে সেগà§à¦²à¦¿à¦•ে আপনি না খোলা পরà§à¦¯à¦¨à§à¦¤ নাও আপডেট হতে পারে৷\n\nআপনার ডিà¦à¦¾à¦‡à¦¸à¦Ÿà¦¿à¦•ে যখন চারà§à¦œ করা হয় তখন বà§à¦¯à¦¾à¦Ÿà¦¾à¦°à¦¿ সাশà§à¦°à¦¯à¦¼à¦•ারী সà§à¦¬à¦¯à¦¼à¦‚কà§à¦°à¦¿à¦¯à¦¼à¦à¦¾à¦¬à§‡ বনà§à¦§ হয়ে যায়৷"</string> - <string name="notification_importance_title" msgid="7493989722610008700">"গà§à¦°à§à¦¤à§à¦¬"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"অবরà§à¦¦à§à¦§: à¦à¦‡ বিজà§à¦žà¦ªà§à¦¤à¦¿à¦—à§à¦²à¦¿ কখনই দেখানো হবে না"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"নিমà§à¦¨: বিজà§à¦žà¦ªà§à¦¤à¦¿ তালিকার নীচের অংশে নিঃশবà§à¦¦à§‡ পà§à¦°à¦¦à¦°à§à¦¶à¦¨ করা হয়"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"সাধারন: à¦à¦‡ বিজà§à¦žà¦ªà§à¦¤à¦¿à¦—à§à¦²à¦¿ নিঃশবà§à¦¦à§‡ পà§à¦°à¦¦à¦°à§à¦¶à¦¨ করা হয়"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"উচà§à¦š: বিজà§à¦žà¦ªà§à¦¤à¦¿ তালিকার শীরà§à¦·à§‡ দেখানো হয় à¦à¦¬à¦‚ শবà§à¦¦ করে"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"জরà§à¦°à§€: সà§à¦•à§à¦°à§€à¦¨à§‡à¦° উপরে পà§à¦°à¦¦à¦°à§à¦¶à¦¿à¦¤ হয় à¦à¦¬à¦‚ শবà§à¦¦ করে"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">%1$d মিনিটের জনà§à¦¯ (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> পরà§à¦¯à¦¨à§à¦¤)</item> <item quantity="other">%1$d মিনিটের জনà§à¦¯ (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> পরà§à¦¯à¦¨à§à¦¤)</item> diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml index df7cf790fd43..786fea1b7b0e 100644 --- a/core/res/res/values-ca/strings.xml +++ b/core/res/res/values-ca/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Bloqueja ara"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"+999"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Contingut amagat"</string> <string name="safeMode" msgid="2788228061547930246">"Mode segur"</string> <string name="android_system_label" msgid="6577375335728551336">"Sistema Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Personal"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Retalla"</string> <string name="copy" msgid="2681946229533511987">"Copia"</string> <string name="paste" msgid="5629880836805036433">"Enganxa"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Enganxa com a text sense format"</string> <string name="replace" msgid="5781686059063148930">"Vols substituir..."</string> <string name="delete" msgid="6098684844021697789">"Suprimeix"</string> <string name="copyUrl" msgid="2538211579596067402">"Copia l\'URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Selecciona el text"</string> + <string name="undo" msgid="7905788502491742328">"Desfés"</string> + <string name="redo" msgid="7759464876566803888">"Refés"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Selecció de text"</string> <string name="addToDictionary" msgid="4352161534510057874">"Afegeix al diccionari"</string> <string name="deleteText" msgid="6979668428458199034">"Suprimeix"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Canvia el fons de pantalla"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Oient de notificacions"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Proveïdor de condicions"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Assistent de notificacions"</string> <string name="vpn_title" msgid="19615213552042827">"VPN activada"</string> <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> ha activat VPN"</string> <string name="vpn_text" msgid="3011306607126450322">"Toca per gestionar la xarxa."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"L\'administrador l\'ha actualitzat"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"L\'administrador ho ha suprimit"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Per tal d\'augmentar la durada de la bateria, la funció d\'estalvi de bateria redueix el rendiment del dispositiu i en limita la vibració i la majoria de dades en segon pla. És possible que el correu electrònic, la missatgeria i la resta d\'aplicacions que se sincronitzen amb freqüència no s\'actualitzin llevat que les obris.\n\nL\'estalvi de bateria es desactiva automà ticament mentre el dispositiu s\'està carregant."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Importà ncia"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Bloquejada: no mostra mai aquestes notificacions"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Baixa: mostra de manera silenciosa a la part inferior de la llista de notificacions"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normal: mostra aquestes notificacions de manera silenciosa"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Alta: mostra a la part superior de la llista de notificacions i emet un so"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Urgent: mostra a la pantalla i emet un so"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">Durant %1$d minuts (fins a les <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">Durant 1 minut (fins a les <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> @@ -1512,5 +1511,5 @@ </plurals> <string name="default_notification_topic_label" msgid="227586145791870829">"Altres"</string> <string name="importance_from_topic" msgid="3572280439880023233">"Tu has definit la importà ncia d\'aquestes notificacions."</string> - <string name="importance_from_person" msgid="9160133597262938296">"Aquest missatge és important per les persones que hi ha."</string> + <string name="importance_from_person" msgid="9160133597262938296">"Aquest missatge és important per les persones implicades."</string> </resources> diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml index b4c19a408574..a2e12a39e93a 100644 --- a/core/res/res/values-cs/strings.xml +++ b/core/res/res/values-cs/strings.xml @@ -225,6 +225,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Zamknout"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Skrytý obsah"</string> <string name="safeMode" msgid="2788228061547930246">"Nouzový režim"</string> <string name="android_system_label" msgid="6577375335728551336">"Systém Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"OsobnÃ"</string> @@ -868,10 +869,13 @@ <string name="cut" msgid="3092569408438626261">"Vyjmout"</string> <string name="copy" msgid="2681946229533511987">"KopÃrovat"</string> <string name="paste" msgid="5629880836805036433">"Vložit"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Vložit jako prostý text"</string> <string name="replace" msgid="5781686059063148930">"Nahradit•"</string> <string name="delete" msgid="6098684844021697789">"Smazat"</string> <string name="copyUrl" msgid="2538211579596067402">"KopÃrovat adresu URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Vybrat text"</string> + <string name="undo" msgid="7905788502491742328">"Vrátit zpÄ›t"</string> + <string name="redo" msgid="7759464876566803888">"Opakovat"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"VýbÄ›r textu"</string> <string name="addToDictionary" msgid="4352161534510057874">"PÅ™idat do slovnÃku"</string> <string name="deleteText" msgid="6979668428458199034">"Smazat"</string> @@ -1121,6 +1125,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"ZmÄ›nit tapetu"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Aplikace poslouchajÃcà oznámenÃ"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Poskytovatel podmÃnky"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Asistent oznámenÃ"</string> <string name="vpn_title" msgid="19615213552042827">"SÃÅ¥ VPN je aktivována"</string> <string name="vpn_title_long" msgid="6400714798049252294">"Aplikace <xliff:g id="APP">%s</xliff:g> aktivovala sÃÅ¥ VPN"</string> <string name="vpn_text" msgid="3011306607126450322">"Dotykem zobrazÃte správu sÃtÄ›."</string> @@ -1458,12 +1463,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Aktualizováno administrátorem"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Smazáno administrátorem"</string> <string name="battery_saver_description" msgid="1960431123816253034">"SpoÅ™iÄ baterie za úÄelem prodlouženà výdrže baterie snižuje výkon zaÅ™Ãzenà a omezuje vibrace, služby urÄovánà polohy a vÄ›tÅ¡inu dat na pozadÃ. E-mail, aplikace pro zasÃlánà zpráv a dalšà aplikace, které použÃvajà synchronizaci, se nemusejà aktualizovat, dokud je neotevÅ™ete.\n\nPÅ™i nabÃjenà zaÅ™Ãzenà se spoÅ™iÄ baterie automaticky vypne."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Důležitost"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Blokováno: Tato oznámenà nikdy nezobrazovat"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"NÃzká: Tato oznámenà zobrazovat na konci seznamu bez zvukového upozornÄ›nÃ"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"NormálnÃ: Tato oznámenà zobrazovat bez zvukového upozornÄ›nÃ"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Vysoká: Tato oznámenà zobrazovat na zaÄátku seznamu a upozornit na nÄ› zvukem"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"UrgentnÃ: Tato oznámenà zobrazovat pÅ™Ãmo na obrazovce a upozornit na nÄ› zvukem"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="few">%1$d minuty (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="many">%1$d minuty (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml index 2d5ec09686de..67b8ee9195c0 100644 --- a/core/res/res/values-da/strings.xml +++ b/core/res/res/values-da/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"LÃ¥s nu"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Indholdet er skjult"</string> <string name="safeMode" msgid="2788228061547930246">"Sikker tilstand"</string> <string name="android_system_label" msgid="6577375335728551336">"Android-system"</string> <string name="user_owner_label" msgid="2804351898001038951">"Personlig"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Klip"</string> <string name="copy" msgid="2681946229533511987">"Kopier"</string> <string name="paste" msgid="5629880836805036433">"Indsæt"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Indsæt som almindelig tekst"</string> <string name="replace" msgid="5781686059063148930">"Erstat..."</string> <string name="delete" msgid="6098684844021697789">"Slet"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopier webadresse"</string> <string name="selectTextMode" msgid="1018691815143165326">"Markér tekst"</string> + <string name="undo" msgid="7905788502491742328">"Fortryd"</string> + <string name="redo" msgid="7759464876566803888">"Annuller fortryd"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Tekstmarkering"</string> <string name="addToDictionary" msgid="4352161534510057874">"Føj til ordbog"</string> <string name="deleteText" msgid="6979668428458199034">"Slet"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Skift baggrund"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Underretningslytter"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Tjeneste til formidling af betingelser"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Underretningsassistent"</string> <string name="vpn_title" msgid="19615213552042827">"VPN er aktiveret."</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN aktiveres af <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Tryk for at administrere netværket."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Opdateret af administrator"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Slettet af din administrator"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Batterisparefunktionen hjælper med at forlænge batteriets levetid ved at reducere enhedens ydeevne og begrænse vibration, placeringstjenester og det meste baggrundsdata. E-mail, beskedfunktioner og andre apps, der benytter synkronisering, opdateres muligvis ikke, medmindre du Ã¥bner dem.\n\nBatterisparefunktionen slukker automatisk, nÃ¥r enheden oplader."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Vigtighed"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Blokeret: Vis aldrig disse underretninger"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Lav: Vis lydløst nederst pÃ¥ listen over underretninger"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normal: Vis disse underretninger lydløst"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Høj: Vis øverst pÃ¥ listen over underretninger, og giv lyd"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Presserende: Vis pÃ¥ skærmen, og giv lyd"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">I %1$d minutter (indtil <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="other">I %1$d minutter (indtil <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml index 77f049b90eaf..2d64aee2e5e9 100644 --- a/core/res/res/values-de/strings.xml +++ b/core/res/res/values-de/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Jetzt sperren"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Inhalte ausgeblendet"</string> <string name="safeMode" msgid="2788228061547930246">"Abgesicherter Modus"</string> <string name="android_system_label" msgid="6577375335728551336">"Android-System"</string> <string name="user_owner_label" msgid="2804351898001038951">"Privat"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Ausschneiden"</string> <string name="copy" msgid="2681946229533511987">"Kopieren"</string> <string name="paste" msgid="5629880836805036433">"Einfügen"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Nur Text einfügen"</string> <string name="replace" msgid="5781686059063148930">"Ersetzen..."</string> <string name="delete" msgid="6098684844021697789">"Löschen"</string> <string name="copyUrl" msgid="2538211579596067402">"URL kopieren"</string> <string name="selectTextMode" msgid="1018691815143165326">"Text auswählen"</string> + <string name="undo" msgid="7905788502491742328">"Rückgängig machen"</string> + <string name="redo" msgid="7759464876566803888">"Wiederholen"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Textauswahl"</string> <string name="addToDictionary" msgid="4352161534510057874">"Zum Wörterbuch hinzufügen"</string> <string name="deleteText" msgid="6979668428458199034">"Löschen"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Hintergrund ändern"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Benachrichtigungs-Listener"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Bedingungsprovider"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Benachrichtigungsassistent"</string> <string name="vpn_title" msgid="19615213552042827">"VPN aktiviert"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN wurde von <xliff:g id="APP">%s</xliff:g> aktiviert."</string> <string name="vpn_text" msgid="3011306607126450322">"Zum Verwalten des Netzwerks berühren"</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Von Ihrem Administrator aktualisiert"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Von Ihrem Administrator gelöscht"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Der Energiesparmodus schont den Akku, indem er die Leistung des Geräts reduziert und die Vibrationsfunktion sowie die meisten Hintergrunddatenaktivitäten einschränkt. E-Mail, SMS/MMS und andere Apps, die auf Ihrem Gerät synchronisiert werden, werden möglicherweise erst nach dem Öffnen aktualisiert.\n\nDer Energiesparmodus wird automatisch deaktiviert, wenn Ihr Gerät aufgeladen wird."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Wichtigkeit"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Blockiert: Keine Benachrichtigungen anzeigen"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Niedrig: Benachrichtigungen ganz unten in der Benachrichtigungsliste und ohne Ton anzeigen"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normal: Benachrichtigungen ohne Ton anzeigen"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Hoch: Benachrichtigungen ganz oben in der Benachrichtigungsliste und mit Ton anzeigen"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Dringend: Mit Ton auf dem Display einblenden"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d Minuten (bis <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">1 Minute (bis <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml index 666b65b19cd7..a1a6ced4debb 100644 --- a/core/res/res/values-el/strings.xml +++ b/core/res/res/values-el/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Κλείδωμα τώÏα"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"ΚÏυφό πεÏιεχόμενο"</string> <string name="safeMode" msgid="2788228061547930246">"Ασφαλής λειτουÏγία"</string> <string name="android_system_label" msgid="6577375335728551336">"ΣÏστημα Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Î Ïοσωπικό"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Αποκοπή"</string> <string name="copy" msgid="2681946229533511987">"ΑντιγÏαφή"</string> <string name="paste" msgid="5629880836805036433">"Επικόλληση"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Επικόλληση ως απλό κείμενο"</string> <string name="replace" msgid="5781686059063148930">"Αντικατάσταση..."</string> <string name="delete" msgid="6098684844021697789">"ΔιαγÏαφή"</string> <string name="copyUrl" msgid="2538211579596067402">"ΑντιγÏαφή διεÏθυνσης URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Επιλογή κειμÎνου"</string> + <string name="undo" msgid="7905788502491742328">"ΑναίÏεση"</string> + <string name="redo" msgid="7759464876566803888">"Επανάληψη"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Επιλογή κειμÎνου"</string> <string name="addToDictionary" msgid="4352161534510057874">"Î Ïοσθήκη στο λεξικό"</string> <string name="deleteText" msgid="6979668428458199034">"ΔιαγÏαφή"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Αλλαγή ταπετσαÏίας"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"ΥπηÏεσία ακÏόασης ειδοποίησης"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"ΠάÏοχος συνθηκών"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Βοηθός ειδοποιήσεων"</string> <string name="vpn_title" msgid="19615213552042827">"Το VPN ενεÏγοποιήθηκε"</string> <string name="vpn_title_long" msgid="6400714798049252294">"Το VPN ενεÏγοποιήθηκε από την εφαÏμογή <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Αγγίξτε για τη διαχείÏιση του δικτÏου."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"ΕνημεÏώθηκε από το διαχειÏιστή σας"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"ΔιαγÏάφηκε από το διαχειÏιστή σας"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Î ÏοκειμÎνου να βελτιώσει τη διάÏκεια ζωής της μπαταÏίας σας, η Εξοικονόμηση μπαταÏίας μειώνει την απόδοση της συσκευής σας και πεÏιοÏίζει λειτουÏγίες όπως η δόνηση, οι υπηÏεσίες τοποθεσίας και τα πεÏισσότεÏα δεδομÎνα παÏασκηνίου. Το ηλεκτÏονικό ταχυδÏομείο, η ανταλλαγή μηνυμάτων και άλλες εφαÏμογÎÏ‚ που βασίζονται στο συγχÏονισμό ενδÎχεται να μην ενημεÏώνονται Îως ότου τις ανοίξετε.\n\nΗ Εξοικονόμηση μπαταÏίας απενεÏγοποιείται αυτόματα όταν η συσκευή σας φοÏτίζει."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"ΒαÏÏτητα"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"ΑποκλεισμÎνες: Îα μην εμφανίζονται ποτΠαυτÎÏ‚ οι ειδοποιήσεις"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Χαμηλής βαÏÏτητας: Îα εμφανίζονται στο κάτω τμήμα της λίστας ειδοποιήσεων χωÏίς τη συνοδεία ήχου"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Κανονική βαÏÏτητα: Îα εμφανίζονται αυτÎÏ‚ οι ειδοποιήσεις χωÏίς ήχο"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Υψηλής βαÏÏτητας: Îα εμφανίζονται στην κοÏυφή της λίστας ειδοποιήσεων συνοδευόμενες από κάποιον ήχο"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Επείγουσες: Îα Ï€Ïοβάλλονται στην οθόνη και να συνοδεÏονται από κάποιον ήχο"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">Για %1$d λεπτά (Îως τις <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">Για Îνα λεπτό (Îως τις <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml index 9350ef72c35e..cd2dc23c3715 100644 --- a/core/res/res/values-en-rAU/strings.xml +++ b/core/res/res/values-en-rAU/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Lock now"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Contents hidden"</string> <string name="safeMode" msgid="2788228061547930246">"Safe mode"</string> <string name="android_system_label" msgid="6577375335728551336">"Android system"</string> <string name="user_owner_label" msgid="2804351898001038951">"Personal"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Cut"</string> <string name="copy" msgid="2681946229533511987">"Copy"</string> <string name="paste" msgid="5629880836805036433">"Paste"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Paste as plain text"</string> <string name="replace" msgid="5781686059063148930">"Replace..."</string> <string name="delete" msgid="6098684844021697789">"Delete"</string> <string name="copyUrl" msgid="2538211579596067402">"Copy URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Select text"</string> + <string name="undo" msgid="7905788502491742328">"Undo"</string> + <string name="redo" msgid="7759464876566803888">"Redo"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Text selection"</string> <string name="addToDictionary" msgid="4352161534510057874">"Add to dictionary"</string> <string name="deleteText" msgid="6979668428458199034">"Delete"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Change wallpaper"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Notification listener"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Condition provider"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Notification assistant"</string> <string name="vpn_title" msgid="19615213552042827">"VPN activated"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN is activated by <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Touch to manage the network."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Updated by your administrator"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Deleted by your administrator"</string> <string name="battery_saver_description" msgid="1960431123816253034">"To help improve battery life, battery saver reduces your device’s performance and limits vibration, location services and most background data. Email, messaging, and other apps that rely on syncing may not update unless you open them.\n\nBattery saver turns off automatically when your device is charging."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Importance"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Blocked: Never show these notifications"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Low: Silently show at the bottom of the notification list"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normal: Silently show these notifications"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"High: Show at the top of the notifications list and make sound"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Urgent: Peek onto the screen and make sound"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">For %1$d minutes (until <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">For one minute (until <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml index 9350ef72c35e..cd2dc23c3715 100644 --- a/core/res/res/values-en-rGB/strings.xml +++ b/core/res/res/values-en-rGB/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Lock now"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Contents hidden"</string> <string name="safeMode" msgid="2788228061547930246">"Safe mode"</string> <string name="android_system_label" msgid="6577375335728551336">"Android system"</string> <string name="user_owner_label" msgid="2804351898001038951">"Personal"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Cut"</string> <string name="copy" msgid="2681946229533511987">"Copy"</string> <string name="paste" msgid="5629880836805036433">"Paste"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Paste as plain text"</string> <string name="replace" msgid="5781686059063148930">"Replace..."</string> <string name="delete" msgid="6098684844021697789">"Delete"</string> <string name="copyUrl" msgid="2538211579596067402">"Copy URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Select text"</string> + <string name="undo" msgid="7905788502491742328">"Undo"</string> + <string name="redo" msgid="7759464876566803888">"Redo"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Text selection"</string> <string name="addToDictionary" msgid="4352161534510057874">"Add to dictionary"</string> <string name="deleteText" msgid="6979668428458199034">"Delete"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Change wallpaper"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Notification listener"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Condition provider"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Notification assistant"</string> <string name="vpn_title" msgid="19615213552042827">"VPN activated"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN is activated by <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Touch to manage the network."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Updated by your administrator"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Deleted by your administrator"</string> <string name="battery_saver_description" msgid="1960431123816253034">"To help improve battery life, battery saver reduces your device’s performance and limits vibration, location services and most background data. Email, messaging, and other apps that rely on syncing may not update unless you open them.\n\nBattery saver turns off automatically when your device is charging."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Importance"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Blocked: Never show these notifications"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Low: Silently show at the bottom of the notification list"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normal: Silently show these notifications"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"High: Show at the top of the notifications list and make sound"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Urgent: Peek onto the screen and make sound"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">For %1$d minutes (until <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">For one minute (until <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml index 9350ef72c35e..cd2dc23c3715 100644 --- a/core/res/res/values-en-rIN/strings.xml +++ b/core/res/res/values-en-rIN/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Lock now"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Contents hidden"</string> <string name="safeMode" msgid="2788228061547930246">"Safe mode"</string> <string name="android_system_label" msgid="6577375335728551336">"Android system"</string> <string name="user_owner_label" msgid="2804351898001038951">"Personal"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Cut"</string> <string name="copy" msgid="2681946229533511987">"Copy"</string> <string name="paste" msgid="5629880836805036433">"Paste"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Paste as plain text"</string> <string name="replace" msgid="5781686059063148930">"Replace..."</string> <string name="delete" msgid="6098684844021697789">"Delete"</string> <string name="copyUrl" msgid="2538211579596067402">"Copy URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Select text"</string> + <string name="undo" msgid="7905788502491742328">"Undo"</string> + <string name="redo" msgid="7759464876566803888">"Redo"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Text selection"</string> <string name="addToDictionary" msgid="4352161534510057874">"Add to dictionary"</string> <string name="deleteText" msgid="6979668428458199034">"Delete"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Change wallpaper"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Notification listener"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Condition provider"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Notification assistant"</string> <string name="vpn_title" msgid="19615213552042827">"VPN activated"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN is activated by <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Touch to manage the network."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Updated by your administrator"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Deleted by your administrator"</string> <string name="battery_saver_description" msgid="1960431123816253034">"To help improve battery life, battery saver reduces your device’s performance and limits vibration, location services and most background data. Email, messaging, and other apps that rely on syncing may not update unless you open them.\n\nBattery saver turns off automatically when your device is charging."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Importance"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Blocked: Never show these notifications"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Low: Silently show at the bottom of the notification list"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normal: Silently show these notifications"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"High: Show at the top of the notifications list and make sound"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Urgent: Peek onto the screen and make sound"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">For %1$d minutes (until <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">For one minute (until <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml index 339c315649b0..a6f76ace6b18 100644 --- a/core/res/res/values-es-rUS/strings.xml +++ b/core/res/res/values-es-rUS/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Bloquear ahora"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Contenidos ocultos"</string> <string name="safeMode" msgid="2788228061547930246">"Modo seguro"</string> <string name="android_system_label" msgid="6577375335728551336">"Sistema Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Personal"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Cortar"</string> <string name="copy" msgid="2681946229533511987">"Copiar"</string> <string name="paste" msgid="5629880836805036433">"Pegar"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Pegar como texto sin formato"</string> <string name="replace" msgid="5781686059063148930">"Reemplazar..."</string> <string name="delete" msgid="6098684844021697789">"Eliminar"</string> <string name="copyUrl" msgid="2538211579596067402">"Copiar URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Seleccionar texto"</string> + <string name="undo" msgid="7905788502491742328">"Deshacer"</string> + <string name="redo" msgid="7759464876566803888">"Rehacer"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Selección de texto"</string> <string name="addToDictionary" msgid="4352161534510057874">"Agregar al diccionario"</string> <string name="deleteText" msgid="6979668428458199034">"Eliminar"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Cambiar fondo de pantalla"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Agente de escucha de notificaciones"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Proveedor de condiciones"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Asistente de notificaciones"</string> <string name="vpn_title" msgid="19615213552042827">"VPN activada"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN está activado por <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Toca para administrar la red."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Actualizado por el administrador"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Lo eliminó el administrador."</string> <string name="battery_saver_description" msgid="1960431123816253034">"Para ayudar a mejorar la duración de la baterÃa, el ahorro de baterÃa reduce el rendimiento del dispositivo y limita la vibración, los servicios de ubicación y la mayorÃa de los datos en segundo plano. Es posible que el correo electrónico, la mensajerÃa y otras aplicaciones que se basan en la sincronización no puedan actualizarse, a menos que los abras.\n\nEl ahorro de baterÃa se desactiva de forma automática cuando el dispositivo se está cargando."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Importancia"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Bloqueada: no mostrar nunca estas notificaciones"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Baja: mostrar en la parte inferior de la lista de notificación sin emitir sonido"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normal: mostrar estas notificaciones de manera silenciosa"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Alta: mostrar en la parte superior de la lista de notificaciones y emitir sonido"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Urgente: mostrar en la pantalla y emitir sonido"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">Durante %1$d minutos hasta la(s) <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g></item> <item quantity="one">Durante 1 minuto; hasta la(s) <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g></item> diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml index 5b82a08282c4..594fa5065603 100644 --- a/core/res/res/values-es/strings.xml +++ b/core/res/res/values-es/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Bloquear ahora"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"> 999"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Contenidos ocultos"</string> <string name="safeMode" msgid="2788228061547930246">"Modo seguro"</string> <string name="android_system_label" msgid="6577375335728551336">"Sistema Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Personal"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Cortar"</string> <string name="copy" msgid="2681946229533511987">"Copiar"</string> <string name="paste" msgid="5629880836805036433">"Pegar"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Pegar como texto sin formato"</string> <string name="replace" msgid="5781686059063148930">"Sustituir..."</string> <string name="delete" msgid="6098684844021697789">"Eliminar"</string> <string name="copyUrl" msgid="2538211579596067402">"Copiar URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Seleccionar texto"</string> + <string name="undo" msgid="7905788502491742328">"Deshacer"</string> + <string name="redo" msgid="7759464876566803888">"Rehacer"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Selección de texto"</string> <string name="addToDictionary" msgid="4352161534510057874">"Añadir al diccionario"</string> <string name="deleteText" msgid="6979668428458199034">"Eliminar"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Cambiar fondo de pantalla"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Detector de notificaciones"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Proveedor de condiciones"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Asistente de notificaciones"</string> <string name="vpn_title" msgid="19615213552042827">"VPN activada"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN activada por <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Toca para administrar la red."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Actualizado por tu administrador"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Eliminado por tu administrador"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Para ayudar a mejorar la duración de la baterÃa, la función de ahorro de energÃa reduce el rendimiento del dispositivo y limita la vibración, los servicios de ubicación y la mayor parte de la transmisión de datos en segundo plano. Es posible que las aplicaciones que se sincronizan, como las de correo y mensajes, no se actualicen a menos que las abras.\n\nLa función de ahorro de energÃa se desactiva automáticamente cuando el dispositivo se está cargando."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Importancia"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Bloqueada: no mostrar estas notificaciones"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Baja: mostrar en la parte inferior de la lista de notificaciones de forma silenciosa"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normal: mostrar estas notificaciones de forma silenciosa"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Alta: mostrar en la parte superior de la lista de notificaciones y emitir sonido"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Urgente: mostrar en la pantalla y emitir sonido"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">Durante %1$d minutos (hasta las <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">Durante un minuto (hasta las <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-et-rEE/strings.xml b/core/res/res/values-et-rEE/strings.xml index 9bb955bedc8e..8ee89048d4d2 100644 --- a/core/res/res/values-et-rEE/strings.xml +++ b/core/res/res/values-et-rEE/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Lukusta kohe"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Sisu on peidetud"</string> <string name="safeMode" msgid="2788228061547930246">"Turvarežiim"</string> <string name="android_system_label" msgid="6577375335728551336">"Android-süsteem"</string> <string name="user_owner_label" msgid="2804351898001038951">"Isiklik"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Lõika"</string> <string name="copy" msgid="2681946229533511987">"Kopeeri"</string> <string name="paste" msgid="5629880836805036433">"Kleebi"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Kleebi lihttekstina"</string> <string name="replace" msgid="5781686059063148930">"Asenda..."</string> <string name="delete" msgid="6098684844021697789">"Kustuta"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopeeri URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Valige tekst"</string> + <string name="undo" msgid="7905788502491742328">"Võta tagasi"</string> + <string name="redo" msgid="7759464876566803888">"Tee uuesti"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Teksti valimine"</string> <string name="addToDictionary" msgid="4352161534510057874">"Lisa sõnastikku"</string> <string name="deleteText" msgid="6979668428458199034">"Kustuta"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Muutke taustapilti"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Märguannete kuulamisteenus"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Tingimuse pakkuja"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Märguannete abi"</string> <string name="vpn_title" msgid="19615213552042827">"VPN on aktiveeritud"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN-i aktiveeris <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Võrgu haldamiseks puudutage."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Värskendas administraator"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Kustutas teie administraator"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Aku kestuse parandamiseks vähendab akusäästja teie seadme toimivust ning piirab vibratsiooni, asukohateenuseid ja suuremat osa taustaandmetest. E-posti, sõnumsidet ja muid sünkroonimisele tuginevaid rakendusi võidakse värskendada ainult siis, kui te need avate.\n\nAkusäästja lülitatakse seadme laadimise ajal automaatselt välja."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Tähtsus"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Blokeeritud: ära kunagi näita neid märguandeid"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Madal: kuva vaikselt märguannete loendi allosas"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Tavaline: kuva need märguanded vaikselt"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Kõrge: kuva märguannete loendi ülaosas koos heliga"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Kiireloomuline: kuva ekraani servas koos heliga"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d minutiks (kuni <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">Üheks minutiks (kuni <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-eu-rES/strings.xml b/core/res/res/values-eu-rES/strings.xml index efff589f9885..e257fe991b59 100644 --- a/core/res/res/values-eu-rES/strings.xml +++ b/core/res/res/values-eu-rES/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Blokeatu"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Edukiak ezkutatuta daude"</string> <string name="safeMode" msgid="2788228061547930246">"Modu segurua"</string> <string name="android_system_label" msgid="6577375335728551336">"Android sistema"</string> <string name="user_owner_label" msgid="2804351898001038951">"Pertsonalak"</string> @@ -383,8 +384,8 @@ <string name="permdesc_getAccounts" product="tablet" msgid="2741496534769660027">"Tabletak ezagutzen dituen kontuen zerrenda lortzeko baimena ematen die aplikazioei. Instalatuta dituzun aplikazioek sortutako kontuak har daitezke barne."</string> <string name="permdesc_getAccounts" product="tv" msgid="4190633395633907543">"Telebistak ezagutzen dituen kontuen zerrenda lortzea baimentzen die aplikazioei. Instalatuta dituzun aplikazioek sortutako kontuak sar daitezke."</string> <string name="permdesc_getAccounts" product="default" msgid="3448316822451807382">"Telefonoak ezagutzen dituen kontuen zerrenda lortzeko baimena ematen die aplikazioei. Instalatuta dituzun aplikazioek sortutako kontuak har daitezke barne."</string> - <string name="permlab_accessNetworkState" msgid="4951027964348974773">"sare-konexioak ikustea"</string> - <string name="permdesc_accessNetworkState" msgid="8318964424675960975">"Sare-konexioei buruzko informazioa ikusteko baimena ematen die aplikazioei; adibidez, zer sare dauden eta zeintzuk dauden konektatuta."</string> + <string name="permlab_accessNetworkState" msgid="4951027964348974773">"sareko konexioak ikustea"</string> + <string name="permdesc_accessNetworkState" msgid="8318964424675960975">"Sareko konexioei buruzko informazioa ikusteko baimena ematen die aplikazioei; adibidez, zer sare dauden eta zeintzuk dauden konektatuta."</string> <string name="permlab_createNetworkSockets" msgid="7934516631384168107">"Izan sarerako sarbide osoa"</string> <string name="permdesc_createNetworkSockets" msgid="3403062187779724185">"Sare-socketak sortzeko eta sare-protokolo pertsonalizatuak erabiltzeko baimena ematen die aplikazioei. Arakatzaileak eta beste aplikazio batzuek Internetera konektatzeko moduak eskaintzen dituzte, beraz, baimen hori ez da beharrezkoa datuak Internetera bidaltzeko."</string> <string name="permlab_changeNetworkState" msgid="958884291454327309">"aldatu sarearen konektagarritasuna"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Ebaki"</string> <string name="copy" msgid="2681946229533511987">"Kopiatu"</string> <string name="paste" msgid="5629880836805036433">"Itsatsi"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Itsatsi testu arrunt gisa"</string> <string name="replace" msgid="5781686059063148930">"Ordeztu…"</string> <string name="delete" msgid="6098684844021697789">"Ezabatu"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopiatu URLa"</string> <string name="selectTextMode" msgid="1018691815143165326">"Hautatu testua"</string> + <string name="undo" msgid="7905788502491742328">"Desegin"</string> + <string name="redo" msgid="7759464876566803888">"Berregin"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Testua hautatzea"</string> <string name="addToDictionary" msgid="4352161534510057874">"Gehitu hiztegian"</string> <string name="deleteText" msgid="6979668428458199034">"Ezabatu"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Aldatu horma-papera"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Jakinarazpenak hautemateko zerbitzua"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Baldintza-hornitzailea"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Jakinarazpenen laguntzailea"</string> <string name="vpn_title" msgid="19615213552042827">"VPN eginbidea aktibatuta"</string> <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> aplikazioak VPN konexioa aktibatu du"</string> <string name="vpn_text" msgid="3011306607126450322">"Ukitu sarea kudeatzeko."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Administratzaileak eguneratu du"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Administratzaileak ezabatu du"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Bateriak gehiago iraun dezan, bateria-aurrezleak gailuaren funtzionamendua, dardara, kokapen-zerbitzuak eta atzeko planoko datuen erabilera gehiena mugatzen ditu. Posta elektronikoa, mezuak eta sinkronizatzen diren gainerako zerbitzuak ez dira eguneratuko ireki ezean.\n\nGailua kargatzen ezarri orduko desaktibatzen da bateria-aurrezlea."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Garrantzia"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Blokeatuta: ez erakutsi jakinarazpen hauek"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Txikia: erakutsi jakinarazpen hauek zerrendaren behealdean"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normala: erakutsi jakinarazpen hauek, baina soinurik egin gabe"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Handia: erakutsi jakinarazpen hauek zerrendaren goialdean eta egin soinua"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Premiazkoa: agerrarazi jakinarazpen hauek pantailan eta egin soinua"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d minutuz (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> arte)</item> <item quantity="one">Minutu batez (<xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g> arte)</item> diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml index d5ed5db497cd..b6b669ef77cf 100644 --- a/core/res/res/values-fa/strings.xml +++ b/core/res/res/values-fa/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"اکنون Ù‚ÙÙ„ شود"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"بیشتر از 999"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Ù…ØØªÙˆØ§Ù‡Ø§ پنهان هستند"</string> <string name="safeMode" msgid="2788228061547930246">"ØØ§Ù„ت ایمن"</string> <string name="android_system_label" msgid="6577375335728551336">"â€Ø³ÛŒØ³ØªÙ… Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"شخصی"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"برش"</string> <string name="copy" msgid="2681946229533511987">"Ú©Ù¾ÛŒ"</string> <string name="paste" msgid="5629880836805036433">"جای گذاری"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"جای‌گذاری به عنوان متن ساده"</string> <string name="replace" msgid="5781686059063148930">"جایگزین شود..."</string> <string name="delete" msgid="6098684844021697789">"ØØ°Ù"</string> <string name="copyUrl" msgid="2538211579596067402">"â€Ú©Ù¾ÛŒ URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"انتخاب متن"</string> + <string name="undo" msgid="7905788502491742328">"لغو"</string> + <string name="redo" msgid="7759464876566803888">"انجام مجدد"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"انتخاب متن"</string> <string name="addToDictionary" msgid="4352161534510057874">"Ø§ÙØ²ÙˆØ¯Ù† به ÙØ±Ù‡Ù†Ú¯â€ŒÙ„غت"</string> <string name="deleteText" msgid="6979668428458199034">"ØØ°Ù"</string> @@ -892,7 +896,7 @@ <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"â€Ø§Ø³ØªÙاده از %1$s به عنوان برنامه ØµÙØÙ‡ اصلی"</string> <string name="alwaysUse" msgid="4583018368000610438">"Ø§Ø³ØªÙØ§Ø¯Ù‡ به صورت Ù¾ÛŒØ´â€ŒÙØ±Ø¶ برای این عملکرد."</string> <string name="use_a_different_app" msgid="8134926230585710243">"Ø§Ø³ØªØªÙØ§Ø¯Ù‡ از یک برنامه دیگر"</string> - <string name="clearDefaultHintMsg" msgid="3252584689512077257">"â€Ù¾ÛŒØ´â€ŒÙرض را در تنظیمات سیستم> برنامه‎ها> مورد دانلود شده پاک کنید."</string> + <string name="clearDefaultHintMsg" msgid="3252584689512077257">"â€Ù¾ÛŒØ´â€ŒÙرض را در تنظیمات سیستم> برنامه‎ها> مورد بارگیری شده پاک کنید."</string> <string name="chooseActivity" msgid="7486876147751803333">"انتخاب عملکرد"</string> <string name="chooseUsbActivity" msgid="6894748416073583509">"â€Ø§Ù†ØªØ®Ø§Ø¨ برنامه برای دستگاه USB"</string> <string name="noApplications" msgid="2991814273936504689">"â€Ù‡ÛŒÚ† برنامه‌ای نمی‌‎تواند این کار را انجام دهد."</string> @@ -914,7 +918,7 @@ <string name="launch_warning_original" msgid="188102023021668683">"<xliff:g id="APP_NAME">%1$s</xliff:g> از ابتدا راه‌اندازی شد."</string> <string name="screen_compat_mode_scale" msgid="3202955667675944499">"مقیاس"</string> <string name="screen_compat_mode_show" msgid="4013878876486655892">"همیشه نشان داده شود"</string> - <string name="screen_compat_mode_hint" msgid="1064524084543304459">"â€Ø¯Ø± تنظیمات سیستم >برنامه‎ها > مورد دانلود شده آن را دوباره ÙØ¹Ø§Ù„ کنید."</string> + <string name="screen_compat_mode_hint" msgid="1064524084543304459">"â€Ø¯Ø± تنظیمات سیستم >برنامه‎ها > مورد بارگیری شده آن را دوباره ÙØ¹Ø§Ù„ کنید."</string> <string name="smv_application" msgid="3307209192155442829">"â€Ø¨Ø±Ù†Ø§Ù…Ù‡ <xliff:g id="APPLICATION">%1$s</xliff:g> (پردازش <xliff:g id="PROCESS">%2$s</xliff:g>) خط‌مشی StrictMode اجرایی خود را نقض کرده است."</string> <string name="smv_process" msgid="5120397012047462446">"â€Ùرآیند <xliff:g id="PROCESS">%1$s</xliff:g> خط‌مشی StrictMode اجرای خودکار خود را نقض کرده است."</string> <string name="android_upgrading_title" msgid="1584192285441405746">"â€Android در ØØ§Ù„ ارتقا است..."</string> @@ -927,7 +931,7 @@ <string name="heavy_weight_notification" msgid="9087063985776626166">"<xliff:g id="APP">%1$s</xliff:g> در ØØ§Ù„ اجرا"</string> <string name="heavy_weight_notification_detail" msgid="1721681741617898865">"لمس کردن برای بازکردن برنامه"</string> <string name="heavy_weight_switcher_title" msgid="7153167085403298169">"برنامه عوض شود؟"</string> - <string name="heavy_weight_switcher_text" msgid="7022631924534406403">"برنامه دیگری از قبل در ØØ§Ù„ اجرا است Ú©Ù‡ باید قبل از اینکه برنامه جدیدی را شروع کنید متوق٠شود."</string> + <string name="heavy_weight_switcher_text" msgid="7022631924534406403">"برنامه دیگری از قبل در ØØ§Ù„ اجراست Ú©Ù‡ باید متوق٠شود تا بتوانید برنامه جدید را شروع کنید."</string> <string name="old_app_action" msgid="493129172238566282">"بازگشت به <xliff:g id="OLD_APP">%1$s</xliff:g>"</string> <string name="old_app_description" msgid="2082094275580358049">"برنامه جدید شروع نشود."</string> <string name="new_app_action" msgid="5472756926945440706">"شروع <xliff:g id="OLD_APP">%1$s</xliff:g>"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"تغییر کاغذدیواری"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"شنونده اعلان"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"ارائه‌دهنده وضعیت"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"دستیار اعلان"</string> <string name="vpn_title" msgid="19615213552042827">"â€VPN ÙØ¹Ø§Ù„ شد"</string> <string name="vpn_title_long" msgid="6400714798049252294">"â€VPN توسط <xliff:g id="APP">%s</xliff:g> ÙØ¹Ø§Ù„ شده است"</string> <string name="vpn_text" msgid="3011306607126450322">"برای مدیریت شبکه لمس کنید."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"توسط سرپرست شما به‌روزرسانی شد"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"توسط سرپرستتان ØØ°Ù شد"</string> <string name="battery_saver_description" msgid="1960431123816253034">"برای Ú©Ù…Ú© به بهبود عمر باتری، بهینه‌سازی باتری عملکرد دستگاهتان را کاهش می‌دهد Ùˆ لرزش، سرویس‌های مبتنی بر مکان، Ùˆ دسترسی به اکثر داده‌ها در پس‌زمینه را Ù…ØØ¯ÙˆØ¯ می‌کند. ایمیل، پیام‌رسانی Ùˆ برنامه‌های دیگری Ú©Ù‡ به همگام‌سازی وابسته‌اند، تا زمانی‌که آن‌ها را باز نکنید نمی‌توانند به‌روز شوند.\n\nبهینه‌سازی باتری به‌صورت خودکار در هنگام شارژ شدن دستگاه خاموش می‌شود."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"اهمیت"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"مسدود: هرگز این اعلان‌ها نشان داده نشود"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"پایین: بدون صدا در پایین Ùهرست اعلان نشان داده شود"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"عادی: این اعلان‌ها بدون صدا نشان داده شود"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"بالا: در بالای Ùهرست اعلان‌ها Ùˆ به همراه صدا نشان داده شود"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"ضروری: نمای Ú©Ù„ÛŒ به همراه صدا در ØµÙØÙ‡ نشان داده شود"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">â€Ø¨Ù‡ مدت %1$d دقیقه (تا <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="other">â€Ø¨Ù‡ مدت %1$d دقیقه (تا <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml index 7b42a1a5b431..b0efd9638889 100644 --- a/core/res/res/values-fi/strings.xml +++ b/core/res/res/values-fi/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Lukitse nyt"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Sisältö piilotettu"</string> <string name="safeMode" msgid="2788228061547930246">"Suojattu tila"</string> <string name="android_system_label" msgid="6577375335728551336">"Android-järjestelmä"</string> <string name="user_owner_label" msgid="2804351898001038951">"Henkilökoht."</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Leikkaa"</string> <string name="copy" msgid="2681946229533511987">"Kopioi"</string> <string name="paste" msgid="5629880836805036433">"Liitä"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Liitä pelkkänä tekstinä"</string> <string name="replace" msgid="5781686059063148930">"Korvaa..."</string> <string name="delete" msgid="6098684844021697789">"Poista"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopioi URL-osoite"</string> <string name="selectTextMode" msgid="1018691815143165326">"Valitse tekstiä"</string> + <string name="undo" msgid="7905788502491742328">"Kumoa"</string> + <string name="redo" msgid="7759464876566803888">"Toista"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Tekstin valinta"</string> <string name="addToDictionary" msgid="4352161534510057874">"Lisää sanakirjaan"</string> <string name="deleteText" msgid="6979668428458199034">"Poista"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Vaihda taustakuvaa"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Ilmoituskuuntelija"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Ehtojen toimituspalvelu"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Ilmoitusapuri"</string> <string name="vpn_title" msgid="19615213552042827">"VPN on aktivoitu"</string> <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> on aktivoinut VPN-yhteyden"</string> <string name="vpn_text" msgid="3011306607126450322">"Voit hallinnoida verkkoa koskettamalla."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Järjestelmänvalvojasi on päivittänyt paketin."</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Järjestelmänvalvoja on poistanut paketin."</string> <string name="battery_saver_description" msgid="1960431123816253034">"Jos haluat parantaa akun kestoa, virransäästö vähentää laitteesi suorituskykyä ja rajoittaa värinää, sijaintipalveluita ja useimpia taustatietoja. Sähköposti, viestit ja muut synkronointiin perustuvat sovellukset eivät välttämättä päivity, ellet avaa niitä.\n\nVirransäästö poistuu käytöstä automaattisesti, kun laitteesi latautuu."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Tärkeys"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Estetty: älä koskaan näytä näitä ilmoituksia."</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Matala: näytä nämä ilmoitukset huomaamattomasti luettelon alaosassa."</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Tavallinen: näytä nämä ilmoitukset huomaamattomasti."</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Korkea: näytä nämä ilmoitukset luettelon yläosassa ja toista äänimerkki."</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Kiireellinen: näytä ilmoitus näytöllä ja toista äänimerkki."</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d minuutiksi (kunnes kello on <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">Yhdeksi minuutiksi (kunnes kello on <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml index 5debc9cdb15a..52a47587aa2f 100644 --- a/core/res/res/values-fr-rCA/strings.xml +++ b/core/res/res/values-fr-rCA/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Verrouiller"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">">999"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Contenus masqués"</string> <string name="safeMode" msgid="2788228061547930246">"Mode sécurisé"</string> <string name="android_system_label" msgid="6577375335728551336">"Système Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Personnel"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Couper"</string> <string name="copy" msgid="2681946229533511987">"Copier"</string> <string name="paste" msgid="5629880836805036433">"Coller"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Coller en texte brut"</string> <string name="replace" msgid="5781686059063148930">"Remplacer..."</string> <string name="delete" msgid="6098684844021697789">"Supprimer"</string> <string name="copyUrl" msgid="2538211579596067402">"Copier l\'URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Sélectionner du texte"</string> + <string name="undo" msgid="7905788502491742328">"Annuler"</string> + <string name="redo" msgid="7759464876566803888">"Répéter"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Sélection de texte"</string> <string name="addToDictionary" msgid="4352161534510057874">"Ajouter au dictionnaire"</string> <string name="deleteText" msgid="6979668428458199034">"Supprimer"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Changer de fond d\'écran"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Outil d\'écoute des notifications"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Fournisseur de conditions"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Assistant des notifications"</string> <string name="vpn_title" msgid="19615213552042827">"VPN activé"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN activé par <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Appuyez ici pour gérer le réseau."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Mis à jour par votre administrateur"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Supprimé par votre administrateur"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Pour améliorer l\'autonomie de la pile, la fonction d\'économie d\'énergie réduit les performances de votre appareil et limite la vibration, les services de localisation ainsi que la plupart des données en arrière-plan. Les applications Courriel, Messages et d\'autres qui reposent sur la synchronisation ne peuvent pas se mettre à jour, sauf si vous les ouvrez. \n\n L\'économiseur d\'énergie se désactive automatiquement lorsque votre appareil est en charge."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Importance"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Bloquée : ne jamais afficher ces notifications"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Faible : afficher en mode silencieux au bas de la liste de notifications"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normale : afficher ces notifications en mode silencieux"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Élevée : afficher en haut de la liste des notifications et émettre un son"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Urgent : afficher sur l\'écran et émettre un son"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">Pendant %1$d minute (jusqu\'à <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="other">Pendant %1$d minutes (jusqu\'à <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml index 6c1af87757c7..2740f3dec6d0 100644 --- a/core/res/res/values-fr/strings.xml +++ b/core/res/res/values-fr/strings.xml @@ -189,7 +189,7 @@ <string name="silent_mode_ring" msgid="8592241816194074353">"Sonnerie activée"</string> <string name="reboot_to_update_title" msgid="6212636802536823850">"Mise à jour du système Android"</string> <string name="reboot_to_update_prepare" msgid="6305853831955310890">"Préparation de la mise à jour en cours…"</string> - <string name="reboot_to_update_package" msgid="3871302324500927291">"Traitement du package de mises à jour en cours…"</string> + <string name="reboot_to_update_package" msgid="3871302324500927291">"Traitement du package de mise à jour…"</string> <string name="reboot_to_update_reboot" msgid="6428441000951565185">"Redémarrage en cours…"</string> <string name="reboot_to_reset_title" msgid="4142355915340627490">"Rétablir la configuration d\'usine"</string> <string name="reboot_to_reset_message" msgid="2432077491101416345">"Redémarrage en cours…"</string> @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Verrouiller"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">">999"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Contenus masqués"</string> <string name="safeMode" msgid="2788228061547930246">"Mode sécurisé"</string> <string name="android_system_label" msgid="6577375335728551336">"Système Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Personnel"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Couper"</string> <string name="copy" msgid="2681946229533511987">"Copier"</string> <string name="paste" msgid="5629880836805036433">"Coller"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Coller au format texte brut"</string> <string name="replace" msgid="5781686059063148930">"Remplacer..."</string> <string name="delete" msgid="6098684844021697789">"Supprimer"</string> <string name="copyUrl" msgid="2538211579596067402">"Copier l\'URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Sélectionner texte"</string> + <string name="undo" msgid="7905788502491742328">"Annuler"</string> + <string name="redo" msgid="7759464876566803888">"Rétablir"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Sélection de texte"</string> <string name="addToDictionary" msgid="4352161534510057874">"Ajouter au dictionnaire"</string> <string name="deleteText" msgid="6979668428458199034">"Supprimer"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Changer de fond d\'écran"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Outil d\'écoute des notifications"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Fournisseur de conditions"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Assistant de notifications"</string> <string name="vpn_title" msgid="19615213552042827">"VPN activé"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN activé par <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Appuyez ici pour gérer le réseau."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Mis à jour par votre administrateur"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Supprimé par votre administrateur"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Pour améliorer l\'autonomie de la batterie, l\'économiseur de batterie réduit les performances et désactive le vibreur, les services de localisation et la plupart des données en arrière-plan. Les messageries électroniques ou autres applications utilisant la synchronisation pourraient ne pas se mettre à jour, sauf si vous les ouvrez.\n\nL\'économiseur de batterie s\'éteint automatiquement lorsque l\'appareil est en charge."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Importance"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Bloquée : ne jamais afficher ces notifications"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Faible : afficher en mode silencieux au bas de la liste de notifications"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normale : afficher ces notifications en mode silencieux"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Élevée : afficher en haut de la liste des notifications et émettre un son"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Urgent : afficher sur l\'écran et émettre un son"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">Pendant %1$d minute (jusqu\'à <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="other">Pendant %1$d minutes (jusqu\'à <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> @@ -1511,6 +1510,6 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> éléments sélectionnés</item> </plurals> <string name="default_notification_topic_label" msgid="227586145791870829">"Divers"</string> - <string name="importance_from_topic" msgid="3572280439880023233">"Vous avez défini l\'importance de ces notifications."</string> + <string name="importance_from_topic" msgid="3572280439880023233">"Vous définissez l\'importance de ces notifications."</string> <string name="importance_from_person" msgid="9160133597262938296">"Ces notifications sont importantes en raison des participants."</string> </resources> diff --git a/core/res/res/values-gl-rES/strings.xml b/core/res/res/values-gl-rES/strings.xml index 27ac4907b139..71ce6e9bffb6 100644 --- a/core/res/res/values-gl-rES/strings.xml +++ b/core/res/res/values-gl-rES/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Bloquear agora"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">">999"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Contido oculto"</string> <string name="safeMode" msgid="2788228061547930246">"Modo seguro"</string> <string name="android_system_label" msgid="6577375335728551336">"Sistema Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Persoal"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Cortar"</string> <string name="copy" msgid="2681946229533511987">"Copiar"</string> <string name="paste" msgid="5629880836805036433">"Pegar"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Pegar como texto sen formato"</string> <string name="replace" msgid="5781686059063148930">"SubstituÃr…"</string> <string name="delete" msgid="6098684844021697789">"Eliminar"</string> <string name="copyUrl" msgid="2538211579596067402">"Copiar URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Seleccionar texto"</string> + <string name="undo" msgid="7905788502491742328">"Desfacer"</string> + <string name="redo" msgid="7759464876566803888">"Refacer"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Selección de texto"</string> <string name="addToDictionary" msgid="4352161534510057874">"Engadir ao dicionario"</string> <string name="deleteText" msgid="6979668428458199034">"Eliminar"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Cambiar fondo de pantalla"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Axente de escoita de notificacións"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Provedor de condicións"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Asistente de notificacións"</string> <string name="vpn_title" msgid="19615213552042827">"VPN activada"</string> <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> activou a VPN"</string> <string name="vpn_text" msgid="3011306607126450322">"Toca aquà para xestionar a rede."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Actualizado polo administrador"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Eliminado polo administrador"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Para axudar a mellorar a duración da baterÃa, a función aforro de baterÃa reduce o rendemento do teu dispositivo e limita a vibración, os servizos de localización e a maiorÃa dos datos en segundo plano. É posible que o correo electrónico, as mensaxes e outras aplicacións que dependen da sincronización non se actualicen a menos que os abras. \n\nA función aforro de baterÃa desactÃvase automaticamente cando pos a cargar o teu dispositivo."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Importancia"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Bloqueada: non mostrar nunca estas notificacións"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Baixa: mostrar de forma silenciosa na parte inferior da lista de notificacións"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normal: mostrar estas notificacións de forma silenciosa"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Alta: mostrar na parte superior da lista de notificacións e emitir son"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Urxente: mostrar na pantalla e emitir son"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">Durante %1$d minutos (ata as <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">Durante un minuto (ata as <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-gu-rIN/strings.xml b/core/res/res/values-gu-rIN/strings.xml index bcb33215700d..8258dc2b4e0d 100644 --- a/core/res/res/values-gu-rIN/strings.xml +++ b/core/res/res/values-gu-rIN/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"હવે લૉક કરો"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"સામગà«àª°à«€àª“ છà«àªªàª¾àªµà«‡àª² છે"</string> <string name="safeMode" msgid="2788228061547930246">"સà«àª°àª•à«àª·àª¿àª¤ મોડ"</string> <string name="android_system_label" msgid="6577375335728551336">"Android સિસà«àªŸàª®"</string> <string name="user_owner_label" msgid="2804351898001038951">"વà«àª¯àª•à«àª¤àª¿àª—ત"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"કાપો"</string> <string name="copy" msgid="2681946229533511987">"કૉપિ કરો"</string> <string name="paste" msgid="5629880836805036433">"પેસà«àªŸ કરો"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"સાદી ટેકà«àª¸à«àªŸ તરીકે પેસà«àªŸ કરો"</string> <string name="replace" msgid="5781686059063148930">"બદલો…"</string> <string name="delete" msgid="6098684844021697789">"કાઢી નાખો"</string> <string name="copyUrl" msgid="2538211579596067402">"URL ની કૉપિ કરો"</string> <string name="selectTextMode" msgid="1018691815143165326">"ટેકà«àª¸à«àªŸ પસંદ કરો"</string> + <string name="undo" msgid="7905788502491742328">"પૂરà«àªµàªµàª¤à« કરો"</string> + <string name="redo" msgid="7759464876566803888">"ફરી કરો"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"ટેકà«àª¸à«àªŸ પસંદગી"</string> <string name="addToDictionary" msgid="4352161534510057874">"શબà«àª¦àª•ોશમાં ઉમેરો"</string> <string name="deleteText" msgid="6979668428458199034">"કાઢી નાખો"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"વૉલપેપર બદલો"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"સૂચના સાંàªàª³àª¨àª¾àª°"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"શરત પà«àª°àª¦àª¾àª¤àª¾"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"સૂચના સહાયક"</string> <string name="vpn_title" msgid="19615213552042827">"VPN સકà«àª°àª¿àª¯ કરà«àª¯à«àª‚"</string> <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> દà«àªµàª¾àª°àª¾ VPN સકà«àª°àª¿àª¯ થયà«àª‚"</string> <string name="vpn_text" msgid="3011306607126450322">"નેટવરà«àª•ને સંચાલિત કરવા માટે ટચ કરો."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"તમારા વà«àª¯àªµàª¸à«àª¥àª¾àªªàª• દà«àªµàª¾àª°àª¾ અપડેટ થયેલ"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"તમારા વà«àª¯àªµàª¸à«àª¥àª¾àªªàª• દà«àªµàª¾àª°àª¾ કાઢી નાખેલ"</string> <string name="battery_saver_description" msgid="1960431123816253034">"બૅટરી આવરદા વધૠસારી કરવામાં સહાય માટે, બૅટરી સેવર તમારા ઉપકરણના પà«àª°àª¦àª°à«àª¶àª¨àª¨à«‡ ઘટાડે છે અને વાઇબà«àª°à«‡àª¶àª¨, સà«àª¥àª¾àª¨ સેવાઓ અને મોટાàªàª¾àª—ના પૃષà«àª àªà«‚મિ ડેટાને સીમિત કરે છે. ઇમેઇલ, મેસેજિંગ અને અનà«àª¯ àªàªªà«àª²àª¿àª•ેશનો જે સમનà«àªµàª¯àª¨ પર આધાર રાખે છે તે તમે તેમને ખોલશો નહીં તà«àª¯àª¾àª‚ સà«àª§à«€ અપડેટ થઈ શકતી નથી.\n\nજà«àª¯àª¾àª°à«‡ તમારà«àª‚ ઉપકરણ ચારà«àªœ થઈ રહà«àª¯à«àª‚ હોય તà«àª¯àª¾àª°à«‡ બૅટરી સેવર આપમેળે બંધ થઈ જાય છે."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"મહતà«àªµ"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"અવરોધિત: આ સૂચનાઓ કà«àª¯àª¾àª°à«‡àª¯ બતાવશો નહીં"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"નિમà«àª¨: સૂચનાની સૂચિની નીચે ચà«àªªàªšàª¾àªª બતાવો"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"સામાનà«àª¯: આ સૂચનાઓ ચà«àªªàªšàª¾àªª બતાવો"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"ઉચà«àªš: સૂચનાઓની સૂચિની ટોચ પર બતાવો અને અવાજ કરો"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"તાતà«àª•ાલિક : સà«àª•à«àª°à«€àª¨ પર તà«àªµàª°àª¿àª¤ દà«àª°àª·à«àªŸàª¿ કરો અને અવાજ કરો"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">%1$d મિનિટ માટે (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> સà«àª§à«€)</item> <item quantity="other">%1$d મિનિટ માટે (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> સà«àª§à«€)</item> diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml index ef8be6442d25..3f374ac6dc2c 100644 --- a/core/res/res/values-hi/strings.xml +++ b/core/res/res/values-hi/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"अà¤à¥€ लॉक करें"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"छिपी हà¥à¤ˆ सामगà¥à¤°à¥€"</string> <string name="safeMode" msgid="2788228061547930246">"सà¥à¤°à¤•à¥à¤·à¤¿à¤¤ मोड"</string> <string name="android_system_label" msgid="6577375335728551336">"Android सिसà¥â€à¤Ÿà¤®"</string> <string name="user_owner_label" msgid="2804351898001038951">"वà¥à¤¯à¤•à¥à¤¤à¤¿à¤—त"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"काटें"</string> <string name="copy" msgid="2681946229533511987">"पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿ बनाà¤à¤‚"</string> <string name="paste" msgid="5629880836805036433">"चिपकाà¤à¤‚"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"सादे पाठके रूप में चिपकाà¤à¤‚"</string> <string name="replace" msgid="5781686059063148930">"बदलें•"</string> <string name="delete" msgid="6098684844021697789">"हटाà¤à¤‚"</string> <string name="copyUrl" msgid="2538211579596067402">"URL की पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿ बनाà¤à¤‚"</string> <string name="selectTextMode" msgid="1018691815143165326">"लेख को चà¥à¤¨à¥‡à¤‚"</string> + <string name="undo" msgid="7905788502491742328">"वापस लाà¤à¤‚"</string> + <string name="redo" msgid="7759464876566803888">"फिर से करें"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"लेख चयन"</string> <string name="addToDictionary" msgid="4352161534510057874">"शबà¥à¤¦à¤•ोश में जोड़ें"</string> <string name="deleteText" msgid="6979668428458199034">"हटाà¤à¤‚"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"वॉलपेपर बदलें"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"नोटिफिकेशन शà¥à¤°à¤µà¤£à¤•रà¥à¤¤à¤¾"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"सà¥à¤¥à¤¿à¤¤à¤¿ पà¥à¤°à¤¦à¤¾à¤¤à¤¾"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"नोटिफिकेशन सहायक"</string> <string name="vpn_title" msgid="19615213552042827">"VPN सकà¥à¤°à¤¿à¤¯"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN को <xliff:g id="APP">%s</xliff:g> दà¥à¤µà¤¾à¤°à¤¾ सकà¥à¤°à¤¿à¤¯ किया गया है"</string> <string name="vpn_text" msgid="3011306607126450322">"नेटवरà¥à¤• पà¥à¤°à¤¬à¤‚धित करने के लिठसà¥â€à¤ªà¤°à¥à¤¶ करें."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"आपके नियंतà¥à¤°à¤• दà¥à¤µà¤¾à¤°à¤¾ अपडेट किया गया"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"आपके नियंतà¥à¤°à¤• दà¥à¤µà¤¾à¤°à¤¾ हटाया गया"</string> <string name="battery_saver_description" msgid="1960431123816253034">"बैटरी जीवन काल को बेहतर बनाने में सहायता के लिà¤, बैटरी सेवर आपके डिवाइस के पà¥à¤°à¤¦à¤°à¥à¤¶à¤¨ को कम कर देता है और कंपन, सà¥â€à¤¥à¤¾à¤¨ सेवाओं और अधिकांश पृषà¥â€à¤ à¤à¥‚मि डेटा को सीमित कर देता है. हो सकता है कि ईमेल, संदेश सेवा तथा समनà¥â€à¤µà¤¯à¤¨ पर आधारित अनà¥â€à¤¯ à¤à¤ªà¥â€à¤¸ तब तक ना खà¥à¤²à¥‡à¤‚ जब तक कि आप उनà¥â€à¤¹à¥‡à¤‚ नहीं खोलते.\n\nजब आपका डिवाइस चारà¥à¤œ हो रहा होता है तो बैटरी सेवर अपने आप बंद हो जाता है."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"महतà¥â€à¤µ"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"अवरोधित: ये नोटिफिकेशन कà¤à¥€ ना दिखाà¤à¤‚"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"निमà¥â€à¤¨: नोटिफिकेशन सूची के नीचे मौन रूप से दिखाà¤à¤‚"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"सामानà¥â€à¤¯: ये नोटिफिकेशन मौन रूप से दिखाà¤à¤‚"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"उचà¥â€à¤š: नोटिफिकेशन सूची के शीरà¥à¤· पर दिखाà¤à¤‚ और धà¥â€à¤µà¤¨à¤¿ करें"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"ततà¥â€à¤•ाल: सà¥â€à¤•à¥à¤°à¥€à¤¨ पर à¤à¤• à¤à¤²à¤• देखें और धà¥â€à¤µà¤¨à¤¿ करें"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">%1$d मिनट के लिठ(<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> तक)</item> <item quantity="other">%1$d मिनट के लिठ(<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> तक)</item> diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml index bd0b1faf74e1..bf89366b5f24 100644 --- a/core/res/res/values-hr/strings.xml +++ b/core/res/res/values-hr/strings.xml @@ -224,6 +224,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"ZakljuÄaj sada"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Sadržaj je skriven"</string> <string name="safeMode" msgid="2788228061547930246">"Siguran naÄin rada"</string> <string name="android_system_label" msgid="6577375335728551336">"Sustav Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Osobno"</string> @@ -863,10 +864,13 @@ <string name="cut" msgid="3092569408438626261">"Izreži"</string> <string name="copy" msgid="2681946229533511987">"Kopiraj"</string> <string name="paste" msgid="5629880836805036433">"Zalijepi"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Zalijepi kao obiÄni tekst"</string> <string name="replace" msgid="5781686059063148930">"Zamijeni…"</string> <string name="delete" msgid="6098684844021697789">"IzbriÅ¡i"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopiraj URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Odabir teksta"</string> + <string name="undo" msgid="7905788502491742328">"PoniÅ¡ti"</string> + <string name="redo" msgid="7759464876566803888">"Ponovi"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Odabir teksta"</string> <string name="addToDictionary" msgid="4352161534510057874">"Dodaj u rjeÄnik"</string> <string name="deleteText" msgid="6979668428458199034">"IzbriÅ¡i"</string> @@ -1114,6 +1118,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Promjena pozadinske slike"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"SluÅ¡atelj obavijesti"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Davatalj uvjeta"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Pomoćnik za obavijesti"</string> <string name="vpn_title" msgid="19615213552042827">"VPN aktiviran"</string> <string name="vpn_title_long" msgid="6400714798049252294">"Aplikacija <xliff:g id="APP">%s</xliff:g> aktivirala je VPN"</string> <string name="vpn_text" msgid="3011306607126450322">"Dodirnite za upravljanje mrežom."</string> @@ -1449,12 +1454,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Ažurira vaÅ¡ administrator"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Izbrisao administrator"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Da bi se produljilo trajanje baterije, uÅ¡teda baterije smanjuje rad ureÄ‘aja i ograniÄava vibraciju, usluge lokacije i većinu pozadinskih podataka. Aplikacije za e-poÅ¡tu, slanje poruka i druge aplikacije koje se oslanjaju na sinkronizaciju možda se neće ažurirati ako ih ne otvorite.\n\nUÅ¡teda baterije iskljuÄuje se automatski dok se ureÄ‘aj puni."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Važnost"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Blokirano: nikad ne prikazuj te obavijesti"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Nisko: tiho prikaži na dnu popisa obavijesti"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"UobiÄajeno: prikazuj te obavijesti tiho"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Visoko: prikaži na vrhu popisa obavijesti i emitiraj zvuÄni signal"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Hitno: prikaži na zaslonu i emitiraj zvuÄni signal"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">%1$d minutu (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="few">%1$d minute (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml index 0f3b849bb8df..64e222958266 100644 --- a/core/res/res/values-hu/strings.xml +++ b/core/res/res/values-hu/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Zárolás most"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Tartalom elrejtve"</string> <string name="safeMode" msgid="2788228061547930246">"Biztonsági üzemmód"</string> <string name="android_system_label" msgid="6577375335728551336">"Android rendszer"</string> <string name="user_owner_label" msgid="2804351898001038951">"Személyes"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Kivágás"</string> <string name="copy" msgid="2681946229533511987">"Másolás"</string> <string name="paste" msgid="5629880836805036433">"Beillesztés"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Beillesztés egyszerű szövegként"</string> <string name="replace" msgid="5781686059063148930">"Csere..."</string> <string name="delete" msgid="6098684844021697789">"Törlés"</string> <string name="copyUrl" msgid="2538211579596067402">"URL másolása"</string> <string name="selectTextMode" msgid="1018691815143165326">"Szöveg kijelölése"</string> + <string name="undo" msgid="7905788502491742328">"Visszavonás"</string> + <string name="redo" msgid="7759464876566803888">"Újra"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Szöveg kijelölése"</string> <string name="addToDictionary" msgid="4352161534510057874">"Hozzáadás a szótárhoz"</string> <string name="deleteText" msgid="6979668428458199034">"Törlés"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Háttérkép megváltoztatása"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"ÉrtesÃtésfigyelÅ‘"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"FeltételbiztosÃtó"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"ÉrtesÃtési segéd"</string> <string name="vpn_title" msgid="19615213552042827">"VPN aktiválva"</string> <string name="vpn_title_long" msgid="6400714798049252294">"A(z) <xliff:g id="APP">%s</xliff:g> aktiválta a VPN-t"</string> <string name="vpn_text" msgid="3011306607126450322">"Érintse meg a hálózat kezeléséhez."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"FrissÃtette a rendszergazda"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"A rendszergazda törölte"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Az akkumulátoridÅ‘ növelése érdekében az energiatakarékos mód csökkenti az eszköz teljesÃtményét, és korlátozza a rezgést, a helyszolgáltatásokat, valamint a legtöbb háttéradatot is. ElÅ‘fordulhat, hogy azok az e-mail-, üzenetküldÅ‘ és egyéb alkalmazások, amelyek szinkronizálására számÃt, csak akkor frissÃtenek, ha megnyitja azokat.\n\nAz energiatakarékos mód automatikusan kikapcsol, ha eszköze töltÅ‘n van."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Fontosság"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Letiltva: soha nem jelennek meg ezek az értesÃtések"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Alacsony: az értesÃtések az értesÃtési lista végén jelennek meg hangjelzés nélkül"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normál: hang nélkül jelennek meg ezek az értesÃtések"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Magas: az értesÃtések az értesÃtési lista elején jelennek meg hangjelzéssel"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"SürgÅ‘s: az értesÃtések felugranak a képernyÅ‘n hangjelzéssel"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d percen át (eddig: <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">Egy percen át (eddig: <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-hy-rAM/strings.xml b/core/res/res/values-hy-rAM/strings.xml index dc67e2d097da..6fdccd30568b 100644 --- a/core/res/res/values-hy-rAM/strings.xml +++ b/core/res/res/values-hy-rAM/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Ô¿Õ¸Õ²ÕºÕ¥Õ¬ Õ°Õ«Õ´Õ¡"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Ô²Õ¸Õ¾Õ¡Õ¶Õ¤Õ¡Õ¯Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨ Õ©Õ¡Ö„ÖÕ¾Õ¡Õ® Õ§"</string> <string name="safeMode" msgid="2788228061547930246">"Ô±Õ¶Õ¾Õ¿Õ¡Õ¶Õ£ Õ¼Õ¥ÕªÕ«Õ´"</string> <string name="android_system_label" msgid="6577375335728551336">"Android Õ°Õ¡Õ´Õ¡Õ¯Õ¡Ö€Õ£"</string> <string name="user_owner_label" msgid="2804351898001038951">"Ô±Õ¶Õ±Õ¶Õ¡Õ¯Õ¡Õ¶"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Ô¿Õ¿Ö€Õ¥Õ¬"</string> <string name="copy" msgid="2681946229533511987">"ÕŠÕ¡Õ¿Õ³Õ¥Õ¶Õ¥Õ¬"</string> <string name="paste" msgid="5629880836805036433">"ÕÕ¥Õ²Õ¡Õ¤Ö€Õ¥Õ¬"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"ÕÕ¥Õ²Õ¡Õ¤Ö€Õ¥Õ¬ Õ¸Ö€ÕºÕ¥Õ½ Õ½Õ¸Õ¾Õ¸Ö€Õ¡Õ¯Õ¡Õ¶ Õ¿Õ¥Ö„Õ½Õ¿"</string> <string name="replace" msgid="5781686059063148930">"Õ“Õ¸ÕÕ¡Ö€Õ«Õ¶Õ¥Õ¬..."</string> <string name="delete" msgid="6098684844021697789">"Õ‹Õ¶Õ»Õ¥Õ¬"</string> <string name="copyUrl" msgid="2538211579596067402">"ÕŠÕ¡Õ¿Õ³Õ¥Õ¶Õ¥Õ¬ URL-Õ¨"</string> <string name="selectTextMode" msgid="1018691815143165326">"Ô¸Õ¶Õ¿Ö€Õ¥Õ¬ Õ¿Õ¥Ö„Õ½Õ¿"</string> + <string name="undo" msgid="7905788502491742328">"Õ€Õ¥Õ¿Õ¡Ö€Õ¯Õ¥Õ¬"</string> + <string name="redo" msgid="7759464876566803888">"Ô¿Ö€Õ¯Õ¶Õ¥Õ¬"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"ÕÕ¥Ö„Õ½Õ¿Õ« Õ¨Õ¶Õ¿Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶"</string> <string name="addToDictionary" msgid="4352161534510057874">"Ô±Õ¾Õ¥Õ¬Õ¡ÖÕ¶Õ¥Õ¬ Õ¢Õ¡Õ¼Õ¡Ö€Õ¡Õ¶Õ¸Ö‚Õ´"</string> <string name="deleteText" msgid="6979668428458199034">"Õ‹Õ¶Õ»Õ¥Õ¬"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Õ“Õ¸ÕÕ¥Õ¬ ÕºÕ¡Õ½Õ¿Õ¡Õ¼Õ¨"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Ô¾Õ¡Õ¶Õ¸Ö‚ÖÕ´Õ¡Õ¶ Õ¸Ö‚Õ¶Õ¯Õ¶Õ¤Õ«Ö€"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"ÕŠÕ¡ÕµÕ´Õ¡Õ¶Õ¶Õ¥Ö€Õ« Õ´Õ¡Õ¿Õ¡Õ¯Õ¡Ö€Õ¡Ö€"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Ô¾Õ¡Õ¶Õ¸Ö‚ÖÕ¸Ö‚Õ´Õ¶Õ¥Ö€Õ« Ö…Õ£Õ¶Õ¡Õ¯Õ¡Õ¶"</string> <string name="vpn_title" msgid="19615213552042827">"VPN-Õ¨ Õ¡Õ¯Õ¿Õ«Õ¾Õ¡ÖÕ¾Õ¡Õ® Õ§"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN-Õ¶ Õ¡Õ¯Õ¿Õ«Õ¾Õ¡ÖÕ¾Õ¡Õ® Õ§ <xliff:g id="APP">%s</xliff:g>-Õ« Õ¯Õ¸Õ²Õ´Õ«Ö"</string> <string name="vpn_text" msgid="3011306607126450322">"Õ€ÕºÕ¥Ö„` ÖÕ¡Õ¶ÖÕ« Õ¯Õ¡Õ¼Õ¡Õ¾Õ¡Ö€Õ´Õ¡Õ¶ Õ°Õ¡Õ´Õ¡Ö€:"</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Ô±Õ¤Õ´Õ«Õ¶Õ«Õ½Õ¿Ö€Õ¡Õ¿Õ¸Ö€Õ¨ Õ©Õ¡Ö€Õ´Õ¡ÖÖ€Õ¥Õ¬ Õ§ Õ¡ÕµÕ¶"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Ô±Õ¤Õ´Õ«Õ¶Õ«Õ½Õ¿Ö€Õ¡Õ¿Õ¸Ö€Õ¨ Õ»Õ¶Õ»Õ¥Õ¬ Õ§ Õ¡ÕµÕ¶"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Õ„Õ¡Ö€Õ¿Õ¯Õ¸ÖÕ« Õ¡Õ·ÕÕ¡Õ¿Õ¡Õ¶Ö„Õ« ÕªÕ¡Õ´Õ¯Õ¥Õ¿Õ¨ Õ¥Ö€Õ¯Õ¡Ö€Õ¡ÖÕ¶Õ¥Õ¬Õ¸Ö‚ Õ¶ÕºÕ¡Õ¿Õ¡Õ¯Õ¸Õ¾, Õ´Õ¡Ö€Õ¿Õ¯Õ¸ÖÕ« Õ§Õ¶Õ¥Ö€Õ£Õ«Õ¡ÕµÕ« ÕÕ¶Õ¡ÕµÕ´Õ¡Õ¶ Õ£Õ¸Ö€Õ®Õ¡Õ¼Õ¸Ö‚ÕµÕ©Õ¨ Õ½Õ¡Õ°Õ´Õ¡Õ¶Õ¡ÖƒÕ¡Õ¯Õ¸Ö‚Õ´ Õ§ Õ½Õ¡Ö€Ö„Õ« Õ¡Õ·ÕÕ¡Õ¿Õ¡Õ¶Ö„Õ¨, Õ©Ö€Õ©Õ¼Õ¸ÖÕ¨, Õ¿Õ¥Õ²Õ¡Õ¤Ö€Õ¸Ö‚Õ©ÕµÕ¡Õ¶ Õ®Õ¡Õ¼Õ¡ÕµÕ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€Õ¨ Ö‡ Õ°Õ¥Õ¿Õ¶Õ¡Õ·Õ¥Ö€Õ¿Õ¸Ö‚Õ´ Õ¡Õ·ÕÕ¡Õ¿Õ¸Õ² Õ·Õ¡Õ¿ Õ£Õ¸Ö€Õ®Õ¨Õ¶Õ©Õ¡ÖÕ¶Õ¥Ö€: Ô·Õ¬ÖƒÕ¸Õ½Õ¿Õ¨, Õ°Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€Õ« ÖƒÕ¸ÕÕ¡Õ¶Õ¡Õ¯Õ¸Ö‚Õ´Õ¨ Ö‡ Õ¿Õ¾ÕµÕ¡Õ¬Õ¶Õ¥Ö€Õ« Õ°Õ¡Õ´Õ¡ÕªÕ¡Õ´Õ¥ÖÕ¸Ö‚Õ´Õ«Ö Õ¯Õ¡ÕÕ¾Õ¡Õ® Õ¡ÕµÕ¬ Õ°Õ¡Õ¾Õ¥Õ¬Õ¾Õ¡Õ®Õ¶Õ¥Ö€Õ¨ Õ¯Õ¡Ö€Õ¸Õ² Õ¥Õ¶ Õ¹Õ©Õ¡Ö€Õ´Õ¡ÖÕ¾Õ¥Õ¬, Õ¥Õ©Õ¥ Õ¤Õ¸Ö‚Ö„ Õ¤Ö€Õ¡Õ¶Ö„ Õ¹Õ£Õ¸Ö€Õ®Õ¡Ö€Õ¯Õ¥Ö„:\n\nÔµÖ€Õ¢ Õ±Õ¥Ö€ Õ½Õ¡Ö€Ö„Õ¨ Õ¬Õ«ÖÖ„Õ¡Õ¾Õ¸Ö€Õ¾Õ¸Ö‚Õ´ Õ§, Õ´Õ¡Ö€Õ¿Õ¯Õ¸ÖÕ« Õ§Õ¶Õ¥Ö€Õ£Õ«Õ¡ÕµÕ« ÕÕ¶Õ¡ÕµÕ´Õ¡Õ¶ Õ£Õ¸Ö€Õ®Õ¡Õ¼Õ¸Ö‚ÕµÕ©Õ¶ Õ«Õ¶Ö„Õ¶Õ¡Õ·ÕÕ¡Õ¿Õ¸Ö€Õ¥Õ¶ Õ¡Õ¶Õ»Õ¡Õ¿Õ¾Õ¸Ö‚Õ´ Õ§:"</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Ô¿Õ¡Ö€Ö‡Õ¸Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Ô±Ö€Õ£Õ¥Õ¬Õ¡ÖƒÕ¡Õ¯Õ¾Õ¡Õ® Õ§. ÔµÖ€Õ¢Õ¥Ö„ Õ¹ÖÕ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ¡ÕµÕ½ Õ®Õ¡Õ¶Õ¸Ö‚ÖÕ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Õ‘Õ¡Õ®Ö€. Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ®Õ¡Õ¶Õ¸Ö‚ÖÕ¸Ö‚Õ´Õ¶Õ¥Ö€Õ« ÖÕ¡Õ¶Õ¯Õ« Õ¶Õ¥Ö€Ö„Ö‡Õ¸Ö‚Õ´ Õ¡Õ¼Õ¡Õ¶Ö Õ±Õ¡ÕµÕ¶Õ¡ÕµÕ«Õ¶ Õ¡Õ¦Õ¤Õ¡Õ¶Õ·Õ¡Õ¶Õ«"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Õ†Õ¸Ö€Õ´Õ¡Õ¬. Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ¡ÕµÕ½ Õ®Õ¡Õ¶Õ¸Ö‚ÖÕ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¶ Õ¡Õ¼Õ¡Õ¶Ö Õ±Õ¡ÕµÕ¶Õ¡ÕµÕ«Õ¶ Õ¡Õ¦Õ¤Õ¡Õ¶Õ·Õ¡Õ¶Õ«"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Ô²Õ¡Ö€Õ±Ö€. Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ®Õ¡Õ¶Õ¸Ö‚ÖÕ¸Ö‚Õ´Õ¶Õ¥Ö€Õ« ÖÕ¡Õ¶Õ¯Õ« Õ¾Õ¥Ö€Ö‡Õ¸Ö‚Õ´ Ö‡ Õ°Õ¶Õ¹Õ¥ÖÕ¶Õ¥Õ¬ Õ±Õ¡ÕµÕ¶Õ¡ÕµÕ«Õ¶ Õ¡Õ¦Õ¤Õ¡Õ¶Õ·Õ¡Õ¶"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Õ€Ö€Õ¡Õ¿Õ¡Õº. Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ§Õ¯Ö€Õ¡Õ¶Õ«Õ¶ Ö‡ Õ°Õ¶Õ¹Õ¥ÖÕ¶Õ¥Õ¬ Õ±Õ¡ÕµÕ¶Õ¡ÕµÕ«Õ¶ Õ¡Õ¦Õ¤Õ¡Õ¶Õ·Õ¡Õ¶"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">%1$d Ö€Õ¸ÕºÕ¥ (Õ´Õ«Õ¶Õ¹Ö‡ <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="other">%1$d Ö€Õ¸ÕºÕ¥ (Õ´Õ«Õ¶Õ¹Ö‡ <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml index d13168aa40fa..4960267078b0 100644 --- a/core/res/res/values-in/strings.xml +++ b/core/res/res/values-in/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Kunci sekarang"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Konten tersembunyi"</string> <string name="safeMode" msgid="2788228061547930246">"Mode aman"</string> <string name="android_system_label" msgid="6577375335728551336">"Sistem Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Pribadi"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Potong"</string> <string name="copy" msgid="2681946229533511987">"Salin"</string> <string name="paste" msgid="5629880836805036433">"Tempel"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Tempel sebagai teks biasa"</string> <string name="replace" msgid="5781686059063148930">"Ganti..."</string> <string name="delete" msgid="6098684844021697789">"Hapus"</string> <string name="copyUrl" msgid="2538211579596067402">"Salin URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Pilih teks"</string> + <string name="undo" msgid="7905788502491742328">"Urungkan"</string> + <string name="redo" msgid="7759464876566803888">"Ulangi"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Pemilihan teks"</string> <string name="addToDictionary" msgid="4352161534510057874">"Tambahkan ke kamus"</string> <string name="deleteText" msgid="6979668428458199034">"Hapus"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Ubah wallpaper"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Pendengar pemberitahuan"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Penyedia ketentuan"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Asisten notifikasi"</string> <string name="vpn_title" msgid="19615213552042827">"VPN diaktifkan"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN diaktifkan oleh <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Sentuh untuk mengelola jaringan."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Diperbarui oleh administrator"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Dihapus oleh administrator"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Untuk membantu meningkatkan masa pakai baterai, penghemat baterai mengurangi kinerja perangkat dan membatasi getaran, layanan lokasi, dan kebanyakan data latar belakang. Email, perpesanan, dan aplikasi lain yang mengandalkan sinkronisasi mungkin tidak diperbarui kecuali jika dibuka.\n\nPenghemat baterai otomatis nonaktif jika perangkat diisi dayanya."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Tingkat Kepentingan"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Diblokir: Jangan pernah menampilkan notifikasi ini"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Rendah: Menampilkan di bagian bawah daftar notifikasi secara diam-diam"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normal: Menampilkan notifikasi ini secara diam-diam"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Tinggi: Menampilkan di bagian atas daftar notifikasi dan membunyikan suara"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Darurat: Muncul di layar dan membunyikan suara"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">Selama %1$d menit (hingga <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">Selama satu menit (hingga <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-is-rIS/strings.xml b/core/res/res/values-is-rIS/strings.xml index 0c422935a0b5..35ae53da0f6e 100644 --- a/core/res/res/values-is-rIS/strings.xml +++ b/core/res/res/values-is-rIS/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Læsa núna"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Innihald falið"</string> <string name="safeMode" msgid="2788228061547930246">"Örugg stilling"</string> <string name="android_system_label" msgid="6577375335728551336">"Android kerfið"</string> <string name="user_owner_label" msgid="2804351898001038951">"Persónulegt"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Klippa"</string> <string name="copy" msgid="2681946229533511987">"Afrita"</string> <string name="paste" msgid="5629880836805036433">"LÃma"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"LÃma sem ósniðinn texta"</string> <string name="replace" msgid="5781686059063148930">"Skipta út…"</string> <string name="delete" msgid="6098684844021697789">"Eyða"</string> <string name="copyUrl" msgid="2538211579596067402">"Afrita vefslóð"</string> <string name="selectTextMode" msgid="1018691815143165326">"Velja texta"</string> + <string name="undo" msgid="7905788502491742328">"Afturkalla"</string> + <string name="redo" msgid="7759464876566803888">"Endurgera"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Textaval"</string> <string name="addToDictionary" msgid="4352161534510057874">"Bæta við orðabók"</string> <string name="deleteText" msgid="6979668428458199034">"Eyða"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Skipta um veggfóður"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Tilkynningahlustun"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Skilyrðaveita"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Tilkynningaaðstoð"</string> <string name="vpn_title" msgid="19615213552042827">"VPN virkjað"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN er virkjað með <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Snertu til að hafa umsjón með netinu."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Uppfært af kerfisstjóranum"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Eytt af kerfisstjóra"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Til að auka endingu rafhlöðunnar mun orkusparnaður draga úr afköstum tækisins og takmarka titring, staðsetningarþjónustu og megnið af bakgrunnsgögnum. Ekki er vÃst að tölvupóstur, skilaboð og önnur forrit sem reiða sig á samstillingu uppfærist nema þú opnir þau.\n\nSjálfkrafa er slökkt á orkusparnaði þegar tækið er à hleðslu."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Mikilvægi"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Útilokaðar: Aldrei sýna þessar tilkynningar"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Léttvægar: Sýna neðst á tilkynningalistanum án hljóðs"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Venjulegar: Sýna þessar tilkynningar án hljóðs"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Mikilvægar: Sýna efst á tilkynningalistanum og spila hljóð"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"ÃrÃðandi: Birta á skjánum og spila hljóð"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">à %1$d mÃnútu (til <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="other">à %1$d mÃnútur (til <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml index 58176ceb3123..ee1b67d623f7 100644 --- a/core/res/res/values-it/strings.xml +++ b/core/res/res/values-it/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Blocca ora"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Contenuti nascosti"</string> <string name="safeMode" msgid="2788228061547930246">"Modalità provvisoria"</string> <string name="android_system_label" msgid="6577375335728551336">"Sistema Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Personale"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Taglia"</string> <string name="copy" msgid="2681946229533511987">"Copia"</string> <string name="paste" msgid="5629880836805036433">"Incolla"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Incolla come testo normale"</string> <string name="replace" msgid="5781686059063148930">"Sostituisci..."</string> <string name="delete" msgid="6098684844021697789">"Elimina"</string> <string name="copyUrl" msgid="2538211579596067402">"Copia URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Seleziona testo"</string> + <string name="undo" msgid="7905788502491742328">"Annulla"</string> + <string name="redo" msgid="7759464876566803888">"Ripeti"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Selezione testo"</string> <string name="addToDictionary" msgid="4352161534510057874">"Aggiungi al dizionario"</string> <string name="deleteText" msgid="6979668428458199034">"Elimina"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Cambia sfondo"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Listener di notifica"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Provider condizioni"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Assistente notifica"</string> <string name="vpn_title" msgid="19615213552042827">"VPN attiva"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN attivata da <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Tocca per gestire la rete."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Aggiornato dall\'amministratore"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Eliminato dall\'amministratore"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Per aumentare la durata della batteria, la funzione di risparmio energetico riduce le prestazioni del dispositivo e limita vibrazione, servizi di localizzazione e la maggior parte dei dati in background. App di email, messaggi e altre app che si basano sulla sincronizzazione potrebbero essere aggiornate soltanto all\'apertura.\n\nLa funzione di risparmio energetico viene disattivata automaticamente quando il dispositivo è in carica."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Importanza"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Bloccato: non mostrare mai queste notifiche"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Bassa: mostra silenziosamente alla fine dell\'elenco di notifiche"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normale: mostra silenziosamente queste notifiche"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Alta: mostra all\'inizio dell\'elenco di notifiche e riproduci suono"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Urgente: apri sullo schermo e riproduci suono"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">Per %1$d minuti (fino alle ore <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">Per un minuto (fino alle ore <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> @@ -1478,8 +1477,8 @@ <item quantity="other">Per %d ore</item> <item quantity="one">Per 1 ora</item> </plurals> - <string name="zen_mode_until" msgid="7336308492289875088">"Fino alle ore <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string> - <string name="zen_mode_alarm" msgid="9128205721301330797">"Fino alle ore <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> (prossima sveglia)"</string> + <string name="zen_mode_until" msgid="7336308492289875088">"Fino a <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string> + <string name="zen_mode_alarm" msgid="9128205721301330797">"Fino a <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> (prossima sveglia)"</string> <string name="zen_mode_forever" msgid="7420011936770086993">"Fino alla disattivazione"</string> <string name="zen_mode_forever_dnd" msgid="3792132696572189081">"Fino alla disattivazione di Non disturbare"</string> <string name="zen_mode_rule_name_combination" msgid="191109939968076477">"<xliff:g id="FIRST">%1$s</xliff:g>/<xliff:g id="REST">%2$s</xliff:g>"</string> diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml index b0c743724f2d..df0471eadbfb 100644 --- a/core/res/res/values-iw/strings.xml +++ b/core/res/res/values-iw/strings.xml @@ -225,6 +225,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"× ×¢×œ עכשיו"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"התוכן מוסתר"</string> <string name="safeMode" msgid="2788228061547930246">"מצב בטוח"</string> <string name="android_system_label" msgid="6577375335728551336">"â€×ž×¢×¨×›×ª Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"×ישי"</string> @@ -868,10 +869,13 @@ <string name="cut" msgid="3092569408438626261">"חתוך"</string> <string name="copy" msgid="2681946229533511987">"העתק"</string> <string name="paste" msgid="5629880836805036433">"הדבק"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"הדבק כטקסט פשוט"</string> <string name="replace" msgid="5781686059063148930">"החלף..."</string> <string name="delete" msgid="6098684844021697789">"מחק"</string> <string name="copyUrl" msgid="2538211579596067402">"העתק כתובת ×תר"</string> <string name="selectTextMode" msgid="1018691815143165326">"בחר טקסט"</string> + <string name="undo" msgid="7905788502491742328">"בטל"</string> + <string name="redo" msgid="7759464876566803888">"בצע מחדש"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"בחירת טקסט"</string> <string name="addToDictionary" msgid="4352161534510057874">"הוסף למילון"</string> <string name="deleteText" msgid="6979668428458199034">"מחק"</string> @@ -1121,6 +1125,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"×©× ×” טפט"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"מ×זין להתר×ות"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"ספק ×ª× ××™"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"××¡×™×¡×˜× ×˜ ההודעות"</string> <string name="vpn_title" msgid="19615213552042827">"â€VPN מופעל"</string> <string name="vpn_title_long" msgid="6400714798049252294">"â€VPN מופעל על ידי <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"×’×¢ כדי ×œ× ×”×œ ×ת הרשת."</string> @@ -1458,12 +1463,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"עודכן על ידי ×ž× ×”×œ המערכת שלך"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"× ×ž×—×§×” על ידי ×ž× ×”×œ המערכת שלך"</string> <string name="battery_saver_description" msgid="1960431123816253034">"כדי לעזור בשיפור ×—×™×™ הסוללה, ×ª×›×•× ×ª החיסכון בסוללה מצמצמת ×ת פעולות המכשיר ומגבילה רטט, שירותי ×ž×™×§×•× ×•×ת רוב × ×ª×•× ×™ הרקע. ×ימייל, העברת הודעות ו×פליקציות ×חרות המסתמכות על ×¡× ×›×¨×•×Ÿ עשויות ×©×œ× ×œ×”×ª×¢×“×›×Ÿ, ××œ× ×× ×ª×¤×ª×— ×ותן.\n\n×ª×›×•× ×ª החיסכון בסוללה מושבתת ×וטומטית כשהמכשיר ×‘×˜×¢×™× ×”."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"חשיבות"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"חסימה: ×œ×¢×•×œ× ×ל תציג הודעות ×לה"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"× ×ž×•×›×”: הצג בתחתית רשימת ההודעות בלי להשמיע צליל"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"רגילה: הצג הודעות ×לה בלי להשמיע צליל"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"גבוהה: הצג בר×ש רשימת ההודעות והשמע צליל"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"דחופה: הצג לרגע על המסך והשמע צליל"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="two">â€×œ×ž×©×š %d דקות (עד <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="many">â€×œ×ž×©×š %1$d דקות (עד <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> @@ -1547,6 +1546,6 @@ <item quantity="one">בחרת <xliff:g id="COUNT_0">%1$d</xliff:g></item> </plurals> <string name="default_notification_topic_label" msgid="227586145791870829">"×©×•× ×•×ª"</string> - <string name="importance_from_topic" msgid="3572280439880023233">"×תה מגדיר ×ת חשיבותן של הודעות ×לה."</string> + <string name="importance_from_topic" msgid="3572280439880023233">"×תה מגדיר ×ת החשיבות של ההודעות ×”×לה."</string> <string name="importance_from_person" msgid="9160133597262938296">"ההודעה חשובה בשל ×”×× ×©×™× ×”×ž×¢×•×¨×‘×™×."</string> </resources> diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml index a81b8b48b3cb..764e0cfe60cc 100644 --- a/core/res/res/values-ja/strings.xml +++ b/core/res/res/values-ja/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"今ã™ããƒãƒƒã‚¯"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g> 件)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"コンテンツãŒéžè¡¨ç¤º"</string> <string name="safeMode" msgid="2788228061547930246">"セーフモード"</string> <string name="android_system_label" msgid="6577375335728551336">"Androidシステム"</string> <string name="user_owner_label" msgid="2804351898001038951">"個人用"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"切りå–り"</string> <string name="copy" msgid="2681946229533511987">"コピー"</string> <string name="paste" msgid="5629880836805036433">"貼り付ã‘"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"書å¼ãªã—テã‚ストã¨ã—ã¦è²¼ã‚Šä»˜ã‘"</string> <string name="replace" msgid="5781686059063148930">"ç½®æ›..."</string> <string name="delete" msgid="6098684844021697789">"削除"</string> <string name="copyUrl" msgid="2538211579596067402">"URLをコピー"</string> <string name="selectTextMode" msgid="1018691815143165326">"テã‚ã‚¹ãƒˆã‚’é¸æŠž"</string> + <string name="undo" msgid="7905788502491742328">"å…ƒã«æˆ»ã™"</string> + <string name="redo" msgid="7759464876566803888">"やり直ã—"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"テã‚ã‚¹ãƒˆé¸æŠž"</string> <string name="addToDictionary" msgid="4352161534510057874">"辞書ã«è¿½åŠ "</string> <string name="deleteText" msgid="6979668428458199034">"削除"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"å£ç´™ã‚’変更"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"通知リスナー"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"コンディションプãƒãƒã‚¤ãƒ€"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"通知アシスタント"</string> <string name="vpn_title" msgid="19615213552042827">"VPNãŒæœ‰åйã«ãªã‚Šã¾ã—ãŸ"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPNãŒ<xliff:g id="APP">%s</xliff:g>ã«ã‚ˆã‚Šæœ‰åŠ¹åŒ–ã•れã¾ã—ãŸ"</string> <string name="vpn_text" msgid="3011306607126450322">"タップã—ã¦ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚’管ç†ã—ã¾ã™ã€‚"</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"管ç†è€…ã«ã‚ˆã£ã¦æ›´æ–°ã•れã¦ã„ã¾ã™"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"管ç†è€…ã«ã‚ˆã£ã¦å‰Šé™¤ã•れã¾ã—ãŸ"</string> <string name="battery_saver_description" msgid="1960431123816253034">"ãƒãƒƒãƒ†ãƒªãƒ¼ã‚’é•·æŒã¡ã•ã›ã‚‹ãŸã‚ã€ãƒãƒƒãƒ†ãƒªãƒ¼ã‚»ãƒ¼ãƒãƒ¼ã¯ç«¯æœ«ã®ãƒ‘フォーマンスを抑ãˆã€ãƒã‚¤ãƒ–レーションã€ä½ç½®æƒ…å ±ã‚µãƒ¼ãƒ“ã‚¹ã€å¤§åŠã®ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ãƒ‡ãƒ¼ã‚¿ã‚’制é™ã—ã¾ã™ã€‚メールã€SMSã‚„ã€åŒæœŸã‚’使用ã™ã‚‹ãã®ä»–ã®ã‚¢ãƒ—リã¯ã€èµ·å‹•ã—ã¦ã‚‚æ›´æ–°ã•れãªã„ã“ã¨ãŒã‚りã¾ã™ã€‚\n\nãƒãƒƒãƒ†ãƒªãƒ¼ã‚»ãƒ¼ãƒãƒ¼ã¯ç«¯æœ«ã®å……é›»ä¸ã¯è‡ªå‹•çš„ã«OFFã«ãªã‚Šã¾ã™ã€‚"</string> - <string name="notification_importance_title" msgid="7493989722610008700">"é‡è¦åº¦"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"ブãƒãƒƒã‚¯: 今後ã¯ã“ã®é€šçŸ¥ã‚’表示ã—ãªã„"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"低: 通知リストã®ä¸‹ã«ãƒžãƒŠãƒ¼ãƒ¢ãƒ¼ãƒ‰ã§è¡¨ç¤ºã™ã‚‹"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"標準: ã“ã®é€šçŸ¥ã‚’マナーモードã§è¡¨ç¤ºã™ã‚‹"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"高: 通知リストã®ä¸Šã«è¡¨ç¤ºã—ã€éŸ³å£°ã§ã‚‚知らã›ã‚‹"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"緊急: ç”»é¢ã«ãƒ—レビューを表示ã—ã€éŸ³å£°ã§ã‚‚知らã›ã‚‹"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d分間(<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>ã¾ã§ï¼‰</item> <item quantity="one">1分間(<xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>ã¾ã§ï¼‰</item> diff --git a/core/res/res/values-ka-rGE/strings.xml b/core/res/res/values-ka-rGE/strings.xml index 269af61d8e8b..0fa786cd04fb 100644 --- a/core/res/res/values-ka-rGE/strings.xml +++ b/core/res/res/values-ka-rGE/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"áƒáƒ®áƒšáƒ ჩáƒáƒ™áƒ”ტვáƒ"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"შიგთáƒáƒ•სი დáƒáƒ›áƒáƒšáƒ£áƒšáƒ˜áƒ"</string> <string name="safeMode" msgid="2788228061547930246">"უსáƒáƒ¤áƒ თხრრეჟიმი"</string> <string name="android_system_label" msgid="6577375335728551336">"Android-ის სისტემáƒ"</string> <string name="user_owner_label" msgid="2804351898001038951">"პირáƒáƒ“ი"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"áƒáƒ›áƒáƒáƒ áƒ"</string> <string name="copy" msgid="2681946229533511987">"კáƒáƒžáƒ˜áƒ ებáƒ"</string> <string name="paste" msgid="5629880836805036433">"ჩáƒáƒ¡áƒ›áƒ"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"ჩვეულებრივ ტექსტáƒáƒ“ ჩáƒáƒ¡áƒ›áƒ"</string> <string name="replace" msgid="5781686059063148930">"ჩáƒáƒœáƒáƒªáƒ•ლებáƒâ€¦"</string> <string name="delete" msgid="6098684844021697789">"წáƒáƒ¨áƒšáƒ"</string> <string name="copyUrl" msgid="2538211579596067402">"URL კáƒáƒžáƒ˜áƒ ებáƒ"</string> <string name="selectTextMode" msgid="1018691815143165326">"ტექსტის მáƒáƒœáƒ˜áƒ¨áƒ•ნáƒ"</string> + <string name="undo" msgid="7905788502491742328">"დáƒáƒ‘რუნებáƒ"</string> + <string name="redo" msgid="7759464876566803888">"გáƒáƒ›áƒ”áƒáƒ ებáƒ"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"ტექსტის მáƒáƒœáƒ˜áƒ¨áƒ•ნáƒ"</string> <string name="addToDictionary" msgid="4352161534510057874">"ლექსიკáƒáƒœáƒ¨áƒ˜ დáƒáƒ›áƒáƒ¢áƒ”ბáƒ"</string> <string name="deleteText" msgid="6979668428458199034">"წáƒáƒ¨áƒšáƒ"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"ფáƒáƒœáƒ˜áƒ¡ შეცვლáƒ"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"შეტყáƒáƒ‘ინებების მსმენელი"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"მდგáƒáƒ›áƒáƒ ეáƒáƒ‘ის პრáƒáƒ•áƒáƒ˜áƒ“ერი"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"შეტყáƒáƒ‘ინებáƒáƒ—რáƒáƒ¡áƒ˜áƒ¡áƒ¢áƒ”ნტი"</string> <string name="vpn_title" msgid="19615213552042827">"VPN გáƒáƒáƒ¥áƒ¢áƒ˜áƒ£áƒ ებულიáƒ"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN გáƒáƒáƒ¥áƒ¢áƒ˜áƒ£áƒ ებულირ<xliff:g id="APP">%s</xliff:g>-ის მიერ"</string> <string name="vpn_text" msgid="3011306607126450322">"შეეხეთ ქსელის სáƒáƒ›áƒáƒ თáƒáƒ•áƒáƒ“."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"გáƒáƒœáƒáƒ®áƒšáƒ”ბულირთქვენი áƒáƒ“მინისტრáƒáƒ¢áƒáƒ ის მიერ"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"თქვენი áƒáƒ“მინისტრáƒáƒ¢áƒáƒ ის მიერწáƒáƒ¨áƒšáƒ˜áƒšáƒ˜"</string> <string name="battery_saver_description" msgid="1960431123816253034">"ელემენტის მáƒáƒ¥áƒ›áƒ”დების ვáƒáƒ“ის გáƒáƒ£áƒ›áƒ¯áƒáƒ‘ესებისáƒáƒ—ვის, ელემენტის დáƒáƒ›áƒ–áƒáƒ’ი áƒáƒ›áƒªáƒ˜áƒ ებს თქვენი მáƒáƒ¬áƒ§áƒáƒ‘ილáƒáƒ‘ის შესრულებáƒáƒ¡ დრზღუდáƒáƒ•ს ვიბრáƒáƒªáƒ˜áƒáƒ¡, áƒáƒ“გილმდებáƒáƒ ეáƒáƒ‘ის მáƒáƒ›áƒ¡áƒáƒ®áƒ£áƒ ებებს დრძირითáƒáƒ“ ფáƒáƒœáƒ£áƒ მáƒáƒœáƒáƒªáƒ”მებს. ელ-ფáƒáƒ¡áƒ¢áƒ, შეტყáƒáƒ‘ინებები დრსხვრსინქრáƒáƒœáƒ˜áƒ–áƒáƒªáƒ˜áƒáƒ–ე დáƒáƒ§áƒ დნáƒáƒ‘ილი áƒáƒžáƒšáƒ˜áƒ™áƒáƒªáƒ˜áƒ”ბის გáƒáƒœáƒáƒ®áƒšáƒ”ბრáƒáƒ მáƒáƒ®áƒ“ებრმáƒáƒ— გáƒáƒ®áƒ¡áƒœáƒ”áƒáƒ›áƒ“ე. \n\n ელემენტის დáƒáƒ›áƒ–áƒáƒ’ველი áƒáƒ•ტáƒáƒ›áƒáƒ¢áƒ£áƒ áƒáƒ“ გáƒáƒ›áƒáƒ˜áƒ თვებáƒ, რáƒáƒ“ესáƒáƒª თქვენს მáƒáƒ¬áƒ§áƒáƒ‘ილáƒáƒ‘áƒáƒ¡ დáƒáƒ›áƒ¢áƒ”ნთáƒáƒœ შეáƒáƒ”რთებთ."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"მნიშვნელáƒáƒ‘ის დáƒáƒœáƒ”"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"დáƒáƒ‘ლáƒáƒ™áƒ˜áƒšáƒ˜: ეს შეტყáƒáƒ‘ინებები áƒáƒ¦áƒáƒ áƒáƒ¡áƒáƒ“ეს გáƒáƒ›áƒáƒ©áƒœáƒ“ებáƒ"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"დáƒáƒ‘áƒáƒšáƒ˜: ეს შეტყáƒáƒ‘ინებები სიის ბáƒáƒšáƒáƒ¨áƒ˜, უხმáƒáƒ“ გáƒáƒ›áƒáƒ©áƒœáƒ“ებáƒ"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"ნáƒáƒ მáƒáƒšáƒ£áƒ ი: ეს შეტყáƒáƒ‘ინებები უხმáƒáƒ“ გáƒáƒ›áƒáƒ©áƒœáƒ“ებáƒ"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"მáƒáƒ¦áƒáƒšáƒ˜: ეს შეტყáƒáƒ‘ინებები სიის თáƒáƒ•ში, ხმáƒáƒ•áƒáƒœ სიგნáƒáƒšáƒ—áƒáƒœ ერთáƒáƒ“ გáƒáƒ›áƒáƒ©áƒœáƒ“ებáƒ"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"გáƒáƒ“áƒáƒ£áƒ“ებელი: შეტყáƒáƒ‘ინებები პირდáƒáƒžáƒ˜áƒ ეკრáƒáƒœáƒ–ე, ხმáƒáƒ•áƒáƒœ სიგნáƒáƒšáƒ—áƒáƒœ ერთáƒáƒ“ გáƒáƒ›áƒáƒ©áƒœáƒ“ებáƒ"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d წუთის გáƒáƒœáƒ›áƒáƒ•ლáƒáƒ‘áƒáƒ¨áƒ˜ (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>-მდე)</item> <item quantity="one">ერთი წუთის გáƒáƒœáƒ›áƒáƒ•ლáƒáƒ‘áƒáƒ¨áƒ˜ (<xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>-მდე)</item> diff --git a/core/res/res/values-kk-rKZ/strings.xml b/core/res/res/values-kk-rKZ/strings.xml index 6e2629298ea6..275e5bcbab3a 100644 --- a/core/res/res/values-kk-rKZ/strings.xml +++ b/core/res/res/values-kk-rKZ/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Қазір бекіту"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Мазмұн жаÑырылған"</string> <string name="safeMode" msgid="2788228061547930246">"ҚауіпÑіз режим"</string> <string name="android_system_label" msgid="6577375335728551336">"Android жүйеÑÑ–"</string> <string name="user_owner_label" msgid="2804351898001038951">"Жеке"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Қиып алу"</string> <string name="copy" msgid="2681946229533511987">"Көшіру"</string> <string name="paste" msgid="5629880836805036433">"Қою"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Кәдімгі мәтін ретінде қою"</string> <string name="replace" msgid="5781686059063148930">"… Ñөзін алмаÑтыру"</string> <string name="delete" msgid="6098684844021697789">"Жою"</string> <string name="copyUrl" msgid="2538211579596067402">"URL мекенжайын көшіру"</string> <string name="selectTextMode" msgid="1018691815143165326">"Мәтінді бөлектеу"</string> + <string name="undo" msgid="7905788502491742328">"Кері қайтару"</string> + <string name="redo" msgid="7759464876566803888">"Қайтару"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Мәтін таңдау"</string> <string name="addToDictionary" msgid="4352161534510057874">"Сөздікке қоÑу"</string> <string name="deleteText" msgid="6979668428458199034">"Жою"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Ðртқы фонын өзгерту"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Хабар бақылағыш"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Шарт провайдері"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Хабарландыру көмекшіÑÑ–"</string> <string name="vpn_title" msgid="19615213552042827">"VPN белÑенді"</string> <string name="vpn_title_long" msgid="6400714798049252294">"ВЖР<xliff:g id="APP">%s</xliff:g> арқылы қоÑылған"</string> <string name="vpn_text" msgid="3011306607126450322">"Желіні баÑқару үшін түрту."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Әкімші жаңартты"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Әкімші жойған"</string> <string name="battery_saver_description" msgid="1960431123816253034">"БатареÑның қызмет көрÑету мерзімін жақÑарту үшін Ð±Ð°Ñ‚Ð°Ñ€ÐµÑ Ò¯Ð½ÐµÐ¼Ð´ÐµÐ³Ñ–Ñˆ құрылғының өнімділігін төмендетеді және дірілді, орынды анықтау қызметтерін және фондық деректердің көпшілігін шектейді. Ðлектрондық пошта, хабар алмаÑу және Ñинхрондауға негізделген баÑқа қолданбалар ашқанша жаңартылмауы мүмкін.\n\nÐ‘Ð°Ñ‚Ð°Ñ€ÐµÑ Ò¯Ð½ÐµÐ¼Ð´ÐµÐ³Ñ–Ñˆ құрылғы зарÑдталып жатқанда автоматты түрде өшеді."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Маңыздылық"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Бұғатталған: оÑÑ‹ хабарландыруларды ешқашан көрÑетпеу"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Төмен: хабарландырулар тізімнің төменгі жағында үнÑіз көрÑету"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Қалыпты: оÑÑ‹ хабарландыруларды үнÑіз көрÑету"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Жоғары: хабарландырулар тізімінің жоғарғы жағында көрÑету және Ð´Ñ‹Ð±Ñ‹Ñ ÑˆÑ‹Ò“Ð°Ñ€Ñƒ"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Шұғыл: Ñкранға бекіту және Ð´Ñ‹Ð±Ñ‹Ñ ÑˆÑ‹Ò“Ð°Ñ€Ñƒ"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d минут бойы (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> дейін)</item> <item quantity="one">Бір минут бойы (<xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g> дейін)</item> diff --git a/core/res/res/values-km-rKH/strings.xml b/core/res/res/values-km-rKH/strings.xml index 167fa17dd362..96abf450cdad 100644 --- a/core/res/res/values-km-rKH/strings.xml +++ b/core/res/res/values-km-rKH/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"ចាក់សោ​ឥឡូវនáŸáŸ‡"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"បាន​លាក់​មាážáž·áž€áž¶"</string> <string name="safeMode" msgid="2788228061547930246">"របៀប​​​សុវážáŸ’ážáž·áž—áž¶áž–"</string> <string name="android_system_label" msgid="6577375335728551336">"ប្រពáŸáž“្ធ​​ Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"ផ្ទាល់ážáŸ’លួន"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"កាážáŸ‹"</string> <string name="copy" msgid="2681946229533511987">"ចម្លង"</string> <string name="paste" msgid="5629880836805036433">"បិទ​ភ្ជាប់"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"បិទភ្ជាប់ជាអážáŸ’ážáž”ទធម្មážáž¶"</string> <string name="replace" msgid="5781686059063148930">"ជំនួស..."</string> <string name="delete" msgid="6098684844021697789">"លុប"</string> <string name="copyUrl" msgid="2538211579596067402">"ចម្លង URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"ជ្រើស​អážáŸ’ážáž”áž‘"</string> + <string name="undo" msgid="7905788502491742328">"មិនធ្វើវិញ"</string> + <string name="redo" msgid="7759464876566803888">"ធ្វើវិញ"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"ការ​ជ្រើស​អážáŸ’ážáž”áž‘"</string> <string name="addToDictionary" msgid="4352161534510057874">"បន្ážáŸ‚ម​ទៅ​វចនានុក្រម"</string> <string name="deleteText" msgid="6979668428458199034">"លុប"</string> @@ -1109,6 +1113,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"ប្ដូរ​ផ្ទាំង​រូបភាព"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"កម្មវិធី​ស្ដាប់​ការ​ជូន​ដំណឹង"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"ក្រុមហ៊ុន​ផ្ដល់​លក្ážážážŽáŸ’ឌ"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"ជំនួយការជូនដំណឹង"</string> <string name="vpn_title" msgid="19615213552042827">"បាន​ធ្វើ​ឲ្យ VPN សកម្ម"</string> <string name="vpn_title_long" msgid="6400714798049252294">"បាន​ធ្វើ​ឲ្យ VPN សកម្ម​ដោយ <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"ប៉ះ ដើម្បី​គ្រប់គ្រង​បណ្ដាញ។"</string> @@ -1442,12 +1447,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"បានធ្វើបច្ចុប្បន្នភាពដោយអ្នកគ្រប់គ្រងរបស់អ្នក"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"បានលុបដោយអ្នកគ្រប់គ្រងរបស់អ្នក"</string> <string name="battery_saver_description" msgid="1960431123816253034">"ដើម្បីជួយឲ្យážáž¶áž˜áž–áž›ážáŸ’មប្រសើរឡើង កម្មវិធីសន្សំសំចៃážáž¶áž˜áž–áž›ážáŸ’មកាážáŸ‹áž”ន្ážáž™áž”្រážáž·áž”ážáŸ’ážáž·áž€áž¶ážšáž§áž”ករណáŸážšáž”ស់អ្នក និងកម្រិážáž—ាពញáŸážš សáŸážœáž¶áž€áž˜áŸ’មទីážáž¶áŸ†áž„ និងទិន្ននáŸáž™áž•្ទៃážáž¶áž„ក្រោយស្ទើរážáŸ‚ទាំងអស់។ ការផ្ញើសារអ៊ីម៉ែល និងកម្មវិធីផ្សáŸáž„ទៀážážŠáŸ‚លពឹងផ្អែកលើការធ្វើសមកាលកម្មអាចនឹងមិនធ្វើបច្ចុប្បន្នភាពទ០លុះážáŸ’ážšáž¶ážáŸ‚អ្នកបើកពួកវា។\n\nកម្មវិធីសន្សំសំចៃបិទដោយស្វáŸáž™áž”្រវážáŸ’ážáž· នៅពáŸáž›ážŠáŸ‚លឧបករណáŸážšáž”ស់អ្នកកំពុងសាកážáŸ’ម។"</string> - <string name="notification_importance_title" msgid="7493989722610008700">"សារៈសំážáž¶áž“់"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"បានរារាំង៖ កុំបង្ហាញការជូនដំណឹងទាំងនáŸáŸ‡"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"កម្រិážáž‘ាប៖ បង្ហាញស្ងាážáŸ‹áŸ—នៅផ្នែកážáž¶áž„ក្រោមបញ្ជីនៃការជូនដំណឹង"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"ធម្មážáž¶áŸ– បង្ហាញការជូនដំណឹងទាំងនáŸáŸ‡ážŸáŸ’ងាážáŸ‹áŸ—"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"កម្រិážážáŸ’ពស់៖ បង្ហាញនៅផ្នែកážáž¶áž„លើបញ្ជីនៃការជូនដំណឹង និងបន្លឺសំឡáŸáž„"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"បន្ទាន់៖ លោážáž”ង្ហាញនៅលើអáŸáž€áŸ’រង់ និងបន្លឺសំឡáŸáž„"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">រយៈពáŸáž› %1$d នាទី (ážšáž áž¼ážážŠáž›áŸ‹ <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">រយៈពáŸáž›áž˜áž½áž™áž“ាទី (ážšáž áž¼ážážŠáž›áŸ‹ <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-kn-rIN/strings.xml b/core/res/res/values-kn-rIN/strings.xml index 17ccbd1fa8a9..d0dac23cb538 100644 --- a/core/res/res/values-kn-rIN/strings.xml +++ b/core/res/res/values-kn-rIN/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"ಈಗ ಲಾಕೠಮಾಡಿ"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"ವಿಷಯಗಳನà³à²¨à³ ಮರೆಮಾಡಲಾಗಿದೆ"</string> <string name="safeMode" msgid="2788228061547930246">"ಸà³à²°à²•à³à²·à²¿à²¤ ಮೋಡà³"</string> <string name="android_system_label" msgid="6577375335728551336">"Android ಸಿಸà³à²Ÿà²‚"</string> <string name="user_owner_label" msgid="2804351898001038951">"ವೈಯಕà³à²¤à²¿à²•"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"ಕತà³à²¤à²°à²¿à²¸à³"</string> <string name="copy" msgid="2681946229533511987">"ನಕಲಿಸà³"</string> <string name="paste" msgid="5629880836805036433">"ಅಂಟಿಸಿ"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"ಸರಳ ಪಠà³à²¯à²¦à²‚ತೆ ಅಂಟಿಸà³"</string> <string name="replace" msgid="5781686059063148930">"ಸà³à²¥à²¾à²¨à²¾à²‚ತರಿಸà³..."</string> <string name="delete" msgid="6098684844021697789">"ಅಳಿಸà³"</string> <string name="copyUrl" msgid="2538211579596067402">"URL ನಕಲಿಸà³"</string> <string name="selectTextMode" msgid="1018691815143165326">"ಪಠà³à²¯à²µà²¨à³à²¨à³ ಆಯà³à²•ೆಮಾಡಿ"</string> + <string name="undo" msgid="7905788502491742328">"ರದà³à²¦à³à²—ೊಳಿಸಿ"</string> + <string name="redo" msgid="7759464876566803888">"ಪà³à²¨à²ƒ ಮಾಡà³"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"ಪಠà³à²¯à²¦ ಆಯà³à²•ೆ"</string> <string name="addToDictionary" msgid="4352161534510057874">"ನಿಘಂಟಿಗೆ ಸೇರಿಸಿ"</string> <string name="deleteText" msgid="6979668428458199034">"ಅಳಿಸà³"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"ವಾಲà³â€Œà²ªà³‡à²ªà²°à³ ಬದಲಿಸಿ"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"ಅಧಿಸೂಚನೆ ಕೇಳà³à²—"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"ಕಂಡೀಶನೠಪೂರೈಕೆದಾರರà³"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"ಅಧಿಸೂಚನೆ ಸಹಾಯಕ"</string> <string name="vpn_title" msgid="19615213552042827">"VPN ಸಕà³à²°à²¿à²¯à²—ೊಂಡಿದೆ"</string> <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> ಮೂಲಕ VPN ಸಕà³à²°à²¿à²¯à²—ೊಂಡಿದೆ"</string> <string name="vpn_text" msgid="3011306607126450322">"ನೆಟà³â€à²µà²°à³à²•ೠನಿರà³à²µà²¹à²¿à²¸à²²à³ ಸà³à²ªà²°à³à²¶à²¿à²¸à²¿"</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"ನಿಮà³à²® ನಿರà³à²µà²¾à²¹à²•ರಿಂದ ನವೀಕರಿಸಲಾಗಿದೆ"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"ನಿಮà³à²® ನಿರà³à²µà²¾à²¹à²•ರಿಂದ ಅಳಿಸಲಾಗಿದೆ"</string> <string name="battery_saver_description" msgid="1960431123816253034">"ನಿಮà³à²® ಬà³à²¯à²¾à²Ÿà²°à²¿à²¯ ಬಾಳಿಕೆಯನà³à²¨à³ ಸà³à²§à²¾à²°à²¿à²¸à²²à³ ಸಹಾಯ ಮಾಡಲà³, ಬà³à²¯à²¾à²Ÿà²°à²¿ ಉಳಿಕೆಯೠನಿಮà³à²® ಸಾಧನದ ಕಾರà³à²¯à²•à³à²·à²®à²¤à³†à²¯à²¨à³à²¨à³ ಕಡಿಮೆ ಮಾಡà³à²¤à³à²¤à²¦à³† ಮತà³à²¤à³ ವೈಬà³à²°à³‡à²·à²¨à³, ಸà³à²¥à²³ ಸೇವೆಗಳೠಹಾಗೂ ಹೆಚà³à²šà²¿à²¨ ಹಿನà³à²¨à³†à²²à³† ಡೇಟಾವನà³à²¨à³ ಮಿತಿಗೊಳಿಸà³à²¤à³à²¤à²¦à³†. ಸಿಂಕೠಮಾಡà³à²µà³à²¦à²¨à³à²¨à³ ಅವಲಂಬಿಸಿರà³à²µ ಇಮೇಲà³, ಸಂದೇಶ ಕಳà³à²¹à²¿à²¸à³à²µà²¿à²•ೆ, ಮತà³à²¤à³ ಇತರ ಅಪà³à²²à²¿à²•ೇಶನà³â€Œà²—ಳೠನೀವೠತೆರೆಯದ ಹೊರತೠನವೀಕರಣಗೊಳà³à²³à³à²µà³à²¦à²¿à²²à³à²².\n\nನಿಮà³à²® ಸಾಧನವೠಚಾರà³à²œà³ ಆಗà³à²¤à³à²¤à²¿à²°à³à²µ ಸಮಯದಲà³à²²à²¿ ಬà³à²¯à²¾à²Ÿà²°à²¿ ಉಳಿಕೆಯೠಆಫೠಆಗà³à²¤à³à²¤à²¦à³†."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"ಪà³à²°à²¾à²®à³à²–à³à²¯à²¤à³†"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"ನಿರà³à²¬à²‚ಧಿಸಲಾಗಿದೆ: ಈ ಅಧಿಸೂಚನೆಗಳನà³à²¨à³ ಎಂದಿಗೂ ತೋರಿಸಬೇಡ"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"ಕಡಿಮೆ: ಅಧಿಸೂಚನೆ ಪಟà³à²Ÿà²¿à²¯ ಕೆಳà²à²¾à²—ದಲà³à²²à²¿ ಸà³à²¥à²¬à³à²§à²µà²¾à²—ಿ ತೋರಿಸà³"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"ಸಾಮಾನà³à²¯: ಈ ಅಧಿಸೂಚನೆಗಳನà³à²¨à³ ಸà³à²¥à²¬à³à²§à²µà²¾à²—ಿ ತೋರಿಸà³"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"ಅಧಿಕ: ಅಧಿಸೂಚನೆಗಳ ಪಟà³à²Ÿà²¿à²¯ ಮೇಲà³à²à²¾à²—ದಲà³à²²à²¿ ತೋರಿಸೠಮತà³à²¤à³ ಧà³à²µà²¨à²¿ ಮಾಡà³"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"ತà³à²°à³à²¤à³: ಪರದೆಯನà³à²¨à³ ವೀಕà³à²·à²¿à²¸à²¿ ಮತà³à²¤à³ ಧà³à²µà²¨à²¿ ಮಾಡà³"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">%1$d ನಿಮಿಷಗಳವರೆಗೆ (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> ವರೆಗೆ)</item> <item quantity="other">%1$d ನಿಮಿಷಗಳವರೆಗೆ (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> ವರೆಗೆ)</item> diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml index a78037f5347e..b1b45883e977 100644 --- a/core/res/res/values-ko/strings.xml +++ b/core/res/res/values-ko/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"지금 ìž ê·¸ê¸°"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>ê°œ)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"숨겨진 콘í…ì¸ "</string> <string name="safeMode" msgid="2788228061547930246">"ì•ˆì „ 모드"</string> <string name="android_system_label" msgid="6577375335728551336">"Android 시스템"</string> <string name="user_owner_label" msgid="2804351898001038951">"ê°œì¸"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"잘ë¼ë‚´ê¸°"</string> <string name="copy" msgid="2681946229533511987">"복사"</string> <string name="paste" msgid="5629880836805036433">"붙여넣기"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"ì¼ë°˜ í…스트로 붙여넣기"</string> <string name="replace" msgid="5781686059063148930">"바꾸기..."</string> <string name="delete" msgid="6098684844021697789">"ì‚ì œ"</string> <string name="copyUrl" msgid="2538211579596067402">"URL 복사"</string> <string name="selectTextMode" msgid="1018691815143165326">"í…스트 ì„ íƒ"</string> + <string name="undo" msgid="7905788502491742328">"실행취소"</string> + <string name="redo" msgid="7759464876566803888">"다시 실행"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"í…스트 ì„ íƒ"</string> <string name="addToDictionary" msgid="4352161534510057874">"ì‚¬ì „ì— ì¶”ê°€"</string> <string name="deleteText" msgid="6979668428458199034">"ì‚ì œ"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"배경화면 변경"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"알림 ìˆ˜ì‹ ê¸°"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"ì¡°ê±´ ì œê³µìž"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"알림 어시스턴트"</string> <string name="vpn_title" msgid="19615213552042827">"VPNì´ í™œì„±í™”ë¨"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPNì´ <xliff:g id="APP">%s</xliff:g>ì— ì˜í•´ 활성화ë¨"</string> <string name="vpn_text" msgid="3011306607126450322">"네트워í¬ë¥¼ ê´€ë¦¬í•˜ë ¤ë©´ 터치하세요."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"관리ìžì— ì˜í•´ ì—…ë°ì´íЏë¨"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"관리ìžê°€ ì‚ì œí•¨"</string> <string name="battery_saver_description" msgid="1960431123816253034">"배터리 수명 ê°œì„ ì„ ìœ„í•´, 배터리 세ì´ë²„는 ê¸°ê¸°ì˜ ì„±ëŠ¥ì„ ì¤„ì´ê³ ì§„ë™, 위치 서비스 ë° ëŒ€ë¶€ë¶„ì˜ ë°±ê·¸ë¼ìš´ë“œ ë°ì´í„°ë¥¼ ì œí•œí•©ë‹ˆë‹¤. ì´ë©”ì¼, 메시지 ë° ë™ê¸°í™”ì— ì˜ì¡´í•˜ëŠ” 기타 ì•±ì€ ì•±ì„ ì—´ 때까지 ì—…ë°ì´íЏë˜ì§€ ì•Šì„ ìˆ˜ 있습니다.\n\n배터리 세ì´ë²„는 기기를 ì¶©ì „ ì¤‘ì¼ ë•ŒëŠ” ìžë™ìœ¼ë¡œ 사용 중지ë©ë‹ˆë‹¤."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"중요ë„"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"차단: 알림 다시 표시 안함"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"ë‚®ìŒ: 알림 ëª©ë¡ í•˜ë‹¨ì— ë¬´ìŒìœ¼ë¡œ 표시"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"ì¼ë°˜: 무ìŒìœ¼ë¡œ 알림 표시"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"높ìŒ: 알림 ëª©ë¡ ìƒë‹¨ì— í‘œì‹œí•˜ê³ ì†Œë¦¬ë¡œ 알림"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"긴급: í™”ë©´ì— í‘œì‹œí•˜ê³ ì†Œë¦¬ë¡œ 알림"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$dë¶„ ë™ì•ˆ(<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>까지)</item> <item quantity="one">1ë¶„ ë™ì•ˆ(<xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>까지)</item> diff --git a/core/res/res/values-ky-rKG/strings.xml b/core/res/res/values-ky-rKG/strings.xml index 9d2c80c3fa08..7644a9b32381 100644 --- a/core/res/res/values-ky-rKG/strings.xml +++ b/core/res/res/values-ky-rKG/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Ðзыр кулпулоо"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Мазмундар жашырылган"</string> <string name="safeMode" msgid="2788228061547930246">"КоопÑуз режим"</string> <string name="android_system_label" msgid="6577375335728551336">"Android Тутуму"</string> <string name="user_owner_label" msgid="2804351898001038951">"Жеке"</string> @@ -859,10 +860,13 @@ <string name="cut" msgid="3092569408438626261">"КеÑÒ¯Ò¯"</string> <string name="copy" msgid="2681946229533511987">"Көчүрүү"</string> <string name="paste" msgid="5629880836805036433">"Чаптоо"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Жөнөкөй текÑÑ‚ катары чаптоо"</string> <string name="replace" msgid="5781686059063148930">"Ðлмаштыруу…"</string> <string name="delete" msgid="6098684844021697789">"Жок кылуу"</string> <string name="copyUrl" msgid="2538211579596067402">"URL көчүрмөлөө"</string> <string name="selectTextMode" msgid="1018691815143165326">"ТекÑÑ‚ тандоо"</string> + <string name="undo" msgid="7905788502491742328">"Ðртка кайтаруу"</string> + <string name="redo" msgid="7759464876566803888">"Кайталоо"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"ТекÑÑ‚ тандоо"</string> <string name="addToDictionary" msgid="4352161534510057874">"Сөздүккө кошуу"</string> <string name="deleteText" msgid="6979668428458199034">"Жок кылуу"</string> @@ -1108,6 +1112,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Тушкагазды өзгөртүү"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"ÐÑкертүү тыңшагычы"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Шарт түзүүчү"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"ÐÑкертме жардамчыÑÑ‹"</string> <string name="vpn_title" msgid="19615213552042827">"VPN иштетилди"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN <xliff:g id="APP">%s</xliff:g> аркылуу жандырылды"</string> <string name="vpn_text" msgid="3011306607126450322">"желени башкаруу үчүн баÑыңыз."</string> @@ -1441,12 +1446,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"ÐдминиÑтраторуңуз жаңырткан"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"ÐдминиÑтраторуңуз тарабынан жок кылынган"</string> <string name="battery_saver_description" msgid="1960431123816253034">"БатареÑнын өмүрүн узартуу үчүн, батареÑны үнөмдөгүч түзмөгүңүздүн ишинин майнаптуулугун азайтып, дирилдөө, жайгашкан жерди аныктоо кызматтары жана фондук дайындардын көпчүлүгүн чектеп коёт. Ðлектрондук почта, билдирүү жазышуу жана башка шайкештештирүүгө байланыштуу колдонмолор ачылмайынча жаңыртылбай калышы мүмкүн.\n\nÐ‘Ð°Ñ‚Ð°Ñ€ÐµÑ Ò¯Ð½Ó©Ð¼Ð´Ó©Ð³Ò¯Ñ‡ түзмөгүңүз кубатталып жатканда автоматтык түрдө өчүп калат."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Маанилүүлүгү"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Бөгөттөлгөн: Бул ÑÑкертмелер Ñч качан көрÑөтүлбөÑүн"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Төмөн: ÐÑкертмелер тизмеÑинин ÑÒ£ ылдыйында үнÑүз көрÑөтүлÑүн"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Кадимки: Бул ÑÑкертмелер үнÑүз көрÑөтүлÑүн"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Жогору: ÐÑкертмелер тизмеÑинин ÑÒ£ жогоруÑунда үн чыгарып көрÑөтүлÑүн"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Шашылыш: Үн менен коштолуп, Ñкранга чыгарылÑын"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d мүнөткө (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> чейин)</item> <item quantity="one">Бир мүнөткө (<xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g> чейин)</item> @@ -1512,6 +1511,6 @@ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> тандалды</item> </plurals> <string name="default_notification_topic_label" msgid="227586145791870829">"Калган-каткандар"</string> - <string name="importance_from_topic" msgid="3572280439880023233">"Бул ÑÑкертмелердин маанилүүлүгүн Ñиз койдуңуз."</string> - <string name="importance_from_person" msgid="9160133597262938296">"Ðга катышкан адамдардан улам ал маанилүү."</string> + <string name="importance_from_topic" msgid="3572280439880023233">"Бул ÑÑкертмелердин маанилүүлүгүн белгиледиңиз."</string> + <string name="importance_from_person" msgid="9160133597262938296">"Булар Ñиз үчүн маанилүү адамдар."</string> </resources> diff --git a/core/res/res/values-lo-rLA/strings.xml b/core/res/res/values-lo-rLA/strings.xml index 0510a25ad40d..a5ff8d18dfa7 100644 --- a/core/res/res/values-lo-rLA/strings.xml +++ b/core/res/res/values-lo-rLA/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"ລັàºàºâ€‹àº”ຽວ​ນີ້"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"ເນື້àºàº«àº²â€‹àº–ືàºâ€‹à»€àºŠàº·à»ˆàºàº‡â€‹à»„ວ້"</string> <string name="safeMode" msgid="2788228061547930246">"Safe mode"</string> <string name="android_system_label" msgid="6577375335728551336">"ລະບົບ Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"​ສ່ວນ​ໂຕ"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"ຕັດ"</string> <string name="copy" msgid="2681946229533511987">"ສຳເນົາ"</string> <string name="paste" msgid="5629880836805036433">"ວາງ"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"ວາງເປັນຂà»à»‰àº„ວາມທຳມະດາ"</string> <string name="replace" msgid="5781686059063148930">"à»àº—ນທີ່…"</string> <string name="delete" msgid="6098684844021697789">"ລຶບ"</string> <string name="copyUrl" msgid="2538211579596067402">"ສຳເນົາ URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"ເລືàºàºàº‚à»à»‰àº„ວາມ"</string> + <string name="undo" msgid="7905788502491742328">"ບà»à»ˆâ€‹à»€àº®àº±àº”"</string> + <string name="redo" msgid="7759464876566803888">"ເຮັດໃà»à»ˆ"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"àºàº²àº™à»€àº¥àº·àºàºàº‚à»à»‰àº„ວາມ"</string> <string name="addToDictionary" msgid="4352161534510057874">"ເພີ່ມໄປທີ່ວັດຈະນານຸàºàº»àº¡"</string> <string name="deleteText" msgid="6979668428458199034">"ລຶບ"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"ປ່ຽນພາບພື້ນຫຼັງ"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"ໂຕຟັງàºàº²àº™à»àºˆà»‰àº‡à»€àº•ືàºàº™"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"​ຜູ່​ສະ​ໜàºàº‡â€‹à»€àº‡àº·à»ˆàºàº™â€‹à»„ຂ"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"ຕົວຊ່ວàºâ€‹àºàº²àº™â€‹à»àºˆà»‰àº‡â€‹à»€àº•ືàºàº™"</string> <string name="vpn_title" msgid="19615213552042827">"ເປີດນຳໃຊ້ VPN à»àº¥à»‰àº§"</string> <string name="vpn_title_long" msgid="6400714798049252294">"ເປີດໃຊ້ VPN ໂດຠ<xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"à»àº•ະເພື່àºàºˆàº±àº”àºàº²àº™à»€àº„ືàºàº‚່າàº."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"àºàº±àºšâ€‹à»€àº”ດ​ໂດàºâ€‹àºœàº¹à»‰â€‹àº„ວບ​ຄຸມ​ຂàºàº‡â€‹àº—່ານ​à»àº¥à»‰àº§"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"ຖືàºâ€‹àºœàº¹à»‰â€‹àº„ວບ​ຄຸມ​ຂàºàº‡â€‹àº—່ານ​ລຶບ​ໄປ​à»àº¥à»‰àº§"</string> <string name="battery_saver_description" msgid="1960431123816253034">"ເພື່àºâ€‹àºŠà»ˆàº§àºâ€‹à»€àºžàºµà»ˆàº¡â€‹àºàº²â€‹àºàº¸â€‹à»àºšàº±àº”​ເຕີ​ຣີ, ຕົວ​ປະ​ຢັດ​ໄຟ​à»àºšàº±àº”​ເຕີ​ຣີ​ຫຼຸດ​ປະ​ສິດ​ທິ​ພາບ​àºàº²àº™â€‹à»€àº®àº±àº”​ວຽàºâ€‹àº‚àºàº‡â€‹àºàº¸â€‹àº›àº°â€‹àºàºàº™â€‹àº‚àºàº‡â€‹àº—່ານ​ລົງ à»àº¥àº°â€‹àºˆàº³â€‹àºàº±àº”​àºàº²àº™â€‹àºªàº±à»ˆàº™, àºàº²àº™â€‹àºšà»â€‹àº¥àº´â€‹àºàº²àº™â€‹àº«àº²àº—ີ່ຕັ້ງ, à»àº¥àº°â€‹àº‚à»à»‰â€‹àº¡àº¹àº™â€‹àºžàº·à»‰àº™â€‹àº«àº¼àº±àº‡â€‹à»€àºàº·àºàºšâ€‹àº—ັງ​à»àº»àº”. àºàºµâ€‹à»€àº¡àº§, àºàº²àº™â€‹àºªàº»à»ˆàº‡â€‹àº‚à»à»‰â€‹àº„ວາມ, à»àº¥àº°â€‹à»àºàº±àºšàºàº·à»ˆàº™à»†â€‹àº—ີ່àºàº²â€‹à»„ສàºàº²àº™â€‹àºŠàº´àº‡â€‹àº„໌​àºàº²àº”​ຈະ​ບà»à»ˆâ€‹àºàº±àºšâ€‹à»€àº”ດ ນàºàºâ€‹àºˆàº²àºàº§à»ˆàº²â€‹àº—່ານ​ເປີດ​ມັນ.\n\nຕົວ​ປະ​ຢັດ​ໄຟ​à»àºšàº±àº”​ເຕີ​ຣີຈະ​ປິດ​àºàº±àº”​ຕະ​ໂນ​ມັດ ເມື່àºâ€‹àºàº¸â€‹àº›àº°â€‹àºàºàº™â€‹àº‚àºàº‡â€‹àº—່ານ​àºàº³â€‹àº¥àº±àº‡â€‹àºªàº²àºàº¢àº¹à»ˆ."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"ຄວາມສà»àº²àº„ັນ"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"ບລັàºàºà»àº¥à»‰àº§: ຢ່າສະà»àº”ງàºàº²àº™à»àºˆà»‰àº‡à»€àº•ືàºàº™à»€àº«àº¼àº»à»ˆàº²àº™àºµà»‰"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"ຕà»à»ˆàº²: ສະà»àº”ງຢູ່ສ່ວນລຸ່ມຂàºàº‡àº¥àº²àºàºàº²àº™à»àºˆà»‰àº‡à»€àº•ືàºàº™à»àºšàºšàº¡àºµàºšà»à»ˆàºªàº½àº‡"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"ປົàºàºàº°àº•ິ: ສະà»àº”ງàºàº²àº™à»àºˆà»‰àº‡à»€àº•ືàºàº™à»€àº«àº¼àº»à»ˆàº²àº™àºµà»‰à»àºšàºšàºšà»à»ˆàº¡àºµàºªàº½àº‡"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"ສູງ: ສະà»àº”ງຢູ່ສ່ວນເທິງຂàºàº‡àº¥àº²àºàºàº²àº™à»àºˆà»‰àº‡à»€àº•ືàºàº™ à»àº¥àº°àºªàº»à»ˆàº‡àºªàº½àº‡àº”ັງ"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"ດ່ວນ: ເດັ້ງຂຶ້ນເທິງຫນ້າຈ໠à»àº¥àº°àºªàº»à»ˆàº‡àºªàº½àº‡àº”ັງ"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">ເປັນ​ເວ​ລາ %1$d ນາ​ທີ (ຈົນ​ຮàºàº” <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">​ເປັນ​ເວ​ລາ 1 ນາ​ທີ (ຈົນ​ຮàºàº” <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml index 67eff63a0219..f59e7542f2dd 100644 --- a/core/res/res/values-lt/strings.xml +++ b/core/res/res/values-lt/strings.xml @@ -225,6 +225,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Užrakinti dabar"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Turinys paslÄ—ptas"</string> <string name="safeMode" msgid="2788228061547930246">"Saugos režimas"</string> <string name="android_system_label" msgid="6577375335728551336">"„Android“ sistema"</string> <string name="user_owner_label" msgid="2804351898001038951">"AsmeninÄ—"</string> @@ -868,10 +869,13 @@ <string name="cut" msgid="3092569408438626261">"IÅ¡kirpti"</string> <string name="copy" msgid="2681946229533511987">"Kopijuoti"</string> <string name="paste" msgid="5629880836805036433">"Ä®klijuoti"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Ä®klijuoti kaip grynÄ…jį tekstÄ…"</string> <string name="replace" msgid="5781686059063148930">"Pakeisti•"</string> <string name="delete" msgid="6098684844021697789">"IÅ¡trinti"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopijuoti URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Pasirinkti tekstÄ…"</string> + <string name="undo" msgid="7905788502491742328">"Anuliuoti"</string> + <string name="redo" msgid="7759464876566803888">"Grąžinti"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Teksto pasirinkimas"</string> <string name="addToDictionary" msgid="4352161534510057874">"PridÄ—ti prie žodyno"</string> <string name="deleteText" msgid="6979668428458199034">"IÅ¡trinti"</string> @@ -1121,6 +1125,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Keisti darbalaukio fonÄ…"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"PraneÅ¡imų skaitymo priemonÄ—"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"SÄ…lygos teikÄ—jas"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"PraneÅ¡imų pagelbiklis"</string> <string name="vpn_title" msgid="19615213552042827">"VPN suaktyvintas"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN suaktyvino „<xliff:g id="APP">%s</xliff:g>“"</string> <string name="vpn_text" msgid="3011306607126450322">"Palieskite, kad valdytumÄ—te tinklÄ…."</string> @@ -1458,12 +1463,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Atnaujino administratorius"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"IÅ¡trynÄ— administratorius"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Kad tausotų akumuliatoriaus energijÄ… akumuliatoriaus tausojimo priemonÄ— sumažina įrenginio veikimÄ… ir apriboja vibravimÄ…, vietovÄ—s paslaugas bei daugumÄ… foninių duomenų. El. paÅ¡to, susiraÅ¡inÄ—jimo ir kitos programos, kurios veikia sinchronizavimo pagrindu, gali bÅ«ti neatnaujintos, nebent jas atidarysite.\n\nAkumuliatoriaus tausojimo priemonÄ— automatiÅ¡kai iÅ¡jungiama, kai įrenginys įkraunamas."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Svarba"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Užblokuota: niekada nerodyti Å¡ių praneÅ¡imų"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Maža: tyliai rodyti praneÅ¡imų sÄ…raÅ¡o apaÄioje"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Ä®prasta: tyliai rodyti Å¡iuos praneÅ¡imus"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"DidelÄ—: rodyti praneÅ¡imų sÄ…raÅ¡o virÅ¡uje ir skambÄ—ti"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Skubu: rodyti ekrane ir skambÄ—ti"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">%1$d minutÄ™ (iki <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="few">%1$d minutes (iki <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml index 95c3536b87bf..d1993edff0b9 100644 --- a/core/res/res/values-lv/strings.xml +++ b/core/res/res/values-lv/strings.xml @@ -224,6 +224,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"BloÄ·Ä“t tÅ«lÄ«t"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"PÄrsniedz"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Saturs paslÄ“pts"</string> <string name="safeMode" msgid="2788228061547930246">"DroÅ¡ais režīms"</string> <string name="android_system_label" msgid="6577375335728551336">"Android sistÄ“ma"</string> <string name="user_owner_label" msgid="2804351898001038951">"Personisks"</string> @@ -863,10 +864,13 @@ <string name="cut" msgid="3092569408438626261">"Izgriezt"</string> <string name="copy" msgid="2681946229533511987">"KopÄ“t"</string> <string name="paste" msgid="5629880836805036433">"IelÄ«mÄ“t"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"IelÄ«mÄ“t kÄ vienkÄrÅ¡u tekstu"</string> <string name="replace" msgid="5781686059063148930">"AizstÄt"</string> <string name="delete" msgid="6098684844021697789">"DzÄ“st"</string> <string name="copyUrl" msgid="2538211579596067402">"KopÄ“t URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"AtlasÄ«t tekstu"</string> + <string name="undo" msgid="7905788502491742328">"Atsaukt"</string> + <string name="redo" msgid="7759464876566803888">"Atcelt atsaukÅ¡anu"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Teksta atlase"</string> <string name="addToDictionary" msgid="4352161534510057874">"Pievienot vÄrdnÄ«cai"</string> <string name="deleteText" msgid="6979668428458199034">"DzÄ“st"</string> @@ -1114,6 +1118,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Tapetes maiņa"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Paziņojumu uztvÄ“rÄ“js"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"NosacÄ«jumu sniedzÄ“js"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Paziņojumu palÄ«gs"</string> <string name="vpn_title" msgid="19615213552042827">"VPN ir aktivizÄ“ts."</string> <string name="vpn_title_long" msgid="6400714798049252294">"Lietojumprogramma <xliff:g id="APP">%s</xliff:g> aktivizÄ“ja VPN."</string> <string name="vpn_text" msgid="3011306607126450322">"Pieskarieties, lai pÄrvaldÄ«tu tÄ«klu."</string> @@ -1449,12 +1454,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"AtjauninÄja administrators"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"IzdzÄ“sa jÅ«su administrators"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Lai paildzinÄtu akumulatora darbÄ«bu, akumulatora jaudas taupīšanas režīmÄ tiek samazinÄta ierÄ«ces veiktspÄ“ja un tiek ierobežota vibrÄcija, atraÅ¡anÄs vietu pakalpojumi un lielÄkÄ daļa fona datu. E-pasta, ziņojumapmaiņas un cita veida lietotnes, kuru darbÄ«bas pamatÄ ir datu sinhronizÄcija, var netikt atjauninÄtas, ja tÄs neatverat.\n\nTiklÄ«dz tiek sÄkta ierÄ«ces uzlÄde, akumulatora jaudas taupīšanas režīms automÄtiski tiek izslÄ“gts."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"SvarÄ«gums"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"BloÄ·Ä“ts: nekad nerÄdÄ«t Å¡os paziņojumus"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Zemu: rÄdÄ«t paziņojumu saraksta apakÅ¡daÄ¼Ä bez skaņas signÄla"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"NormÄli: rÄdÄ«t Å¡os paziņojumus bez skaņas signÄla"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Augstu: rÄdÄ«t paziņojumu saraksta augÅ¡daÄ¼Ä un ar skaņas signÄlu"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Steidzami: rÄdÄ«t ekrÄnÄ ar skaņas signÄlu"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="zero">%1$d minÅ«tes (lÄ«dz <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">%1$d minÅ«ti (lÄ«dz <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-mk-rMK/strings.xml b/core/res/res/values-mk-rMK/strings.xml index 5c12a3695143..672c2b525912 100644 --- a/core/res/res/values-mk-rMK/strings.xml +++ b/core/res/res/values-mk-rMK/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Заклучи Ñега"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Содржините Ñе Ñкриени"</string> <string name="safeMode" msgid="2788228061547930246">"Безбеден режим"</string> <string name="android_system_label" msgid="6577375335728551336">"СиÑтем Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Лични"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"ИÑечи"</string> <string name="copy" msgid="2681946229533511987">"Копирај"</string> <string name="paste" msgid="5629880836805036433">"Залепи"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Залепи како обичен текÑÑ‚"</string> <string name="replace" msgid="5781686059063148930">"Замени..."</string> <string name="delete" msgid="6098684844021697789">"Избриши"</string> <string name="copyUrl" msgid="2538211579596067402">"Копирај УРЛ"</string> <string name="selectTextMode" msgid="1018691815143165326">"Избери текÑÑ‚"</string> + <string name="undo" msgid="7905788502491742328">"Врати"</string> + <string name="redo" msgid="7759464876566803888">"Повтори"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Избор на текÑÑ‚"</string> <string name="addToDictionary" msgid="4352161534510057874">"Додај во речник"</string> <string name="deleteText" msgid="6979668428458199034">"Избриши"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Промени тапет"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Слушател на извеÑтувања"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Давател на уÑлов"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Помошник за извеÑтувања"</string> <string name="vpn_title" msgid="19615213552042827">"Ðктивирана VPN"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN е активирана Ñо <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Допри за да управуваш Ñо мрежата."</string> @@ -1250,7 +1255,7 @@ <string name="media_route_chooser_title" msgid="1751618554539087622">"Поврзи Ñе Ñо уред"</string> <string name="media_route_chooser_title_for_remote_display" msgid="3395541745872017583">"Префрли екран на уред"</string> <string name="media_route_chooser_searching" msgid="4776236202610828706">"Пребарување за уреди..."</string> - <string name="media_route_chooser_extended_settings" msgid="87015534236701604">"ПодеÑувања"</string> + <string name="media_route_chooser_extended_settings" msgid="87015534236701604">"ПоÑтавки"</string> <string name="media_route_controller_disconnect" msgid="8966120286374158649">"ИÑклучи"</string> <string name="media_route_status_scanning" msgid="7279908761758293783">"Скенирање..."</string> <string name="media_route_status_connecting" msgid="6422571716007825440">"Се поврзува..."</string> @@ -1442,12 +1447,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Ðжурирано од админиÑтраторот"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Избришано од админиÑтраторот"</string> <string name="battery_saver_description" msgid="1960431123816253034">"За да ви помогне да ја подобрите трајноÑта на батеријата, штедачот на батеријата ја намалува изведбата на уредот и го ограничува вибрирањето, уÑлугите за локација и повеќето податоци од заднина. Е-поштата, иÑпраќањето пораки и другите апликации кои Ñе потпираат на Ñинхронизација можеби нема да Ñе ажурираат доколку не ги отворите.\n\nШтедачот на батеријата автоматÑки Ñе иÑклучува кога уредот Ñе полни."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"ВажноÑÑ‚"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Блокирано: никогаш не покажувај ги овие извеÑтувања"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"ÐиÑко: покажувај ги тивко на дното на ÑпиÑокот Ñо извеÑтувања"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Ðормално: покажувај ги овие извеÑтувања тивко"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"ВиÑоко: покажувај ги на врв на ÑпиÑокот Ñо извеÑтувања и дај звук"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Итно: нека Ñе појават на екранот и дај им звук"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">За %1$d минута (до <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="other">За %1$d минути (до <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-ml-rIN/strings.xml b/core/res/res/values-ml-rIN/strings.xml index 842ee4aecbd3..c6f6698bbe1d 100644 --- a/core/res/res/values-ml-rIN/strings.xml +++ b/core/res/res/values-ml-rIN/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"ഇപàµà´ªàµ‹àµ¾ ലോകàµà´•àµà´šàµ†à´¯àµà´¯àµà´•"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"കോൺടാകàµâ€Œà´±àµà´±àµà´•ൾ മറചàµà´šàµ"</string> <string name="safeMode" msgid="2788228061547930246">"à´¸àµà´°à´•àµà´·à´¿à´¤ മോഡàµ"</string> <string name="android_system_label" msgid="6577375335728551336">"Android സിസàµà´±àµà´±à´‚"</string> <string name="user_owner_label" msgid="2804351898001038951">"à´µàµà´¯à´•àµà´¤à´¿à´—തം"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"à´®àµà´±à´¿à´•àµà´•àµà´•"</string> <string name="copy" msgid="2681946229533511987">"പകരàµâ€à´¤àµà´¤àµà´•"</string> <string name="paste" msgid="5629880836805036433">"à´’à´Ÿàµà´Ÿà´¿à´•àµà´•àµà´•"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"à´ªàµà´²àµ†à´¯à´¿àµ» ടെകàµâ€Œà´¸àµà´±àµà´±à´¾à´¯à´¿ à´’à´Ÿàµà´Ÿà´¿à´•àµà´•àµà´•"</string> <string name="replace" msgid="5781686059063148930">"മാറàµà´±à´¿à´¸àµà´¥à´¾à´ªà´¿à´•àµà´•àµà´•..."</string> <string name="delete" msgid="6098684844021697789">"ഇലàµà´²à´¾à´¤à´¾à´•àµà´•àµà´•"</string> <string name="copyUrl" msgid="2538211579596067402">"URL പകർതàµà´¤àµà´•"</string> <string name="selectTextMode" msgid="1018691815143165326">"ടെകàµâ€Œà´¸àµâ€Œà´±àµà´±àµ തിരഞàµà´žàµ†à´Ÿàµà´•àµà´•àµà´•"</string> + <string name="undo" msgid="7905788502491742328">"പഴയപടിയാകàµà´•àµà´•"</string> + <string name="redo" msgid="7759464876566803888">"വീണàµà´Ÿàµà´‚ ചെയàµà´¯àµà´•"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"ടെകàµâ€Œà´¸àµà´±àµà´±àµ തിരഞàµà´žàµ†à´Ÿàµà´•àµà´•ൽ"</string> <string name="addToDictionary" msgid="4352161534510057874">"നിഘണàµà´Ÿàµà´µà´¿àµ½ ചേർകàµà´•àµà´•"</string> <string name="deleteText" msgid="6979668428458199034">"ഇലàµà´²à´¾à´¤à´¾à´•àµà´•àµà´•"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"വാൾപേപàµà´ªàµ¼ മാറàµà´±àµà´•"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"അറിയിപàµà´ªàµ ലിസണർ"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"à´•à´£àµà´Ÿàµ€à´·àµ» ദാതാവàµ"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"അറിയിപàµà´ªàµ സഹായി"</string> <string name="vpn_title" msgid="19615213552042827">"VPN സജീവമാകàµà´•à´¿"</string> <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> ഉപയോഗിചàµà´šàµ VPN à´ªàµà´°à´µàµ¼à´¤àµà´¤à´¨à´•àµà´·à´®à´®à´¾à´•àµà´•à´¿"</string> <string name="vpn_text" msgid="3011306607126450322">"നെറàµà´±àµâ€Œà´µàµ¼à´•àµà´•ൠനിയനàµà´¤àµà´°à´¿à´•àµà´•ാൻ à´¸àµâ€Œà´ªàµ¼à´¶à´¿à´•àµà´•àµà´•."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"നിങàµà´™à´³àµà´Ÿàµ† à´…à´¡àµâ€Œà´®à´¿à´¨à´¿à´¸àµâ€Œà´Ÿàµà´°àµ‡à´±àµà´±àµ¼ à´…à´ªàµâ€Œà´¡àµ‡à´±àµà´±àµà´šàµ†à´¯àµâ€Œà´¤àµ"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"നിങàµà´™à´³àµà´Ÿàµ† à´…à´¡àµâ€Œà´®à´¿à´¨à´¿à´¸àµâ€Œà´Ÿàµà´°àµ‡à´±àµà´±àµ¼ ഇലàµà´²à´¾à´¤à´¾à´•àµà´•à´¿"</string> <string name="battery_saver_description" msgid="1960431123816253034">"ബാറàµà´±à´±à´¿ ആയàµà´¸àµà´¸àµ മെചàµà´šà´ªàµà´ªàµ†à´Ÿàµà´¤àµà´¤à´¾àµ» സഹായികàµà´•àµà´¨àµà´¨à´¤à´¿à´¨àµ, ബാറàµà´±à´±à´¿ സേവർ നിങàµà´™à´³àµà´Ÿàµ† ഉപകരണതàµà´¤à´¿à´¨àµà´±àµ† à´ªàµà´°à´•ടനതàµà´¤àµ† à´•àµà´±à´¯àµâ€Œà´•àµà´•àµà´•à´¯àµà´‚ വൈബàµà´°àµ‡à´·à´¨àµ†à´¯àµà´‚ മികàµà´• പശàµà´šà´¾à´¤àµà´¤à´² വിവരതàµà´¤àµ†à´¯àµà´‚ പരിമിതപàµà´ªàµ†à´Ÿàµà´¤àµà´¤àµà´•à´¯àµà´‚ ചെയàµà´¯àµà´¨àµà´¨àµ. ഇമെയിൽ, സനàµà´¦àµ‡à´¶à´®à´¯à´¯àµâ€Œà´•àµà´•ൽ, സമനàµà´µà´¯à´¿à´ªàµà´ªà´¿à´•àµà´•ലിനെ ആശàµà´°à´¯à´¿à´šàµà´šàµà´³àµà´³ മറàµà´±àµ à´…à´ªàµà´²à´¿à´•àµà´•േഷനàµà´•ൾ à´Žà´¨àµà´¨à´¿à´µ നിങàµà´™àµ¾ à´¤àµà´±à´•àµà´•àµà´¨àµà´¨à´¤àµà´µà´°àµ† à´…à´ªàµâ€Œà´¡àµ‡à´±àµà´±àµà´šàµ†à´¯àµà´¯à´¾à´¨à´¿à´Ÿà´¯à´¿à´²àµà´².\n\nനിങàµà´™à´³àµà´Ÿàµ† ഉപകരണം ചാർജàµà´œàµà´šàµ†à´¯àµà´¯àµà´®àµà´ªàµ‹àµ¾ ബാറàµà´±à´±à´¿ സേവർ à´¸àµà´µà´¯à´‚ ഓഫാകàµà´‚."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"à´ªàµà´°à´¾à´§à´¾à´¨àµà´¯à´‚"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"à´¬àµà´²àµ‹à´•àµà´•àµà´šàµ†à´¯àµà´¤àµ: à´ˆ അറിയിപàµà´ªàµà´•ൾ à´’à´°à´¿à´•àµà´•à´²àµà´‚ കാണികàµà´•à´°àµà´¤àµ"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"താഴàµà´¨àµà´¨à´¤àµ: അറിയിപàµà´ªàµ ലിസàµà´±àµà´±à´¿à´¨àµà´±àµ† താഴെ à´¶à´¬àµà´¦à´®àµà´£àµà´Ÿà´¾à´•àµà´•ാതെ കാണികàµà´•àµà´•"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"സാധാരണം: à´ˆ അറിയിപàµà´ªàµà´•ൾ നിശബàµà´¦à´®à´¾à´¯à´¿ കാണികàµà´•àµà´•"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"ഉയർനàµà´¨à´¤àµ: അറിയിപàµà´ªàµ ലിസàµà´±àµà´±à´¿à´¨àµà´±àµ† à´à´±àµà´±à´µàµà´‚ à´®àµà´•ളിൽ കാണികàµà´•àµà´•, à´¶à´¬àµà´¦à´®àµà´£àµà´Ÿà´¾à´•àµà´•àµà´•"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"അടിയനàµà´¤à´°à´‚: à´¸àµà´•àµà´°àµ€à´¨à´¿àµ½ ദൃശàµà´¯à´®à´¾à´•àµà´•àµà´•, à´¶à´¬àµà´¦à´®àµà´£àµà´Ÿà´¾à´•àµà´•àµà´•"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d മിനിറàµà´±àµ സമയതàµà´¤àµ‡à´•àµà´•ൠ(<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> വരെ)</item> <item quantity="one">ഒരൠമിനിറàµà´±àµ സമയതàµà´¤àµ‡à´•àµà´•ൠ(<xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g> വരെ)</item> diff --git a/core/res/res/values-mn-rMN/strings.xml b/core/res/res/values-mn-rMN/strings.xml index bdfbe7aaad6c..c42beca3e221 100644 --- a/core/res/res/values-mn-rMN/strings.xml +++ b/core/res/res/values-mn-rMN/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Одоо түгжих"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Контентыг нууÑан"</string> <string name="safeMode" msgid="2788228061547930246">"Ðюулгүй горим"</string> <string name="android_system_label" msgid="6577375335728551336">"Ðндройд ÑиÑтем"</string> <string name="user_owner_label" msgid="2804351898001038951">"Хувийн"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"ТаÑлах"</string> <string name="copy" msgid="2681946229533511987">"Хуулах"</string> <string name="paste" msgid="5629880836805036433">"Буулгах"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"ХооÑон текÑÑ‚ Ñ…ÑлбÑÑ€ÑÑÑ€ буулгах"</string> <string name="replace" msgid="5781686059063148930">"Орлуулах…"</string> <string name="delete" msgid="6098684844021697789">"УÑтгах"</string> <string name="copyUrl" msgid="2538211579596067402">"URL хуулах"</string> <string name="selectTextMode" msgid="1018691815143165326">"ТекÑÑ‚ Ñонгох"</string> + <string name="undo" msgid="7905788502491742328">"Буцаах"</string> + <string name="redo" msgid="7759464876566803888">"Дахин хийх"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"ТекÑÑ‚ Ñонгох"</string> <string name="addToDictionary" msgid="4352161534510057874">"Толь бичигт нÑмÑÑ…"</string> <string name="deleteText" msgid="6979668428458199034">"УÑтгах"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Ханын зураг Ñолих"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"МÑдÑгдÑл ÑонÑогч"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Ðөхцөл нийлүүлÑгч"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"МÑдÑгдлийн туÑлагч"</string> <string name="vpn_title" msgid="19615213552042827">"VPN идÑвхтÑй болов"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN-г <xliff:g id="APP">%s</xliff:g> идÑвхтÑй болгов"</string> <string name="vpn_text" msgid="3011306607126450322">"СүлжÑÑг удирдах бол Ñ…Ò¯Ñ€Ð½Ñ Ò¯Ò¯."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Танай админ шинÑчилÑÑн"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Таны админ уÑтгаÑан байна"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Батарей хадгалах функц нь таны төхөөрөмжийн цÑнÑгийг хадгалахын тулд гүйцÑтгÑлийг багаÑгаж, чичрÑлтийг бууруулж, байршлын үйлчилгÑÑнүүд болон буÑад өгөгдлийн Ñ…ÑмжÑÑг багаÑгадаг юм. И-мÑйл, меÑÑеж болон буÑад Ñинхрон хийдÑг апликейшнүүд дараа дахин нÑÑгдÑÑ… хүртлÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð°Ð°Ñ€ шинÑчлÑлт хийхгүй.\n\nМөн батарей хадгалах функц нь таныг төхөөрөмжөө цÑнÑглÑÑ… үед автоматаар унтрах юм."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Ðч холбогдол"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"БлоклоÑон: ÐдгÑÑÑ€ мÑдÑгдлийг Ñ…ÑзÑÑ Ñ‡ харуулахгүй"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Бага: МÑдÑгдлийг жагÑаалтын доод Ñ…ÑÑÑгт дуугүй харуулах"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Ердийн: ÐдгÑÑÑ€ мÑдÑгдлийг дуугүй харуулах"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Өндөр: мÑдÑгдлийг жагÑаалтын ÑÑ…Ñнд дуутай харуулах"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Яаралтай: ДÑлгÑцÑнд Ñаралтай, дуутай гаргах"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other"> %1$d минутын турш ( <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> хүртÑл)</item> <item quantity="one">нÑг минутын турш (<xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g> хүртÑл)</item> diff --git a/core/res/res/values-mr-rIN/strings.xml b/core/res/res/values-mr-rIN/strings.xml index c323b857a31c..8bc86e63d0d0 100644 --- a/core/res/res/values-mr-rIN/strings.xml +++ b/core/res/res/values-mr-rIN/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"आता लॉक करा"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"लपविलेली सामगà¥à¤°à¥€"</string> <string name="safeMode" msgid="2788228061547930246">"सà¥à¤°à¤•à¥à¤·à¤¿à¤¤ मोड"</string> <string name="android_system_label" msgid="6577375335728551336">"Android सिसà¥â€à¤Ÿà¤®"</string> <string name="user_owner_label" msgid="2804351898001038951">"वैयकà¥à¤¤à¤¿à¤•"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"कट करा"</string> <string name="copy" msgid="2681946229533511987">"कॉपी करा"</string> <string name="paste" msgid="5629880836805036433">"पेसà¥à¤Ÿ करा"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"साधा मजकूर मà¥à¤¹à¤£à¥‚न पेसà¥à¤Ÿ करा"</string> <string name="replace" msgid="5781686059063148930">"पà¥à¤¨à¤°à¥à¤¸à¥à¤¥à¤¿à¤¤ करा…"</string> <string name="delete" msgid="6098684844021697789">"हटवा"</string> <string name="copyUrl" msgid="2538211579596067402">"URL कॉपी करा"</string> <string name="selectTextMode" msgid="1018691815143165326">"मजकूर निवडा"</string> + <string name="undo" msgid="7905788502491742328">"पूरà¥à¤µà¤µà¤¤ करा"</string> + <string name="redo" msgid="7759464876566803888">"पà¥à¤¨à¥à¤¹à¤¾ करा"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"मजकूर निवड"</string> <string name="addToDictionary" msgid="4352161534510057874">"शबà¥à¤¦à¤•ोशात जोडा"</string> <string name="deleteText" msgid="6979668428458199034">"हटवा"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"वॉलपेपर बदला"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"सूचना à¤à¤•णारा"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"अट पà¥à¤°à¤¦à¤¾à¤¤à¤¾"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"सूचना सहायà¥à¤¯à¤•"</string> <string name="vpn_title" msgid="19615213552042827">"VPN सकà¥à¤°à¤¿à¤¯"</string> <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> दà¥à¤µà¤¾à¤°à¥‡ VPN सकà¥à¤°à¤¿à¤¯ केले आहे"</string> <string name="vpn_text" msgid="3011306607126450322">"नेटवरà¥à¤• वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¾à¤ªà¤¿à¤¤ करणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी सà¥à¤ªà¤°à¥à¤¶ करा."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"आपलà¥à¤¯à¤¾ पà¥à¤°à¤¶à¤¾à¤¸à¤•ादà¥à¤µà¤¾à¤°à¥‡ अदà¥à¤¯à¤¤à¤¨à¤¿à¤¤ केले"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"आपलà¥à¤¯à¤¾ पà¥à¤°à¤¶à¤¾à¤¸à¤•ादà¥à¤µà¤¾à¤°à¥‡ हटविले आहे"</string> <string name="battery_saver_description" msgid="1960431123816253034">"बॅटरीचे आयà¥à¤·à¥à¤¯ सà¥à¤§à¤¾à¤°à¤¿à¤¤ करणà¥â€à¤¯à¤¾à¤¤ मदत करणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी, बॅटरी बचतकरà¥à¤¤à¤¾ आपलà¥à¤¯à¤¾ डिवà¥à¤¹à¤¾à¤‡à¤¸à¤šà¥‡ कारà¥à¤¯à¤ªà¥à¤°à¤¦à¤°à¥à¤¶à¤¨ कमी करतो आणि कंपन, सà¥à¤¥à¤¾à¤¨ सेवा आणि बराच पारà¥à¤¶à¥à¤µà¤à¥‚मी डेटा मरà¥à¤¯à¤¾à¤¦à¤¿à¤¤ करतो. संकालनावर अवलंबून असणारे ईमेल, संदेशन आणि इतर अâ€à¥…पà¥à¤¸ आपण उघडलà¥à¤¯à¤¾à¤¶à¤¿à¤µà¤¾à¤¯ अदà¥à¤¯à¤¤à¤¨à¤¿à¤¤ होऊ शकत नाहीत.\n\nआपले डिवà¥à¤¹à¤¾à¤‡à¤¸ चारà¥à¤œ होत असते तेवà¥à¤¹à¤¾ बॅटरी बचतकरà¥à¤¤à¤¾ सà¥à¤µà¤¯à¤‚चलितपणे बंद होतो."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"महतà¥à¤¤à¥à¤µ"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"अवरोधित केले: या सूचना कधीही दरà¥à¤¶à¤µà¥‚ नका"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"कमी: शांतपणे सूचना सूचीचà¥à¤¯à¤¾ तळाशी दरà¥à¤¶à¤µà¤¾"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"सामानà¥à¤¯: या सूचना शांतपणे दरà¥à¤¶à¤µà¤¾"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"सरà¥à¤µà¥‹à¤šà¥à¤š: सूचना सूचीचà¥à¤¯à¤¾ शीरà¥à¤·à¤¸à¥à¤¥à¤¾à¤¨à¥€ दरà¥à¤¶à¤µà¤¾ आणि धà¥à¤µà¤¨à¥€ चालू करा"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"तà¥à¤µà¤°à¤¿à¤¤: सà¥à¤•à¥à¤°à¥€à¤¨à¤µà¤° डोकावून पहा आणि धà¥à¤µà¤¨à¥€ चालू करा"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">%1$d मिनिटासाठी (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> परà¥à¤¯à¤‚त)</item> <item quantity="other">%1$d मिनिटांसाठी (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> परà¥à¤¯à¤‚त)</item> diff --git a/core/res/res/values-ms-rMY/strings.xml b/core/res/res/values-ms-rMY/strings.xml index 2105b90e8fc5..f1249d6201af 100644 --- a/core/res/res/values-ms-rMY/strings.xml +++ b/core/res/res/values-ms-rMY/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Kunci sekarang"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Kandungan tersembunyi"</string> <string name="safeMode" msgid="2788228061547930246">"Mod selamat"</string> <string name="android_system_label" msgid="6577375335728551336">"Sistem Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Peribadi"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Potong"</string> <string name="copy" msgid="2681946229533511987">"Salin"</string> <string name="paste" msgid="5629880836805036433">"Tampal"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Tampal sebagai teks biasa"</string> <string name="replace" msgid="5781686059063148930">"Ganti..."</string> <string name="delete" msgid="6098684844021697789">"Padam"</string> <string name="copyUrl" msgid="2538211579596067402">"Salin URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Pilih teks"</string> + <string name="undo" msgid="7905788502491742328">"Buat asal"</string> + <string name="redo" msgid="7759464876566803888">"Buat semula"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Pemilihan teks"</string> <string name="addToDictionary" msgid="4352161534510057874">"Tambah ke kamus"</string> <string name="deleteText" msgid="6979668428458199034">"Padam"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Tukar kertas dinding"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Pendengar pemberitahuan"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Pembekal keadaan"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Pembantu pemberitahuan"</string> <string name="vpn_title" msgid="19615213552042827">"VPN diaktifkan"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN diaktifkan oleh <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Sentuh untuk mengurus rangkaian."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Dikemas kini oleh pentadbir anda"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Dipadamkan oleh pentadbir anda"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Untuk membantu memperbaik hayat bateri, penjimat bateri mengurangkan prestasi peranti anda dan mengehadkan getaran, perkhidmatan lokasi dan kebanyakan data latar belakang. E-mel, pemesejan dan apl lain yang bergantung kepada penyegerakan mungkin tidak mengemas kini, melainkan anda membuka apl itu.\n\nPenjimat bateri dimatikan secara automatik semasa peranti anda sedang dicas."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Kepentingan"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Disekat: Jangan sekali-kali tunjukkan pemberitahuan ini"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Rendah: Tunjukkan pada bahagian bawah senarai pemberitahuan secara senyap"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Biasa: Tunjukkan pemberitahuan ini secara senyap"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Tinggi: Tunjukkan pada bahagian atas senarai pemberitahuan dan bunyikan"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Segera: Intai pada skrin dan bunyikan"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">Selama %1$d minit (sehingga <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">Selama satu minit (sehingga <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-my-rMM/strings.xml b/core/res/res/values-my-rMM/strings.xml index e8178e38345e..3393e1289448 100644 --- a/core/res/res/values-my-rMM/strings.xml +++ b/core/res/res/values-my-rMM/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"ယá€á€¯ သော့ပá€á€á€ºá€›á€”်"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"á‰á‰á‰+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"အကြောင်းအရာများ á€á€¾á€€á€ºá€‘ား"</string> <string name="safeMode" msgid="2788228061547930246">"အန္á€á€›á€¬á€šá€ºá€€á€„်းမှု စနစ်(Safe mode)"</string> <string name="android_system_label" msgid="6577375335728551336">"Android စနစ်"</string> <string name="user_owner_label" msgid="2804351898001038951">"ကá€á€¯á€šá€ºá€›á€±á€¸"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"ဖြá€á€ºá€á€¼á€„်း"</string> <string name="copy" msgid="2681946229533511987">"ကူးá€á€¼á€„်း"</string> <string name="paste" msgid="5629880836805036433">"Paste"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"စာသားအá€á€á€¯á€„်း ကူးထည့်ပါ"</string> <string name="replace" msgid="5781686059063148930">"အစားထá€á€¯á€á€¼á€„်း"</string> <string name="delete" msgid="6098684844021697789">"ဖျက်ပစ်ရန်"</string> <string name="copyUrl" msgid="2538211579596067402">"URLအား ကူးá€á€¼á€„်း"</string> <string name="selectTextMode" msgid="1018691815143165326">"စာသား ရွေးရန်"</string> + <string name="undo" msgid="7905788502491742328">"ပြန်ဖျက်ရန်"</string> + <string name="redo" msgid="7759464876566803888">"ထပ်လုပ်ပါ"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"စာá€á€á€¯á€›á€½á€±á€¸á€á€»á€šá€ºá€™á€¾á€¯"</string> <string name="addToDictionary" msgid="4352161534510057874">"အဘá€á€“ာန်ထဲ ထည့်ပါ"</string> <string name="deleteText" msgid="6979668428458199034">"ဖျက်ပစ်ရန်"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"နောက်á€á€¶á€•ြောင်းá€á€¼á€„်း"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"အကြောင်းကြားá€á€»á€€á€º နားá€á€±á€¬á€„်သူ"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"အá€á€¼á€±á€¡á€”ေ စီမံပေးသူ"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"သá€á€á€•ေးá€á€»á€€á€º အကူ"</string> <string name="vpn_title" msgid="19615213552042827">"VPN ဖွင့်ထားပါသည်"</string> <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g>မှVPNအလုပ်လုပ်နေသည်"</string> <string name="vpn_text" msgid="3011306607126450322">"ကွန်ရက် ထá€á€”်းသá€á€™á€ºá€¸á€›á€”် á€á€á€¯á€·á€‘á€á€•ါ"</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"သင့်စီမံá€á€”့်á€á€½á€²á€žá€°á€™á€¾ အဆင့်မြှင့်ထားပါသည်á‹"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"သင့် အက်ဒမင်အား ဖျက်ပစ်ရန်"</string> <string name="battery_saver_description" msgid="1960431123816253034">"ဘက်ထရီသက်á€á€™á€ºá€¸ ကြာရှည်á€á€¶á€›á€”်አဘက်ထရီအားထá€á€”်းသည် သင့်ကá€á€›á€á€šá€¬á ဆောင်ရွက်á€á€»á€€á€ºá€€á€á€¯ လျှော့ပေးပြီး á€á€¯á€”်á€á€«á€™á€¾á€¯áŠ á€á€Šá€ºá€”ေရာá€á€”်ဆောင်မှုများနှင့်አနောက်á€á€¶á€’ေá€á€¬á€¡á€™á€»á€¬á€¸á€…ုကá€á€¯ ကန့်သá€á€ºá€•ေးáዠစင့်လုပ်ပေးရလေ့ရှá€á€žá€Šá€·á€º အီးမေးአစာပá€á€¯á€·á€á€¼á€„်းနှင့်አအá€á€¼á€¬á€¸á€¡á€•လီကေးရှင်းများကá€á€¯ áŽá€„်းá€á€á€¯á€·á€¡á€¬á€¸ သင် ဖွင့်မှသာ အဆင့်မြှင့်မွမ်းမံမည်ဖြစ်áá‹ \n\n ကá€á€›á€á€šá€¬á€¡á€¬á€¸ အားသွင်းနေစဉ် ဘက်ထရီအားထá€á€”်းအား အလá€á€¯á€¡á€œá€»á€±á€¬á€€á€º ပá€á€á€ºá€‘ားသည်á‹"</string> - <string name="notification_importance_title" msgid="7493989722610008700">"အရေးပါမှု"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"ပá€á€á€ºá€†á€á€¯á€·á€‘ား- ဤသá€á€á€•ေးá€á€»á€€á€ºá€™á€»á€¬á€¸á€€á€á€¯ ဘယ်á€á€±á€¬á€·á€™á€¾ မပြပါနှင့်"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"နá€á€™á€·á€º- á€á€á€á€ºá€†á€á€á€ºá€…ွာ သá€á€á€•ေးá€á€»á€€á€ºá€™á€»á€¬á€¸á စာရင်း အောက်ပá€á€¯á€„်းမှာ ပြပါ"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"\'ပုံမှန်- ဤသá€á€á€•ေးá€á€»á€€á€ºá€™á€»á€¬á€¸á€€á€á€¯ á€á€á€á€ºá€†á€á€á€ºá€…ွာ ပြပါ"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"မြင့်မား- သá€á€á€•ေးá€á€»á€€á€ºá€™á€»á€¬á€¸á စာရင်းထá€á€•်မှာ ပြလျက် အသံမြည်ပေးပါ"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"အရေးကြီး- : မျက်နှာပြင်မှာ ပြပေးလျက် အသံမြည်ပေးပါ"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d မá€á€”စ်á€á€½á€„် (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>အထá€)</item> <item quantity="one">á€á€…်မá€á€”စ်á€á€½á€„် (<xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g> အထá€)</item> diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml index 033c541f45d4..e1ad565bd343 100644 --- a/core/res/res/values-nb/strings.xml +++ b/core/res/res/values-nb/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"LÃ¥s nÃ¥"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Innholdet er skjult"</string> <string name="safeMode" msgid="2788228061547930246">"Sikkermodus"</string> <string name="android_system_label" msgid="6577375335728551336">"Android-system"</string> <string name="user_owner_label" msgid="2804351898001038951">"Personlig"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Klipp ut"</string> <string name="copy" msgid="2681946229533511987">"Kopier"</string> <string name="paste" msgid="5629880836805036433">"Lim inn"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Lim inn som ren tekst"</string> <string name="replace" msgid="5781686059063148930">"Erstatt"</string> <string name="delete" msgid="6098684844021697789">"Slett"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopier URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Marker tekst"</string> + <string name="undo" msgid="7905788502491742328">"Angre"</string> + <string name="redo" msgid="7759464876566803888">"Utfør likevel"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Merket tekst"</string> <string name="addToDictionary" msgid="4352161534510057874">"Legg til i ordlisten"</string> <string name="deleteText" msgid="6979668428458199034">"Slett"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Velg bakgrunnsbilde"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Varsellytteren"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Betingelsesleverandør"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Varselassistent"</string> <string name="vpn_title" msgid="19615213552042827">"VPN er aktivert"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN er aktivert av <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Trykk for Ã¥ administrere nettverket."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Oppdatert av administratoren"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Slettet av administratoren"</string> <string name="battery_saver_description" msgid="1960431123816253034">"For Ã¥ forlenge batterilevetiden reduserer batterispareren ytelsen til enheten din og begrenser vibrering, posisjonstjenester og mesteparten av bakgrunnsdataene. E-post, sending av meldinger og andre apper som er avhengig av synkronisering, oppdateres kanskje ikke med mindre du Ã¥pner dem.\n\nBatterisparing slÃ¥s av automatisk nÃ¥r enheten lader."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Viktighet"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Blokkert: Aldri vis disse varslene"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Lavt: Vis nederst i varsellisten uten lyd"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normalt: Vis disse varslene uten lyd"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Høyt: Vis øverst i varsellisten med lyd"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Haster: Vises fort pÃ¥ skjermen med lyd"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">I %1$d minutter (til <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">I 1 minutt (til <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-ne-rNP/strings.xml b/core/res/res/values-ne-rNP/strings.xml index ec13ebbf9ddd..f94222b16ce1 100644 --- a/core/res/res/values-ne-rNP/strings.xml +++ b/core/res/res/values-ne-rNP/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"अब बनà¥à¤¦ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"९९९+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"लà¥à¤•ेका सामागà¥à¤°à¥€à¤¹à¤°à¥‚"</string> <string name="safeMode" msgid="2788228061547930246">"सà¥à¤°à¤•à¥à¤·à¤¿à¤¤ मोड"</string> <string name="android_system_label" msgid="6577375335728551336">"à¤à¤¨à¥à¤¡à¥à¤°à¥‹à¤‡à¤¡ पà¥à¤°à¤£à¤¾à¤²à¥€"</string> <string name="user_owner_label" msgid="2804351898001038951">"वà¥à¤¯à¤•à¥à¤¤à¤¿à¤—त"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"काटà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> <string name="copy" msgid="2681946229533511987">"पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿ बनाउनà¥à¤¹à¥‹à¤¸à¥"</string> <string name="paste" msgid="5629880836805036433">"टाà¤à¤¸à¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"सामानà¥à¤¯ पाठको रूपमा टाà¤à¤¸à¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> <string name="replace" msgid="5781686059063148930">"विसà¥à¤¥à¤¾à¤ªà¤¨ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥â€¦"</string> <string name="delete" msgid="6098684844021697789">"मेटà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> <string name="copyUrl" msgid="2538211579596067402">"URL को पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ª गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> <string name="selectTextMode" msgid="1018691815143165326">"पाठचयन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> + <string name="undo" msgid="7905788502491742328">"अनडू गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> + <string name="redo" msgid="7759464876566803888">"रिडू गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"पाठचयनता"</string> <string name="addToDictionary" msgid="4352161534510057874">"शबà¥à¤¦à¤•ोशमा थपà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> <string name="deleteText" msgid="6979668428458199034">"मेटà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> @@ -1113,6 +1117,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"वालपेपर परिवरà¥à¤¤à¤¨ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"सूचना सà¥à¤¨à¥à¤¨à¥‡à¤µà¤¾à¤²à¤¾"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"सरà¥à¤¤ पà¥à¤°à¤¦à¤¾à¤¯à¤•"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"सूचना सहायक"</string> <string name="vpn_title" msgid="19615213552042827">"VPN सकà¥à¤°à¤¿à¤¯ à¤à¤¯à¥‹"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN <xliff:g id="APP">%s</xliff:g>दà¥à¤µà¤¾à¤°à¤¾ सकà¥à¤°à¤¿à¤¯ गरिà¤à¤•ो हो"</string> <string name="vpn_text" msgid="3011306607126450322">"नेटवरà¥à¤• पà¥à¤°à¤¬à¤¨à¥à¤§ गरà¥à¤¨ छà¥à¤¨à¥à¤¹à¥‹à¤¸à¥à¥¤"</string> @@ -1446,12 +1451,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"तपाईà¤à¤•ो पà¥à¤°à¤¶à¤¾à¤¸à¤•दà¥à¤µà¤¾à¤°à¤¾ अदà¥à¤¯à¤¾à¤µà¤§à¤¿à¤• गरिà¤à¤•ो"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"तपाईà¤à¤•ो पà¥à¤°à¤¶à¤¾à¤¸à¤•दà¥à¤µà¤¾à¤°à¤¾ हटाइà¤à¤•ो"</string> <string name="battery_saver_description" msgid="1960431123816253034">"बà¥à¤¯à¤¾à¤Ÿà¥à¤°à¥€à¤•ो आयॠसà¥à¤§à¤¾à¤°à¥à¤¨, बà¥à¤¯à¤¾à¤Ÿà¥à¤°à¥€ संरकà¥à¤·à¤•ले तपाईà¤à¤•ो यनà¥à¤¤à¥à¤°à¤•ो कारà¥à¤¯à¤¸à¤®à¥à¤ªà¤¾à¤¦à¤¨ घटाउà¤à¤› र à¤à¤¾à¤‡à¤¬à¥à¤°à¥‡à¤¸à¤¨, सà¥à¤¥à¤¾à¤¨ सेवा र बहà¥à¤¸à¤‚खà¥à¤¯à¤• पृषà¥à¤ à¤à¥‚मि डेटा सीमित गरà¥à¤¦à¤›à¥¤ इमेल, सनà¥à¤¦à¥‡à¤¶, र अनà¥à¤¯ अनà¥à¤ªà¥à¤°à¤¯à¥‹à¤—हरू जà¥à¤¨ सिङà¥à¤•मा à¤à¤° परà¥à¤›à¤¨à¥ अदà¥à¤¯à¤¾à¤µà¤§à¤¿à¤• नहà¥à¤¨ सकà¥à¤›à¤¨à¥ जबसमà¥à¤® तपाईठतिनीहरूलाई खोलà¥à¤¨à¥à¤¹à¥à¤¨à¥à¤¨\n\n बà¥à¤¯à¤¾à¤Ÿà¥à¤°à¥€ संरकà¥à¤·à¤• सà¥à¤µà¤¤: निसà¥à¤•ृय हà¥à¤¨à¥à¤› जब तपाईà¤à¤•ो यनà¥à¤¤à¥à¤° चारà¥à¤œ हà¥à¤à¤¦à¥ˆ हà¥à¤¨à¥à¤›à¥¤"</string> - <string name="notification_importance_title" msgid="7493989722610008700">"महतà¥à¤¤à¥à¤µ"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"रोकिà¤à¤•ा: यी सूचनाहरू कहिलà¥à¤¯à¥ˆ नदेखाउनà¥à¤¹à¥‹à¤¸à¥"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"नà¥à¤¯à¥‚न: चà¥à¤ªà¤šà¤¾à¤ª सूचना सूचीको फेदमा देखाउनà¥à¤¹à¥‹à¤¸à¥"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"सामानà¥à¤¯: चà¥à¤ªà¤šà¤¾à¤ª यी सूचनाहरू देखाउनà¥à¤¹à¥‹à¤¸à¥"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"उचà¥à¤š: सूचना सूचीको शीरà¥à¤·à¤®à¤¾ देखाउनà¥à¤¹à¥‹à¤¸à¥ र आवाज निकालà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"जरà¥à¤°à¥€: सà¥à¤•à¥à¤°à¤¿à¤¨à¤®à¤¾ à¤à¤²à¤•à¥à¤• हेरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ र आवाज निकालà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other"> %1$d मिनेटको लागि (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> समà¥à¤®)</item> <item quantity="one">à¤à¤• मिनेटको लागि (<xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g> समà¥à¤®)</item> @@ -1517,6 +1516,6 @@ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> चयन गरियो</item> </plurals> <string name="default_notification_topic_label" msgid="227586145791870829">"विविध"</string> - <string name="importance_from_topic" msgid="3572280439880023233">"तपाईंले यी सूचनाहरू महतà¥à¤¤à¥à¤µ सेट गरà¥à¤¨à¥à¤¹à¥à¤¨à¥à¤›à¥¤"</string> + <string name="importance_from_topic" msgid="3572280439880023233">"तपाईंले यी सूचनाहरूको महतà¥à¤¤à¥à¤µ सेट गरà¥à¤¨à¥à¤¹à¥à¤¨à¥à¤›à¥¤"</string> <string name="importance_from_person" msgid="9160133597262938296">"यसमा सङà¥à¤²à¤—à¥à¤¨ à¤à¤à¤•ा मानिसहरूको कारणले गरà¥à¤¦à¤¾ यो महतà¥à¤µà¤ªà¥‚रà¥à¤£ छ।"</string> </resources> diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml index d30d836cdd8a..1bef95d92ba4 100644 --- a/core/res/res/values-nl/strings.xml +++ b/core/res/res/values-nl/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Nu vergrendelen"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999 +"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Inhoud verborgen"</string> <string name="safeMode" msgid="2788228061547930246">"Veilige modus"</string> <string name="android_system_label" msgid="6577375335728551336">"Android-systeem"</string> <string name="user_owner_label" msgid="2804351898001038951">"Persoonlijk"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Knippen"</string> <string name="copy" msgid="2681946229533511987">"Kopiëren"</string> <string name="paste" msgid="5629880836805036433">"Plakken"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Plakken als platte tekst"</string> <string name="replace" msgid="5781686059063148930">"Vervangen..."</string> <string name="delete" msgid="6098684844021697789">"Verwijderen"</string> <string name="copyUrl" msgid="2538211579596067402">"URL kopiëren"</string> <string name="selectTextMode" msgid="1018691815143165326">"Tekst selecteren"</string> + <string name="undo" msgid="7905788502491742328">"Ongedaan maken"</string> + <string name="redo" msgid="7759464876566803888">"Opnieuw"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Tekstselectie"</string> <string name="addToDictionary" msgid="4352161534510057874">"Toevoegen aan woordenboek"</string> <string name="deleteText" msgid="6979668428458199034">"Verwijderen"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Achtergrond wijzigen"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Listener voor meldingen"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Provider van voorwaarden"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Meldingsassistent"</string> <string name="vpn_title" msgid="19615213552042827">"VPN is geactiveerd"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN wordt geactiveerd door <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Raak aan om het netwerk te beheren."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Geüpdatet door je beheerder"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Verwijderd door je beheerder"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Accubesparing beperkt de prestaties van je apparaat, de trilstand, locatieservices en de meeste achtergrondgegevens om de gebruiksduur van de accu te verlengen.\n\nAccubesparing wordt automatisch uitgeschakeld terwijl je apparaat wordt opgeladen."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Belang"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Geblokkeerd: deze meldingen nooit weergeven"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Laag: zonder geluid onder aan de lijst met meldingen weergeven"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normaal: deze meldingen zonder geluid weergeven"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Hoog: boven aan de lijst met meldingen weergeven en geluid laten horen"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Urgent: op het scherm weergeven en geluid laten horen"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d minuten (tot <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">Eén minuut (tot <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-pa-rIN/strings.xml b/core/res/res/values-pa-rIN/strings.xml index 06b549e1df86..168c66f31570 100644 --- a/core/res/res/values-pa-rIN/strings.xml +++ b/core/res/res/values-pa-rIN/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"ਹà©à¨£ ਲੌਕ ਕਰੋ"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"ਸਮੱਗਰੀਆਂ ਲà©à¨•ਾਈਆਂ ਗਈਆਂ"</string> <string name="safeMode" msgid="2788228061547930246">"ਸà©à¨°à©±à¨–ਿਅਤ ਮੋਡ"</string> <string name="android_system_label" msgid="6577375335728551336">"Android System"</string> <string name="user_owner_label" msgid="2804351898001038951">"ਨਿੱਜੀ"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"ਕੱਟੋ"</string> <string name="copy" msgid="2681946229533511987">"ਕਾਪੀ ਕਰੋ"</string> <string name="paste" msgid="5629880836805036433">"ਪੇਸਟ ਕਰੋ"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"ਸਧਾਰਨ ਲਿਖਤ ਦੇ ਤੌਰ \'ਤੇ ਪੇਸਟ ਕਰੋ"</string> <string name="replace" msgid="5781686059063148930">"ਬਦਲੋ…"</string> <string name="delete" msgid="6098684844021697789">"ਮਿਟਾਓ"</string> <string name="copyUrl" msgid="2538211579596067402">"URL ਕਾਪੀ ਕਰੋ"</string> <string name="selectTextMode" msgid="1018691815143165326">"ਟੈਕਸਟ ਚà©à¨£à©‹"</string> + <string name="undo" msgid="7905788502491742328">"ਪਹਿਲਾਂ ਵਰਗਾ ਕਰੋ"</string> + <string name="redo" msgid="7759464876566803888">"ਮà©à©œ-ਓਹੀ ਕਰੋ"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"ਟੈਕਸਟ ਚੋਣ"</string> <string name="addToDictionary" msgid="4352161534510057874">"ਸ਼ਬਦਕੋਸ਼ ਵਿੱਚ ਜੋੜੋ"</string> <string name="deleteText" msgid="6979668428458199034">"ਮਿਟਾਓ"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"ਵਾਲਪੇਪਰ ਬਦਲੋ"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"ਸੂਚਨਾ ਸà©à¨£à¨¨ ਵਾਲਾ"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"ਸਥਿਤੀ ਪà©à¨°à¨¦à¨¾à¨¤à¨¾"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"ਸੂਚਨਾ ਸਹਾਇਕ"</string> <string name="vpn_title" msgid="19615213552042827">"VPN ਸਕਿਰਿਆ ਕੀਤਾ"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN <xliff:g id="APP">%s</xliff:g> ਰਾਹੀਂ ਸਕਿਰਿਆ ਬਣਾਇਆ ਗਿਆ ਹੈ"</string> <string name="vpn_text" msgid="3011306607126450322">"ਨੈਟਵਰਕ ਵਿਵਸਥਿਤ ਕਰਨ ਲਈ ਛੋਹਵੋ।"</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"ਤà©à¨¹à¨¾à¨¡à©‡ ਪà©à¨°à¨¸à¨¼à¨¾à¨¸à¨• ਦà©à¨†à¨°à¨¾ ਅਪਡੇਟ ਕੀਤਾ ਗਿਆ"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"ਤà©à¨¹à¨¾à¨¡à©‡ ਪà©à¨°à¨¬à©°à¨§à¨• ਵੱਲੋਂ ਮਿਟਾਇਆ ਗਿਆ"</string> <string name="battery_saver_description" msgid="1960431123816253034">"ਬੈਟਰੀ ਸਮਰੱਥਾ ਨੂੰ ਬਿਹਤਰ ਸਹਾਇਤਾ ਕਰਨ ਲਈ, ਬੈਟਰੀ ਸੇਵਰ ਤà©à¨¹à¨¾à¨¡à©€ ਡਿਵਾਈਸ ਦਾ ਪà©à¨°à¨¦à¨°à¨¸à¨¼à¨¨ ਘਟਾਉਂਦਾ ਹੈ ਅਤੇ ਵਾਈਬà©à¨°à©‡à¨¸à¨¼à¨¨, ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸੇਵਾਵਾਂ ਅਤੇ ਜ਼ਿਆਦਾਤਰ ਪਿਛੋਕੜ ਡਾਟਾ ਨੂੰ ਸੀਮਿਤ ਕਰਦਾ ਹੈ। ਈਮੇਲ, ਮੈਸੇਜਿੰਗ ਅਤੇ ਹੋਰ à¨à¨ªà¨¸, ਜੋ ਸਿੰਕਿੰਗ ਤੇ ਨਿਰà¨à¨° ਹਨ, ਉਹ ਉਦੋਂ ਤੱਕ ਅਪਡੇਟ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕਦੇ ਜਦੋਂ ਤੱਕ ਤà©à¨¸à©€à¨‚ ਉਹਨਾਂ ਨੂੰ ਖੋਲà©à¨¹à¨¦à©‡ ਨਹੀਂ।\n\nਬੈਟਰੀ ਸੇਵਰ ਆਟੋਮੈਟਿਕਲੀ ਬੰਦ ਹà©à©°à¨¦à¨¾ ਹੈ ਜਦੋਂ ਤà©à¨¹à¨¾à¨¡à©€ ਡਿਵਾਈਸ ਚਾਰਜ ਹੋ ਰਹੀ ਹà©à©°à¨¦à©€ ਹੈ।"</string> - <string name="notification_importance_title" msgid="7493989722610008700">"ਮਹੱਤਤਾ"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"ਬਲੌਕ ਕੀਤਾ: ਇਹ ਸੂਚਨਾਵਾਂ ਕਦੇ ਨਾ ਵਿਖਾਓ"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"ਘੱਟ: ਚà©à©±à¨ªà¨šà¨¾à¨ª ਢੰਗ ਨਾਲ ਸੂਚਨਾ ਸੂਚੀ ਦੇ ਹੇਠਾਂ ਵਿਖਾਓ"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"ਸਧਾਰਨ: ਇਹ ਸੂਚਨਾਵਾਂ ਚà©à©±à¨ªà¨šà¨¾à¨ª ਢੰਗ ਨਾਲ ਵਿਖਾਓ"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"ਵੱਧ: ਸੂਚਨਾਵਾਂ ਸੂਚੀ ਦੇ ਸਿਖਰ \'ਤੇ ਵਿਖਾਓ ਅਤੇ ਆਵਾਜ਼ ਕਰੋ"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"ਜ਼ਰੂਰੀ: ਸਕਰੀਨ \'ਤੇ à¨à¨¾à¨¤à©€ ਮਾਰੋ ਅਤੇ ਆਵਾਜ਼ ਕਰੋ"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">%1$d ਮਿੰਟਾਂ ਤੱਕ (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> ਤੱਕ) </item> <item quantity="other">%1$d ਮਿੰਟਾਂ ਤੱਕ (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> ਤੱਕ)</item> diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml index 93ea9f43c1ee..80ef7df29f74 100644 --- a/core/res/res/values-pl/strings.xml +++ b/core/res/res/values-pl/strings.xml @@ -225,6 +225,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Zablokuj teraz"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">">999"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"TreÅ›ci ukryte"</string> <string name="safeMode" msgid="2788228061547930246">"Tryb awaryjny"</string> <string name="android_system_label" msgid="6577375335728551336">"System Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Osobiste"</string> @@ -868,10 +869,13 @@ <string name="cut" msgid="3092569408438626261">"Wytnij"</string> <string name="copy" msgid="2681946229533511987">"Kopiuj"</string> <string name="paste" msgid="5629880836805036433">"Wklej"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Wklej jako zwykÅ‚y tekst"</string> <string name="replace" msgid="5781686059063148930">"ZastÄ…p"</string> <string name="delete" msgid="6098684844021697789">"UsuÅ„"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopiuj adres URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Zaznacz tekst"</string> + <string name="undo" msgid="7905788502491742328">"Cofnij"</string> + <string name="redo" msgid="7759464876566803888">"Ponów"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Zaznaczanie tekstu"</string> <string name="addToDictionary" msgid="4352161534510057874">"Dodaj do sÅ‚ownika"</string> <string name="deleteText" msgid="6979668428458199034">"UsuÅ„"</string> @@ -1121,6 +1125,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"ZmieÅ„ tapetÄ™"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Odbiornik powiadomieÅ„"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Dostawca warunków"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Asystent powiadomieÅ„"</string> <string name="vpn_title" msgid="19615213552042827">"VPN aktywny"</string> <string name="vpn_title_long" msgid="6400714798049252294">"ObsÅ‚uga sieci VPN zostaÅ‚a włączona przez aplikacjÄ™ <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Dotknij, aby zarzÄ…dzać sieciÄ…."</string> @@ -1458,12 +1463,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Zaktualizowane przez administratora"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"UsuniÄ™ty przez administratora"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Aby wydÅ‚użyć czas pracy baterii, OszczÄ™dzanie baterii ogranicza aktywność urzÄ…dzenia, w tym wibracje, usÅ‚ugi lokalizacyjne i przetwarzanie wiÄ™kszoÅ›ci danych w tle. Poczta, czat i inne synchronizowane aplikacje mogÄ… nie aktualizować swojej zawartoÅ›ci, dopóki ich nie otworzysz.\n\nOszczÄ™dzanie baterii wyłącza siÄ™ automatycznie podczas Å‚adowania urzÄ…dzenia."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Ważność"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Zablokowana: nigdy nie pokazuj tych powiadomieÅ„"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Niska: pokazuj na dole listy powiadomieÅ„ bez sygnaÅ‚u dźwiÄ™kowego"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normalna: pokazuj te powiadomienia bez sygnaÅ‚u dźwiÄ™kowego"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Wysoka: pokazuj na poczÄ…tku listy powiadomieÅ„ i odtwarzaj dźwiÄ™k"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Pilna: wyÅ›wietlaj na ekranie i odtwarzaj dźwiÄ™k"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="few">Przez %1$d minuty (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="many">Przez %1$d minut (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml index 35527958aafd..11e060a0baf5 100644 --- a/core/res/res/values-pt-rBR/strings.xml +++ b/core/res/res/values-pt-rBR/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Bloquear agora"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">">999"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Conteúdo oculto"</string> <string name="safeMode" msgid="2788228061547930246">"Modo de segurança"</string> <string name="android_system_label" msgid="6577375335728551336">"Sistema Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Pessoal"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Recortar"</string> <string name="copy" msgid="2681946229533511987">"Copiar"</string> <string name="paste" msgid="5629880836805036433">"Colar"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Colar como texto simples"</string> <string name="replace" msgid="5781686059063148930">"Substituir..."</string> <string name="delete" msgid="6098684844021697789">"Excluir"</string> <string name="copyUrl" msgid="2538211579596067402">"Copiar URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Selecionar texto"</string> + <string name="undo" msgid="7905788502491742328">"Desfazer"</string> + <string name="redo" msgid="7759464876566803888">"Refazer"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Seleção de texto"</string> <string name="addToDictionary" msgid="4352161534510057874">"Adicionar ao dicionário"</string> <string name="deleteText" msgid="6979668428458199034">"Excluir"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Alterar plano de fundo"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Ouvinte de notificações"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Provedor de condições"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Assistente de notificação"</string> <string name="vpn_title" msgid="19615213552042827">"VPN ativada"</string> <string name="vpn_title_long" msgid="6400714798049252294">"A VPN está ativada por <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Toque para gerenciar a rede."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Atualizado pelo administrador"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"ExcluÃdo pelo seu administrador"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Para ajudar a melhorar a duração da bateria, o economizador de bateria reduz o desempenho e os limites de vibração do dispositivo, os serviços de localização e a maioria dos dados de segundo plano. E-mail, mensagens e outros aplicativos que dependem de sincronização não podem ser atualizados, a não ser que você os abra.\n\nO economizador de bateria é desligado automaticamente quando o dispositivo está sendo carregado."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Importância"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Bloqueada: nunca mostrar essas notificações"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Baixa: mostrar na parte inferior da lista de notificações de forma silenciosa"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normal: mostrar essas notificações de forma silenciosa"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Alta: mostrar na parte superior da lista de notificações e emitir som"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Urgente: mostrar parcialmente na tela e emitir som"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">Por %1$d minutos (até à s <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="other">Por %1$d minutos (até à s <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml index f2e940263539..d76133ab1808 100644 --- a/core/res/res/values-pt-rPT/strings.xml +++ b/core/res/res/values-pt-rPT/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Bloquear agora"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Conteúdo oculto"</string> <string name="safeMode" msgid="2788228061547930246">"Modo seguro"</string> <string name="android_system_label" msgid="6577375335728551336">"Sistema Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Pessoal"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Cortar"</string> <string name="copy" msgid="2681946229533511987">"Copiar"</string> <string name="paste" msgid="5629880836805036433">"Colar"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Colar como texto simples"</string> <string name="replace" msgid="5781686059063148930">"Substituir..."</string> <string name="delete" msgid="6098684844021697789">"Eliminar"</string> <string name="copyUrl" msgid="2538211579596067402">"Copiar URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Selecionar texto"</string> + <string name="undo" msgid="7905788502491742328">"Anular"</string> + <string name="redo" msgid="7759464876566803888">"Refazer"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Selecção de texto"</string> <string name="addToDictionary" msgid="4352161534510057874">"Adicionar ao dicionário"</string> <string name="deleteText" msgid="6979668428458199034">"Eliminar"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Alterar imagem de fundo"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Serviço de escuta de notificações"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Fornecedor de condição"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Assistente de notificações"</string> <string name="vpn_title" msgid="19615213552042827">"VPN ativada"</string> <string name="vpn_title_long" msgid="6400714798049252294">"A VPN foi ativada pelo <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Toque para gerir a rede."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Atualizado pelo administrador"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Eliminado pelo administrador"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Para ajudar a melhorar a autonomia da bateria, a poupança de bateria reduz o desempenho do seu dispositivo e limita a vibração, os serviços de localização e a maioria dos dados em segundo plano. O email, as mensagens e outras aplicações que dependem da sincronização não podem ser atualizados exceto se os abrir.\n\nA poupança de bateria desliga-se automaticamente quando o dispositivo está a carregar."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Importância"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Bloqueado: nunca mostrar estas notificações"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Baixo: mostrar na parte inferior da lista de notificações sem som"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normal: mostrar estas notificações sem som"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Elevado: mostrar na parte superior da lista de notificações com som"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Urgente: mostrar no ecrã com som"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">Durante %1$d minutos (até à s <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">Durante um minuto (até à s <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml index 35527958aafd..11e060a0baf5 100644 --- a/core/res/res/values-pt/strings.xml +++ b/core/res/res/values-pt/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Bloquear agora"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">">999"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Conteúdo oculto"</string> <string name="safeMode" msgid="2788228061547930246">"Modo de segurança"</string> <string name="android_system_label" msgid="6577375335728551336">"Sistema Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Pessoal"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Recortar"</string> <string name="copy" msgid="2681946229533511987">"Copiar"</string> <string name="paste" msgid="5629880836805036433">"Colar"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Colar como texto simples"</string> <string name="replace" msgid="5781686059063148930">"Substituir..."</string> <string name="delete" msgid="6098684844021697789">"Excluir"</string> <string name="copyUrl" msgid="2538211579596067402">"Copiar URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Selecionar texto"</string> + <string name="undo" msgid="7905788502491742328">"Desfazer"</string> + <string name="redo" msgid="7759464876566803888">"Refazer"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Seleção de texto"</string> <string name="addToDictionary" msgid="4352161534510057874">"Adicionar ao dicionário"</string> <string name="deleteText" msgid="6979668428458199034">"Excluir"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Alterar plano de fundo"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Ouvinte de notificações"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Provedor de condições"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Assistente de notificação"</string> <string name="vpn_title" msgid="19615213552042827">"VPN ativada"</string> <string name="vpn_title_long" msgid="6400714798049252294">"A VPN está ativada por <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Toque para gerenciar a rede."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Atualizado pelo administrador"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"ExcluÃdo pelo seu administrador"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Para ajudar a melhorar a duração da bateria, o economizador de bateria reduz o desempenho e os limites de vibração do dispositivo, os serviços de localização e a maioria dos dados de segundo plano. E-mail, mensagens e outros aplicativos que dependem de sincronização não podem ser atualizados, a não ser que você os abra.\n\nO economizador de bateria é desligado automaticamente quando o dispositivo está sendo carregado."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Importância"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Bloqueada: nunca mostrar essas notificações"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Baixa: mostrar na parte inferior da lista de notificações de forma silenciosa"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normal: mostrar essas notificações de forma silenciosa"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Alta: mostrar na parte superior da lista de notificações e emitir som"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Urgente: mostrar parcialmente na tela e emitir som"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">Por %1$d minutos (até à s <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="other">Por %1$d minutos (até à s <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml index 2f862b2f5fe7..8a78f17c380f 100644 --- a/core/res/res/values-ro/strings.xml +++ b/core/res/res/values-ro/strings.xml @@ -224,6 +224,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"BlocaÈ›i acum"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"˃999"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"ConÈ›inutul este ascuns"</string> <string name="safeMode" msgid="2788228061547930246">"Mod sigur"</string> <string name="android_system_label" msgid="6577375335728551336">"Sistemul Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Personal"</string> @@ -863,10 +864,13 @@ <string name="cut" msgid="3092569408438626261">"DecupaÅ£i"</string> <string name="copy" msgid="2681946229533511987">"CopiaÈ›i"</string> <string name="paste" msgid="5629880836805036433">"InseraÈ›i"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"InseraÈ›i ca text simplu"</string> <string name="replace" msgid="5781686059063148930">"ÃŽnlocuiÅ£i..."</string> <string name="delete" msgid="6098684844021697789">"ȘtergeÈ›i"</string> <string name="copyUrl" msgid="2538211579596067402">"CopiaÈ›i adresa URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"SelectaÈ›i text"</string> + <string name="undo" msgid="7905788502491742328">"AnulaÈ›i"</string> + <string name="redo" msgid="7759464876566803888">"RepetaÈ›i"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Selectare text"</string> <string name="addToDictionary" msgid="4352161534510057874">"AdăugaÈ›i în dicÅ£ionar"</string> <string name="deleteText" msgid="6979668428458199034">"ȘtergeÈ›i"</string> @@ -1114,6 +1118,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"ModificaÅ£i imaginea de fundal"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Serviciu de citire a notificărilor"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Furnizor de condiÈ›ii"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Asistent pentru notificări"</string> <string name="vpn_title" msgid="19615213552042827">"VPN activat"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN este activată de <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"AtingeÈ›i pentru a gestiona reÅ£eaua."</string> @@ -1449,12 +1454,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Actualizat de un administrator"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Șters de administrator"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Pentru a îmbunătăți autonomia bateriei, funcÈ›ia de economisire a energiei reduce performanÈ›ele dispozitivului È™i limitează vibraÈ›iile, serviciile de localizare È™i majoritatea datelor de fundal. Este posibil ca e-mailurile, mesageria È™i alte aplicaÈ›ii care depind de sincronizare să nu se actualizeze dacă nu le deschideÈ›i.\n\nFuncÈ›ia de economisire a energiei se dezactivează automat când dispozitivul se încarcă."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Importanță"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Blocate: aceste notificări nu se afiÈ™ează niciodată"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Redusă: se afiÈ™ează în partea de jos a listei cu notificări fără a se emite un sunet"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normală: aceste notificări se afiÈ™ează fără a se emite un sunet"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Ridicată: se afiÈ™ează în partea de sus a listei cu notificări È™i se emite un sunet"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Urgente: se afiÈ™ează pentru o scurtă durată pe ecran È™i se emite un sunet"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="few">Timp de %1$d minute (până la <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="other">Timp de %1$d de minute (până la <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml index 3b45d412c6e3..0753e93c8307 100644 --- a/core/res/res/values-ru/strings.xml +++ b/core/res/res/values-ru/strings.xml @@ -225,6 +225,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Заблокировать"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">">999"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Содержимое Ñкрыто"</string> <string name="safeMode" msgid="2788228061547930246">"БезопаÑный режим"</string> <string name="android_system_label" msgid="6577375335728551336">"СиÑтема Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Личные данные"</string> @@ -868,10 +869,13 @@ <string name="cut" msgid="3092569408438626261">"Вырезать"</string> <string name="copy" msgid="2681946229533511987">"Копировать"</string> <string name="paste" msgid="5629880836805036433">"Ð’Ñтавить"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Ð’Ñтавить как обычный текÑÑ‚"</string> <string name="replace" msgid="5781686059063148930">"Заменить"</string> <string name="delete" msgid="6098684844021697789">"Удалить"</string> <string name="copyUrl" msgid="2538211579596067402">"Копировать URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Выбрать текÑÑ‚"</string> + <string name="undo" msgid="7905788502491742328">"Отменить"</string> + <string name="redo" msgid="7759464876566803888">"Повторить"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Выбор текÑта"</string> <string name="addToDictionary" msgid="4352161534510057874">"Добавить в Ñловарь"</string> <string name="deleteText" msgid="6979668428458199034">"Удалить"</string> @@ -1121,6 +1125,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Сменить обои"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Служба проÑмотра уведомлений"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"ПоÑтавщик уÑловий"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"ÐÑÑиÑтент уведомлений"</string> <string name="vpn_title" msgid="19615213552042827">"Сеть VPN активна"</string> <string name="vpn_title_long" msgid="6400714798049252294">"Сеть VPN активирована приложением <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Ðажмите, чтобы открыть наÑтройки."</string> @@ -1458,12 +1463,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Обновлено админиÑтратором"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Удалено админиÑтратором"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Чтобы продлить Ð²Ñ€ÐµÐ¼Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ уÑтройÑтва от батареи, в режиме ÑнергоÑÐ±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ñ ÑнижаетÑÑ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñть, а также ограничиваетÑÑ Ð¸Ñпользование вибрации, геолокации и фоновой передачи данных. Данные, требующие Ñинхронизации, могут обновлÑтьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ когда вы откроете приложение.\n\nРежим ÑнергоÑÐ±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки отключаетÑÑ Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ñ€Ñдки уÑтройÑтва."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"ВажноÑть"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Заблокировано: не показывать Ñти уведомлениÑ"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"ÐизкаÑ: показывать без звука в конце ÑпиÑка уведомлений"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"ОбычнаÑ: показывать ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð±ÐµÐ· звука"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Ð’Ñ‹ÑокаÑ: показывать Ñо звуком в начале ÑпиÑка уведомлений"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Срочно: показывать Ñо звуковым Ñигналом поверх вÑех окон"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">%1$d минута (до <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="few">%1$d минуты (до <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> @@ -1547,6 +1546,6 @@ <item quantity="other">Выбрано: <xliff:g id="COUNT_1">%1$d</xliff:g></item> </plurals> <string name="default_notification_topic_label" msgid="227586145791870829">"Другое"</string> - <string name="importance_from_topic" msgid="3572280439880023233">"Ð’Ñ‹ определили важноÑть Ñтих уведомлений."</string> - <string name="importance_from_person" msgid="9160133597262938296">"Ðти люди Ð´Ð»Ñ Ð²Ð°Ñ Ð²Ð°Ð¶Ð½Ñ‹"</string> + <string name="importance_from_topic" msgid="3572280439880023233">"Ð’Ñ‹ определÑете важноÑть Ñтих уведомлений."</string> + <string name="importance_from_person" msgid="9160133597262938296">"Важное (люди)"</string> </resources> diff --git a/core/res/res/values-si-rLK/strings.xml b/core/res/res/values-si-rLK/strings.xml index 0fcb6b511ab8..d66b2453d1d4 100644 --- a/core/res/res/values-si-rLK/strings.xml +++ b/core/res/res/values-si-rLK/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"දà·à¶±à·Š අගුළු දමන්න"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"à·ƒà·à¶Ÿà·€à·”à¶«à·” සම්බන්ධà¶à·"</string> <string name="safeMode" msgid="2788228061547930246">"ආරක්â€à·‚ිචආකà·à¶»à¶º"</string> <string name="android_system_label" msgid="6577375335728551336">"Android පද්ධà¶à·’ය"</string> <string name="user_owner_label" msgid="2804351898001038951">"පෞද්ගලික"</string> @@ -860,10 +861,13 @@ <string name="cut" msgid="3092569408438626261">"කපන්න"</string> <string name="copy" msgid="2681946229533511987">"à¶´à·’à¶§à¶´à¶à·Š කරන්න"</string> <string name="paste" msgid="5629880836805036433">"අලවන්න"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"සරල පෙළ ලෙස අලවන්න"</string> <string name="replace" msgid="5781686059063148930">"à¶´à·Šâ€à¶»à¶à·’ස්ථà·à¶´à¶±à¶º කරන්න..."</string> <string name="delete" msgid="6098684844021697789">"මකන්න"</string> <string name="copyUrl" msgid="2538211579596067402">"URL à¶´à·’à¶§à¶´à¶à·Š කරන්න"</string> <string name="selectTextMode" msgid="1018691815143165326">"පෙළ à¶à·à¶»à¶±à·Šà¶±"</string> + <string name="undo" msgid="7905788502491742328">"අස් කරන්න"</string> + <string name="redo" msgid="7759464876566803888">"යළි කරන්න"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"පෙළ à¶à·šà¶»à·“ම"</string> <string name="addToDictionary" msgid="4352161534510057874">"à·à¶¶à·Šà¶¯ à¶šà·à·‚යට à¶‘à¶šà¶à·” කරන්න"</string> <string name="deleteText" msgid="6979668428458199034">"මකන්න"</string> @@ -1109,6 +1113,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"à¶¶à·’à¶à·”පචවෙනස් කරන්න"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"දà·à¶±à·”ම්දීම් අසන්නà·"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"à¶à¶à·Šà¶à·Šà·€à¶º සපයන්නà·"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"දà·à¶±à·”ම්දීම් සහà·à¶ºà¶š"</string> <string name="vpn_title" msgid="19615213552042827">"VPN à¶šà·Šâ€à¶»à·’යà·à¶à·Šà¶¸à¶šà¶ºà·’"</string> <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> මඟින් VPN සක්â€à¶»à·“ය කරන ලදි"</string> <string name="vpn_text" msgid="3011306607126450322">"à¶¢à·à¶½à¶º කළමනà·à¶šà¶»à¶«à¶º කිරීමට ස්පර්෠කරන්න."</string> @@ -1442,12 +1447,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"ඔබගේ පරිපà·à¶½à¶š විසින් යà·à·€à¶à·Šà¶šà·à¶½à·“à¶± කරන ලදී"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"ඔබගේ පරිපà·à¶½à¶š විසින් මකන ලද"</string> <string name="battery_saver_description" msgid="1960431123816253034">"à¶¶à·à¶§à¶»à·’ ආයු à¶šà·à¶½à¶º à·€à·à¶©à·’දියුණු කිරීමට උදවු කිරීමට, à¶¶à·à¶§à¶»à·’ සුරà·à¶šà·”ම ඔබේ à¶‹à¶´à·à¶‚ගයේ à¶šà·Šâ€à¶»à·’යà·à¶šà·à¶»à·“à¶à·Šà·€à¶º අඩුකරන à¶…à¶à¶» කම්පනය, පිහිටීම් සේවà·, සහ බොහà·à¶¸à¶ºà¶šà·Š පසුබිම් දà¶à·Šà¶ සීම෠කරයි. ඔබ ඒව෠විවෘචනොකරන්නේ නම් මිස ඊමේල්, පණිවිඩකරණය, සහ සමමුහුර්චකිරීම මචරඳ෠පවà¶à·’à¶± වෙනà¶à·Š යෙදුම් යà·à·€à¶à·Šà¶šà·à¶½à·“à¶± නොවිය à·„à·à¶šà·’ය.\n\nඔබේ à¶‹à¶´à·à¶‚ගය ආරà·à¶´à¶«à¶º වන විට à¶¶à·à¶§à¶»à·’ සුරà·à¶šà·”ම ස්වයංක්â€à¶»à·’යව à¶…à¶šà·Šâ€à¶»à·’ය වේ."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"à·€à·à¶¯à¶œà¶à·Šà¶šà¶¸"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"අවහිර à¶šà·…: මෙම දà·à¶±à·”ම්දීම් කිසිද෠නොපෙන්වන්න"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"à¶…à¶©à·”: දà·à¶±à·”ම්දීම් à¶½à·à¶ºà·’ස්à¶à·”වෙහි පහළින්ම නිà·à·Šà·à¶¶à·Šà¶¯à·€ පෙන්වන්න"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"à·ƒà·à¶¸à·à¶±à·Šâ€à¶º: නිà·à·Šà·à¶¶à·Šà¶¯à·€ මෙම දà·à¶±à·”ම්දීම් පෙන්වන්න"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"à·€à·à¶©à·’: දà·à¶±à·”ම්දීම් à¶½à·à¶ºà·’ස්à¶à·”වෙහි ඉහළින්ම පෙන්වන්න සහ à·à¶¶à·Šà¶¯ කරන්න"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"හදිසි: à¶à·’රයට à¶´à·à¶¸à·’à¶« à·à¶¶à·Šà¶¯ කරන්න"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">මිනිà¶à·Šà¶à·” %1$d à¶šà·Š සඳහ෠(<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> à¶à·™à¶šà·Š)</item> <item quantity="other">මිනිà¶à·Šà¶à·” %1$d à¶šà·Š සඳහ෠(<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> à¶à·™à¶šà·Š)</item> diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml index d26dcc6f6602..05c846705bd2 100644 --- a/core/res/res/values-sk/strings.xml +++ b/core/res/res/values-sk/strings.xml @@ -225,6 +225,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Uzamknúť"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Skrytý obsah"</string> <string name="safeMode" msgid="2788228061547930246">"Núdzový režim"</string> <string name="android_system_label" msgid="6577375335728551336">"Systém Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Osobné"</string> @@ -868,10 +869,13 @@ <string name="cut" msgid="3092569408438626261">"Vystrihnúť"</string> <string name="copy" msgid="2681946229533511987">"KopÃrovaÅ¥"</string> <string name="paste" msgid="5629880836805036433">"PrilepiÅ¥"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"PrilepiÅ¥ ako obyÄajný text"</string> <string name="replace" msgid="5781686059063148930">"Nahradiť•"</string> <string name="delete" msgid="6098684844021697789">"OdstrániÅ¥"</string> <string name="copyUrl" msgid="2538211579596067402">"SkopÃrovaÅ¥ webovú adresu"</string> <string name="selectTextMode" msgid="1018691815143165326">"VybraÅ¥ text"</string> + <string name="undo" msgid="7905788502491742328">"Späť"</string> + <string name="redo" msgid="7759464876566803888">"Znova"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Výber textu"</string> <string name="addToDictionary" msgid="4352161534510057874">"PridaÅ¥ do slovnÃka"</string> <string name="deleteText" msgid="6979668428458199034">"OdstrániÅ¥"</string> @@ -1121,6 +1125,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"ZmeniÅ¥ tapetu"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Aplikácia na poÄúvanie upozornenÃ"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Poskytovateľ podmienky"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Asistent upozornenÃ"</string> <string name="vpn_title" msgid="19615213552042827">"SieÅ¥ VPN je aktivovaná"</string> <string name="vpn_title_long" msgid="6400714798049252294">"Aplikáciu <xliff:g id="APP">%s</xliff:g> aktivovala sieÅ¥ VPN"</string> <string name="vpn_text" msgid="3011306607126450322">"Dotykom môžete spravovaÅ¥ sieÅ¥."</string> @@ -1458,12 +1463,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Aktualizované správcom"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Odstránený správcom"</string> <string name="battery_saver_description" msgid="1960431123816253034">"S cieľom predĺžiÅ¥ výdrž batérie znÞi Å¡etriÄ batérie výkonnosÅ¥ zariadenia a obmedzà vibrácie, služby urÄovania polohy a dátové prenosy na pozadÃ. PoÅ¡ta, Äet a ÄalÅ¡ie aplikácie, ktoré sa spoliehajú na synchronizáciu, sa možno nebudú aktualizovaÅ¥, dokiaľ ich neotvorÃte.\n\nPri nabÃjanà zariadenia sa Å¡etriÄ batérie automaticky vypne."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"DôležitosÅ¥"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Blokované: Tieto upozornenia nikdy nezobrazovaÅ¥"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"NÃzke: ZobrazovaÅ¥ v dolnej Äasti zoznamu upozornenà bez zvukového signálu"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normálne: Tieto upozornenia zobrazovaÅ¥ bez zvukového signálu"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Vysoké: ZobrazovaÅ¥ v hornej Äasti zoznamu upozornenà so zvukovým signálom"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Neodkladné: ZobraziÅ¥ cez obrazovku so zvukovým signálom"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="few">%1$d minúty (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="many">%1$d minúty (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml index d840ecde0d4e..ea5f4c43e192 100644 --- a/core/res/res/values-sl/strings.xml +++ b/core/res/res/values-sl/strings.xml @@ -225,6 +225,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Zakleni zdaj"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999 +"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Vsebina je skrita"</string> <string name="safeMode" msgid="2788228061547930246">"Varni naÄin"</string> <string name="android_system_label" msgid="6577375335728551336">"Sistem Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Osebno"</string> @@ -868,10 +869,13 @@ <string name="cut" msgid="3092569408438626261">"Izreži"</string> <string name="copy" msgid="2681946229533511987">"Kopiraj"</string> <string name="paste" msgid="5629880836805036433">"Prilepi"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Prilepi kot navadno besedilo"</string> <string name="replace" msgid="5781686059063148930">"Zamenjaj •"</string> <string name="delete" msgid="6098684844021697789">"IzbriÅ¡i"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopiraj URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Izbira besedila"</string> + <string name="undo" msgid="7905788502491742328">"Razveljavi"</string> + <string name="redo" msgid="7759464876566803888">"Uveljavi"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Izbrano besedilo"</string> <string name="addToDictionary" msgid="4352161534510057874">"Dodaj v slovar"</string> <string name="deleteText" msgid="6979668428458199034">"IzbriÅ¡i"</string> @@ -1121,6 +1125,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Spreminjanje ozadja"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"PosluÅ¡alec obvestil"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Ponudnik pogojev"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"PomoÄnik za obvestila"</string> <string name="vpn_title" msgid="19615213552042827">"VPN aktiviran"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN je aktivirala aplikacija <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Dotaknite se, Äe želite upravljati omrežje."</string> @@ -1458,12 +1463,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Posodobil skrbnik"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Izbrisal skrbnik"</string> <string name="battery_saver_description" msgid="1960431123816253034">"VarÄevanje z energijo akumulatorja podaljÅ¡a Äas njegovega delovanja tako, da zmanjÅ¡a zmogljivost delovanja naprave in omeji vibriranje, lokacijske storitve ter prenos veÄine podatkov v ozadju. Aplikacije za e-poÅ¡to, sporoÄanje in drugo, ki uporabljajo sinhroniziranje, se morda ne posodabljajo, razen Äe jih odprete.\n\nVarÄevanje z energijo akumulatorja se samodejno izklopi med polnjenjem akumulatorja naprave."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Pomembnost"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Blokirano: nikoli ne prikaži teh obvestil"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Manj pomembno: prikaži na dnu seznama obvestil brez zvoka"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"ObiÄajno: prikaži ta obvestila brez zvoka"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Pomembno: prikaži na vrhu seznama obvestil in predvajaj zvok"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Nujno: za hip pokaži predogled na zaslonu in predvajaj zvok"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">%d minuto (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="two">%d minuti (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-sq-rAL/strings.xml b/core/res/res/values-sq-rAL/strings.xml index 4365796cd6bc..77e0e62b9229 100644 --- a/core/res/res/values-sq-rAL/strings.xml +++ b/core/res/res/values-sq-rAL/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Kyç tani"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Përmbajtjet janë të fshehura"</string> <string name="safeMode" msgid="2788228061547930246">"Modaliteti i sigurisë"</string> <string name="android_system_label" msgid="6577375335728551336">"Sistemi \"android\""</string> <string name="user_owner_label" msgid="2804351898001038951">"Personal"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Pri"</string> <string name="copy" msgid="2681946229533511987">"Kopjo"</string> <string name="paste" msgid="5629880836805036433">"Ngjit"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Ngjite si tekst të thjeshtë"</string> <string name="replace" msgid="5781686059063148930">"Zëvendëso…"</string> <string name="delete" msgid="6098684844021697789">"Fshi"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopjo URL-në"</string> <string name="selectTextMode" msgid="1018691815143165326">"Përzgjidh tekstin"</string> + <string name="undo" msgid="7905788502491742328">"Zhbëj"</string> + <string name="redo" msgid="7759464876566803888">"Ribëj"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Përzgjedhja e tekstit"</string> <string name="addToDictionary" msgid="4352161534510057874">"Shto në fjalor"</string> <string name="deleteText" msgid="6979668428458199034">"Fshi"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Ndrysho imazhin e sfondit"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Dëgjues njoftimesh"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Ofrues kushtesh"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Asistenti i njoftimeve"</string> <string name="vpn_title" msgid="19615213552042827">"VPN-ja u aktivizua"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN-ja është aktivizuar nga <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Prek për të menaxhuar rrjetin."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Përditësuar nga administratori"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"U fshi nga administratori yt"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Për të përmirësuar jetëgjatësinë e baterisë, opsioni i kursimit të baterisë ul rendimentin e pajisjes tënde si dhe kufizon dridhjet dhe shumicën e të dhënave në sfond. Mail-i, mesazhet dhe aplikacionet e tjera që sinkronizohen automatikisht mund të mos përditësohen pa i hapur.\n\nKursimi i baterisë çaktivizohet automatikisht kur pajisja vihet në ngarkim."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Rëndësia"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Të bllokuara: Mos i shfaq asnjëherë këto njoftime"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Të ulëta: Shfaqi në heshtje në fund të listës së njoftimeve"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normale: Shfaqi këto njoftime në heshtje"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Të larta: Shfaqi në krye të listës së njoftimeve dhe lësho tingull"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Urgjente: Shfaq një vështrim të shpejtë në ekran dhe lësho tingull"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">Për %1$d minuta (deri në <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">Për një minutë (deri në <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml index 4e195cc2170c..242341843b0c 100644 --- a/core/res/res/values-sr/strings.xml +++ b/core/res/res/values-sr/strings.xml @@ -224,6 +224,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Закључај одмах"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Садржај је Ñакривен"</string> <string name="safeMode" msgid="2788228061547930246">"Безбедни режим"</string> <string name="android_system_label" msgid="6577375335728551336">"Android ÑиÑтем"</string> <string name="user_owner_label" msgid="2804351898001038951">"Лично"</string> @@ -863,10 +864,13 @@ <string name="cut" msgid="3092569408438626261">"ИÑеци"</string> <string name="copy" msgid="2681946229533511987">"Копирај"</string> <string name="paste" msgid="5629880836805036433">"Ðалепи"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Ðалепи као обичан текÑÑ‚"</string> <string name="replace" msgid="5781686059063148930">"Замени..."</string> <string name="delete" msgid="6098684844021697789">"Избриши"</string> <string name="copyUrl" msgid="2538211579596067402">"Копирај URL адреÑу"</string> <string name="selectTextMode" msgid="1018691815143165326">"Изабери текÑÑ‚"</string> + <string name="undo" msgid="7905788502491742328">"Опозови"</string> + <string name="redo" msgid="7759464876566803888">"Понови"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Избор текÑта"</string> <string name="addToDictionary" msgid="4352161534510057874">"Додај у речник"</string> <string name="deleteText" msgid="6979668428458199034">"Избриши"</string> @@ -1114,6 +1118,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Промена позадине"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Монитор обавештења"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Добављач уÑлова"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Помоћник за обавештења"</string> <string name="vpn_title" msgid="19615213552042827">"VPN је активиран"</string> <string name="vpn_title_long" msgid="6400714798049252294">"Ðпликација <xliff:g id="APP">%s</xliff:g> је активирала VPN"</string> <string name="vpn_text" msgid="3011306607126450322">"Додирните да биÑте управљали мрежом."</string> @@ -1449,12 +1454,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Ðжурирао је админиÑтратор"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"ИзбриÑао је ваш адмииÑтратор"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Да би продужила време трајања батерије, уштеда батерије Ñмањује перформанÑе уређаја и ограничава вибрацију, уÑлуге локације и већину позадинÑких података. Имејл, размена порука и друге апликације које Ñе оÑлањају на Ñинхронизацију можда неће да Ñе ажурирају ако их не отворите.\n\nУштеда батерије Ñе аутоматÑки иÑкључује када Ñе уређај пуни."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"ВажноÑÑ‚"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Блокирана: Ова обавештења Ñе никада не приказују"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"ÐиÑка: Приказују Ñе у дну лиÑте обавештења без звука"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Уобичајена: Ова обавештења Ñе приказују без звука"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"ВиÑока: Приказују Ñе у врху лиÑте обавештења и активира Ñе звучни Ñигнал"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Хитна: Ðакратко Ñе приказују на екрану и активира Ñе звучни Ñигнал"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">%1$d минут (до <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="few">%1$d минута (до <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml index 89860730f9d2..cdf252e7f359 100644 --- a/core/res/res/values-sv/strings.xml +++ b/core/res/res/values-sv/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"LÃ¥s nu"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"InnehÃ¥ll har dolts"</string> <string name="safeMode" msgid="2788228061547930246">"Säkert läge"</string> <string name="android_system_label" msgid="6577375335728551336">"Android-system"</string> <string name="user_owner_label" msgid="2804351898001038951">"Personligt"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Klipp ut"</string> <string name="copy" msgid="2681946229533511987">"Kopiera"</string> <string name="paste" msgid="5629880836805036433">"Klistra in"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Klistra in som oformaterad text"</string> <string name="replace" msgid="5781686059063148930">"Ersätt..."</string> <string name="delete" msgid="6098684844021697789">"Ta bort"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopiera webbadress"</string> <string name="selectTextMode" msgid="1018691815143165326">"Markera text"</string> + <string name="undo" msgid="7905788502491742328">"Ã…ngra"</string> + <string name="redo" msgid="7759464876566803888">"Gör om"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Textmarkering"</string> <string name="addToDictionary" msgid="4352161534510057874">"Lägg till i ordlista"</string> <string name="deleteText" msgid="6979668428458199034">"Ta bort"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Ändra bakgrund"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Meddelandelyssnare"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Leverantör"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Aviseringsassistent"</string> <string name="vpn_title" msgid="19615213552042827">"VPN är aktiverat"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN aktiveras av <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Tryck om du vill hantera nätverket."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Uppdaterat av administratören"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Paketet har raderats av administratören"</string> <string name="battery_saver_description" msgid="1960431123816253034">"I batterisparläget reduceras enhetens prestanda sÃ¥ att batteriet ska räcka längre och vibration, platstjänster samt den mesta användningen av bakgrundsdata begränsas. Det kan hända att appar för e-post, sms och annat som kräver synkronisering inte uppdateras förrän du öppnar dem.\n\nBatterisparläget inaktiveras automatiskt när enheten laddas."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Relevans"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Blockerad: Visa aldrig dessa aviseringar"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"LÃ¥g: Visa längst ned i aviseringslistan – utan ljud"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normal: Visa aviseringarna – utan ljud"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Hög: Visa högst upp i aviseringslistan – med ljud"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"BrÃ¥dskande: Visa pÃ¥ skärmen – med ljud"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">I %1$d minuter (till kl. <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">I en minut (till kl. <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml index 7d0f3caddde6..5e618bfd0a2c 100644 --- a/core/res/res/values-sw/strings.xml +++ b/core/res/res/values-sw/strings.xml @@ -225,6 +225,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Funga sasa"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Maudhui yamefichwa"</string> <string name="safeMode" msgid="2788228061547930246">"Mtindo salama"</string> <string name="android_system_label" msgid="6577375335728551336">"Mfumo wa Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Binafsi"</string> @@ -860,10 +861,13 @@ <string name="cut" msgid="3092569408438626261">"Kata"</string> <string name="copy" msgid="2681946229533511987">"Nakala"</string> <string name="paste" msgid="5629880836805036433">"Bandika"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Bandika kama maandishi dhahiri"</string> <string name="replace" msgid="5781686059063148930">"Badilisha..."</string> <string name="delete" msgid="6098684844021697789">"Futa"</string> <string name="copyUrl" msgid="2538211579596067402">"Nakili URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Chagua maandishi"</string> + <string name="undo" msgid="7905788502491742328">"Tendua"</string> + <string name="redo" msgid="7759464876566803888">"Rejesha"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Uchaguzi wa maandishi?"</string> <string name="addToDictionary" msgid="4352161534510057874">"Ongeza kwenye kamusi"</string> <string name="deleteText" msgid="6979668428458199034">"Futa"</string> @@ -1109,6 +1113,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Badilisha mandhari"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Kisikilizi cha arifa"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Mtoa masharti"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Mratibu wa arifa"</string> <string name="vpn_title" msgid="19615213552042827">"VPN imewezeshwa"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN imeamilishwa na <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Gusa ili kudhibiti mtandao."</string> @@ -1442,12 +1447,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Kimesasiswa na msimamizi wako"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Kilifutwa na msimamizi wako"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Kusaidia kuboresha muda wa matumizi ya betri, inayookoa betri hupunguza utendaji wa kifaa chako na kupunguza mtetemo, huduma za utambuzi wa mahali, na data nyingi ya chini chini. Barua pepe, ujumbe na programu nyingine zinazotege,ea usawazishaji huenda zisisasishwe usipozifungua.\n\nInayookoa betri hujizima kiotomatiki kifaa chako kinapokuwa kinachaji."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Umuhimu"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Imezuiwa: Usionyeshe arifa hizi kamwe"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Chini: Onyesha katika sehemu ya chini ya orodha ya arifa bila kutoa sauti"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Kawaida: Onyesha arifa hizi bila sauti"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Juu: Onyesha katika sehemu ya juu ya orodha ya arifa na itoe sauti"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Muhimu: Weka onyesho la kuchungulia kwenye skrini na itoe sauti"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">Kwa dakika %1$d (hadi <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">Kwa dakika moja (hadi <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-ta-rIN/strings.xml b/core/res/res/values-ta-rIN/strings.xml index e419eea8d36d..7e0ab5eb88dc 100644 --- a/core/res/res/values-ta-rIN/strings.xml +++ b/core/res/res/values-ta-rIN/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"இபà¯à®ªà¯‹à®¤à¯ பூடà¯à®Ÿà¯"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"மறைநà¯à®¤à¯à®³à¯à®³ உளà¯à®³à®Ÿà®•à¯à®•à®®à¯"</string> <string name="safeMode" msgid="2788228061547930246">"பாதà¯à®•ாபà¯à®ªà¯ பயனà¯à®®à¯à®±à¯ˆ"</string> <string name="android_system_label" msgid="6577375335728551336">"Android அமைபà¯à®ªà¯"</string> <string name="user_owner_label" msgid="2804351898001038951">"தனிபà¯à®ªà®Ÿà¯à®Ÿ"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"வெடà¯à®Ÿà¯"</string> <string name="copy" msgid="2681946229533511987">"நகலெடà¯"</string> <string name="paste" msgid="5629880836805036433">"ஒடà¯à®Ÿà¯"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"எளிய உரையாக ஒடà¯à®Ÿà¯"</string> <string name="replace" msgid="5781686059063148930">"மாறà¯à®±à¯..."</string> <string name="delete" msgid="6098684844021697789">"நீகà¯à®•à¯"</string> <string name="copyUrl" msgid="2538211579596067402">"URL ஠நகலெடà¯"</string> <string name="selectTextMode" msgid="1018691815143165326">"உரையைத௠தேரà¯à®µà¯à®šà¯†à®¯à¯à®•"</string> + <string name="undo" msgid="7905788502491742328">"செயலà¯à®¤à®µà®¿à®°à¯"</string> + <string name="redo" msgid="7759464876566803888">"மீணà¯à®Ÿà¯à®®à¯à®šà¯†à®¯à¯"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"உரை தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®¤à¯à®¤à®²à¯"</string> <string name="addToDictionary" msgid="4352161534510057874">"அகராதியில௠சேரà¯"</string> <string name="deleteText" msgid="6979668428458199034">"நீகà¯à®•à¯"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"வாலà¯à®ªà¯‡à®ªà¯à®ªà®°à¯ˆ மாறà¯à®±à¯"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"அறிவிபà¯à®ªà¯à®•ளைக௠கணà¯à®•ாணிகà¯à®•à¯à®®à¯ சேவை"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"நிபநà¯à®¤à®©à¯ˆ வழஙà¯à®•à¯à®¨à®°à¯"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"அறிவிபà¯à®ªà¯ உதவி"</string> <string name="vpn_title" msgid="19615213552042827">"VPN செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯"</string> <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> ஆல௠VPN செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯"</string> <string name="vpn_text" msgid="3011306607126450322">"நெடà¯à®µà¯Šà®°à¯à®•à¯à®•ை நிரà¯à®µà®•ிகà¯à®•த௠தொடவà¯à®®à¯."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"உஙà¯à®•ள௠நிரà¯à®µà®¾à®•ி பà¯à®¤à¯à®ªà¯à®ªà®¿à®¤à¯à®¤à¯à®³à¯à®³à®¾à®°à¯"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"நிரà¯à®µà®¾à®•ி நீகà¯à®•ிவிடà¯à®Ÿà®¾à®°à¯"</string> <string name="battery_saver_description" msgid="1960431123816253034">"பேடà¯à®Ÿà®°à®¿ ஆயà¯à®³à¯ˆ மேமà¯à®ªà®Ÿà¯à®¤à¯à®¤, பேடà¯à®Ÿà®°à®¿ சேமிபà¯à®ªà®¾à®©à¯ உஙà¯à®•ள௠சாதனதà¯à®¤à®¿à®©à¯ செயலà¯à®¤à®¿à®±à®©à¯ˆà®•௠கà¯à®±à¯ˆà®¤à¯à®¤à¯, அதிரà¯à®µà¯, இடச௠சேவைகள௠மறà¯à®±à¯à®®à¯ பெரà¯à®®à¯à®ªà®¾à®²à®¾à®© பினà¯à®ªà¯à®²à®¤à¯ தரவ௠போனà¯à®±à®µà®±à¯à®±à¯ˆà®•௠கடà¯à®Ÿà¯à®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•ிறதà¯. ஒதà¯à®¤à®¿à®šà¯ˆà®µà¯ˆà®šà¯ சாரà¯à®¨à¯à®¤à¯à®³à¯à®³ மினà¯à®©à®žà¯à®šà®²à¯, செயà¯à®¤à®¿à®¯à®¿à®Ÿà®²à¯ மறà¯à®±à¯à®®à¯ பிற பயனà¯à®ªà®¾à®Ÿà¯à®•ள௠திறகà¯à®•à¯à®®à¯à®µà®°à¯ˆ, அவை பà¯à®¤à¯à®ªà¯à®ªà®¿à®•à¯à®•பà¯à®ªà®Ÿà®¾à®®à®²à¯ இரà¯à®•à¯à®•லாமà¯.\n\nஉஙà¯à®•ள௠ஃபோன௠சாரà¯à®œà¯ செயà¯à®¯à®ªà¯à®ªà®Ÿà¯à®®à¯à®ªà¯‹à®¤à¯, பேடà¯à®Ÿà®°à®¿ சேமிபà¯à®ªà®¾à®©à¯ தானாகவே à®®à¯à®Ÿà®™à¯à®•à¯à®®à¯."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"à®®à¯à®•à¯à®•ியதà¯à®¤à¯à®µà®®à¯"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"தடà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯: இநà¯à®¤ அறிவிபà¯à®ªà¯à®•ளை à®’à®°à¯à®ªà¯‹à®¤à¯à®®à¯ காடà¯à®Ÿà®¾à®¤à¯"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"கà¯à®±à¯ˆà®µà¯: ஒலியினà¯à®±à®¿ அறிவிபà¯à®ªà¯à®ªà¯ படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ கீழே காடà¯à®Ÿà¯à®®à¯"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"இயலà¯à®ªà¯: ஒலியினà¯à®±à®¿ இநà¯à®¤ அறிவிபà¯à®ªà¯à®•ளைக௠காடà¯à®Ÿà¯à®®à¯"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"அதிகமà¯: அறிவிபà¯à®ªà¯à®•ள௠படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ மேல௠பகà¯à®¤à®¿à®¯à®¿à®²à¯ ஒலியà¯à®Ÿà®©à¯ காடà¯à®Ÿà¯à®®à¯"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"அவசரமà¯: ஒலியà¯à®Ÿà®©à¯ திரையில௠தோனà¯à®±à¯à®®à¯"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d நிமிடஙà¯à®•ளà¯à®•à¯à®•௠(<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> வரை)</item> <item quantity="one">ஒர௠நிமிடதà¯à®¤à®¿à®±à¯à®•௠(<xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g> வரை)</item> diff --git a/core/res/res/values-te-rIN/strings.xml b/core/res/res/values-te-rIN/strings.xml index a6c80ad34183..87b782fff2b9 100644 --- a/core/res/res/values-te-rIN/strings.xml +++ b/core/res/res/values-te-rIN/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"ఇపà±à°ªà±à°¡à± లాకౠచేయండి"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"కంటెంటà±â€Œà°²à± దాచబడà±à°¡à°¾à°¯à°¿"</string> <string name="safeMode" msgid="2788228061547930246">"à°¸à±à°°à°•à±à°·à°¿à°¤ మోడà±"</string> <string name="android_system_label" msgid="6577375335728551336">"Android సిసà±à°Ÿà°®à±"</string> <string name="user_owner_label" msgid="2804351898001038951">"à°µà±à°¯à°•à±à°¤à°¿à°—తం"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"à°•à°¤à±à°¤à°¿à°°à°¿à°‚à°šà±"</string> <string name="copy" msgid="2681946229533511987">"కాపీ చేయి"</string> <string name="paste" msgid="5629880836805036433">"అతికించà±"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"సాదా వచనం వలె అతికించà±"</string> <string name="replace" msgid="5781686059063148930">"à°à°°à±à°¤à±€ చేయండి..."</string> <string name="delete" msgid="6098684844021697789">"తొలగించà±"</string> <string name="copyUrl" msgid="2538211579596067402">"URLని కాపీ చేయి"</string> <string name="selectTextMode" msgid="1018691815143165326">"వచనానà±à°¨à°¿ à°Žà°‚à°šà±à°•ోండి"</string> + <string name="undo" msgid="7905788502491742328">"à°šà°°à±à°¯ à°°à°¦à±à°¦à± చేయి"</string> + <string name="redo" msgid="7759464876566803888">"à°šà°°à±à°¯à°¨à± à°ªà±à°¨à°°à°¾à°µà±ƒà°¤à°‚ చేయి"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"వచన ఎంపిక"</string> <string name="addToDictionary" msgid="4352161534510057874">"నిఘంటà±à°µà±à°•ౠజోడించà±"</string> <string name="deleteText" msgid="6979668428458199034">"తొలగించà±"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"వాలà±â€Œà°ªà±‡à°ªà°°à±â€Œà°¨à± మారà±à°šà°‚à°¡à°¿"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"నోటిఫికేషనౠపరిశీలన"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"షరతౠపà±à°°à°¦à°¾à°¤"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"నోటిఫికేషనౠసహాయకం"</string> <string name="vpn_title" msgid="19615213552042827">"VPN సకà±à°°à°¿à°¯à°‚ చేయబడింది"</string> <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> à°¦à±à°µà°¾à°°à°¾ VPN సకà±à°°à°¿à°¯à°‚ చేయబడింది"</string> <string name="vpn_text" msgid="3011306607126450322">"నెటà±â€Œà°µà°°à±à°•à±â€Œà°¨à± నిరà±à°µà°¹à°¿à°‚చడానికి తాకండి."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"మీ నిరà±à°µà°¾à°¹à°•à±à°¡à± నవీకరించారà±"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"మీ నిరà±à°µà°¾à°¹à°•à±à°²à± తొలగించారà±"</string> <string name="battery_saver_description" msgid="1960431123816253034">"à°¬à±à°¯à°¾à°Ÿà°°à±€ జీవితకాలానà±à°¨à°¿ మెరà±à°—à±à°ªà°°à°šà°¡à°‚లో సహాయపడటానికి, à°¬à±à°¯à°¾à°Ÿà°°à±€ సేవరౠమీ పరికరం పనితీరà±à°¨à± తగà±à°—à°¿à°¸à±à°¤à±à°‚ది మరియౠవైబà±à°°à±‡à°·à°¨à±â€Œà°¨à±, à°¸à±à°¥à°¾à°¨ సేవలనౠమరియౠఎకà±à°•à±à°µ నేపథà±à°¯ డేటానౠపరిమితం చేసà±à°¤à±à°‚ది. ఇమెయిలà±, మెసేజింగౠమరియౠసమకాలీకరణపై ఆధారపడే ఇతర à°…à°¨à±à°µà°°à±à°¤à°¨à°¾à°²à± మీరౠవాటిని తెరిసà±à°¤à±‡ మినహా నవీకరించబడవà±.\n\nమీ పరికరం ఛారà±à°œà± à°…à°µà±à°¤à±à°¨à±à°¨à°ªà±à°ªà±à°¡à± à°¬à±à°¯à°¾à°Ÿà°°à±€ సేవరౠసà±à°µà°¯à°‚చాలకంగా ఆఫౠఅవà±à°¤à±à°‚ది."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"à°¬à±à°²à°¾à°•ౠచేయబడింది: à°ˆ నోటిఫికేషనà±â€Œà°²à°¨à± à°Žà°ªà±à°ªà±à°¡à±‚ చూపదà±"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"తకà±à°•à±à°µ: నోటిఫికేషనà±â€Œà°² జాబితా దిగà±à°µ à°à°¾à°—ంలో à°¶à°¬à±à°¦à°‚ లేకà±à°‚à°¡à°¾ చూపà±à°¤à±à°‚ది"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"సాధారణం: à°ˆ నోటిఫికేషనà±â€Œà°²à°¨à± à°¶à°¬à±à°¦à°‚ లేకà±à°‚à°¡à°¾ చూపà±à°¤à±à°‚ది"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"à°…à°§à°¿à°•à°‚: నోటిఫికేషనà±â€Œà°² జాబితా à°Žà°—à±à°µ à°à°¾à°—ంలో à°¶à°¬à±à°¦à°‚తో చూపà±à°¤à±à°‚ది"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"à°…à°¤à±à°¯à°µà°¸à°°à°‚: à°¸à±à°•à±à°°à±€à°¨à±â€Œà°ªà±ˆ శీఘà±à°°à°‚à°—à°¾ à°¶à°¬à±à°¦à°‚తో చూపà±à°¤à±à°‚ది"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d నిమిషాల పాటౠ(<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> వరకà±)</item> <item quantity="one">à°’à°• నిమిషం పాటౠ(<xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g> వరకà±)</item> diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml index 518a62942aba..2ec0f4c51ced 100644 --- a/core/res/res/values-th/strings.xml +++ b/core/res/res/values-th/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"ล็à¸à¸à¹€à¸¥à¸¢"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"เนื้à¸à¸«à¸²à¸–ูà¸à¸‹à¹ˆà¸à¸™à¹„ว้"</string> <string name="safeMode" msgid="2788228061547930246">"โหมดปลà¸à¸”ภัย"</string> <string name="android_system_label" msgid="6577375335728551336">"ระบบ Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"ส่วนตัว"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"ตัด"</string> <string name="copy" msgid="2681946229533511987">"คัดลà¸à¸"</string> <string name="paste" msgid="5629880836805036433">"วาง"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"วางเป็นข้à¸à¸„วามธรรมดา"</string> <string name="replace" msgid="5781686059063148930">"à¹à¸—นที่..."</string> <string name="delete" msgid="6098684844021697789">"ลบ"</string> <string name="copyUrl" msgid="2538211579596067402">"คัดลà¸à¸ URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"เลืà¸à¸à¸‚้à¸à¸„วาม"</string> + <string name="undo" msgid="7905788502491742328">"เลิà¸à¸—ำ"</string> + <string name="redo" msgid="7759464876566803888">"ทำซ้ำ"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"à¸à¸²à¸£à¹€à¸¥à¸·à¸à¸à¸‚้à¸à¸„วาม"</string> <string name="addToDictionary" msgid="4352161534510057874">"เพิ่มในพจนานุà¸à¸£à¸¡"</string> <string name="deleteText" msgid="6979668428458199034">"ลบ"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"เปลี่ยนวà¸à¸¥à¹€à¸›à¹€à¸›à¸à¸£à¹Œ"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"ตัวฟังà¸à¸²à¸£à¹à¸ˆà¹‰à¸‡à¹€à¸•ืà¸à¸™"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"ผู้เสนà¸à¹€à¸‡à¸·à¹ˆà¸à¸™à¹„ข"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"ผู้ช่วยà¸à¸²à¸£à¹à¸ˆà¹‰à¸‡à¹€à¸•ืà¸à¸™"</string> <string name="vpn_title" msgid="19615213552042827">"VPN เปิดใช้งานà¹à¸¥à¹‰à¸§"</string> <string name="vpn_title_long" msgid="6400714798049252294">"เปิดใช้งาน VPN โดย <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"à¹à¸•ะเพื่à¸à¸ˆà¸±à¸”à¸à¸²à¸£à¹€à¸„รืà¸à¸‚่าย"</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"à¸à¸±à¸›à¹€à¸”ตโดยผู้ดูà¹à¸¥à¸£à¸°à¸šà¸š"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"ลบโดยผู้ดูà¹à¸¥à¸£à¸°à¸šà¸šà¸‚à¸à¸‡à¸„ุณ"</string> <string name="battery_saver_description" msgid="1960431123816253034">"เพื่à¸à¸Šà¹ˆà¸§à¸¢à¸›à¸£à¸±à¸šà¸›à¸£à¸¸à¸‡à¸à¸²à¸¢à¸¸à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹à¸šà¸•เตà¸à¸£à¸µà¹ˆ โหมดประหยัดà¹à¸šà¸•เตà¸à¸£à¸µà¹ˆà¸ˆà¸°à¸¥à¸”à¸à¸²à¸£à¸—ำงานขà¸à¸‡à¸à¸¸à¸›à¸à¸£à¸“์à¹à¸¥à¸°à¸ˆà¸³à¸à¸±à¸”à¸à¸²à¸£à¸ªà¸±à¹ˆà¸™ บริà¸à¸²à¸£à¸•ำà¹à¸«à¸™à¹ˆà¸‡ à¹à¸¥à¸°à¸‚้à¸à¸¡à¸¹à¸¥à¹à¸šà¹‡à¸à¸à¸£à¸²à¸§à¸”์ส่วนใหà¸à¹ˆ สำหรับà¸à¸µà¹€à¸¡à¸¥ à¸à¸²à¸£à¸£à¸±à¸šà¸ªà¹ˆà¸‡à¸‚้à¸à¸„วาม à¹à¸¥à¸°à¹à¸à¸›à¸à¸·à¹ˆà¸™à¹† ที่ใช้à¸à¸²à¸£à¸‹à¸´à¸‡à¸„์จะไม่à¸à¸±à¸›à¹€à¸”ตหาà¸à¸„ุณไม่เปิดขึ้นมา\n\nโหมดประหยัดà¹à¸šà¸•เตà¸à¸£à¸µà¹ˆà¸ˆà¸°à¸›à¸´à¸”โดยà¸à¸±à¸•โนมัติขณะชาร์จà¸à¸¸à¸›à¸à¸£à¸“์"</string> - <string name="notification_importance_title" msgid="7493989722610008700">"ความสำคัà¸"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"บล็à¸à¸: à¸à¸¢à¹ˆà¸²à¹à¸ªà¸”งà¸à¸²à¸£à¹à¸ˆà¹‰à¸‡à¹€à¸•ืà¸à¸™à¹€à¸«à¸¥à¹ˆà¸²à¸™à¸µà¹‰"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"ต่ำ: à¹à¸ªà¸”งที่ด้านล่างขà¸à¸‡à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸ˆà¹‰à¸‡à¹€à¸•ืà¸à¸™à¹‚ดยไม่ส่งเสียง"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"ปà¸à¸•ิ: à¹à¸ªà¸”งà¸à¸²à¸£à¹à¸ˆà¹‰à¸‡à¹€à¸•ืà¸à¸™à¹€à¸«à¸¥à¹ˆà¸²à¸™à¸µà¹‰à¹‚ดยไม่ส่งเสียง"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"สูง: à¹à¸ªà¸”งที่ด้านบนขà¸à¸‡à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸ˆà¹‰à¸‡à¹€à¸•ืà¸à¸™à¹à¸¥à¸°à¸ªà¹ˆà¸‡à¹€à¸ªà¸µà¸¢à¸‡"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"ด่วน: à¹à¸ªà¸”งบนหน้าจà¸à¹ƒà¸™à¸Šà¹ˆà¸§à¸‡à¹€à¸§à¸¥à¸²à¸ªà¸±à¹‰à¸™à¹† à¹à¸¥à¸°à¸ªà¹ˆà¸‡à¹€à¸ªà¸µà¸¢à¸‡"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">ระยะเวลา %1$d นาที (จนถึงเวลา <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">ระยะเวลา 1 นาที (จนถึงเวลา <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml index 1b7a10d037cb..36aa9d95dee9 100644 --- a/core/res/res/values-tl/strings.xml +++ b/core/res/res/values-tl/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"I-lock ngayon"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Nakatago ang mga content"</string> <string name="safeMode" msgid="2788228061547930246">"Safe mode"</string> <string name="android_system_label" msgid="6577375335728551336">"Android System"</string> <string name="user_owner_label" msgid="2804351898001038951">"Personal"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"I-cut"</string> <string name="copy" msgid="2681946229533511987">"Kopyahin"</string> <string name="paste" msgid="5629880836805036433">"I-paste"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"I-paste bilang plain text"</string> <string name="replace" msgid="5781686059063148930">"Palitan..."</string> <string name="delete" msgid="6098684844021697789">"Tanggalin"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopyahin ang URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Pumili ng teksto"</string> + <string name="undo" msgid="7905788502491742328">"I-undo"</string> + <string name="redo" msgid="7759464876566803888">"Gawing muli"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Pagpili ng teksto"</string> <string name="addToDictionary" msgid="4352161534510057874">"Idagdag sa diksyunaryo"</string> <string name="deleteText" msgid="6979668428458199034">"Tanggalin"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Baguhin ang wallpaper"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Notification listener"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Nagbibigay ng kundisyon"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Notification assistant"</string> <string name="vpn_title" msgid="19615213552042827">"Naka-activate ang VPN"</string> <string name="vpn_title_long" msgid="6400714798049252294">"Isinaaktibo ang VPN ng <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Pindutin upang pamahalaan ang network."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Na-update ng iyong administrator"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Na-delete ng iyong administrator"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Upang matulungang pagbutihin ang tagal ng baterya, binabawasan ng pangtipid ng baterya ang pagganap ng iyong device at nililimitahan ang pag-vibrate, mga serbisyo ng lokasyon at karamihan sa data ng background. Maaaring hindi mag-update ang email, pagmemensahe at iba pang mga app na umaasa sa pagsi-sync maliban kung buksan mo ang mga iyon.\n\nAwtomatikong nag-o-off ang pangtipid ng baterya kapag nagcha-charge ang iyong device."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Kahalagahan"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Naka-block: Huwag kailanman ipakita ang mga notification na ito"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Mababa: Tahimik na ipakita sa ibaba ng listahan ng mga notification"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normal: Tahimik na ipakita ang mga notification na ito"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Mataas: Ipakita sa taas ng listahan ng mga notification at mag-play ng tunog"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Agaran: Ipasilip sa screen at mag-play ng tunog"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">Sa loob ng %1$d minuto (hanggang <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="other">Sa loob ng %1$d na minuto (hanggang <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml index 3904aa51800c..7b0bdc681135 100644 --- a/core/res/res/values-tr/strings.xml +++ b/core/res/res/values-tr/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Åžimdi kilitle"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"İçerik gizlendi"</string> <string name="safeMode" msgid="2788228061547930246">"Güvenli mod"</string> <string name="android_system_label" msgid="6577375335728551336">"Android Sistemi"</string> <string name="user_owner_label" msgid="2804351898001038951">"KiÅŸisel"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Kes"</string> <string name="copy" msgid="2681946229533511987">"Kopyala"</string> <string name="paste" msgid="5629880836805036433">"Yapıştır"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Düz metin olarak yapıştır"</string> <string name="replace" msgid="5781686059063148930">"DeÄŸiÅŸtir..."</string> <string name="delete" msgid="6098684844021697789">"Sil"</string> <string name="copyUrl" msgid="2538211579596067402">"URL\'yi kopyala"</string> <string name="selectTextMode" msgid="1018691815143165326">"Metin seç"</string> + <string name="undo" msgid="7905788502491742328">"Geri al"</string> + <string name="redo" msgid="7759464876566803888">"Yeniden yap"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Metin seçimi"</string> <string name="addToDictionary" msgid="4352161534510057874">"Sözlüğe ekle"</string> <string name="deleteText" msgid="6979668428458199034">"Sil"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Duvar kağıdını deÄŸiÅŸtir"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Bildirim dinleyici"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Durum saÄŸlayıcı"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Bildirim yardımcısı"</string> <string name="vpn_title" msgid="19615213552042827">"VPN etkinleÅŸtirildi"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN, <xliff:g id="APP">%s</xliff:g> tarafından etkinleÅŸtirildi"</string> <string name="vpn_text" msgid="3011306607126450322">"Ağı yönetmek için dokunun."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Yöneticiniz tarafından güncellendi"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Yöneticiniz tarafından silindi"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Pil tasarrufu özelliÄŸi, pil ömrünü iyileÅŸtirmeye yardımcı olmak için cihazın performansını düşürür, titreÅŸimi, konum hizmetlerini ve arka plan verilerinin çoÄŸunu sınırlar. Senkronizasyona dayalı olarak çalışan e-posta, mesajlaÅŸma uygulamaları ve diÄŸer uygulamalar, bunları açmadığınız sürece güncellenmeyebilir.\n\nCihazınız ÅŸarj olurken pil tasarrufu otomatik olarak kapatılır."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Önem"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Engellendi: Bu bildirimleri hiçbir zaman gösterme"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Düşük: Bildirim listesinin altında sessizce göster"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Normal: Bu bildirimleri sessizce göster"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Yüksek: Bildirim listesinin üstünde göster ve ses çıkar"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Acil: Ekrana getir ve ses çıkar"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d dakika için (ÅŸu saate kadar: <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">Bir dakika için (ÅŸu saate kadar: <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml index e38ec1d124d0..308e50cba07c 100644 --- a/core/res/res/values-uk/strings.xml +++ b/core/res/res/values-uk/strings.xml @@ -225,6 +225,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Блокувати зараз"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"ВміÑÑ‚ Ñховано"</string> <string name="safeMode" msgid="2788228061547930246">"Безп. режим"</string> <string name="android_system_label" msgid="6577375335728551336">"СиÑтема Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"ОÑобиÑті дані"</string> @@ -542,8 +543,8 @@ <item msgid="9192514806975898961">"Указати"</item> </string-array> <string-array name="emailAddressTypes"> - <item msgid="8073994352956129127">"Дом."</item> - <item msgid="7084237356602625604">"Роб."</item> + <item msgid="8073994352956129127">"ДомашнÑ"</item> + <item msgid="7084237356602625604">"Робоча"</item> <item msgid="1112044410659011023">"Інше"</item> <item msgid="2374913952870110618">"Указати"</item> </string-array> @@ -868,10 +869,13 @@ <string name="cut" msgid="3092569408438626261">"Виріз."</string> <string name="copy" msgid="2681946229533511987">"Копіюв."</string> <string name="paste" msgid="5629880836805036433">"Ð’Ñтавити"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Ð’Ñтавити Ñк проÑтий текÑÑ‚"</string> <string name="replace" msgid="5781686059063148930">"Замінити..."</string> <string name="delete" msgid="6098684844021697789">"Видалити"</string> <string name="copyUrl" msgid="2538211579596067402">"Копіюв. URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Вибрати текÑÑ‚"</string> + <string name="undo" msgid="7905788502491742328">"Відмінити"</string> + <string name="redo" msgid="7759464876566803888">"Повторити"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Вибір текÑту"</string> <string name="addToDictionary" msgid="4352161534510057874">"Додати в Ñловник"</string> <string name="deleteText" msgid="6979668428458199034">"Видалити"</string> @@ -1121,6 +1125,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Змінити фоновий малюнок"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Служба Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñповіщень"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"ПоÑтачальник умов"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"ДиÑпетчер Ñповіщень"</string> <string name="vpn_title" msgid="19615213552042827">"Мережу VPN активовано"</string> <string name="vpn_title_long" msgid="6400714798049252294">"Мережу VPN активовано програмою <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"ТоркнітьÑÑ, щоб керувати мережею."</string> @@ -1458,12 +1463,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Оновлено адмініÑтратором"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Видалив адмініÑтратор"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Щоб подовжити Ñ‡Ð°Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ акумулÑтора, Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Ð·Ð°Ð¾Ñ‰Ð°Ð´Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ñ€Ñду акумулÑтора знижує продуктивніÑть приÑтрою, а також обмежує вібрацію, функції Ñлужб локації та Ð¿ÐµÑ€ÐµÐ´Ð°Ð²Ð°Ð½Ð½Ñ Ð±Ñ–Ð»ÑŒÑˆÐ¾Ñті фонових даних. Електронна пошта, чати й інші додатки, Ñкі ÑинхронізуютьÑÑ, можуть не оновлюватиÑÑ, доки ви Ñ—Ñ… не відкриєте.\n\nÐ¤ÑƒÐ½ÐºÑ†Ñ–Ñ Ð·Ð°Ð¾Ñ‰Ð°Ð´Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ñ€Ñду акумулÑтора автоматично вимикаєтьÑÑ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ð·Ð°Ñ€ÑÐ´Ð¶Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸Ñтрою."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Пріоритет"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Заблоковано: не показувати ці ÑповіщеннÑ"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Ðизький пріоритет: показувати ці ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²Ð½Ð¸Ð·Ñƒ ÑпиÑку без звукового Ñигналу"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Стандартний пріоритет: показувати ці ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð±ÐµÐ· звукового Ñигналу"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"ВиÑокий пріоритет: показувати ці ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²Ð³Ð¾Ñ€Ñ– ÑпиÑку зі звуковим Ñигналом"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Терміново: показувати ці ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð½Ð° екрані зі звуковим Ñигналом"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">%1$d хвилину (до <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="few">%1$d хвилини (до <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-ur-rPK/strings.xml b/core/res/res/values-ur-rPK/strings.xml index ffb2900a6f1a..ca26e9b3bd6a 100644 --- a/core/res/res/values-ur-rPK/strings.xml +++ b/core/res/res/values-ur-rPK/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"ابھی مقÙÙ„ کریں"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"‎999+‎"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"مواد مخÙÛŒ Ûیں"</string> <string name="safeMode" msgid="2788228061547930246">"ØÙاظتی وضع"</string> <string name="android_system_label" msgid="6577375335728551336">"â€Android سسٹم"</string> <string name="user_owner_label" msgid="2804351898001038951">"ذاتی"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"کاٹیں"</string> <string name="copy" msgid="2681946229533511987">"کاپی کریں"</string> <string name="paste" msgid="5629880836805036433">"پیسٹ کریں"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Ø³Ø§Ø¯Û Ù…ØªÙ† Ú©Û’ طور پر پیسٹ کریں"</string> <string name="replace" msgid="5781686059063148930">"تبدیل کریں…"</string> <string name="delete" msgid="6098684844021697789">"ØØ°Ù کریں"</string> <string name="copyUrl" msgid="2538211579596067402">"â€URL کاپی کریں"</string> <string name="selectTextMode" msgid="1018691815143165326">"متن منتخب کریں"</string> + <string name="undo" msgid="7905788502491742328">"کالعدم کریں"</string> + <string name="redo" msgid="7759464876566803888">"Ø¯ÙˆØ¨Ø§Ø±Û Ú©Ø±ÛŒÚº"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"متن کا انتخاب"</string> <string name="addToDictionary" msgid="4352161534510057874">"لغت میں شامل کریں"</string> <string name="deleteText" msgid="6979668428458199034">"ØØ°Ù کریں"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"وال پیپر تبدیل کریں"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"اطلاع سننے والا"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"شرط ÙØ±Ø§ÛÙ… کنندÛ"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"اطلاع کا معاون"</string> <string name="vpn_title" msgid="19615213552042827">"â€VPN ÙØ¹Ø§Ù„ Ûوگیا"</string> <string name="vpn_title_long" msgid="6400714798049252294">"â€<xliff:g id="APP">%s</xliff:g> Ú©Û’ Ø°Ø±ÛŒØ¹Û VPN ÙØ¹Ø§Ù„ ÛÛ’"</string> <string name="vpn_text" msgid="3011306607126450322">"نیٹ ورک کا نظم کرنے کیلئے چھوئیں۔"</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"آپ Ú©Û’ منتظم Ù†Û’ اپ ڈيٹ کر دیا"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"آپ Ú©Û’ منتظم Ú©ÛŒ جانب سے ØØ°Ù کر دیا گیا"</string> <string name="battery_saver_description" msgid="1960431123816253034">"بیٹری Ú©ÛŒ میعاد Ø¨ÛØªØ± کرنے میں مدد کرنے کیلئے، بیٹری سیور آپ Ú©Û’ Ø¢Ù„Û Ú©ÛŒ کارکردگی Ú©Ù… کر دیتی ÛÛ’ اور وائبریشن، مقام Ú©ÛŒ سروسز اور پس منظر کا بیشتر ڈیٹا Ù…ØØ¯ÙˆØ¯ کر دیتی ÛÛ’Û” ای میل، پیغام رسانی اور مطابقت پذیری پر Ù…Ù†ØØµØ± دیگر ایپس ممکن ÛÛ’ اس وقت تک اپ ڈیٹ Ù†Û ÛÙˆÚº جب تک آپ انÛیں Ù†Û Ú©Ú¾ÙˆÙ„ÛŒÚºÛ”\n\nآپ کا Ø¢Ù„Û Ú†Ø§Ø±Ø¬ Ûوتے وقت بیٹری سیور خود بخود Ø¢Ù ÛÙˆ جاتی ÛÛ’Û”"</string> - <string name="notification_importance_title" msgid="7493989722610008700">"اÛمیت"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"مسدود کردÛ: ÛŒÛ Ø§Ø·Ù„Ø§Ø¹Ø§Øª کبھی مت دکھائیں"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"پست: اطلاعات Ú©ÛŒ ÙÛØ±Ø³Øª Ú©Û’ نیچے خاموشی سے دکھائیں"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"عام: خاموشی سے ÛŒÛ Ø§Ø·Ù„Ø§Ø¹Ø§Øª دکھائیں"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"اعلی: اطلاعات Ú©ÛŒ ÙÛØ±Ø³Øª پر سب سے اوپر دکھائیں اور آواز چلائیں"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"ارجنٹ: اسکرین پر دکھائیں اور آواز چلائیں"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">â€%1$d منٹ کیلئے (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> تک)</item> <item quantity="one">ایک منٹ کیلئے (تک <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-uz-rUZ/strings.xml b/core/res/res/values-uz-rUZ/strings.xml index c33360d1b03e..3f3d151c039b 100644 --- a/core/res/res/values-uz-rUZ/strings.xml +++ b/core/res/res/values-uz-rUZ/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Qulflash"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Kontent yashirildi"</string> <string name="safeMode" msgid="2788228061547930246">"Xavfsiz usul"</string> <string name="android_system_label" msgid="6577375335728551336">"Android tizimi"</string> <string name="user_owner_label" msgid="2804351898001038951">"Shaxsiy"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Kesish"</string> <string name="copy" msgid="2681946229533511987">"Nusxa olish"</string> <string name="paste" msgid="5629880836805036433">"Joylash"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Oddiy matn sifatida joylash"</string> <string name="replace" msgid="5781686059063148930">"Almashtirish"</string> <string name="delete" msgid="6098684844021697789">"O‘chirish"</string> <string name="copyUrl" msgid="2538211579596067402">"URL’dan nusxa olish"</string> <string name="selectTextMode" msgid="1018691815143165326">"Matnni tanlash"</string> + <string name="undo" msgid="7905788502491742328">"Bekor qilish"</string> + <string name="redo" msgid="7759464876566803888">"Qaytarish"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Matni belgilash"</string> <string name="addToDictionary" msgid="4352161534510057874">"Lug‘atga qo‘shish"</string> <string name="deleteText" msgid="6979668428458199034">"O‘chirish"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Fon rasmini o‘zgartirish"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Bildirishnoma tinglovchisi"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Shartlarni taqdim etuvchi"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Bildirishnoma yordamchisi"</string> <string name="vpn_title" msgid="19615213552042827">"VPN faollashtirildi"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN <xliff:g id="APP">%s</xliff:g> tomonidan faollashtirilgan"</string> <string name="vpn_text" msgid="3011306607126450322">"Tarmoqni boshqarish uchun bosing."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Administratoringiz tomonidan yangilandi"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Administratoringiz tomonidan o‘chirilgan"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Batareya quvvatini uzoqroq vaqtga yetkazish uchun quvvat tejash funksiyasi qurilmangiz unumdorligini kamaytiradi hamda uning tebranishi va orqa fonda internetdan foydalanishini cheklaydi. Sinxronlanishni talab qiladigan e-pochta, xabar almashinuv va boshqa ilovalar esa qachonki ularni ishga tushirganingizda yangilanadi.\n\nQurilma quvvat olayotganda quvvat tejash funksiyasi avtomatik tarzda o‘chadi."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Muhimligi"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Bloklangan: bu bildirishnomalar boshqa ko‘rsatilmasin"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Past: bildirishnomalar ro‘yxatining oxirida ovozsiz ko‘rsatilsin"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Oddiy: bu bildirishnomalar ovozsiz ko‘rsatilsin"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Yuqori: bildirishnomalar ro‘yxatining boshida ovoz bilan ko‘rsatilsin"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Shoshilinch: barcha oynalar ustida signal ovozi bilan ko‘rsatilsin"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d daqiqa (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> gacha)</item> <item quantity="one">Bir daqiqa (<xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g> gacha)</item> @@ -1511,6 +1510,6 @@ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ta tanlandi</item> </plurals> <string name="default_notification_topic_label" msgid="227586145791870829">"Boshqa belgilar"</string> - <string name="importance_from_topic" msgid="3572280439880023233">"Ushbu bildirishnomalarning muhimligini o‘rnatgansiz."</string> - <string name="importance_from_person" msgid="9160133597262938296">"Jalb qilingan odamlar tufayli bu muhim."</string> + <string name="importance_from_topic" msgid="3572280439880023233">"Siz ushbu bildirishnomalarning muhimligini belgilagansiz."</string> + <string name="importance_from_person" msgid="9160133597262938296">"Bu odamlar siz uchun muhim."</string> </resources> diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml index 49e14dfd0fa9..c538684e06c8 100644 --- a/core/res/res/values-vi/strings.xml +++ b/core/res/res/values-vi/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Khóa ngay"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Ná»™i dung bị ẩn"</string> <string name="safeMode" msgid="2788228061547930246">"Chế độ an toà n"</string> <string name="android_system_label" msgid="6577375335728551336">"Hệ thống Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Cá nhân"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Cắt"</string> <string name="copy" msgid="2681946229533511987">"Sao chép"</string> <string name="paste" msgid="5629880836805036433">"Dán"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Dán dưới dạng văn bản thuần túy"</string> <string name="replace" msgid="5781686059063148930">"Thay thế..."</string> <string name="delete" msgid="6098684844021697789">"Xóa"</string> <string name="copyUrl" msgid="2538211579596067402">"Sao chép URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Chá»n văn bản"</string> + <string name="undo" msgid="7905788502491742328">"Hoà n tác"</string> + <string name="redo" msgid="7759464876566803888">"Là m lại"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Lá»±a chá»n văn bản"</string> <string name="addToDictionary" msgid="4352161534510057874">"Thêm và o từ Ä‘iển"</string> <string name="deleteText" msgid="6979668428458199034">"Xóa"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Thay đổi hình ná»n"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Trình xá» lý thông báo"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Trình cung cấp Ä‘iá»u kiện"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Trợ lý thông báo"</string> <string name="vpn_title" msgid="19615213552042827">"Äã kÃch hoạt VPN"</string> <string name="vpn_title_long" msgid="6400714798049252294">"VPN được <xliff:g id="APP">%s</xliff:g> kÃch hoạt"</string> <string name="vpn_text" msgid="3011306607126450322">"Chạm để quản lý mạng."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"ÄÆ°á»£c cáºp nháºt bởi quản trị viên cá»§a bạn"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Äã bị xóa bởi quản trị viên cá»§a bạn"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Äể giúp tăng tuổi thá» pin, trình tiết kiệm pin sẽ giảm hiệu suất thiết bị cá»§a bạn và hạn chế rung, dịch vụ vị trà và hầu hết dữ liệu ná»n. Email, nhắn tin và các ứng dụng khác dá»±a trên đồng bá»™ hóa có thể không cáºp nháºt nếu bạn không mở chúng.\n\nTrình tiết kiệm pin tá»± động tắt khi thiết bị cá»§a bạn Ä‘ang sạc."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Mức độ quan trá»ng"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Äã chặn: Không bao giá» hiển thị các thông báo nà y"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Thấp: Hiển thị im lặng ở cuối danh sách thông báo"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Bình thưá»ng: Hiển thị im lặng các thông báo nà y"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Cao: Hiển thị ở đầu danh sách thông báo và phát ra âm thanh"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Khẩn cấp: Hiển thị trên mà n hình và phát ra âm thanh"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">Trong %1$d phút (cho đến <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">Trong má»™t phút (cho đến <xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml index 1803f9990385..77053f2e7bcb 100644 --- a/core/res/res/values-zh-rCN/strings.xml +++ b/core/res/res/values-zh-rCN/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"ç«‹å³é”定"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g> æ¡ï¼‰"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"内容已éšè—"</string> <string name="safeMode" msgid="2788228061547930246">"安全模å¼"</string> <string name="android_system_label" msgid="6577375335728551336">"Android 系统"</string> <string name="user_owner_label" msgid="2804351898001038951">"个人"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"剪切"</string> <string name="copy" msgid="2681946229533511987">"å¤åˆ¶"</string> <string name="paste" msgid="5629880836805036433">"粘贴"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"以纯文本形å¼ç²˜è´´"</string> <string name="replace" msgid="5781686059063148930">"替æ¢..."</string> <string name="delete" msgid="6098684844021697789">"åˆ é™¤"</string> <string name="copyUrl" msgid="2538211579596067402">"å¤åˆ¶ç½‘å€"</string> <string name="selectTextMode" msgid="1018691815143165326">"选择文å—"</string> + <string name="undo" msgid="7905788502491742328">"撤消"</string> + <string name="redo" msgid="7759464876566803888">"é‡åš"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"æ–‡å—选择"</string> <string name="addToDictionary" msgid="4352161534510057874">"æ·»åŠ åˆ°å—å…¸"</string> <string name="deleteText" msgid="6979668428458199034">"åˆ é™¤"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"更改å£çº¸"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"通知侦å¬å™¨"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"æ¡ä»¶æä¾›ç¨‹åº"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"通知助手"</string> <string name="vpn_title" msgid="19615213552042827">"已激活VPN"</string> <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g>已激活VPN"</string> <string name="vpn_text" msgid="3011306607126450322">"触摸å¯ç®¡ç†ç½‘络。"</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"由您å•ä½çš„管ç†å‘˜æ›´æ–°"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"已被管ç†å‘˜åˆ 除"</string> <string name="battery_saver_description" msgid="1960431123816253034">"ä¸ºäº†å»¶é•¿ç”µæ± çš„ç»èˆªæ—¶é—´ï¼ŒèŠ‚ç”µåŠ©æ‰‹ä¼šé™ä½Žè®¾å¤‡çš„æ€§èƒ½ï¼Œå¹¶é™åˆ¶æŒ¯åЍã€ä½ç½®ä¿¡æ¯æœåŠ¡å’Œå¤§éƒ¨åˆ†åŽå°æµé‡ã€‚对于电å邮件ã€èŠå¤©å·¥å…·ç‰ä¾èµ–äºŽåŒæ¥åŠŸèƒ½çš„åº”ç”¨ï¼Œå¯èƒ½è¦æ‰“开这类应用时æ‰èƒ½æ”¶åˆ°æ–°ä¿¡æ¯ã€‚\n\n节电助手会在设备充电时自动关é—。"</string> - <string name="notification_importance_title" msgid="7493989722610008700">"é‡è¦æ€§"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"å±è”½ï¼šä¸€å¾‹ä¸æ˜¾ç¤ºè¿™äº›é€šçŸ¥"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"低:在通知列表底部显示,ä¸å‘出æç¤ºéŸ³"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"一般:显示这些通知,但ä¸å‘出æç¤ºéŸ³"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"高:在通知列表顶部显示,并å‘出æç¤ºéŸ³"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"紧急:在å±å¹•上æŒç»æ˜¾ç¤ºï¼Œå¹¶å‘出æç¤ºéŸ³"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">%1$d 分钟(到<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">1 分钟(到<xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> @@ -1512,5 +1511,5 @@ </plurals> <string name="default_notification_topic_label" msgid="227586145791870829">"å…¶ä»–"</string> <string name="importance_from_topic" msgid="3572280439880023233">"这些通知的é‡è¦æ€§ç”±æ‚¨æ¥è®¾ç½®ã€‚"</string> - <string name="importance_from_person" msgid="9160133597262938296">"è¿™æ¡é€šçŸ¥æ¶‰åŠç‰¹å®šäººå£«ï¼Œå› æ¤è¢«å½’为é‡è¦é€šçŸ¥ã€‚"</string> + <string name="importance_from_person" msgid="9160133597262938296">"è¿™æ¡é€šçŸ¥æ¶‰åŠç‰¹å®šçš„äººï¼Œå› æ¤è¢«å½’为é‡è¦é€šçŸ¥ã€‚"</string> </resources> diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml index 4b6320cdf3b9..612efe4a0248 100644 --- a/core/res/res/values-zh-rHK/strings.xml +++ b/core/res/res/values-zh-rHK/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"ç«‹å³éŽ–å®š"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"內容已隱è—"</string> <string name="safeMode" msgid="2788228061547930246">"安全模å¼"</string> <string name="android_system_label" msgid="6577375335728551336">"Android 系統"</string> <string name="user_owner_label" msgid="2804351898001038951">"個人"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"剪下"</string> <string name="copy" msgid="2681946229533511987">"複製"</string> <string name="paste" msgid="5629880836805036433">"貼上"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"ä»¥ç´”æ–‡å—æ ¼å¼è²¼ä¸Š"</string> <string name="replace" msgid="5781686059063148930">"å–代..."</string> <string name="delete" msgid="6098684844021697789">"刪除"</string> <string name="copyUrl" msgid="2538211579596067402">"複製網å€"</string> <string name="selectTextMode" msgid="1018691815143165326">"é¸å–æ–‡å—"</string> + <string name="undo" msgid="7905788502491742328">"復原"</string> + <string name="redo" msgid="7759464876566803888">"å–æ¶ˆå¾©åŽŸ"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"é¸å–æ–‡å—"</string> <string name="addToDictionary" msgid="4352161534510057874">"åŠ å…¥å—å…¸"</string> <string name="deleteText" msgid="6979668428458199034">"刪除"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"變更桌布"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"通知接è½å™¨"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"æ¢ä»¶ä¾›æ‡‰å•†"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"通知å°å¹«æ‰‹"</string> <string name="vpn_title" msgid="19615213552042827">"VPN 已啟用。"</string> <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> 已啟用 VPN"</string> <string name="vpn_text" msgid="3011306607126450322">"輕觸å³å¯ç®¡ç†ç¶²çµ¡ã€‚"</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"已由您的管ç†å“¡æ›´æ–°"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"已由管ç†å“¡åˆªé™¤"</string> <string name="battery_saver_description" msgid="1960431123816253034">"ç¯€ç´„é›»æ± ç”¨é‡æ¨¡å¼æœ‰åŠ©æ–¼å»¶é•·é›»æ± å£½å‘½ï¼Œä½†é€™æœƒé™ä½Žè£ç½®æ•ˆèƒ½ï¼Œä¸¦é™åˆ¶éœ‡å‹•ã€å®šä½æœå‹™åŠå¤§éƒ¨åˆ†èƒŒæ™¯æ•¸æ“šå‚³è¼¸ã€‚é™¤éžæ‚¨å•Ÿç”¨ï¼Œå¦å‰‡é›»éƒµã€çŸè¨ŠåŠå…¶ä»–需è¦ä½¿ç”¨åŒæ¥åŠŸèƒ½çš„æ‡‰ç”¨ç¨‹å¼å‡ä¸æœƒæ›´æ–°ã€‚\n\nç•¶è£ç½®å……é›»æ™‚ï¼Œç¯€ç´„é›»æ± ç”¨é‡æ¨¡å¼æœƒè‡ªå‹•關閉。"</string> - <string name="notification_importance_title" msgid="7493989722610008700">"é‡è¦æ€§"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"å·²å°éŽ–ï¼šæ°¸ä¸é¡¯ç¤ºé€™äº›é€šçŸ¥"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"低:以éœéŸ³æ–¹å¼é¡¯ç¤ºåœ¨é€šçŸ¥æ¸…單底部"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"一般:以éœéŸ³æ–¹å¼é¡¯ç¤ºé€™äº›é€šçŸ¥"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"é«˜ï¼šé¡¯ç¤ºåœ¨é€šçŸ¥æ¸…å–®é ‚éƒ¨ä¸¦ç™¼å‡ºéŸ³æ•ˆ"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"ç·Šæ€¥ï¼šä¸æ™‚於螢幕出ç¾ä¸¦ç™¼å‡ºéŸ³æ•ˆ"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">需時 %1$d åˆ†é˜ (å®Œæˆæ™‚間:<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">需時 1 åˆ†é˜ (å®Œæˆæ™‚間:<xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml index 98f1848b0b42..201cc1e365c2 100644 --- a/core/res/res/values-zh-rTW/strings.xml +++ b/core/res/res/values-zh-rTW/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"ç«‹å³éŽ–å®š"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"è¶…éŽ 999"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"內容已隱è—"</string> <string name="safeMode" msgid="2788228061547930246">"安全模å¼"</string> <string name="android_system_label" msgid="6577375335728551336">"Android 系統"</string> <string name="user_owner_label" msgid="2804351898001038951">"個人"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"剪下"</string> <string name="copy" msgid="2681946229533511987">"複製"</string> <string name="paste" msgid="5629880836805036433">"貼上"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"以純文å—貼上"</string> <string name="replace" msgid="5781686059063148930">"å–代…"</string> <string name="delete" msgid="6098684844021697789">"刪除"</string> <string name="copyUrl" msgid="2538211579596067402">"複製網å€"</string> <string name="selectTextMode" msgid="1018691815143165326">"é¸å–æ–‡å—"</string> + <string name="undo" msgid="7905788502491742328">"復原"</string> + <string name="redo" msgid="7759464876566803888">"é‡åš"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"é¸å–æ–‡å—"</string> <string name="addToDictionary" msgid="4352161534510057874">"åŠ å…¥å—å…¸"</string> <string name="deleteText" msgid="6979668428458199034">"刪除"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"變更桌布"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"通知接è½å™¨"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"æ¢ä»¶æä¾›è€…"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"通知å°å¹«æ‰‹"</string> <string name="vpn_title" msgid="19615213552042827">"VPN 已啟用"</string> <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> 已啟用 VPN"</string> <string name="vpn_text" msgid="3011306607126450322">"輕觸å³å¯ç®¡ç†ç¶²è·¯ã€‚"</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"由您的管ç†å“¡æ›´æ–°"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"å·²é管ç†å“¡åˆªé™¤"</string> <string name="battery_saver_description" msgid="1960431123816253034">"ç¯€ç´„è€—é›»é‡æ¨¡å¼æœƒé€éŽé™ä½Žè£ç½®æ•ˆèƒ½ã€éœ‡å‹•é™åˆ¶ã€å®šä½æœå‹™é™åˆ¶å’Œå¤§å¤šæ•¸èƒŒæ™¯è³‡æ–™é‹ä½œé™åˆ¶ç‰æ–¹å¼ï¼Œå»¶é•·é›»æ± 續航力。æ¤å¤–,如果未開啟電å郵件ã€ç°¡è¨Šå’Œå…¶ä»–需è¦ä½¿ç”¨åŒæ¥åŠŸèƒ½çš„æ‡‰ç”¨ç¨‹å¼ï¼Œç³»çµ±å°‡ä¸æœƒè‡ªå‹•更新這些應用程å¼ã€‚\n\n當您為è£ç½®å……é›»æ™‚ï¼Œç¯€ç´„è€—é›»é‡æ¨¡å¼æœƒè‡ªå‹•關閉。"</string> - <string name="notification_importance_title" msgid="7493989722610008700">"é‡è¦æ€§"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"å°éŽ–ï¼šä¸€å¾‹ä¸é¡¯ç¤ºé€™äº›é€šçŸ¥"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"低:顯示在通知清單底部且ä¸ç™¼å‡ºä»»ä½•音效"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"一般:顯示這些通知且ä¸ç™¼å‡ºä»»ä½•音效"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"é«˜ï¼šé¡¯ç¤ºåœ¨é€šçŸ¥æ¸…å–®é ‚ç«¯ä¸¦ç™¼å‡ºéŸ³æ•ˆ"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"緊急:æŒçºŒé¡¯ç¤ºåœ¨èž¢å¹•上並發出音效"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="other">æŒçºŒ %1$d åˆ†é˜ (çµæŸæ™‚間:<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="one">æŒçºŒ 1 åˆ†é˜ (çµæŸæ™‚間:<xliff:g id="FORMATTEDTIME_0">%2$s</xliff:g>)</item> diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml index 09341ee37e60..5e835e39df1b 100644 --- a/core/res/res/values-zu/strings.xml +++ b/core/res/res/values-zu/strings.xml @@ -223,6 +223,7 @@ <string name="global_action_lockdown" msgid="8751542514724332873">"Khiya manje"</string> <string name="status_bar_notification_info_overflow" msgid="5301981741705354993">"999+"</string> <string name="notification_children_count_bracketed" msgid="1769425473168347839">"(<xliff:g id="NOTIFICATIONCOUNT">%d</xliff:g>)"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Okuqukethwe kufihliwe"</string> <string name="safeMode" msgid="2788228061547930246">"Imodi ephephile"</string> <string name="android_system_label" msgid="6577375335728551336">"Uhlelo lwe-Android"</string> <string name="user_owner_label" msgid="2804351898001038951">"Okomuntu siqu"</string> @@ -858,10 +859,13 @@ <string name="cut" msgid="3092569408438626261">"Nqamula"</string> <string name="copy" msgid="2681946229533511987">"Kopisha"</string> <string name="paste" msgid="5629880836805036433">"Namathisela"</string> + <string name="paste_as_plain_text" msgid="5427792741908010675">"Namathisela njengombhalo osobala"</string> <string name="replace" msgid="5781686059063148930">"Buyisela"</string> <string name="delete" msgid="6098684844021697789">"Susa"</string> <string name="copyUrl" msgid="2538211579596067402">"Kopisha i-URL"</string> <string name="selectTextMode" msgid="1018691815143165326">"Khetha umbhalo"</string> + <string name="undo" msgid="7905788502491742328">"Hlehlisa"</string> + <string name="redo" msgid="7759464876566803888">"Yenza futhi"</string> <string name="textSelectionCABTitle" msgid="5236850394370820357">"Inketho yombhalo"</string> <string name="addToDictionary" msgid="4352161534510057874">"Engeza kwisichazamazwi"</string> <string name="deleteText" msgid="6979668428458199034">"Susa"</string> @@ -1107,6 +1111,7 @@ <string name="chooser_wallpaper" msgid="7873476199295190279">"Shintsha iphephadonga"</string> <string name="notification_listener_binding_label" msgid="2014162835481906429">"Umlaleli wesaziso"</string> <string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Umhlinzeki wesimo"</string> + <string name="notification_assistant_binding_label" msgid="909456055569102952">"Umsizi wesaziso"</string> <string name="vpn_title" msgid="19615213552042827">"I-VPN isiyasebenza"</string> <string name="vpn_title_long" msgid="6400714798049252294">"i-VPN ivuswe ngu <xliff:g id="APP">%s</xliff:g>"</string> <string name="vpn_text" msgid="3011306607126450322">"Thinta ukuze wengamele inethiwekhi."</string> @@ -1440,12 +1445,6 @@ <string name="package_updated_device_owner" msgid="8856631322440187071">"Ibuyekezwe ngumqondisi wakho"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Isuswe ngumlawuli wakho"</string> <string name="battery_saver_description" msgid="1960431123816253034">"Ukusiza ukuthuthukisa impilo yebhethri, isilondoloze sebhethri sehlisa ukusebenza kwedivayisi yakho futhi sikhawulele ukudlidliza, amasevisi wendawo, nedatha eningi yangasemuva. I-imeyili, imilayezo, nezinye izinhlelo zokusebenza ezincike ekuvumelaniseni zingahle zingabuyekezwa ngaphandle kokuthi uzivule.\n\nIsilondolozi sebhethri siyavaleka ngokuzenzakalelayo uma idivayisi yakho ishaja."</string> - <string name="notification_importance_title" msgid="7493989722610008700">"Ukubaluleka"</string> - <string name="notification_importance_blocked" msgid="7118826900767047125">"Okuvinjiwe: Ungalokothi ubonise lezi zaziso"</string> - <string name="notification_importance_low" msgid="6447640449918427187">"Okuphansi: Bonisa ngokuthulile ngaphansi kohlu lwesaziso"</string> - <string name="notification_importance_default" msgid="7991157697609575271">"Okujwayelekile: Bonisa ngokuthulile lezi zaziso"</string> - <string name="notification_importance_high" msgid="3152238637737215654">"Okuphezulu: Bonisa ngaphezulu kohlu lwezaziso uphinde wenze umsindo"</string> - <string name="notification_importance_max" msgid="1153693080467904474">"Okuphuthumayo: Bheka kusikrini uphinde wenze umsindo"</string> <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848"> <item quantity="one">Okwamaminithi angu-%1$d (kuze kube ngo-<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> <item quantity="other">Okwamaminithi angu-%1$d (kuze kube ngo-<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item> diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index ec24af51ac05..ef6b467ed103 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -47,7 +47,7 @@ <!-- How much the content in the divider is inset from the window bounds when resting. Used to calculate the bounds of the stacks--> - <dimen name="docked_stack_divider_insets">18dp</dimen> + <dimen name="docked_stack_divider_insets">19dp</dimen> <!-- Min width for a tablet device --> <dimen name="min_xlarge_screen_width">800dp</dimen> diff --git a/core/res/res/values/locale_config.xml b/core/res/res/values/locale_config.xml index dae7a2eb3d89..eee577178c38 100644 --- a/core/res/res/values/locale_config.xml +++ b/core/res/res/values/locale_config.xml @@ -1,8 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!-- -/* //device/apps/common/assets/res/any/colors.xml -** -** Copyright 2006, The Android Open Source Project +** Copyright 2015 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. @@ -332,7 +330,6 @@ <item>ko-KP</item> <!-- Korean (North Korea) --> <item>ko-KR</item> <!-- Korean (South Korea) --> <item>kok-IN</item> <!-- Konkani (India) --> - <item>ks-IN</item> <!-- Kashmiri (India) --> <item>ksb-TZ</item> <!-- Shambala (Tanzania) --> <item>ksf-CM</item> <!-- Bafia (Cameroon) --> <item>ksh-DE</item> <!-- Colognian (Germany) --> @@ -347,8 +344,6 @@ <item>ln-CF</item> <!-- Lingala (Central African Republic) --> <item>ln-CG</item> <!-- Lingala (Congo (Republic)) --> <item>lo-LA</item> <!-- Lao (Laos) --> - <item>lrc-IQ</item> <!-- Northern Luri (Iraq) --> - <item>lrc-IR</item> <!-- Northern Luri (Iran) --> <item>lt-LT</item> <!-- Lithuanian (Lithuania) --> <item>lu-CD</item> <!-- Luba-Katanga (Congo (DRC)) --> <item>luo-KE</item> <!-- Luo (Kenya) --> @@ -369,7 +364,6 @@ <item>ms-MY</item> <!-- Malay (Malaysia) --> <item>ms-SG</item> <!-- Malay (Singapore) --> <item>mt-MT</item> <!-- Maltese (Malta) --> - <item>mua-CM</item> <!-- Mundang (Cameroon) --> <item>my-MM</item> <!-- Burmese (Myanmar (Burma)) --> <item>mzn-IR</item> <!-- Mazanderani (Iran) --> <item>naq-NA</item> <!-- Nama (Namibia) --> @@ -433,8 +427,6 @@ <item>seh-MZ</item> <!-- Sena (Mozambique) --> <item>ses-ML</item> <!-- Koyraboro Senni (Mali) --> <item>sg-CF</item> <!-- Sango (Central African Republic) --> - <item>shi-Latn-MA</item> <!-- Tachelhit (Latin,Morocco) --> - <item>shi-Tfng-MA</item> <!-- Tachelhit (Tifinagh,Morocco) --> <item>si-LK</item> <!-- Sinhala (Sri Lanka) --> <item>sk-SK</item> <!-- Slovak (Slovakia) --> <item>sl-SI</item> <!-- Slovenian (Slovenia) --> @@ -484,8 +476,6 @@ <item>uz-Arab-AF</item> <!-- Uzbek (Arabic,Afghanistan) --> <item>uz-Cyrl-UZ</item> <!-- Uzbek (Cyrillic,Uzbekistan) --> <item>uz-Latn-UZ</item> <!-- Uzbek (Latin,Uzbekistan) --> - <item>vai-Latn-LR</item> <!-- Vai (Latin,Liberia) --> - <item>vai-Vaii-LR</item> <!-- Vai (Vai,Liberia) --> <item>vi-VN</item> <!-- Vietnamese (Vietnam) --> <item>vun-TZ</item> <!-- Vunjo (Tanzania) --> <item>wae-CH</item> <!-- Walser (Switzerland) --> diff --git a/core/res/res/values/styles_material.xml b/core/res/res/values/styles_material.xml index 74ebf266910a..8485e59be5a9 100644 --- a/core/res/res/values/styles_material.xml +++ b/core/res/res/values/styles_material.xml @@ -432,6 +432,8 @@ please see styles_device_defaults.xml. <item name="textSize">@dimen/notification_text_size</item> </style> + <style name="TextAppearance.Material.Notification.Reply" /> + <style name="TextAppearance.Material.Notification.Title"> <item name="textColor">@color/primary_text_default_material_light</item> <item name="textSize">@dimen/notification_title_text_size</item> diff --git a/core/res/res/values/styles_micro.xml b/core/res/res/values/styles_micro.xml index 05835e7b41ab..7dde5f8fc96a 100644 --- a/core/res/res/values/styles_micro.xml +++ b/core/res/res/values/styles_micro.xml @@ -26,6 +26,10 @@ <item name="taskOpenExitAnimation">@null</item> <item name="taskCloseEnterAnimation">@null</item> <item name="taskCloseExitAnimation">@anim/slide_out_micro</item> + <item name="taskToFrontEnterAnimation">@anim/slide_in_micro</item> + <item name="taskToFrontExitAnimation">@null</item> + <item name="taskToBackEnterAnimation">@null</item> + <item name="taskToBackExitAnimation">@anim/slide_out_micro</item> <item name="wallpaperOpenEnterAnimation">@null</item> <item name="wallpaperOpenExitAnimation">@anim/slide_out_micro</item> <item name="wallpaperCloseEnterAnimation">@anim/slide_in_micro</item> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index b40fc3b87cb9..3c1d944a5272 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2366,6 +2366,11 @@ <java-symbol type="id" name="addToDictionaryButton" /> <java-symbol type="id" name="deleteButton" /> + <java-symbol type="id" name="notification_material_reply_container" /> + <java-symbol type="id" name="notification_material_reply_text_1" /> + <java-symbol type="id" name="notification_material_reply_text_2" /> + <java-symbol type="id" name="notification_material_reply_text_3" /> + <java-symbol type="string" name="notification_children_count_bracketed" /> <java-symbol type="string" name="notification_hidden_text" /> <java-symbol type="id" name="app_name_text" /> diff --git a/data/etc/platform.xml b/data/etc/platform.xml index b4f88c332314..999d47bea696 100644 --- a/data/etc/platform.xml +++ b/data/etc/platform.xml @@ -44,6 +44,7 @@ <permission name="android.permission.BLUETOOTH_STACK" > <group gid="net_bt_stack" /> + <group gid="wakelock" /> </permission> <permission name="android.permission.NET_TUNNELING" > diff --git a/graphics/java/android/graphics/drawable/Icon.aidl b/graphics/java/android/graphics/drawable/Icon.aidl new file mode 100644 index 000000000000..b82cfc49f4f4 --- /dev/null +++ b/graphics/java/android/graphics/drawable/Icon.aidl @@ -0,0 +1,19 @@ +/** + * Copyright (c) 2015, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.graphics.drawable; + +parcelable Icon; diff --git a/graphics/java/android/graphics/drawable/VectorDrawable.java b/graphics/java/android/graphics/drawable/VectorDrawable.java index 3761a99759c1..65260210042c 100644 --- a/graphics/java/android/graphics/drawable/VectorDrawable.java +++ b/graphics/java/android/graphics/drawable/VectorDrawable.java @@ -20,15 +20,9 @@ import android.content.res.ColorStateList; import android.content.res.Resources; import android.content.res.Resources.Theme; import android.content.res.TypedArray; -import android.graphics.Bitmap; import android.graphics.Canvas; -import android.graphics.Color; import android.graphics.ColorFilter; import android.graphics.Insets; -import android.graphics.Matrix; -import android.graphics.Paint; -import android.graphics.Path; -import android.graphics.PathMeasure; import android.graphics.PixelFormat; import android.graphics.PorterDuffColorFilter; import android.graphics.Rect; @@ -38,7 +32,6 @@ import android.util.AttributeSet; import android.util.DisplayMetrics; import android.util.LayoutDirection; import android.util.Log; -import android.util.MathUtils; import android.util.PathParser; import android.util.Xml; @@ -48,6 +41,8 @@ import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; import java.util.ArrayList; import java.util.Stack; @@ -196,21 +191,6 @@ public class VectorDrawable extends Drawable { private static final String SHAPE_PATH = "path"; private static final String SHAPE_VECTOR = "vector"; - private static final int LINECAP_BUTT = 0; - private static final int LINECAP_ROUND = 1; - private static final int LINECAP_SQUARE = 2; - - private static final int LINEJOIN_MITER = 0; - private static final int LINEJOIN_ROUND = 1; - private static final int LINEJOIN_BEVEL = 2; - - // Cap the bitmap size, such that it won't hurt the performance too much - // and it won't crash due to a very large scale. - // The drawable will look blurry above this size. - private static final int MAX_CACHED_BITMAP_SIZE = 2048; - - private static final boolean DBG_VECTOR_DRAWABLE = false; - private VectorDrawableState mVectorState; private PorterDuffColorFilter mTintFilter; @@ -218,10 +198,6 @@ public class VectorDrawable extends Drawable { private boolean mMutated; - // AnimatedVectorDrawable needs to turn off the cache all the time, otherwise, - // caching the bitmap by default is allowed. - private boolean mAllowCaching = true; - /** The density of the display on which this drawable will be rendered. */ private int mTargetDensity; @@ -235,8 +211,6 @@ public class VectorDrawable extends Drawable { private boolean mDpiScaledDirty = true; // Temp variable, only for saving "new" operation at the draw() time. - private final float[] mTmpFloats = new float[9]; - private final Matrix mTmpMatrix = new Matrix(); private final Rect mTmpBounds = new Rect(); public VectorDrawable() { @@ -249,7 +223,6 @@ public class VectorDrawable extends Drawable { */ private VectorDrawable(@NonNull VectorDrawableState state, @Nullable Resources res) { mVectorState = state; - updateLocalState(res); } @@ -262,7 +235,7 @@ public class VectorDrawable extends Drawable { * displayed, or {@code null} to use the constant state defaults */ private void updateLocalState(Resources res) { - final int density = Drawable.resolveDensity(res, mVectorState.mVPathRenderer.mDensity); + final int density = Drawable.resolveDensity(res, mVectorState.mDensity); if (mTargetDensity != density) { mTargetDensity = density; mDpiScaledDirty = true; @@ -289,7 +262,7 @@ public class VectorDrawable extends Drawable { } Object getTargetByName(String name) { - return mVectorState.mVPathRenderer.mVGTargetsMap.get(name); + return mVectorState.mVGTargetsMap.get(name); } @Override @@ -310,61 +283,23 @@ public class VectorDrawable extends Drawable { // Color filters always override tint filters. final ColorFilter colorFilter = (mColorFilter == null ? mTintFilter : mColorFilter); - - // The imageView can scale the canvas in different ways, in order to - // avoid blurry scaling, we have to draw into a bitmap with exact pixel - // size first. This bitmap size is determined by the bounds and the - // canvas scale. - canvas.getMatrix(mTmpMatrix); - mTmpMatrix.getValues(mTmpFloats); - float canvasScaleX = Math.abs(mTmpFloats[Matrix.MSCALE_X]); - float canvasScaleY = Math.abs(mTmpFloats[Matrix.MSCALE_Y]); - int scaledWidth = (int) (mTmpBounds.width() * canvasScaleX); - int scaledHeight = (int) (mTmpBounds.height() * canvasScaleY); - scaledWidth = Math.min(MAX_CACHED_BITMAP_SIZE, scaledWidth); - scaledHeight = Math.min(MAX_CACHED_BITMAP_SIZE, scaledHeight); - - if (scaledWidth <= 0 || scaledHeight <= 0) { - return; - } - - final int saveCount = canvas.save(); - canvas.translate(mTmpBounds.left, mTmpBounds.top); - - // Handle RTL mirroring. - final boolean needMirroring = needMirroring(); - if (needMirroring) { - canvas.translate(mTmpBounds.width(), 0); - canvas.scale(-1.0f, 1.0f); - } - - // At this point, canvas has been translated to the right position. - // And we use this bound for the destination rect for the drawBitmap, so - // we offset to (0, 0); - mTmpBounds.offsetTo(0, 0); - - mVectorState.createCachedBitmapIfNeeded(scaledWidth, scaledHeight); - if (!mAllowCaching) { - mVectorState.updateCachedBitmap(scaledWidth, scaledHeight); - } else { - if (!mVectorState.canReuseCache()) { - mVectorState.updateCachedBitmap(scaledWidth, scaledHeight); - mVectorState.updateCacheStates(); - } - } - mVectorState.drawCachedBitmapWithRootAlpha(canvas, colorFilter, mTmpBounds); - canvas.restoreToCount(saveCount); + final long colorFilterNativeInstance = colorFilter == null ? 0 : + colorFilter.native_instance; + boolean canReuseCache = mVectorState.canReuseCache(); + nDraw(mVectorState.getNativeRenderer(), canvas.getNativeCanvasWrapper(), + colorFilterNativeInstance, mTmpBounds, needMirroring(), + canReuseCache); } + @Override public int getAlpha() { - return mVectorState.mVPathRenderer.getRootAlpha(); + return (int) (mVectorState.getAlpha() * 255); } @Override public void setAlpha(int alpha) { - if (mVectorState.mVPathRenderer.getRootAlpha() != alpha) { - mVectorState.mVPathRenderer.setRootAlpha(alpha); + if (mVectorState.setAlpha(alpha / 255f)) { invalidateSelf(); } } @@ -410,7 +345,7 @@ public class VectorDrawable extends Drawable { boolean changed = false; final VectorDrawableState state = mVectorState; - if (state.mVPathRenderer != null && state.mVPathRenderer.onStateChange(stateSet)) { + if (state.onStateChange(stateSet)) { changed = true; state.mCacheDirty = true; } @@ -457,16 +392,15 @@ public class VectorDrawable extends Drawable { * from the source density against which the constant state was loaded. */ void computeVectorSize() { - final VPathRenderer pathRenderer = mVectorState.mVPathRenderer; - final Insets opticalInsets = pathRenderer.mOpticalInsets; + final Insets opticalInsets = mVectorState.mOpticalInsets; - final int sourceDensity = pathRenderer.mDensity; + final int sourceDensity = mVectorState.mDensity; final int targetDensity = mTargetDensity; if (targetDensity != sourceDensity) { mDpiScaledWidth = Drawable.scaleFromDensity( - (int) pathRenderer.mBaseWidth, sourceDensity, targetDensity, true); + (int) mVectorState.mBaseWidth, sourceDensity, targetDensity, true); mDpiScaledHeight = Drawable.scaleFromDensity( - (int) pathRenderer.mBaseHeight,sourceDensity, targetDensity, true); + (int) mVectorState.mBaseHeight,sourceDensity, targetDensity, true); final int left = Drawable.scaleFromDensity( opticalInsets.left, sourceDensity, targetDensity, false); final int right = Drawable.scaleFromDensity( @@ -477,8 +411,8 @@ public class VectorDrawable extends Drawable { opticalInsets.bottom, sourceDensity, targetDensity, false); mDpiScaledInsets = Insets.of(left, top, right, bottom); } else { - mDpiScaledWidth = (int) pathRenderer.mBaseWidth; - mDpiScaledHeight = (int) pathRenderer.mBaseHeight; + mDpiScaledWidth = (int) mVectorState.mBaseWidth; + mDpiScaledHeight = (int) mVectorState.mBaseHeight; mDpiScaledInsets = opticalInsets; } @@ -499,8 +433,7 @@ public class VectorDrawable extends Drawable { return; } - final VPathRenderer path = state.mVPathRenderer; - final boolean changedDensity = path.setDensity( + final boolean changedDensity = mVectorState.setDensity( Drawable.resolveDensity(t.getResources(), 0)); mDpiScaledDirty |= changedDensity; @@ -511,7 +444,7 @@ public class VectorDrawable extends Drawable { state.mCacheDirty = true; updateStateFromTypedArray(a); } catch (XmlPullParserException e) { - rethrowAsRuntimeException(e); + throw new RuntimeException(e); } finally { a.recycle(); } @@ -525,8 +458,8 @@ public class VectorDrawable extends Drawable { state.mTint = state.mTint.obtainForTheme(t); } - if (path != null && path.canApplyTheme()) { - path.applyTheme(t); + if (mVectorState != null && mVectorState.canApplyTheme()) { + mVectorState.applyTheme(t); } // Update local properties. @@ -540,17 +473,17 @@ public class VectorDrawable extends Drawable { * @hide */ public float getPixelSize() { - if (mVectorState == null || mVectorState.mVPathRenderer == null || - mVectorState.mVPathRenderer.mBaseWidth == 0 || - mVectorState.mVPathRenderer.mBaseHeight == 0 || - mVectorState.mVPathRenderer.mViewportHeight == 0 || - mVectorState.mVPathRenderer.mViewportWidth == 0) { + if (mVectorState == null || + mVectorState.mBaseWidth == 0 || + mVectorState.mBaseHeight == 0 || + mVectorState.mViewportHeight == 0 || + mVectorState.mViewportWidth == 0) { return 1; // fall back to 1:1 pixel mapping. } - float intrinsicWidth = mVectorState.mVPathRenderer.mBaseWidth; - float intrinsicHeight = mVectorState.mVPathRenderer.mBaseHeight; - float viewportWidth = mVectorState.mVPathRenderer.mViewportWidth; - float viewportHeight = mVectorState.mVPathRenderer.mViewportHeight; + float intrinsicWidth = mVectorState.mBaseWidth; + float intrinsicHeight = mVectorState.mBaseHeight; + float viewportWidth = mVectorState.mViewportWidth; + float viewportHeight = mVectorState.mViewportHeight; float scaleX = viewportWidth / intrinsicWidth; float scaleY = viewportHeight / intrinsicHeight; return Math.min(scaleX, scaleY); @@ -582,20 +515,20 @@ public class VectorDrawable extends Drawable { return null; } - private static int applyAlpha(int color, float alpha) { - int alphaBytes = Color.alpha(color); - color &= 0x00FFFFFF; - color |= ((int) (alphaBytes * alpha)) << 24; - return color; - } - @Override public void inflate(@NonNull Resources r, @NonNull XmlPullParser parser, @NonNull AttributeSet attrs, @Nullable Theme theme) throws XmlPullParserException, IOException { + if (mVectorState.mRootGroup != null || mVectorState.mNativeRendererPtr != 0) { + // This VD has been used to display other VD resource content, clean up. + mVectorState.mRootGroup = new VGroup(); + if (mVectorState.mNativeRendererPtr != 0) { + nDestroyRenderer(mVectorState.mNativeRendererPtr); + } + mVectorState.mNativeRendererPtr = nCreateRenderer(mVectorState.mRootGroup.mNativePtr); + } final VectorDrawableState state = mVectorState; - state.mVPathRenderer = new VPathRenderer(); - state.mVPathRenderer.setDensity(Drawable.resolveDensity(r, 0)); + state.setDensity(Drawable.resolveDensity(r, 0)); final TypedArray a = obtainAttributes(r, theme, attrs, R.styleable.VectorDrawable); updateStateFromTypedArray(a); @@ -612,7 +545,6 @@ public class VectorDrawable extends Drawable { private void updateStateFromTypedArray(TypedArray a) throws XmlPullParserException { final VectorDrawableState state = mVectorState; - final VPathRenderer pathRenderer = state.mVPathRenderer; // Account for any configuration changes. state.mChangingConfigurations |= a.getChangingConfigurations(); @@ -633,63 +565,63 @@ public class VectorDrawable extends Drawable { state.mAutoMirrored = a.getBoolean( R.styleable.VectorDrawable_autoMirrored, state.mAutoMirrored); - pathRenderer.mViewportWidth = a.getFloat( - R.styleable.VectorDrawable_viewportWidth, pathRenderer.mViewportWidth); - pathRenderer.mViewportHeight = a.getFloat( - R.styleable.VectorDrawable_viewportHeight, pathRenderer.mViewportHeight); + float viewportWidth = a.getFloat( + R.styleable.VectorDrawable_viewportWidth, state.mViewportWidth); + float viewportHeight = a.getFloat( + R.styleable.VectorDrawable_viewportHeight, state.mViewportHeight); + state.setViewportSize(viewportWidth, viewportHeight); - if (pathRenderer.mViewportWidth <= 0) { + if (state.mViewportWidth <= 0) { throw new XmlPullParserException(a.getPositionDescription() + "<vector> tag requires viewportWidth > 0"); - } else if (pathRenderer.mViewportHeight <= 0) { + } else if (state.mViewportHeight <= 0) { throw new XmlPullParserException(a.getPositionDescription() + "<vector> tag requires viewportHeight > 0"); } - pathRenderer.mBaseWidth = a.getDimension( - R.styleable.VectorDrawable_width, pathRenderer.mBaseWidth); - pathRenderer.mBaseHeight = a.getDimension( - R.styleable.VectorDrawable_height, pathRenderer.mBaseHeight); + state.mBaseWidth = a.getDimension( + R.styleable.VectorDrawable_width, state.mBaseWidth); + state.mBaseHeight = a.getDimension( + R.styleable.VectorDrawable_height, state.mBaseHeight); - if (pathRenderer.mBaseWidth <= 0) { + if (state.mBaseWidth <= 0) { throw new XmlPullParserException(a.getPositionDescription() + "<vector> tag requires width > 0"); - } else if (pathRenderer.mBaseHeight <= 0) { + } else if (state.mBaseHeight <= 0) { throw new XmlPullParserException(a.getPositionDescription() + "<vector> tag requires height > 0"); } final int insetLeft = a.getDimensionPixelOffset( - R.styleable.VectorDrawable_opticalInsetLeft, pathRenderer.mOpticalInsets.left); + R.styleable.VectorDrawable_opticalInsetLeft, state.mOpticalInsets.left); final int insetTop = a.getDimensionPixelOffset( - R.styleable.VectorDrawable_opticalInsetTop, pathRenderer.mOpticalInsets.top); + R.styleable.VectorDrawable_opticalInsetTop, state.mOpticalInsets.top); final int insetRight = a.getDimensionPixelOffset( - R.styleable.VectorDrawable_opticalInsetRight, pathRenderer.mOpticalInsets.right); + R.styleable.VectorDrawable_opticalInsetRight, state.mOpticalInsets.right); final int insetBottom = a.getDimensionPixelOffset( - R.styleable.VectorDrawable_opticalInsetBottom, pathRenderer.mOpticalInsets.bottom); - pathRenderer.mOpticalInsets = Insets.of(insetLeft, insetTop, insetRight, insetBottom); + R.styleable.VectorDrawable_opticalInsetBottom, state.mOpticalInsets.bottom); + state.mOpticalInsets = Insets.of(insetLeft, insetTop, insetRight, insetBottom); final float alphaInFloat = a.getFloat( - R.styleable.VectorDrawable_alpha, pathRenderer.getAlpha()); - pathRenderer.setAlpha(alphaInFloat); + R.styleable.VectorDrawable_alpha, state.getAlpha()); + state.setAlpha(alphaInFloat); final String name = a.getString(R.styleable.VectorDrawable_name); if (name != null) { - pathRenderer.mRootName = name; - pathRenderer.mVGTargetsMap.put(name, pathRenderer); + state.mRootName = name; + state.mVGTargetsMap.put(name, state); } } private void inflateChildElements(Resources res, XmlPullParser parser, AttributeSet attrs, Theme theme) throws XmlPullParserException, IOException { final VectorDrawableState state = mVectorState; - final VPathRenderer pathRenderer = state.mVPathRenderer; boolean noPathTag = true; // Use a stack to help to build the group tree. // The top of the stack is always the current group. final Stack<VGroup> groupStack = new Stack<VGroup>(); - groupStack.push(pathRenderer.mRootGroup); + groupStack.push(state.mRootGroup); int eventType = parser.getEventType(); while (eventType != XmlPullParser.END_DOCUMENT) { @@ -702,7 +634,7 @@ public class VectorDrawable extends Drawable { path.inflate(res, attrs, theme); currentGroup.addChild(path); if (path.getPathName() != null) { - pathRenderer.mVGTargetsMap.put(path.getPathName(), path); + state.mVGTargetsMap.put(path.getPathName(), path); } noPathTag = false; state.mChangingConfigurations |= path.mChangingConfigurations; @@ -711,7 +643,7 @@ public class VectorDrawable extends Drawable { path.inflate(res, attrs, theme); currentGroup.addChild(path); if (path.getPathName() != null) { - pathRenderer.mVGTargetsMap.put(path.getPathName(), path); + state.mVGTargetsMap.put(path.getPathName(), path); } state.mChangingConfigurations |= path.mChangingConfigurations; } else if (SHAPE_GROUP.equals(tagName)) { @@ -720,7 +652,7 @@ public class VectorDrawable extends Drawable { currentGroup.addChild(newChildGroup); groupStack.push(newChildGroup); if (newChildGroup.getGroupName() != null) { - pathRenderer.mVGTargetsMap.put(newChildGroup.getGroupName(), + state.mVGTargetsMap.put(newChildGroup.getGroupName(), newChildGroup); } state.mChangingConfigurations |= newChildGroup.mChangingConfigurations; @@ -734,11 +666,6 @@ public class VectorDrawable extends Drawable { eventType = parser.next(); } - // Print the tree out for debug. - if (DBG_VECTOR_DRAWABLE) { - pathRenderer.printGroupTree(); - } - if (noPathTag) { final StringBuffer tag = new StringBuffer(); @@ -757,7 +684,7 @@ public class VectorDrawable extends Drawable { } void setAllowCaching(boolean allowCaching) { - mAllowCaching = allowCaching; + nSetAllowCaching(mVectorState.getNativeRenderer(), allowCaching); } private boolean needMirroring() { @@ -778,84 +705,68 @@ public class VectorDrawable extends Drawable { } private static class VectorDrawableState extends ConstantState { + // Variables below need to be copied (deep copy if applicable) for mutation. int[] mThemeAttrs; int mChangingConfigurations; - VPathRenderer mVPathRenderer; ColorStateList mTint = null; Mode mTintMode = DEFAULT_TINT_MODE; boolean mAutoMirrored; - Bitmap mCachedBitmap; + float mBaseWidth = 0; + float mBaseHeight = 0; + float mViewportWidth = 0; + float mViewportHeight = 0; + Insets mOpticalInsets = Insets.NONE; + String mRootName = null; + VGroup mRootGroup; + long mNativeRendererPtr; + + int mDensity = DisplayMetrics.DENSITY_DEFAULT; + final ArrayMap<String, Object> mVGTargetsMap = new ArrayMap<>(); + + // Fields for cache int[] mCachedThemeAttrs; ColorStateList mCachedTint; Mode mCachedTintMode; - int mCachedRootAlpha; boolean mCachedAutoMirrored; boolean mCacheDirty; - /** Temporary paint object used to draw cached bitmaps. */ - Paint mTempPaint; // Deep copy for mutate() or implicitly mutate. public VectorDrawableState(VectorDrawableState copy) { if (copy != null) { mThemeAttrs = copy.mThemeAttrs; mChangingConfigurations = copy.mChangingConfigurations; - mVPathRenderer = new VPathRenderer(copy.mVPathRenderer); mTint = copy.mTint; mTintMode = copy.mTintMode; mAutoMirrored = copy.mAutoMirrored; + mRootGroup = new VGroup(copy.mRootGroup, mVGTargetsMap); + mNativeRendererPtr = nCreateRenderer(mRootGroup.mNativePtr); + + mBaseWidth = copy.mBaseWidth; + mBaseHeight = copy.mBaseHeight; + setViewportSize(copy.mViewportWidth, copy.mViewportHeight); + mOpticalInsets = copy.mOpticalInsets; + + mRootName = copy.mRootName; + mDensity = copy.mDensity; + if (copy.mRootName != null) { + mVGTargetsMap.put(copy.mRootName, this); + } } } - public void drawCachedBitmapWithRootAlpha(Canvas canvas, ColorFilter filter, - Rect originalBounds) { - // The bitmap's size is the same as the bounds. - final Paint p = getPaint(filter); - canvas.drawBitmap(mCachedBitmap, null, originalBounds, p); - } - - public boolean hasTranslucentRoot() { - return mVPathRenderer.getRootAlpha() < 255; - } - - /** - * @return null when there is no need for alpha paint. - */ - public Paint getPaint(ColorFilter filter) { - if (!hasTranslucentRoot() && filter == null) { - return null; - } - - if (mTempPaint == null) { - mTempPaint = new Paint(); - mTempPaint.setFilterBitmap(true); + @Override + public void finalize() throws Throwable { + if (mNativeRendererPtr != 0) { + nDestroyRenderer(mNativeRendererPtr); + mNativeRendererPtr = 0; } - mTempPaint.setAlpha(mVPathRenderer.getRootAlpha()); - mTempPaint.setColorFilter(filter); - return mTempPaint; - } - - public void updateCachedBitmap(int width, int height) { - mCachedBitmap.eraseColor(Color.TRANSPARENT); - Canvas tmpCanvas = new Canvas(mCachedBitmap); - mVPathRenderer.draw(tmpCanvas, width, height, null); + super.finalize(); } - public void createCachedBitmapIfNeeded(int width, int height) { - if (mCachedBitmap == null || !canReuseBitmap(width, height)) { - mCachedBitmap = Bitmap.createBitmap(width, height, - Bitmap.Config.ARGB_8888); - mCacheDirty = true; - } - } - - public boolean canReuseBitmap(int width, int height) { - if (width == mCachedBitmap.getWidth() - && height == mCachedBitmap.getHeight()) { - return true; - } - return false; + long getNativeRenderer() { + return mNativeRendererPtr; } public boolean canReuseCache() { @@ -863,10 +774,10 @@ public class VectorDrawable extends Drawable { && mCachedThemeAttrs == mThemeAttrs && mCachedTint == mTint && mCachedTintMode == mTintMode - && mCachedAutoMirrored == mAutoMirrored - && mCachedRootAlpha == mVPathRenderer.getRootAlpha()) { + && mCachedAutoMirrored == mAutoMirrored) { return true; } + updateCacheStates(); return false; } @@ -876,21 +787,25 @@ public class VectorDrawable extends Drawable { mCachedThemeAttrs = mThemeAttrs; mCachedTint = mTint; mCachedTintMode = mTintMode; - mCachedRootAlpha = mVPathRenderer.getRootAlpha(); mCachedAutoMirrored = mAutoMirrored; mCacheDirty = false; } + public void applyTheme(Theme t) { + mRootGroup.applyTheme(t); + } + @Override public boolean canApplyTheme() { return mThemeAttrs != null - || (mVPathRenderer != null && mVPathRenderer.canApplyTheme()) + || (mRootGroup != null && mRootGroup.canApplyTheme()) || (mTint != null && mTint.canApplyTheme()) || super.canApplyTheme(); } public VectorDrawableState() { - mVPathRenderer = new VPathRenderer(); + mRootGroup = new VGroup(); + mNativeRendererPtr = nCreateRenderer(mRootGroup.mNativePtr); } @Override @@ -911,80 +826,13 @@ public class VectorDrawable extends Drawable { public boolean isStateful() { return (mTint != null && mTint.isStateful()) - || (mVPathRenderer != null && mVPathRenderer.isStateful()); - } - } - - private static class VPathRenderer { - /* Right now the internal data structure is organized as a tree. - * Each node can be a group node, or a path. - * A group node can have groups or paths as children, but a path node has - * no children. - * One example can be: - * Root Group - * / | \ - * Group Path Group - * / \ | - * Path Path Path - * - */ - // Variables that only used temporarily inside the draw() call, so there - // is no need for deep copying. - private final TempState mTempState = new TempState(); - - ///////////////////////////////////////////////////// - // Variables below need to be copied (deep copy if applicable) for mutation. - private int mChangingConfigurations; - private final VGroup mRootGroup; - float mBaseWidth = 0; - float mBaseHeight = 0; - float mViewportWidth = 0; - float mViewportHeight = 0; - Insets mOpticalInsets = Insets.NONE; - int mRootAlpha = 0xFF; - String mRootName = null; - - int mDensity = DisplayMetrics.DENSITY_DEFAULT; - - final ArrayMap<String, Object> mVGTargetsMap = new ArrayMap<>(); - - public VPathRenderer() { - mRootGroup = new VGroup(); - } - - public void setRootAlpha(int alpha) { - mRootAlpha = alpha; - } - - public int getRootAlpha() { - return mRootAlpha; - } - - // setAlpha() and getAlpha() are used mostly for animation purpose, since - // Animator like to use alpha from 0 to 1. - public void setAlpha(float alpha) { - setRootAlpha((int) (alpha * 255)); - } - - @SuppressWarnings("unused") - public float getAlpha() { - return getRootAlpha() / 255.0f; + || (mRootGroup != null && mRootGroup.isStateful()); } - public VPathRenderer(VPathRenderer copy) { - mRootGroup = new VGroup(copy.mRootGroup, mVGTargetsMap); - mBaseWidth = copy.mBaseWidth; - mBaseHeight = copy.mBaseHeight; - mViewportWidth = copy.mViewportWidth; - mViewportHeight = copy.mViewportHeight; - mOpticalInsets = copy.mOpticalInsets; - mChangingConfigurations = copy.mChangingConfigurations; - mRootAlpha = copy.mRootAlpha; - mRootName = copy.mRootName; - mDensity = copy.mDensity; - if (copy.mRootName != null) { - mVGTargetsMap.put(copy.mRootName, this); - } + void setViewportSize(float viewportWidth, float viewportHeight) { + mViewportWidth = viewportWidth; + mViewportHeight = viewportHeight; + nSetRendererViewportSize(getNativeRenderer(), viewportWidth, viewportHeight); } public final boolean setDensity(int targetDensity) { @@ -1012,68 +860,50 @@ public class VectorDrawable extends Drawable { mOpticalInsets = Insets.of(insetLeft, insetTop, insetRight, insetBottom); } - public boolean canApplyTheme() { - return mRootGroup.canApplyTheme(); - } - - public void applyTheme(Theme t) { - mRootGroup.applyTheme(t); - } - public boolean onStateChange(int[] stateSet) { return mRootGroup.onStateChange(stateSet); } - public boolean isStateful() { - return mRootGroup.isStateful(); - } - - public void draw(Canvas canvas, int w, int h, ColorFilter filter) { - final float scaleX = w / mViewportWidth; - final float scaleY = h / mViewportHeight; - mRootGroup.draw(canvas, mTempState, Matrix.IDENTITY_MATRIX, filter, scaleX, scaleY); + /** + * setAlpha() and getAlpha() are used mostly for animation purpose. Return true if alpha + * has changed. + */ + public boolean setAlpha(float alpha) { + return nSetRootAlpha(mNativeRendererPtr, alpha); } - public void printGroupTree() { - mRootGroup.printGroupTree(""); + @SuppressWarnings("unused") + public float getAlpha() { + return nGetRootAlpha(mNativeRendererPtr); } } private static class VGroup implements VObject { - private static final String GROUP_INDENT = " "; - - // mStackedMatrix is only used temporarily when drawing, it combines all - // the parents' local matrices with the current one. - private final Matrix mStackedMatrix = new Matrix(); - + private static final int ROTATE_INDEX = 0; + private static final int PIVOT_X_INDEX = 1; + private static final int PIVOT_Y_INDEX = 2; + private static final int SCALE_X_INDEX = 3; + private static final int SCALE_Y_INDEX = 4; + private static final int TRANSLATE_X_INDEX = 5; + private static final int TRANSLATE_Y_INDEX = 6; + private static final int TRANSFORM_PROPERTY_COUNT = 7; + + // Temp array to store transform values obtained from native. + private float[] mTransform; ///////////////////////////////////////////////////// // Variables below need to be copied (deep copy if applicable) for mutation. private final ArrayList<VObject> mChildren = new ArrayList<>(); - - private float mRotate = 0; - private float mPivotX = 0; - private float mPivotY = 0; - private float mScaleX = 1; - private float mScaleY = 1; - private float mTranslateX = 0; - private float mTranslateY = 0; private boolean mIsStateful; // mLocalMatrix is updated based on the update of transformation information, // either parsed from the XML or by animation. - private final Matrix mLocalMatrix = new Matrix(); private int mChangingConfigurations; private int[] mThemeAttrs; private String mGroupName = null; + private long mNativePtr = 0; public VGroup(VGroup copy, ArrayMap<String, Object> targetsMap) { - mRotate = copy.mRotate; - mPivotX = copy.mPivotX; - mPivotY = copy.mPivotY; - mScaleX = copy.mScaleX; - mScaleY = copy.mScaleY; - mTranslateX = copy.mTranslateX; - mTranslateY = copy.mTranslateY; + mIsStateful = copy.mIsStateful; mThemeAttrs = copy.mThemeAttrs; mGroupName = copy.mGroupName; @@ -1081,15 +911,14 @@ public class VectorDrawable extends Drawable { if (mGroupName != null) { targetsMap.put(mGroupName, this); } - - mLocalMatrix.set(copy.mLocalMatrix); + mNativePtr = nCreateGroup(copy.mNativePtr); final ArrayList<VObject> children = copy.mChildren; for (int i = 0; i < children.size(); i++) { final VObject copyChild = children.get(i); if (copyChild instanceof VGroup) { final VGroup copyGroup = (VGroup) copyChild; - mChildren.add(new VGroup(copyGroup, targetsMap)); + addChild(new VGroup(copyGroup, targetsMap)); } else { final VPath newPath; if (copyChild instanceof VFullPath) { @@ -1099,7 +928,7 @@ public class VectorDrawable extends Drawable { } else { throw new IllegalStateException("Unknown object in the tree!"); } - mChildren.add(newPath); + addChild(newPath); if (newPath.mPathName != null) { targetsMap.put(newPath.mPathName, newPath); } @@ -1108,43 +937,23 @@ public class VectorDrawable extends Drawable { } public VGroup() { + mNativePtr = nCreateGroup(); } public String getGroupName() { return mGroupName; } - public Matrix getLocalMatrix() { - return mLocalMatrix; - } - public void addChild(VObject child) { + nAddChild(mNativePtr, child.getNativePtr()); mChildren.add(child); mIsStateful |= child.isStateful(); } @Override - public void draw(Canvas canvas, TempState temp, Matrix currentMatrix, - ColorFilter filter, float scaleX, float scaleY) { - // Calculate current group's matrix by preConcat the parent's and - // and the current one on the top of the stack. - // Basically the Mfinal = Mviewport * M0 * M1 * M2; - // Mi the local matrix at level i of the group tree. - mStackedMatrix.set(currentMatrix); - mStackedMatrix.preConcat(mLocalMatrix); - - // Save the current clip information, which is local to this group. - canvas.save(); - - // Draw the group tree in the same order as the XML file. - for (int i = 0, count = mChildren.size(); i < count; i++) { - final VObject child = mChildren.get(i); - child.draw(canvas, temp, mStackedMatrix, filter, scaleX, scaleY); - } - - // Restore the previous clip information. - canvas.restore(); + public long getNativePtr() { + return mNativePtr; } @Override @@ -1155,27 +964,43 @@ public class VectorDrawable extends Drawable { a.recycle(); } - private void updateStateFromTypedArray(TypedArray a) { + void updateStateFromTypedArray(TypedArray a) { // Account for any configuration changes. mChangingConfigurations |= a.getChangingConfigurations(); // Extract the theme attributes, if any. mThemeAttrs = a.extractThemeAttrs(); - - mRotate = a.getFloat(R.styleable.VectorDrawableGroup_rotation, mRotate); - mPivotX = a.getFloat(R.styleable.VectorDrawableGroup_pivotX, mPivotX); - mPivotY = a.getFloat(R.styleable.VectorDrawableGroup_pivotY, mPivotY); - mScaleX = a.getFloat(R.styleable.VectorDrawableGroup_scaleX, mScaleX); - mScaleY = a.getFloat(R.styleable.VectorDrawableGroup_scaleY, mScaleY); - mTranslateX = a.getFloat(R.styleable.VectorDrawableGroup_translateX, mTranslateX); - mTranslateY = a.getFloat(R.styleable.VectorDrawableGroup_translateY, mTranslateY); + if (mTransform == null) { + // Lazy initialization: If the group is created through copy constructor, this may + // never get called. + mTransform = new float[TRANSFORM_PROPERTY_COUNT]; + } + boolean success = nGetGroupProperties(mNativePtr, mTransform, TRANSFORM_PROPERTY_COUNT); + if (!success) { + throw new RuntimeException("Error: inconsistent property count"); + } + float rotate = a.getFloat(R.styleable.VectorDrawableGroup_rotation, + mTransform[ROTATE_INDEX]); + float pivotX = a.getFloat(R.styleable.VectorDrawableGroup_pivotX, + mTransform[PIVOT_X_INDEX]); + float pivotY = a.getFloat(R.styleable.VectorDrawableGroup_pivotY, + mTransform[PIVOT_Y_INDEX]); + float scaleX = a.getFloat(R.styleable.VectorDrawableGroup_scaleX, + mTransform[SCALE_X_INDEX]); + float scaleY = a.getFloat(R.styleable.VectorDrawableGroup_scaleY, + mTransform[SCALE_Y_INDEX]); + float translateX = a.getFloat(R.styleable.VectorDrawableGroup_translateX, + mTransform[TRANSLATE_X_INDEX]); + float translateY = a.getFloat(R.styleable.VectorDrawableGroup_translateY, + mTransform[TRANSLATE_Y_INDEX]); final String groupName = a.getString(R.styleable.VectorDrawableGroup_name); if (groupName != null) { mGroupName = groupName; + nSetName(mNativePtr, mGroupName); } - - updateLocalMatrix(); + nUpdateGroupProperties(mNativePtr, rotate, pivotX, pivotY, scaleX, scaleY, + translateX, translateY); } @Override @@ -1216,6 +1041,16 @@ public class VectorDrawable extends Drawable { } @Override + protected void finalize() throws Throwable { + if (mNativePtr != 0) { + nDestroy(mNativePtr); + mNativePtr = 0; + } + super.finalize(); + } + + + @Override public void applyTheme(Theme t) { if (mThemeAttrs != null) { final TypedArray a = t.resolveAttributes(mThemeAttrs, @@ -1236,124 +1071,75 @@ public class VectorDrawable extends Drawable { } } - private void updateLocalMatrix() { - // The order we apply is the same as the - // RenderNode.cpp::applyViewPropertyTransforms(). - mLocalMatrix.reset(); - mLocalMatrix.postTranslate(-mPivotX, -mPivotY); - mLocalMatrix.postScale(mScaleX, mScaleY); - mLocalMatrix.postRotate(mRotate, 0, 0); - mLocalMatrix.postTranslate(mTranslateX + mPivotX, mTranslateY + mPivotY); - } - - public void printGroupTree(String indent) { - Log.v(LOGTAG, indent + "group:" + getGroupName() + " rotation is " + mRotate); - Log.v(LOGTAG, indent + "matrix:" + getLocalMatrix().toString()); - - final int count = mChildren.size(); - if (count > 0) { - indent += GROUP_INDENT; - } - - // Then print all the children groups. - for (int i = 0; i < count; i++) { - final VObject child = mChildren.get(i); - if (child instanceof VGroup) { - ((VGroup) child).printGroupTree(indent); - } - } - } - /* Setters and Getters, used by animator from AnimatedVectorDrawable. */ @SuppressWarnings("unused") public float getRotation() { - return mRotate; + return nGetRotation(mNativePtr); } @SuppressWarnings("unused") public void setRotation(float rotation) { - if (rotation != mRotate) { - mRotate = rotation; - updateLocalMatrix(); - } + nSetRotation(mNativePtr, rotation); } @SuppressWarnings("unused") public float getPivotX() { - return mPivotX; + return nGetPivotX(mNativePtr); } @SuppressWarnings("unused") public void setPivotX(float pivotX) { - if (pivotX != mPivotX) { - mPivotX = pivotX; - updateLocalMatrix(); - } + nSetPivotX(mNativePtr, pivotX); } @SuppressWarnings("unused") public float getPivotY() { - return mPivotY; + return nGetPivotY(mNativePtr); } @SuppressWarnings("unused") public void setPivotY(float pivotY) { - if (pivotY != mPivotY) { - mPivotY = pivotY; - updateLocalMatrix(); - } + nSetPivotY(mNativePtr, pivotY); } @SuppressWarnings("unused") public float getScaleX() { - return mScaleX; + return nGetScaleX(mNativePtr); } @SuppressWarnings("unused") public void setScaleX(float scaleX) { - if (scaleX != mScaleX) { - mScaleX = scaleX; - updateLocalMatrix(); - } + nSetScaleX(mNativePtr, scaleX); } @SuppressWarnings("unused") public float getScaleY() { - return mScaleY; + return nGetScaleY(mNativePtr); } @SuppressWarnings("unused") public void setScaleY(float scaleY) { - if (scaleY != mScaleY) { - mScaleY = scaleY; - updateLocalMatrix(); - } + nSetScaleY(mNativePtr, scaleY); } @SuppressWarnings("unused") public float getTranslateX() { - return mTranslateX; + return nGetTranslateX(mNativePtr); } @SuppressWarnings("unused") public void setTranslateX(float translateX) { - if (translateX != mTranslateX) { - mTranslateX = translateX; - updateLocalMatrix(); - } + nSetTranslateX(mNativePtr, translateX); } @SuppressWarnings("unused") public float getTranslateY() { - return mTranslateY; + return nGetTranslateY(mNativePtr); } @SuppressWarnings("unused") public void setTranslateY(float translateY) { - if (translateY != mTranslateY) { - mTranslateY = translateY; - updateLocalMatrix(); - } + nSetTranslateY(mNativePtr, translateY); } } @@ -1362,6 +1148,7 @@ public class VectorDrawable extends Drawable { */ private static abstract class VPath implements VObject { protected PathParser.PathData mPathData = null; + String mPathName; int mChangingConfigurations; @@ -1379,10 +1166,6 @@ public class VectorDrawable extends Drawable { return mPathName; } - public boolean isClipPath() { - return false; - } - /* Setters and Getters, used by animator from AnimatedVectorDrawable. */ @SuppressWarnings("unused") public PathParser.PathData getPathData() { @@ -1393,79 +1176,7 @@ public class VectorDrawable extends Drawable { @SuppressWarnings("unused") public void setPathData(PathParser.PathData pathData) { mPathData.setPathData(pathData); - } - - @Override - public final void draw(Canvas canvas, TempState temp, Matrix groupStackedMatrix, - ColorFilter filter, float scaleX, float scaleY) { - final float matrixScale = VPath.getMatrixScale(groupStackedMatrix); - if (matrixScale == 0) { - // When either x or y is scaled to 0, we don't need to draw anything. - return; - } - - final Path path = temp.path; - path.reset(); - toPath(temp, path); - - final Matrix pathMatrix = temp.pathMatrix; - pathMatrix.set(groupStackedMatrix); - pathMatrix.postScale(scaleX, scaleY); - - final Path renderPath = temp.renderPath; - renderPath.reset(); - renderPath.addPath(path, pathMatrix); - - final float minScale = Math.min(scaleX, scaleY); - final float strokeScale = minScale * matrixScale; - drawPath(temp, renderPath, canvas, filter, strokeScale); - } - - /** - * Writes the path's nodes to an output Path for rendering. - * - * @param temp temporary state variables - * @param outPath the output path - */ - protected void toPath(TempState temp, Path outPath) { - if (mPathData != null) { - PathParser.createPathFromPathData(outPath, mPathData); - } - } - - /** - * Draws the specified path into the supplied canvas. - */ - protected abstract void drawPath(TempState temp, Path path, Canvas canvas, - ColorFilter filter, float strokeScale); - - private static float getMatrixScale(Matrix groupStackedMatrix) { - // Given unit vectors A = (0, 1) and B = (1, 0). - // After matrix mapping, we got A' and B'. Let theta = the angel b/t A' and B'. - // Therefore, the final scale we want is min(|A'| * sin(theta), |B'| * sin(theta)), - // which is (|A'| * |B'| * sin(theta)) / max (|A'|, |B'|); - // If max (|A'|, |B'|) = 0, that means either x or y has a scale of 0. - // - // For non-skew case, which is most of the cases, matrix scale is computing exactly the - // scale on x and y axis, and take the minimal of these two. - // For skew case, an unit square will mapped to a parallelogram. And this function will - // return the minimal height of the 2 bases. - float[] unitVectors = new float[] {0, 1, 1, 0}; - groupStackedMatrix.mapVectors(unitVectors); - float scaleX = MathUtils.mag(unitVectors[0], unitVectors[1]); - float scaleY = MathUtils.mag(unitVectors[2], unitVectors[3]); - float crossProduct = MathUtils.cross(unitVectors[0], unitVectors[1], - unitVectors[2], unitVectors[3]); - float maxScale = MathUtils.max(scaleX, scaleY); - - float matrixScale = 0; - if (maxScale > 0) { - matrixScale = MathUtils.abs(crossProduct) / maxScale; - } - if (DBG_VECTOR_DRAWABLE) { - Log.d(LOGTAG, "Scale x " + scaleX + " y " + scaleY + " final " + matrixScale); - } - return matrixScale; + nSetPathData(getNativePtr(), mPathData.getNativePtr()); } } @@ -1473,21 +1184,31 @@ public class VectorDrawable extends Drawable { * Clip path, which only has name and pathData. */ private static class VClipPath extends VPath { + long mNativePtr = 0; public VClipPath() { + mNativePtr = nCreateClipPath(); // Empty constructor. } public VClipPath(VClipPath copy) { super(copy); + mNativePtr = nCreateClipPath(copy.mNativePtr); } @Override - protected void drawPath(TempState temp, Path renderPath, Canvas canvas, ColorFilter filter, - float strokeScale) { - canvas.clipPath(renderPath); + public long getNativePtr() { + return mNativePtr; } @Override + protected void finalize() throws Throwable { + if (mNativePtr != 0) { + nDestroy(mNativePtr); + mNativePtr = 0; + } + super.finalize(); + } + @Override public void inflate(Resources r, AttributeSet attrs, Theme theme) { final TypedArray a = obtainAttributes(r, theme, attrs, R.styleable.VectorDrawableClipPath); @@ -1522,95 +1243,54 @@ public class VectorDrawable extends Drawable { final String pathName = a.getString(R.styleable.VectorDrawableClipPath_name); if (pathName != null) { mPathName = pathName; + nSetName(mNativePtr, mPathName); } final String pathDataString = a.getString(R.styleable.VectorDrawableClipPath_pathData); if (pathDataString != null) { mPathData = new PathParser.PathData(pathDataString); + nSetPathString(mNativePtr, pathDataString, pathDataString.length()); } } - - @Override - public boolean isClipPath() { - return true; - } } /** * Normal path, which contains all the fill / paint information. */ private static class VFullPath extends VPath { + private static final int STROKE_WIDTH_INDEX = 0; + private static final int STROKE_COLOR_INDEX = 1; + private static final int STROKE_ALPHA_INDEX = 2; + private static final int FILL_COLOR_INDEX = 3; + private static final int FILL_ALPHA_INDEX = 4; + private static final int TRIM_PATH_START_INDEX = 5; + private static final int TRIM_PATH_END_INDEX = 6; + private static final int TRIM_PATH_OFFSET_INDEX = 7; + private static final int STROKE_LINE_CAP_INDEX = 8; + private static final int STROKE_LINE_JOIN_INDEX = 9; + private static final int STROKE_MITER_LIMIT_INDEX = 10; + private static final int TOTAL_PROPERTY_COUNT = 11; + + // Temp array to store property data obtained from native getter. + private byte[] mPropertyData; ///////////////////////////////////////////////////// // Variables below need to be copied (deep copy if applicable) for mutation. private int[] mThemeAttrs; - ColorStateList mStrokeColors = null; - int mStrokeColor = Color.TRANSPARENT; - float mStrokeWidth = 0; - ColorStateList mFillColors = null; - int mFillColor = Color.TRANSPARENT; - float mStrokeAlpha = 1.0f; - int mFillRule; - float mFillAlpha = 1.0f; - float mTrimPathStart = 0; - float mTrimPathEnd = 1; - float mTrimPathOffset = 0; - - Paint.Cap mStrokeLineCap = Paint.Cap.BUTT; - Paint.Join mStrokeLineJoin = Paint.Join.MITER; - float mStrokeMiterlimit = 4; + private long mNativePtr = 0; public VFullPath() { // Empty constructor. + mNativePtr = nCreateFullPath(); } public VFullPath(VFullPath copy) { super(copy); - + mNativePtr = nCreateFullPath(copy.mNativePtr); mThemeAttrs = copy.mThemeAttrs; - mStrokeColors = copy.mStrokeColors; - mStrokeColor = copy.mStrokeColor; - mStrokeWidth = copy.mStrokeWidth; - mStrokeAlpha = copy.mStrokeAlpha; mFillColors = copy.mFillColors; - mFillColor = copy.mFillColor; - mFillRule = copy.mFillRule; - mFillAlpha = copy.mFillAlpha; - mTrimPathStart = copy.mTrimPathStart; - mTrimPathEnd = copy.mTrimPathEnd; - mTrimPathOffset = copy.mTrimPathOffset; - - mStrokeLineCap = copy.mStrokeLineCap; - mStrokeLineJoin = copy.mStrokeLineJoin; - mStrokeMiterlimit = copy.mStrokeMiterlimit; - } - - private Paint.Cap getStrokeLineCap(int id, Paint.Cap defValue) { - switch (id) { - case LINECAP_BUTT: - return Paint.Cap.BUTT; - case LINECAP_ROUND: - return Paint.Cap.ROUND; - case LINECAP_SQUARE: - return Paint.Cap.SQUARE; - default: - return defValue; - } - } - - private Paint.Join getStrokeLineJoin(int id, Paint.Join defValue) { - switch (id) { - case LINEJOIN_MITER: - return Paint.Join.MITER; - case LINEJOIN_ROUND: - return Paint.Join.ROUND; - case LINEJOIN_BEVEL: - return Paint.Join.BEVEL; - default: - return defValue; - } } @Override @@ -1618,17 +1298,22 @@ public class VectorDrawable extends Drawable { boolean changed = false; if (mStrokeColors != null) { - final int oldStrokeColor = mStrokeColor; - mStrokeColor = mStrokeColors.getColorForState(stateSet, oldStrokeColor); - changed |= oldStrokeColor != mStrokeColor; + final int oldStrokeColor = getStrokeColor(); + final int newStrokeColor = mStrokeColors.getColorForState(stateSet, oldStrokeColor); + changed |= oldStrokeColor != newStrokeColor; + if (oldStrokeColor != newStrokeColor) { + nSetStrokeColor(mNativePtr, newStrokeColor); + } } if (mFillColors != null) { - final int oldFillColor = mFillColor; - mFillColor = mFillColors.getColorForState(stateSet, oldFillColor); - changed |= oldFillColor != mFillColor; + final int oldFillColor = getFillColor(); + final int newFillColor = mFillColors.getColorForState(stateSet, oldFillColor); + changed |= oldFillColor != newFillColor; + if (oldFillColor != newFillColor) { + nSetFillColor(mNativePtr, newFillColor); + } } - return changed; } @@ -1638,112 +1323,56 @@ public class VectorDrawable extends Drawable { } @Override - public void toPath(TempState temp, Path path) { - super.toPath(temp, path); - - if (mTrimPathStart != 0.0f || mTrimPathEnd != 1.0f) { - VFullPath.applyTrim(temp, path, mTrimPathStart, mTrimPathEnd, mTrimPathOffset); - } + public long getNativePtr() { + return mNativePtr; } @Override - protected void drawPath(TempState temp, Path path, Canvas canvas, ColorFilter filter, - float strokeScale) { - drawPathFill(temp, path, canvas, filter); - drawPathStroke(temp, path, canvas, filter, strokeScale); - } - - /** - * Draws this path's fill, if necessary. - */ - private void drawPathFill(TempState temp, Path path, Canvas canvas, ColorFilter filter) { - if (mFillColor == Color.TRANSPARENT) { - return; - } - - if (temp.mFillPaint == null) { - temp.mFillPaint = new Paint(); - temp.mFillPaint.setStyle(Paint.Style.FILL); - temp.mFillPaint.setAntiAlias(true); - } - - final Paint fillPaint = temp.mFillPaint; - fillPaint.setColor(applyAlpha(mFillColor, mFillAlpha)); - fillPaint.setColorFilter(filter); - canvas.drawPath(path, fillPaint); + public void inflate(Resources r, AttributeSet attrs, Theme theme) { + final TypedArray a = obtainAttributes(r, theme, attrs, + R.styleable.VectorDrawablePath); + updateStateFromTypedArray(a); + a.recycle(); } - /** - * Draws this path's stroke, if necessary. - */ - private void drawPathStroke(TempState temp, Path path, Canvas canvas, ColorFilter filter, - float strokeScale) { - if (mStrokeColor == Color.TRANSPARENT) { - return; - } - - if (temp.mStrokePaint == null) { - temp.mStrokePaint = new Paint(); - temp.mStrokePaint.setStyle(Paint.Style.STROKE); - temp.mStrokePaint.setAntiAlias(true); - } - - final Paint strokePaint = temp.mStrokePaint; - if (mStrokeLineJoin != null) { - strokePaint.setStrokeJoin(mStrokeLineJoin); - } - - if (mStrokeLineCap != null) { - strokePaint.setStrokeCap(mStrokeLineCap); + @Override + protected void finalize() throws Throwable { + if (mNativePtr != 0) { + nDestroy(mNativePtr); + mNativePtr = 0; } - - strokePaint.setStrokeMiter(mStrokeMiterlimit); - strokePaint.setColor(applyAlpha(mStrokeColor, mStrokeAlpha)); - strokePaint.setColorFilter(filter); - strokePaint.setStrokeWidth(mStrokeWidth * strokeScale); - canvas.drawPath(path, strokePaint); + super.finalize(); } - /** - * Applies trimming to the specified path. - */ - private static void applyTrim(TempState temp, Path path, float mTrimPathStart, - float mTrimPathEnd, float mTrimPathOffset) { - if (mTrimPathStart == 0.0f && mTrimPathEnd == 1.0f) { - // No trimming necessary. - return; - } - - if (temp.mPathMeasure == null) { - temp.mPathMeasure = new PathMeasure(); + private void updateStateFromTypedArray(TypedArray a) { + int byteCount = TOTAL_PROPERTY_COUNT * 4; + if (mPropertyData == null) { + // Lazy initialization: If the path is created through copy constructor, this may + // never get called. + mPropertyData = new byte[byteCount]; } - final PathMeasure pathMeasure = temp.mPathMeasure; - pathMeasure.setPath(path, false); - - final float len = pathMeasure.getLength(); - final float start = len * ((mTrimPathStart + mTrimPathOffset) % 1.0f); - final float end = len * ((mTrimPathEnd + mTrimPathOffset) % 1.0f); - path.reset(); - if (start > end) { - pathMeasure.getSegment(start, len, path, true); - pathMeasure.getSegment(0, end, path, true); - } else { - pathMeasure.getSegment(start, end, path, true); + // The bulk getters/setters of property data (e.g. stroke width, color, etc) allows us + // to pull current values from native and store modifications with only two methods, + // minimizing JNI overhead. + boolean success = nGetFullPathProperties(mNativePtr, mPropertyData, byteCount); + if (!success) { + throw new RuntimeException("Error: inconsistent property count"); } - // Fix bug in measure. - path.rLineTo(0, 0); - } - - @Override - public void inflate(Resources r, AttributeSet attrs, Theme theme) { - final TypedArray a = obtainAttributes(r, theme, attrs, - R.styleable.VectorDrawablePath); - updateStateFromTypedArray(a); - a.recycle(); - } + ByteBuffer properties = ByteBuffer.wrap(mPropertyData); + properties.order(ByteOrder.nativeOrder()); + float strokeWidth = properties.getFloat(STROKE_WIDTH_INDEX * 4); + int strokeColor = properties.getInt(STROKE_COLOR_INDEX * 4); + float strokeAlpha = properties.getFloat(STROKE_ALPHA_INDEX * 4); + int fillColor = properties.getInt(FILL_COLOR_INDEX * 4); + float fillAlpha = properties.getFloat(FILL_ALPHA_INDEX * 4); + float trimPathStart = properties.getFloat(TRIM_PATH_START_INDEX * 4); + float trimPathEnd = properties.getFloat(TRIM_PATH_END_INDEX * 4); + float trimPathOffset = properties.getFloat(TRIM_PATH_OFFSET_INDEX * 4); + int strokeLineCap = properties.getInt(STROKE_LINE_CAP_INDEX * 4); + int strokeLineJoin = properties.getInt(STROKE_LINE_JOIN_INDEX * 4); + float strokeMiterLimit = properties.getFloat(STROKE_MITER_LIMIT_INDEX * 4); - private void updateStateFromTypedArray(TypedArray a) { // Account for any configuration changes. mChangingConfigurations |= a.getChangingConfigurations(); @@ -1753,11 +1382,13 @@ public class VectorDrawable extends Drawable { final String pathName = a.getString(R.styleable.VectorDrawablePath_name); if (pathName != null) { mPathName = pathName; + nSetName(mNativePtr, mPathName); } final String pathString = a.getString(R.styleable.VectorDrawablePath_pathData); if (pathString != null) { mPathData = new PathParser.PathData(pathString); + nSetPathString(mNativePtr, pathString, pathString.length()); } final ColorStateList fillColors = a.getColorStateList( @@ -1766,7 +1397,7 @@ public class VectorDrawable extends Drawable { // If the color state list isn't stateful, discard the state // list and keep the default (e.g. the only) color. mFillColors = fillColors.isStateful() ? fillColors : null; - mFillColor = fillColors.getDefaultColor(); + fillColor = fillColors.getDefaultColor(); } final ColorStateList strokeColors = a.getColorStateList( @@ -1775,23 +1406,30 @@ public class VectorDrawable extends Drawable { // If the color state list isn't stateful, discard the state // list and keep the default (e.g. the only) color. mStrokeColors = strokeColors.isStateful() ? strokeColors : null; - mStrokeColor = strokeColors.getDefaultColor(); + strokeColor = strokeColors.getDefaultColor(); } - - mFillAlpha = a.getFloat(R.styleable.VectorDrawablePath_fillAlpha, mFillAlpha); - mStrokeLineCap = getStrokeLineCap(a.getInt( - R.styleable.VectorDrawablePath_strokeLineCap, -1), mStrokeLineCap); - mStrokeLineJoin = getStrokeLineJoin(a.getInt( - R.styleable.VectorDrawablePath_strokeLineJoin, -1), mStrokeLineJoin); - mStrokeMiterlimit = a.getFloat( - R.styleable.VectorDrawablePath_strokeMiterLimit, mStrokeMiterlimit); - mStrokeAlpha = a.getFloat(R.styleable.VectorDrawablePath_strokeAlpha, mStrokeAlpha); - mStrokeWidth = a.getFloat(R.styleable.VectorDrawablePath_strokeWidth, mStrokeWidth); - mTrimPathEnd = a.getFloat(R.styleable.VectorDrawablePath_trimPathEnd, mTrimPathEnd); - mTrimPathOffset = a.getFloat( - R.styleable.VectorDrawablePath_trimPathOffset, mTrimPathOffset); - mTrimPathStart = a.getFloat( - R.styleable.VectorDrawablePath_trimPathStart, mTrimPathStart); + fillAlpha = a.getFloat(R.styleable.VectorDrawablePath_fillAlpha, fillAlpha); + + strokeLineCap = a.getInt( + R.styleable.VectorDrawablePath_strokeLineCap, strokeLineCap); + strokeLineJoin = a.getInt( + R.styleable.VectorDrawablePath_strokeLineJoin, strokeLineJoin); + strokeMiterLimit = a.getFloat( + R.styleable.VectorDrawablePath_strokeMiterLimit, strokeMiterLimit); + strokeAlpha = a.getFloat(R.styleable.VectorDrawablePath_strokeAlpha, + strokeAlpha); + strokeWidth = a.getFloat(R.styleable.VectorDrawablePath_strokeWidth, + strokeWidth); + trimPathEnd = a.getFloat(R.styleable.VectorDrawablePath_trimPathEnd, + trimPathEnd); + trimPathOffset = a.getFloat( + R.styleable.VectorDrawablePath_trimPathOffset, trimPathOffset); + trimPathStart = a.getFloat( + R.styleable.VectorDrawablePath_trimPathStart, trimPathStart); + + nUpdateFullPathProperties(mNativePtr, strokeWidth, strokeColor, strokeAlpha, + fillColor, fillAlpha, trimPathStart, trimPathEnd, trimPathOffset, + strokeMiterLimit, strokeLineCap, strokeLineJoin); } @Override @@ -1813,104 +1451,169 @@ public class VectorDrawable extends Drawable { /* Setters and Getters, used by animator from AnimatedVectorDrawable. */ @SuppressWarnings("unused") int getStrokeColor() { - return mStrokeColor; + return nGetStrokeColor(mNativePtr); } @SuppressWarnings("unused") void setStrokeColor(int strokeColor) { mStrokeColors = null; - mStrokeColor = strokeColor; + nSetStrokeColor(mNativePtr, strokeColor); } @SuppressWarnings("unused") float getStrokeWidth() { - return mStrokeWidth; + return nGetStrokeWidth(mNativePtr); } @SuppressWarnings("unused") void setStrokeWidth(float strokeWidth) { - mStrokeWidth = strokeWidth; + nSetStrokeWidth(mNativePtr, strokeWidth); } @SuppressWarnings("unused") float getStrokeAlpha() { - return mStrokeAlpha; + return nGetStrokeAlpha(mNativePtr); } @SuppressWarnings("unused") void setStrokeAlpha(float strokeAlpha) { - mStrokeAlpha = strokeAlpha; + nSetStrokeAlpha(mNativePtr, strokeAlpha); } @SuppressWarnings("unused") int getFillColor() { - return mFillColor; + return nGetFillColor(mNativePtr); } @SuppressWarnings("unused") void setFillColor(int fillColor) { mFillColors = null; - mFillColor = fillColor; + nSetFillColor(mNativePtr, fillColor); } @SuppressWarnings("unused") float getFillAlpha() { - return mFillAlpha; + return nGetFillAlpha(mNativePtr); } @SuppressWarnings("unused") void setFillAlpha(float fillAlpha) { - mFillAlpha = fillAlpha; + nSetFillAlpha(mNativePtr, fillAlpha); } @SuppressWarnings("unused") float getTrimPathStart() { - return mTrimPathStart; + return nGetTrimPathStart(mNativePtr); } @SuppressWarnings("unused") void setTrimPathStart(float trimPathStart) { - mTrimPathStart = trimPathStart; + nSetTrimPathStart(mNativePtr, trimPathStart); } @SuppressWarnings("unused") float getTrimPathEnd() { - return mTrimPathEnd; + return nGetTrimPathEnd(mNativePtr); } @SuppressWarnings("unused") void setTrimPathEnd(float trimPathEnd) { - mTrimPathEnd = trimPathEnd; + nSetTrimPathEnd(mNativePtr, trimPathEnd); } @SuppressWarnings("unused") float getTrimPathOffset() { - return mTrimPathOffset; + return nGetTrimPathOffset(mNativePtr); } @SuppressWarnings("unused") void setTrimPathOffset(float trimPathOffset) { - mTrimPathOffset = trimPathOffset; + nSetTrimPathOffset(mNativePtr, trimPathOffset); } } - static class TempState { - final Matrix pathMatrix = new Matrix(); - final Path path = new Path(); - final Path renderPath = new Path(); - - PathMeasure mPathMeasure; - Paint mFillPaint; - Paint mStrokePaint; - } - interface VObject { - void draw(Canvas canvas, TempState temp, Matrix currentMatrix, - ColorFilter filter, float scaleX, float scaleY); + long getNativePtr(); void inflate(Resources r, AttributeSet attrs, Theme theme); boolean canApplyTheme(); void applyTheme(Theme t); boolean onStateChange(int[] state); boolean isStateful(); } + + private static native long nCreateRenderer(long rootGroupPtr); + private static native void nDestroyRenderer(long rendererPtr); + private static native void nSetRendererViewportSize(long rendererPtr, float viewportWidth, + float viewportHeight); + private static native boolean nSetRootAlpha(long rendererPtr, float alpha); + private static native float nGetRootAlpha(long rendererPtr); + private static native void nSetAllowCaching(long rendererPtr, boolean allowCaching); + + private static native void nDraw(long rendererPtr, long canvasWrapperPtr, + long colorFilterPtr, Rect bounds, boolean needsMirroring, boolean canReuseCache); + private static native long nCreateFullPath(); + private static native long nCreateFullPath(long mNativeFullPathPtr); + private static native boolean nGetFullPathProperties(long pathPtr, byte[] properties, + int length); + + private static native void nUpdateFullPathProperties(long pathPtr, float strokeWidth, + int strokeColor, float strokeAlpha, int fillColor, float fillAlpha, float trimPathStart, + float trimPathEnd, float trimPathOffset, float strokeMiterLimit, int strokeLineCap, + int strokeLineJoin); + + private static native long nCreateClipPath(); + private static native long nCreateClipPath(long clipPathPtr); + + private static native long nCreateGroup(); + private static native long nCreateGroup(long groupPtr); + private static native void nDestroy(long nodePtr); + private static native void nSetName(long nodePtr, String name); + private static native boolean nGetGroupProperties(long groupPtr, float[] properties, + int length); + private static native void nUpdateGroupProperties(long groupPtr, float rotate, float pivotX, + float pivotY, float scaleX, float scaleY, float translateX, float translateY); + + private static native void nAddChild(long groupPtr, long nodePtr); + private static native void nSetPathString(long pathPtr, String pathString, int length); + + /** + * The setters and getters below for paths and groups are here temporarily, and will be + * removed once the animation in AVD is replaced with RenderNodeAnimator, in which case the + * animation will modify these properties in native. By then no JNI hopping would be necessary + * for VD during animation, and these setters and getters will be obsolete. + */ + // Setters and getters during animation. + private static native float nGetRotation(long groupPtr); + private static native void nSetRotation(long groupPtr, float rotation); + private static native float nGetPivotX(long groupPtr); + private static native void nSetPivotX(long groupPtr, float pivotX); + private static native float nGetPivotY(long groupPtr); + private static native void nSetPivotY(long groupPtr, float pivotY); + private static native float nGetScaleX(long groupPtr); + private static native void nSetScaleX(long groupPtr, float scaleX); + private static native float nGetScaleY(long groupPtr); + private static native void nSetScaleY(long groupPtr, float scaleY); + private static native float nGetTranslateX(long groupPtr); + private static native void nSetTranslateX(long groupPtr, float translateX); + private static native float nGetTranslateY(long groupPtr); + private static native void nSetTranslateY(long groupPtr, float translateY); + + // Setters and getters for VPath during animation. + private static native void nSetPathData(long pathPtr, long pathDataPtr); + private static native float nGetStrokeWidth(long pathPtr); + private static native void nSetStrokeWidth(long pathPtr, float width); + private static native int nGetStrokeColor(long pathPtr); + private static native void nSetStrokeColor(long pathPtr, int strokeColor); + private static native float nGetStrokeAlpha(long pathPtr); + private static native void nSetStrokeAlpha(long pathPtr, float alpha); + private static native int nGetFillColor(long pathPtr); + private static native void nSetFillColor(long pathPtr, int fillColor); + private static native float nGetFillAlpha(long pathPtr); + private static native void nSetFillAlpha(long pathPtr, float fillAlpha); + private static native float nGetTrimPathStart(long pathPtr); + private static native void nSetTrimPathStart(long pathPtr, float trimPathStart); + private static native float nGetTrimPathEnd(long pathPtr); + private static native void nSetTrimPathEnd(long pathPtr, float trimPathEnd); + private static native float nGetTrimPathOffset(long pathPtr); + private static native void nSetTrimPathOffset(long pathPtr, float trimPathOffset); } diff --git a/keystore/java/android/security/KeyChain.java b/keystore/java/android/security/KeyChain.java index 40fb0d3750a8..7adad8a4b86e 100644 --- a/keystore/java/android/security/KeyChain.java +++ b/keystore/java/android/security/KeyChain.java @@ -350,7 +350,7 @@ public final class KeyChain { /** * Returns the {@code PrivateKey} for the requested alias, or null - * if no there is no result. + * if there is no result. * * <p> This method may block while waiting for a connection to another process, and must never * be called from the main thread. @@ -371,7 +371,7 @@ public final class KeyChain { final IKeyChainService keyChainService = keyChainConnection.getService(); final String keyId = keyChainService.requestPrivateKey(alias); if (keyId == null) { - throw new KeyChainException("keystore had a problem"); + return null; } return AndroidKeyStoreProvider.loadAndroidKeyStorePrivateKeyFromKeystore( KeyStore.getInstance(), keyId, KeyStore.UID_SELF); diff --git a/libs/hwui/Android.mk b/libs/hwui/Android.mk index 0d1ee46712ee..f48c509755e3 100644 --- a/libs/hwui/Android.mk +++ b/libs/hwui/Android.mk @@ -86,7 +86,7 @@ hwui_src_files := \ TextDropShadowCache.cpp \ Texture.cpp \ TextureCache.cpp \ - VectorDrawablePath.cpp \ + VectorDrawable.cpp \ protos/hwui.proto hwui_test_common_src_files := \ diff --git a/libs/hwui/JankTracker.cpp b/libs/hwui/JankTracker.cpp index eb9b55f196bb..c305f65db601 100644 --- a/libs/hwui/JankTracker.cpp +++ b/libs/hwui/JankTracker.cpp @@ -243,6 +243,7 @@ void JankTracker::dumpData(const ProfileData* data, int fd) { dprintf(fd, "\nTotal frames rendered: %u", data->totalFrameCount); dprintf(fd, "\nJanky frames: %u (%.2f%%)", data->jankFrameCount, (float) data->jankFrameCount / (float) data->totalFrameCount * 100.0f); + dprintf(fd, "\n50th percentile: %ums", findPercentile(data, 50)); dprintf(fd, "\n90th percentile: %ums", findPercentile(data, 90)); dprintf(fd, "\n95th percentile: %ums", findPercentile(data, 95)); dprintf(fd, "\n99th percentile: %ums", findPercentile(data, 99)); diff --git a/libs/hwui/PathParser.h b/libs/hwui/PathParser.h index 4c87b1898ae5..c4bbb7495a4c 100644 --- a/libs/hwui/PathParser.h +++ b/libs/hwui/PathParser.h @@ -17,7 +17,7 @@ #ifndef ANDROID_HWUI_PATHPARSER_H #define ANDROID_HWUI_PATHPARSER_H -#include "VectorDrawablePath.h" +#include "VectorDrawable.h" #include "utils/VectorDrawableUtils.h" #include <jni.h> diff --git a/libs/hwui/Properties.cpp b/libs/hwui/Properties.cpp index 0669596b21ca..083aeb7ed585 100644 --- a/libs/hwui/Properties.cpp +++ b/libs/hwui/Properties.cpp @@ -53,6 +53,8 @@ int Properties::overrideSpotShadowStrength = -1; ProfileType Properties::sProfileType = ProfileType::None; bool Properties::sDisableProfileBars = false; +bool Properties::waitForGpuCompletion = false; + static int property_get_int(const char* key, int defaultValue) { char buf[PROPERTY_VALUE_MAX] = {'\0',}; diff --git a/libs/hwui/Properties.h b/libs/hwui/Properties.h index 1dde7e054aab..88f1dbc98926 100644 --- a/libs/hwui/Properties.h +++ b/libs/hwui/Properties.h @@ -285,6 +285,9 @@ public: static ProfileType getProfileType(); + // Should be used only by test apps + static bool waitForGpuCompletion; + private: static ProfileType sProfileType; static bool sDisableProfileBars; diff --git a/libs/hwui/VectorDrawable.cpp b/libs/hwui/VectorDrawable.cpp new file mode 100644 index 000000000000..56cb10476118 --- /dev/null +++ b/libs/hwui/VectorDrawable.cpp @@ -0,0 +1,492 @@ +/* + * Copyright (C) 2015 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. + */ + +#include "VectorDrawable.h" + +#include "PathParser.h" +#include "SkImageInfo.h" +#include <utils/Log.h> +#include "utils/Macros.h" +#include "utils/VectorDrawableUtils.h" + +#include <math.h> +#include <string.h> + +namespace android { +namespace uirenderer { +namespace VectorDrawable { + +const int Tree::MAX_CACHED_BITMAP_SIZE = 2048; + +void Path::draw(Canvas* outCanvas, const SkMatrix& groupStackedMatrix, float scaleX, float scaleY) { + float matrixScale = getMatrixScale(groupStackedMatrix); + if (matrixScale == 0) { + // When either x or y is scaled to 0, we don't need to draw anything. + return; + } + + const SkPath updatedPath = getUpdatedPath(); + SkMatrix pathMatrix(groupStackedMatrix); + pathMatrix.postScale(scaleX, scaleY); + + //TODO: try apply the path matrix to the canvas instead of creating a new path. + SkPath renderPath; + renderPath.reset(); + renderPath.addPath(updatedPath, pathMatrix); + + float minScale = fmin(scaleX, scaleY); + float strokeScale = minScale * matrixScale; + drawPath(outCanvas, renderPath, strokeScale); +} + +void Path::setPathData(const Data& data) { + if (mData == data) { + return; + } + // Updates the path data. Note that we don't generate a new Skia path right away + // because there are cases where the animation is changing the path data, but the view + // that hosts the VD has gone off screen, in which case we won't even draw. So we + // postpone the Skia path generation to the draw time. + mData = data; + mSkPathDirty = true; +} + +void Path::dump() { + ALOGD("Path: %s has %zu points", mName.c_str(), mData.points.size()); +} + +float Path::getMatrixScale(const SkMatrix& groupStackedMatrix) { + // Given unit vectors A = (0, 1) and B = (1, 0). + // After matrix mapping, we got A' and B'. Let theta = the angel b/t A' and B'. + // Therefore, the final scale we want is min(|A'| * sin(theta), |B'| * sin(theta)), + // which is (|A'| * |B'| * sin(theta)) / max (|A'|, |B'|); + // If max (|A'|, |B'|) = 0, that means either x or y has a scale of 0. + // + // For non-skew case, which is most of the cases, matrix scale is computing exactly the + // scale on x and y axis, and take the minimal of these two. + // For skew case, an unit square will mapped to a parallelogram. And this function will + // return the minimal height of the 2 bases. + SkVector skVectors[2]; + skVectors[0].set(0, 1); + skVectors[1].set(1, 0); + groupStackedMatrix.mapVectors(skVectors, 2); + float scaleX = hypotf(skVectors[0].fX, skVectors[0].fY); + float scaleY = hypotf(skVectors[1].fX, skVectors[1].fY); + float crossProduct = skVectors[0].cross(skVectors[1]); + float maxScale = fmax(scaleX, scaleY); + + float matrixScale = 0; + if (maxScale > 0) { + matrixScale = fabs(crossProduct) / maxScale; + } + return matrixScale; +} +Path::Path(const char* pathStr, size_t strLength) { + PathParser::ParseResult result; + PathParser::getPathDataFromString(&mData, &result, pathStr, strLength); + if (!result.failureOccurred) { + VectorDrawableUtils::verbsToPath(&mSkPath, mData); + } +} + +Path::Path(const Data& data) { + mData = data; + // Now we need to construct a path + VectorDrawableUtils::verbsToPath(&mSkPath, data); +} + +Path::Path(const Path& path) : Node(path) { + mData = path.mData; + VectorDrawableUtils::verbsToPath(&mSkPath, mData); +} + +bool Path::canMorph(const Data& morphTo) { + return VectorDrawableUtils::canMorph(mData, morphTo); +} + +bool Path::canMorph(const Path& path) { + return canMorph(path.mData); +} + +const SkPath& Path::getUpdatedPath() { + if (mSkPathDirty) { + mSkPath.reset(); + VectorDrawableUtils::verbsToPath(&mSkPath, mData); + mSkPathDirty = false; + } + return mSkPath; +} + +void Path::setPath(const char* pathStr, size_t strLength) { + PathParser::ParseResult result; + mSkPathDirty = true; + PathParser::getPathDataFromString(&mData, &result, pathStr, strLength); +} + +FullPath::FullPath(const FullPath& path) : Path(path) { + mStrokeWidth = path.mStrokeWidth; + mStrokeColor = path.mStrokeColor; + mStrokeAlpha = path.mStrokeAlpha; + mFillColor = path.mFillColor; + mFillAlpha = path.mFillAlpha; + mTrimPathStart = path.mTrimPathStart; + mTrimPathEnd = path.mTrimPathEnd; + mTrimPathOffset = path.mTrimPathOffset; + mStrokeMiterLimit = path.mStrokeMiterLimit; + mStrokeLineCap = path.mStrokeLineCap; + mStrokeLineJoin = path.mStrokeLineJoin; +} + +const SkPath& FullPath::getUpdatedPath() { + if (!mSkPathDirty && !mTrimDirty) { + return mTrimmedSkPath; + } + Path::getUpdatedPath(); + if (mTrimPathStart != 0.0f || mTrimPathEnd != 1.0f) { + applyTrim(); + return mTrimmedSkPath; + } else { + return mSkPath; + } +} + +void FullPath::updateProperties(float strokeWidth, SkColor strokeColor, float strokeAlpha, + SkColor fillColor, float fillAlpha, float trimPathStart, float trimPathEnd, + float trimPathOffset, float strokeMiterLimit, int strokeLineCap, int strokeLineJoin) { + mStrokeWidth = strokeWidth; + mStrokeColor = strokeColor; + mStrokeAlpha = strokeAlpha; + mFillColor = fillColor; + mFillAlpha = fillAlpha; + mStrokeMiterLimit = strokeMiterLimit; + mStrokeLineCap = SkPaint::Cap(strokeLineCap); + mStrokeLineJoin = SkPaint::Join(strokeLineJoin); + + // If any trim property changes, mark trim dirty and update the trim path + setTrimPathStart(trimPathStart); + setTrimPathEnd(trimPathEnd); + setTrimPathOffset(trimPathOffset); +} + +inline SkColor applyAlpha(SkColor color, float alpha) { + int alphaBytes = SkColorGetA(color); + return SkColorSetA(color, alphaBytes * alpha); +} + +void FullPath::drawPath(Canvas* outCanvas, const SkPath& renderPath, float strokeScale){ + // Draw path's fill, if fill color isn't transparent. + if (mFillColor != SK_ColorTRANSPARENT) { + mPaint.setStyle(SkPaint::Style::kFill_Style); + mPaint.setAntiAlias(true); + mPaint.setColor(applyAlpha(mFillColor, mFillAlpha)); + outCanvas->drawPath(renderPath, mPaint); + } + // Draw path's stroke, if stroke color isn't transparent + if (mStrokeColor != SK_ColorTRANSPARENT) { + mPaint.setStyle(SkPaint::Style::kStroke_Style); + mPaint.setAntiAlias(true); + mPaint.setStrokeJoin(mStrokeLineJoin); + mPaint.setStrokeCap(mStrokeLineCap); + mPaint.setStrokeMiter(mStrokeMiterLimit); + mPaint.setColor(applyAlpha(mStrokeColor, mStrokeAlpha)); + mPaint.setStrokeWidth(mStrokeWidth * strokeScale); + outCanvas->drawPath(renderPath, mPaint); + } +} + +/** + * Applies trimming to the specified path. + */ +void FullPath::applyTrim() { + if (mTrimPathStart == 0.0f && mTrimPathEnd == 1.0f) { + // No trimming necessary. + return; + } + SkPathMeasure measure(mSkPath, false); + float len = SkScalarToFloat(measure.getLength()); + float start = len * fmod((mTrimPathStart + mTrimPathOffset), 1.0f); + float end = len * fmod((mTrimPathEnd + mTrimPathOffset), 1.0f); + + mTrimmedSkPath.reset(); + if (start > end) { + measure.getSegment(start, len, &mTrimmedSkPath, true); + measure.getSegment(0, end, &mTrimmedSkPath, true); + } else { + measure.getSegment(start, end, &mTrimmedSkPath, true); + } + mTrimDirty = false; +} + +inline int putData(int8_t* outBytes, int startIndex, float value) { + int size = sizeof(float); + memcpy(&outBytes[startIndex], &value, size); + return size; +} + +inline int putData(int8_t* outBytes, int startIndex, int value) { + int size = sizeof(int); + memcpy(&outBytes[startIndex], &value, size); + return size; +} + +struct FullPathProperties { + // TODO: Consider storing full path properties in this struct instead of the fields. + float strokeWidth; + SkColor strokeColor; + float strokeAlpha; + SkColor fillColor; + float fillAlpha; + float trimPathStart; + float trimPathEnd; + float trimPathOffset; + int32_t strokeLineCap; + int32_t strokeLineJoin; + float strokeMiterLimit; +}; + +REQUIRE_COMPATIBLE_LAYOUT(FullPathProperties); + +static_assert(sizeof(float) == sizeof(int32_t), "float is not the same size as int32_t"); +static_assert(sizeof(SkColor) == sizeof(int32_t), "SkColor is not the same size as int32_t"); + +bool FullPath::getProperties(int8_t* outProperties, int length) { + int propertyDataSize = sizeof(FullPathProperties); + if (length != propertyDataSize) { + LOG_ALWAYS_FATAL("Properties needs exactly %d bytes, a byte array of size %d is provided", + propertyDataSize, length); + return false; + } + // TODO: consider replacing the property fields with a FullPathProperties struct. + FullPathProperties properties; + properties.strokeWidth = mStrokeWidth; + properties.strokeColor = mStrokeColor; + properties.strokeAlpha = mStrokeAlpha; + properties.fillColor = mFillColor; + properties.fillAlpha = mFillAlpha; + properties.trimPathStart = mTrimPathStart; + properties.trimPathEnd = mTrimPathEnd; + properties.trimPathOffset = mTrimPathOffset; + properties.strokeLineCap = mStrokeLineCap; + properties.strokeLineJoin = mStrokeLineJoin; + properties.strokeMiterLimit = mStrokeMiterLimit; + + memcpy(outProperties, &properties, length); + return true; +} + +void ClipPath::drawPath(Canvas* outCanvas, const SkPath& renderPath, + float strokeScale){ + outCanvas->clipPath(&renderPath, SkRegion::kIntersect_Op); +} + +Group::Group(const Group& group) : Node(group) { + mRotate = group.mRotate; + mPivotX = group.mPivotX; + mPivotY = group.mPivotY; + mScaleX = group.mScaleX; + mScaleY = group.mScaleY; + mTranslateX = group.mTranslateX; + mTranslateY = group.mTranslateY; +} + +void Group::draw(Canvas* outCanvas, const SkMatrix& currentMatrix, float scaleX, + float scaleY) { + // TODO: Try apply the matrix to the canvas instead of passing it down the tree + + // Calculate current group's matrix by preConcat the parent's and + // and the current one on the top of the stack. + // Basically the Mfinal = Mviewport * M0 * M1 * M2; + // Mi the local matrix at level i of the group tree. + SkMatrix stackedMatrix; + getLocalMatrix(&stackedMatrix); + stackedMatrix.postConcat(currentMatrix); + + // Save the current clip information, which is local to this group. + outCanvas->save(SkCanvas::kMatrixClip_SaveFlag); + // Draw the group tree in the same order as the XML file. + for (Node* child : mChildren) { + child->draw(outCanvas, stackedMatrix, scaleX, scaleY); + } + // Restore the previous clip information. + outCanvas->restore(); +} + +void Group::dump() { + ALOGD("Group %s has %zu children: ", mName.c_str(), mChildren.size()); + for (size_t i = 0; i < mChildren.size(); i++) { + mChildren[i]->dump(); + } +} + +void Group::updateLocalMatrix(float rotate, float pivotX, float pivotY, + float scaleX, float scaleY, float translateX, float translateY) { + setRotation(rotate); + setPivotX(pivotX); + setPivotY(pivotY); + setScaleX(scaleX); + setScaleY(scaleY); + setTranslateX(translateX); + setTranslateY(translateY); +} + +void Group::getLocalMatrix(SkMatrix* outMatrix) { + outMatrix->reset(); + // TODO: use rotate(mRotate, mPivotX, mPivotY) and scale with pivot point, instead of + // translating to pivot for rotating and scaling, then translating back. + outMatrix->postTranslate(-mPivotX, -mPivotY); + outMatrix->postScale(mScaleX, mScaleY); + outMatrix->postRotate(mRotate, 0, 0); + outMatrix->postTranslate(mTranslateX + mPivotX, mTranslateY + mPivotY); +} + +void Group::addChild(Node* child) { + mChildren.push_back(child); +} + +bool Group::getProperties(float* outProperties, int length) { + int propertyCount = static_cast<int>(Property::Count); + if (length != propertyCount) { + LOG_ALWAYS_FATAL("Properties needs exactly %d bytes, a byte array of size %d is provided", + propertyCount, length); + return false; + } + for (int i = 0; i < propertyCount; i++) { + Property currentProperty = static_cast<Property>(i); + switch (currentProperty) { + case Property::Rotate_Property: + outProperties[i] = mRotate; + break; + case Property::PivotX_Property: + outProperties[i] = mPivotX; + break; + case Property::PivotY_Property: + outProperties[i] = mPivotY; + break; + case Property::ScaleX_Property: + outProperties[i] = mScaleX; + break; + case Property::ScaleY_Property: + outProperties[i] = mScaleY; + break; + case Property::TranslateX_Property: + outProperties[i] = mTranslateX; + break; + case Property::TranslateY_Property: + outProperties[i] = mTranslateY; + break; + default: + LOG_ALWAYS_FATAL("Invalid input index: %d", i); + return false; + } + } + return true; +} + +void Tree::draw(Canvas* outCanvas, SkColorFilter* colorFilter, + const SkRect& bounds, bool needsMirroring, bool canReuseCache) { + // The imageView can scale the canvas in different ways, in order to + // avoid blurry scaling, we have to draw into a bitmap with exact pixel + // size first. This bitmap size is determined by the bounds and the + // canvas scale. + outCanvas->getMatrix(&mCanvasMatrix); + mBounds = bounds; + float canvasScaleX = 1.0f; + float canvasScaleY = 1.0f; + if (mCanvasMatrix.getSkewX() == 0 && mCanvasMatrix.getSkewY() == 0) { + // Only use the scale value when there's no skew or rotation in the canvas matrix. + canvasScaleX = mCanvasMatrix.getScaleX(); + canvasScaleY = mCanvasMatrix.getScaleY(); + } + int scaledWidth = (int) (mBounds.width() * canvasScaleX); + int scaledHeight = (int) (mBounds.height() * canvasScaleY); + scaledWidth = std::min(Tree::MAX_CACHED_BITMAP_SIZE, scaledWidth); + scaledHeight = std::min(Tree::MAX_CACHED_BITMAP_SIZE, scaledHeight); + + if (scaledWidth <= 0 || scaledHeight <= 0) { + return; + } + + int saveCount = outCanvas->save(SkCanvas::SaveFlags::kMatrixClip_SaveFlag); + outCanvas->translate(mBounds.fLeft, mBounds.fTop); + + // Handle RTL mirroring. + if (needsMirroring) { + outCanvas->translate(mBounds.width(), 0); + outCanvas->scale(-1.0f, 1.0f); + } + + // At this point, canvas has been translated to the right position. + // And we use this bound for the destination rect for the drawBitmap, so + // we offset to (0, 0); + mBounds.offsetTo(0, 0); + + createCachedBitmapIfNeeded(scaledWidth, scaledHeight); + if (!mAllowCaching) { + updateCachedBitmap(scaledWidth, scaledHeight); + } else { + if (!canReuseCache || mCacheDirty) { + updateCachedBitmap(scaledWidth, scaledHeight); + } + } + drawCachedBitmapWithRootAlpha(outCanvas, colorFilter, mBounds); + + outCanvas->restoreToCount(saveCount); +} + +void Tree::drawCachedBitmapWithRootAlpha(Canvas* outCanvas, SkColorFilter* filter, + const SkRect& originalBounds) { + SkPaint* paint; + if (mRootAlpha == 1.0f && filter == NULL) { + paint = NULL; + } else { + mPaint.setFilterQuality(kLow_SkFilterQuality); + mPaint.setAlpha(mRootAlpha * 255); + mPaint.setColorFilter(filter); + paint = &mPaint; + } + outCanvas->drawBitmap(mCachedBitmap, 0, 0, mCachedBitmap.width(), mCachedBitmap.height(), + originalBounds.fLeft, originalBounds.fTop, originalBounds.fRight, + originalBounds.fBottom, paint); +} + +void Tree::updateCachedBitmap(int width, int height) { + mCachedBitmap.eraseColor(SK_ColorTRANSPARENT); + Canvas* outCanvas = Canvas::create_canvas(mCachedBitmap); + float scaleX = width / mViewportWidth; + float scaleY = height / mViewportHeight; + mRootNode->draw(outCanvas, SkMatrix::I(), scaleX, scaleY); + mCacheDirty = false; +} + +void Tree::createCachedBitmapIfNeeded(int width, int height) { + if (!canReuseBitmap(width, height)) { + SkImageInfo info = SkImageInfo::Make(width, height, + kN32_SkColorType, kPremul_SkAlphaType); + mCachedBitmap.setInfo(info); + // TODO: Count the bitmap cache against app's java heap + mCachedBitmap.allocPixels(info); + mCacheDirty = true; + } +} + +bool Tree::canReuseBitmap(int width, int height) { + return width == mCachedBitmap.width() && height == mCachedBitmap.height(); +} + +}; // namespace VectorDrawable + +}; // namespace uirenderer +}; // namespace android diff --git a/libs/hwui/VectorDrawable.h b/libs/hwui/VectorDrawable.h new file mode 100644 index 000000000000..6c84b052faf4 --- /dev/null +++ b/libs/hwui/VectorDrawable.h @@ -0,0 +1,330 @@ +/* + * Copyright (C) 2015 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. + */ + +#ifndef ANDROID_HWUI_VPATH_H +#define ANDROID_HWUI_VPATH_H + +#include "Canvas.h" +#include <SkBitmap.h> +#include <SkColor.h> +#include <SkMatrix.h> +#include <SkPaint.h> +#include <SkPath.h> +#include <SkPathMeasure.h> +#include <SkRect.h> + +#include <cutils/compiler.h> +#include <stddef.h> +#include <vector> +#include <string> + +namespace android { +namespace uirenderer { + +namespace VectorDrawable { +#define VD_SET_PROP_WITH_FLAG(field, value, flag) (VD_SET_PROP(field, value) ? (flag = true, true): false); +#define VD_SET_PROP(field, value) (value != field ? (field = value, true) : false) + +/* A VectorDrawable is composed of a tree of nodes. + * Each node can be a group node, or a path. + * A group node can have groups or paths as children, but a path node has + * no children. + * One example can be: + * Root Group + * / | \ + * Group Path Group + * / \ | + * Path Path Path + * + */ +class ANDROID_API Node { +public: + Node(const Node& node) { + mName = node.mName; + } + Node() {} + virtual void draw(Canvas* outCanvas, const SkMatrix& currentMatrix, + float scaleX, float scaleY) = 0; + virtual void dump() = 0; + void setName(const char* name) { + mName = name; + } + virtual ~Node(){} +protected: + std::string mName; +}; + +class ANDROID_API Path : public Node { +public: + struct ANDROID_API Data { + std::vector<char> verbs; + std::vector<size_t> verbSizes; + std::vector<float> points; + bool operator==(const Data& data) const { + return verbs == data.verbs && verbSizes == data.verbSizes + && points == data.points; + } + }; + Path(const Data& nodes); + Path(const Path& path); + Path(const char* path, size_t strLength); + Path() {} + void dump() override; + bool canMorph(const Data& path); + bool canMorph(const Path& path); + void draw(Canvas* outCanvas, const SkMatrix& groupStackedMatrix, + float scaleX, float scaleY) override; + void setPath(const char* path, size_t strLength); + void setPathData(const Data& data); + static float getMatrixScale(const SkMatrix& groupStackedMatrix); + +protected: + virtual const SkPath& getUpdatedPath(); + virtual void drawPath(Canvas *outCanvas, const SkPath& renderPath, + float strokeScale) = 0; + Data mData; + SkPath mSkPath; + bool mSkPathDirty = true; +}; + +class ANDROID_API FullPath: public Path { +public: + FullPath(const FullPath& path); // for cloning + FullPath(const char* path, size_t strLength) : Path(path, strLength) {} + FullPath() : Path() {} + FullPath(const Data& nodes) : Path(nodes) {} + + void updateProperties(float strokeWidth, SkColor strokeColor, + float strokeAlpha, SkColor fillColor, float fillAlpha, + float trimPathStart, float trimPathEnd, float trimPathOffset, + float strokeMiterLimit, int strokeLineCap, int strokeLineJoin); + float getStrokeWidth() { + return mStrokeWidth; + } + void setStrokeWidth(float strokeWidth) { + mStrokeWidth = strokeWidth; + } + SkColor getStrokeColor() { + return mStrokeColor; + } + void setStrokeColor(SkColor strokeColor) { + mStrokeColor = strokeColor; + } + float getStrokeAlpha() { + return mStrokeAlpha; + } + void setStrokeAlpha(float strokeAlpha) { + mStrokeAlpha = strokeAlpha; + } + SkColor getFillColor() { + return mFillColor; + } + void setFillColor(SkColor fillColor) { + mFillColor = fillColor; + } + float getFillAlpha() { + return mFillAlpha; + } + void setFillAlpha(float fillAlpha) { + mFillAlpha = fillAlpha; + } + float getTrimPathStart() { + return mTrimPathStart; + } + void setTrimPathStart(float trimPathStart) { + VD_SET_PROP_WITH_FLAG(mTrimPathStart, trimPathStart, mTrimDirty); + } + float getTrimPathEnd() { + return mTrimPathEnd; + } + void setTrimPathEnd(float trimPathEnd) { + VD_SET_PROP_WITH_FLAG(mTrimPathEnd, trimPathEnd, mTrimDirty); + } + float getTrimPathOffset() { + return mTrimPathOffset; + } + void setTrimPathOffset(float trimPathOffset) { + VD_SET_PROP_WITH_FLAG(mTrimPathOffset, trimPathOffset, mTrimDirty); + } + bool getProperties(int8_t* outProperties, int length); + +protected: + const SkPath& getUpdatedPath() override; + void drawPath(Canvas* outCanvas, const SkPath& renderPath, + float strokeScale) override; + +private: + // Applies trimming to the specified path. + void applyTrim(); + float mStrokeWidth = 0; + SkColor mStrokeColor = SK_ColorTRANSPARENT; + float mStrokeAlpha = 1; + SkColor mFillColor = SK_ColorTRANSPARENT; + float mFillAlpha = 1; + float mTrimPathStart = 0; + float mTrimPathEnd = 1; + float mTrimPathOffset = 0; + bool mTrimDirty = true; + SkPaint::Cap mStrokeLineCap = SkPaint::Cap::kButt_Cap; + SkPaint::Join mStrokeLineJoin = SkPaint::Join::kMiter_Join; + float mStrokeMiterLimit = 4; + SkPath mTrimmedSkPath; + SkPaint mPaint; +}; + +class ANDROID_API ClipPath: public Path { +public: + ClipPath(const ClipPath& path) : Path(path) {} + ClipPath(const char* path, size_t strLength) : Path(path, strLength) {} + ClipPath() : Path() {} + ClipPath(const Data& nodes) : Path(nodes) {} + +protected: + void drawPath(Canvas* outCanvas, const SkPath& renderPath, + float strokeScale) override; +}; + +class ANDROID_API Group: public Node { +public: + Group(const Group& group); + Group() {} + float getRotation() { + return mRotate; + } + void setRotation(float rotation) { + mRotate = rotation; + } + float getPivotX() { + return mPivotX; + } + void setPivotX(float pivotX) { + mPivotX = pivotX; + } + float getPivotY() { + return mPivotY; + } + void setPivotY(float pivotY) { + mPivotY = pivotY; + } + float getScaleX() { + return mScaleX; + } + void setScaleX(float scaleX) { + mScaleX = scaleX; + } + float getScaleY() { + return mScaleY; + } + void setScaleY(float scaleY) { + mScaleY = scaleY; + } + float getTranslateX() { + return mTranslateX; + } + void setTranslateX(float translateX) { + mTranslateX = translateX; + } + float getTranslateY() { + return mTranslateY; + } + void setTranslateY(float translateY) { + mTranslateY = translateY; + } + virtual void draw(Canvas* outCanvas, const SkMatrix& currentMatrix, + float scaleX, float scaleY) override; + void updateLocalMatrix(float rotate, float pivotX, float pivotY, + float scaleX, float scaleY, float translateX, float translateY); + void getLocalMatrix(SkMatrix* outMatrix); + void addChild(Node* child); + void dump() override; + bool getProperties(float* outProperties, int length); + +private: + enum class Property { + Rotate_Property = 0, + PivotX_Property, + PivotY_Property, + ScaleX_Property, + ScaleY_Property, + TranslateX_Property, + TranslateY_Property, + // Count of the properties, must be at the end. + Count, + }; + float mRotate = 0; + float mPivotX = 0; + float mPivotY = 0; + float mScaleX = 1; + float mScaleY = 1; + float mTranslateX = 0; + float mTranslateY = 0; + std::vector<Node*> mChildren; +}; + +class ANDROID_API Tree { +public: + Tree(Group* rootNode) : mRootNode(rootNode) {} + void draw(Canvas* outCanvas, SkColorFilter* colorFilter, + const SkRect& bounds, bool needsMirroring, bool canReuseCache); + void drawCachedBitmapWithRootAlpha(Canvas* outCanvas, SkColorFilter* filter, + const SkRect& originalBounds); + + void updateCachedBitmap(int width, int height); + void createCachedBitmapIfNeeded(int width, int height); + bool canReuseBitmap(int width, int height); + void setAllowCaching(bool allowCaching) { + mAllowCaching = allowCaching; + } + bool setRootAlpha(float rootAlpha) { + return VD_SET_PROP(mRootAlpha, rootAlpha); + } + + float getRootAlpha() { + return mRootAlpha; + } + void setViewportSize(float viewportWidth, float viewportHeight) { + mViewportWidth = viewportWidth; + mViewportHeight = viewportHeight; + } + +private: + // Cap the bitmap size, such that it won't hurt the performance too much + // and it won't crash due to a very large scale. + // The drawable will look blurry above this size. + const static int MAX_CACHED_BITMAP_SIZE; + + bool mCacheDirty = true; + bool mAllowCaching = true; + float mViewportWidth = 0; + float mViewportHeight = 0; + float mRootAlpha = 1.0f; + + Group* mRootNode; + SkRect mBounds; + SkMatrix mCanvasMatrix; + SkPaint mPaint; + SkPathMeasure mPathMeasure; + SkBitmap mCachedBitmap; + +}; + +} // namespace VectorDrawable + +typedef VectorDrawable::Path::Data PathData; +} // namespace uirenderer +} // namespace android + +#endif // ANDROID_HWUI_VPATH_H diff --git a/libs/hwui/VectorDrawablePath.cpp b/libs/hwui/VectorDrawablePath.cpp deleted file mode 100644 index c9a54ca870fa..000000000000 --- a/libs/hwui/VectorDrawablePath.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (C) 2015 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. - */ - -#include "VectorDrawablePath.h" - -#include "PathParser.h" -#include "utils/VectorDrawableUtils.h" - -#include <math.h> -#include <utils/Log.h> - -namespace android { -namespace uirenderer { - - -VectorDrawablePath::VectorDrawablePath(const char* pathStr, size_t strLength) { - PathParser::ParseResult result; - PathParser::getPathDataFromString(&mData, &result, pathStr, strLength); - if (!result.failureOccurred) { - VectorDrawableUtils::verbsToPath(&mSkPath, mData); - } -} - -VectorDrawablePath::VectorDrawablePath(const PathData& data) { - mData = data; - // Now we need to construct a path - VectorDrawableUtils::verbsToPath(&mSkPath, data); -} - -VectorDrawablePath::VectorDrawablePath(const VectorDrawablePath& path) { - mData = path.mData; - VectorDrawableUtils::verbsToPath(&mSkPath, mData); -} - - -bool VectorDrawablePath::canMorph(const PathData& morphTo) { - return VectorDrawableUtils::canMorph(mData, morphTo); -} - -bool VectorDrawablePath::canMorph(const VectorDrawablePath& path) { - return canMorph(path.mData); -} - - -}; // namespace uirenderer -}; // namespace android diff --git a/libs/hwui/VectorDrawablePath.h b/libs/hwui/VectorDrawablePath.h deleted file mode 100644 index 2e56349b3aa4..000000000000 --- a/libs/hwui/VectorDrawablePath.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (C) 2015 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. - */ - -#ifndef ANDROID_HWUI_VPATH_H -#define ANDROID_HWUI_VPATH_H - -#include <cutils/compiler.h> -#include "SkPath.h" -#include <vector> - -namespace android { -namespace uirenderer { - -struct ANDROID_API PathData { - // TODO: Try using FatVector instead of std::vector and do a micro benchmark on the performance - // difference. - std::vector<char> verbs; - std::vector<size_t> verbSizes; - std::vector<float> points; - bool operator== (const PathData& data) const { - return verbs == data.verbs && verbSizes == data.verbSizes && points == data.points; - } - -}; - -class VectorDrawablePath { -public: - VectorDrawablePath(const PathData& nodes); - VectorDrawablePath(const VectorDrawablePath& path); - VectorDrawablePath(const char* path, size_t strLength); - bool canMorph(const PathData& path); - bool canMorph(const VectorDrawablePath& path); - -private: - PathData mData; - SkPath mSkPath; -}; - -} // namespace uirenderer -} // namespace android - -#endif // ANDROID_HWUI_VPATH_H diff --git a/libs/hwui/renderthread/EglManager.cpp b/libs/hwui/renderthread/EglManager.cpp index 78df29759a44..466fef9def09 100644 --- a/libs/hwui/renderthread/EglManager.cpp +++ b/libs/hwui/renderthread/EglManager.cpp @@ -29,8 +29,6 @@ #define GLES_VERSION 2 -#define WAIT_FOR_GPU_COMPLETION 0 - // Android-specific addition that is used to show when frames began in systrace EGLAPI void EGLAPIENTRY eglBeginFrame(EGLDisplay dpy, EGLSurface surface); @@ -179,7 +177,10 @@ void EglManager::loadConfig() { } void EglManager::createContext() { - EGLint attribs[] = { EGL_CONTEXT_CLIENT_VERSION, GLES_VERSION, EGL_NONE }; + EGLint attribs[] = { + EGL_CONTEXT_CLIENT_VERSION, GLES_VERSION, + EGL_NONE + }; mEglContext = eglCreateContext(mEglDisplay, mEglConfig, EGL_NO_CONTEXT, attribs); LOG_ALWAYS_FATAL_IF(mEglContext == EGL_NO_CONTEXT, "Failed to create context, error = %s", egl_error_str()); @@ -318,12 +319,10 @@ void EglManager::damageFrame(const Frame& frame, const SkRect& dirty) { bool EglManager::swapBuffers(const Frame& frame, const SkRect& screenDirty) { -#if WAIT_FOR_GPU_COMPLETION - { + if (CC_UNLIKELY(Properties::waitForGpuCompletion)) { ATRACE_NAME("Finishing GPU work"); fence(); } -#endif EGLint rects[4]; frame.map(screenDirty, rects); diff --git a/libs/hwui/tests/common/TestScene.h b/libs/hwui/tests/common/TestScene.h index df8d194f641b..706f2ff75222 100644 --- a/libs/hwui/tests/common/TestScene.h +++ b/libs/hwui/tests/common/TestScene.h @@ -37,6 +37,7 @@ class TestScene { public: struct Options { int count = 0; + int reportFrametimeWeight = 0; }; template <class T> diff --git a/libs/hwui/tests/macrobench/TestSceneRunner.cpp b/libs/hwui/tests/macrobench/TestSceneRunner.cpp index 82612206cac8..a843e9265ef1 100644 --- a/libs/hwui/tests/macrobench/TestSceneRunner.cpp +++ b/libs/hwui/tests/macrobench/TestSceneRunner.cpp @@ -38,6 +38,30 @@ public: } }; +template<class T> +class ModifiedMovingAverage { +public: + ModifiedMovingAverage(int weight) : mWeight(weight) {} + + T add(T today) { + if (!mHasValue) { + mAverage = today; + } else { + mAverage = (((mWeight - 1) * mAverage) + today) / mWeight; + } + return mAverage; + } + + T average() { + return mAverage; + } + +private: + bool mHasValue = false; + int mWeight; + T mAverage; +}; + void run(const TestScene::Info& info, const TestScene::Options& opts) { // Switch to the real display gDisplay = getBuiltInDisplay(); @@ -67,22 +91,35 @@ void run(const TestScene::Info& info, const TestScene::Options& opts) { proxy->setLightCenter((Vector3){lightX, dp(-200.0f), dp(800.0f)}); // Do a few cold runs then reset the stats so that the caches are all hot - for (int i = 0; i < 3; i++) { + for (int i = 0; i < 5; i++) { testContext.waitForVsync(); nsecs_t vsync = systemTime(CLOCK_MONOTONIC); UiFrameInfoBuilder(proxy->frameInfo()).setVsync(vsync, vsync); proxy->syncAndDrawFrame(); } + proxy->resetProfileInfo(); + proxy->fence(); + + ModifiedMovingAverage<double> avgMs(opts.reportFrametimeWeight); for (int i = 0; i < opts.count; i++) { testContext.waitForVsync(); - - ATRACE_NAME("UI-Draw Frame"); nsecs_t vsync = systemTime(CLOCK_MONOTONIC); - UiFrameInfoBuilder(proxy->frameInfo()).setVsync(vsync, vsync); - scene->doFrame(i); - proxy->syncAndDrawFrame(); + { + ATRACE_NAME("UI-Draw Frame"); + UiFrameInfoBuilder(proxy->frameInfo()).setVsync(vsync, vsync); + scene->doFrame(i); + proxy->syncAndDrawFrame(); + } + proxy->fence(); + nsecs_t done = systemTime(CLOCK_MONOTONIC); + if (opts.reportFrametimeWeight) { + avgMs.add((done - vsync) / 1000000.0); + if (i % 10 == 9) { + printf("Average frametime %.3fms\n", avgMs.average()); + } + } } proxy->dumpProfileInfo(STDOUT_FILENO, 0); diff --git a/libs/hwui/tests/macrobench/main.cpp b/libs/hwui/tests/macrobench/main.cpp index 619713c58c9a..1616a95857d8 100644 --- a/libs/hwui/tests/macrobench/main.cpp +++ b/libs/hwui/tests/macrobench/main.cpp @@ -17,6 +17,7 @@ #include "tests/common/TestScene.h" #include "protos/hwui.pb.h" +#include "Properties.h" #include <getopt.h> #include <stdio.h> @@ -25,26 +26,38 @@ #include <unordered_map> #include <vector> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <errno.h> + using namespace android; using namespace android::uirenderer; using namespace android::uirenderer::test; -static int gFrameCount = 150; static int gRepeatCount = 1; static std::vector<TestScene::Info> gRunTests; +static TestScene::Options gOpts; void run(const TestScene::Info& info, const TestScene::Options& opts); static void printHelp() { - printf("\ -USAGE: hwuitest [OPTIONS] <TESTNAME>\n\ -\n\ -OPTIONS:\n\ - -c, --count=NUM NUM loops a test should run (example, number of frames)\n\ - -r, --runs=NUM Repeat the test(s) NUM times\n\ - -h, --help Display this help\n\ - --list List all tests\n\ -\n"); + printf(R"( +USAGE: hwuitest [OPTIONS] <TESTNAME> + +OPTIONS: + -c, --count=NUM NUM loops a test should run (example, number of frames) + -r, --runs=NUM Repeat the test(s) NUM times + -h, --help Display this help + --list List all tests + --wait-for-gpu Set this to wait for the GPU before producing the + next frame. Note that without locked clocks this will + pathologically bad performance due to large idle time + --report-frametime[=weight] If set, the test will print to stdout the + moving average frametime. Weight is optional, default is 10 + --cpuset=name Adds the test to the specified cpuset before running + Not supported on all devices and needs root +)"); } static void listTests() { @@ -77,11 +90,56 @@ static void listTests() { } } +static void moveToCpuSet(const char* cpusetName) { + if (access("/dev/cpuset/tasks", F_OK)) { + fprintf(stderr, "don't have access to cpusets, skipping...\n"); + return; + } + static const int BUF_SIZE = 100; + char buffer[BUF_SIZE]; + + if (snprintf(buffer, BUF_SIZE, "/dev/cpuset/%s/tasks", cpusetName) >= BUF_SIZE) { + fprintf(stderr, "Error, cpusetName too large to fit in buffer '%s'\n", cpusetName); + return; + } + int fd = open(buffer, O_WRONLY | O_CLOEXEC); + if (fd == -1) { + fprintf(stderr, "Error opening file %d\n", errno); + return; + } + pid_t pid = getpid(); + + int towrite = snprintf(buffer, BUF_SIZE, "%ld", (long) pid); + if (towrite >= BUF_SIZE) { + fprintf(stderr, "Buffer wasn't large enough?\n"); + } else { + if (write(fd, buffer, towrite) != towrite) { + fprintf(stderr, "Failed to write, errno=%d", errno); + } + } + close(fd); +} + +// For options that only exist in long-form. Anything in the +// 0-255 range is reserved for short options (which just use their ASCII value) +namespace LongOpts { +enum { + Reserved = 255, + List, + WaitForGpu, + ReportFrametime, + CpuSet, +}; +} + static const struct option LONG_OPTIONS[] = { { "frames", required_argument, nullptr, 'f' }, { "repeat", required_argument, nullptr, 'r' }, { "help", no_argument, nullptr, 'h' }, - { "list", no_argument, nullptr, 'l' }, + { "list", no_argument, nullptr, LongOpts::List }, + { "wait-for-gpu", no_argument, nullptr, LongOpts::WaitForGpu }, + { "report-frametime", optional_argument, nullptr, LongOpts::ReportFrametime }, + { "cpuset", required_argument, nullptr, LongOpts::CpuSet }, { 0, 0, 0, 0 } }; @@ -89,8 +147,6 @@ static const char* SHORT_OPTIONS = "c:r:h"; void parseOptions(int argc, char* argv[]) { int c; - // temporary variable - int count; bool error = false; opterr = 0; @@ -110,31 +166,53 @@ void parseOptions(int argc, char* argv[]) { // (although none of the current LONG_OPTIONS do this...) break; - case 'l': + case LongOpts::List: listTests(); exit(EXIT_SUCCESS); break; case 'c': - count = atoi(optarg); - if (!count) { + gOpts.count = atoi(optarg); + if (!gOpts.count) { fprintf(stderr, "Invalid frames argument '%s'\n", optarg); error = true; - } else { - gFrameCount = (count > 0 ? count : INT_MAX); } break; case 'r': - count = atoi(optarg); - if (!count) { + gRepeatCount = atoi(optarg); + if (!gRepeatCount) { fprintf(stderr, "Invalid repeat argument '%s'\n", optarg); error = true; } else { - gRepeatCount = (count > 0 ? count : INT_MAX); + gRepeatCount = (gRepeatCount > 0 ? gRepeatCount : INT_MAX); + } + break; + + case LongOpts::ReportFrametime: + if (optarg) { + gOpts.reportFrametimeWeight = atoi(optarg); + if (!gOpts.reportFrametimeWeight) { + fprintf(stderr, "Invalid report frametime weight '%s'\n", optarg); + error = true; + } + } else { + gOpts.reportFrametimeWeight = 10; } break; + case LongOpts::WaitForGpu: + Properties::waitForGpuCompletion = true; + break; + + case LongOpts::CpuSet: + if (!optarg) { + error = true; + break; + } + moveToCpuSet(optarg); + break; + case 'h': printHelp(); exit(EXIT_SUCCESS); @@ -172,13 +250,14 @@ void parseOptions(int argc, char* argv[]) { } int main(int argc, char* argv[]) { + // set defaults + gOpts.count = 150; + parseOptions(argc, argv); - TestScene::Options opts; - opts.count = gFrameCount; for (int i = 0; i < gRepeatCount; i++) { for (auto&& test : gRunTests) { - run(test, opts); + run(test, gOpts); } } printf("Success!\n"); diff --git a/libs/hwui/tests/microbench/PathParserBench.cpp b/libs/hwui/tests/microbench/PathParserBench.cpp index 3d9fafac6c93..bd742c6ededf 100644 --- a/libs/hwui/tests/microbench/PathParserBench.cpp +++ b/libs/hwui/tests/microbench/PathParserBench.cpp @@ -17,7 +17,7 @@ #include <benchmark/Benchmark.h> #include "PathParser.h" -#include "VectorDrawablePath.h" +#include "VectorDrawable.h" #include <SkPath.h> diff --git a/libs/hwui/tests/scripts/prep_volantis.sh b/libs/hwui/tests/scripts/prep_volantis.sh new file mode 100755 index 000000000000..09d4869523ba --- /dev/null +++ b/libs/hwui/tests/scripts/prep_volantis.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +# Copyright (C) 2015 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. + +adb root +adb wait-for-device +adb shell stop mpdecision +adb shell stop perfd +adb shell stop +for pid in $( adb shell ps | awk '{ if ( $9 == "surfaceflinger" ) { print $2 } }' ); do + adb shell kill $pid +done +adb shell setprop debug.egl.traceGpuCompletion 1 +adb shell daemonize surfaceflinger +sleep 3 +adb shell setprop service.bootanim.exit 1 + +# cpu possible frequencies +# 204000 229500 255000 280500 306000 331500 357000 382500 408000 433500 459000 +# 484500 510000 535500 561000 586500 612000 637500 663000 688500 714000 739500 +# 765000 790500 816000 841500 867000 892500 918000 943500 969000 994500 1020000 +# 1122000 1224000 1326000 1428000 1530000 1632000 1734000 1836000 1938000 +# 2014500 2091000 2193000 2295000 2397000 2499000 + +S=1326000 +echo "set cpu $cpu to $S hz"; +adb shell "echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor" +adb shell "echo $S > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq" +adb shell "echo $S > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq" +adb shell "echo $S > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed" + +#disable hotplug +adb shell "echo 0 > /sys/devices/system/cpu/cpuquiet/tegra_cpuquiet/enable" + +# gbus possible rates +# 72000 108000 180000 252000 324000 396000 468000 540000 612000 648000 +# 684000 708000 756000 804000 852000 (kHz) + +S=324000000 +echo "set gpu to $s hz" +adb shell "echo 1 > /d/clock/override.gbus/state" +adb shell "echo $S > /d/clock/override.gbus/rate" diff --git a/libs/hwui/tests/unit/VectorDrawableTests.cpp b/libs/hwui/tests/unit/VectorDrawableTests.cpp index 77dd73acff10..720854779c98 100644 --- a/libs/hwui/tests/unit/VectorDrawableTests.cpp +++ b/libs/hwui/tests/unit/VectorDrawableTests.cpp @@ -17,6 +17,7 @@ #include <gtest/gtest.h> #include "PathParser.h" +#include "VectorDrawable.h" #include "utils/MathUtils.h" #include "utils/VectorDrawableUtils.h" @@ -98,6 +99,65 @@ const static TestData sTestDataSet[] = { } }, + // Check box VectorDrawable path data + { + // Path + "M 0.0,-1.0 l 0.0,0.0 c 0.5522847498,0.0 1.0,0.4477152502 1.0,1.0 l 0.0,0.0 c 0.0,0.5522847498 -0.4477152502,1.0 -1.0,1.0 l 0.0,0.0 c -0.5522847498,0.0 -1.0,-0.4477152502 -1.0,-1.0 l 0.0,0.0 c 0.0,-0.5522847498 0.4477152502,-1.0 1.0,-1.0 Z M 7.0,-9.0 c 0.0,0.0 -14.0,0.0 -14.0,0.0 c -1.1044921875,0.0 -2.0,0.8955078125 -2.0,2.0 c 0.0,0.0 0.0,14.0 0.0,14.0 c 0.0,1.1044921875 0.8955078125,2.0 2.0,2.0 c 0.0,0.0 14.0,0.0 14.0,0.0 c 1.1044921875,0.0 2.0,-0.8955078125 2.0,-2.0 c 0.0,0.0 0.0,-14.0 0.0,-14.0 c 0.0,-1.1044921875 -0.8955078125,-2.0 -2.0,-2.0 c 0.0,0.0 0.0,0.0 0.0,0.0 Z", + { + {'M', 'l', 'c', 'l', 'c', 'l', 'c', 'l', 'c', 'Z', 'M', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'Z'}, + {2, 2, 6, 2, 6, 2, 6, 2, 6, 0, 2, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0}, + {0.0, -1.0, 0.0, 0.0, 0.5522848, 0.0, 1.0, 0.44771525, 1.0, 1.0, 0.0, 0.0, 0.0, 0.5522848, -0.44771525, 1.0, -1.0, 1.0, 0.0, 0.0, -0.5522848, 0.0, -1.0, -0.44771525, -1.0, -1.0, 0.0, 0.0, 0.0, -0.5522848, 0.44771525, -1.0, 1.0, -1.0, 7.0, -9.0, 0.0, 0.0, -14.0, 0.0, -14.0, 0.0, -1.1044922, 0.0, -2.0, 0.8955078, -2.0, 2.0, 0.0, 0.0, 0.0, 14.0, 0.0, 14.0, 0.0, 1.1044922, 0.8955078, 2.0, 2.0, 2.0, 0.0, 0.0, 14.0, 0.0, 14.0, 0.0, 1.1044922, 0.0, 2.0, -0.8955078, 2.0, -2.0, 0.0, 0.0, 0.0, -14.0, 0.0, -14.0, 0.0, -1.1044922, -0.8955078, -2.0, -2.0, -2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}, + }, + [](SkPath* outPath) { + outPath->moveTo(0.0, -1.0); + outPath->rLineTo(0.0, 0.0); + outPath->rCubicTo(0.5522848, 0.0, 1.0, 0.44771525, 1.0, 1.0); + outPath->rLineTo(0.0, 0.0); + outPath->rCubicTo(0.0, 0.5522848, -0.44771525, 1.0, -1.0, 1.0); + outPath->rLineTo(0.0, 0.0); + outPath->rCubicTo(-0.5522848, 0.0, -1.0, -0.44771525, -1.0, -1.0); + outPath->rLineTo(0.0, 0.0); + outPath->rCubicTo(0.0, -0.5522848, 0.44771525, -1.0, 1.0, -1.0); + outPath->close(); + outPath->moveTo(0.0, -1.0); + outPath->moveTo(7.0, -9.0); + outPath->rCubicTo(0.0, 0.0, -14.0, 0.0, -14.0, 0.0); + outPath->rCubicTo(-1.1044922, 0.0, -2.0, 0.8955078, -2.0, 2.0); + outPath->rCubicTo(0.0, 0.0, 0.0, 14.0, 0.0, 14.0); + outPath->rCubicTo(0.0, 1.1044922, 0.8955078, 2.0, 2.0, 2.0); + outPath->rCubicTo(0.0, 0.0, 14.0, 0.0, 14.0, 0.0); + outPath->rCubicTo(1.1044922, 0.0, 2.0, -0.8955078, 2.0, -2.0); + outPath->rCubicTo(0.0, 0.0, 0.0, -14.0, 0.0, -14.0); + outPath->rCubicTo(0.0, -1.1044922, -0.8955078, -2.0, -2.0, -2.0); + outPath->rCubicTo(0.0, 0.0, 0.0, 0.0, 0.0, 0.0); + outPath->close(); + outPath->moveTo(7.0, -9.0); + } + }, + + // pie1 in progress bar + { + "M300,70 a230,230 0 1,0 1,0 z", + { + {'M', 'a', 'z', }, + {2, 7, 0, }, + {300.0, 70.0, 230.0, 230.0, 0.0, 1.0, 0.0, 1.0, 0.0, }, + }, + [](SkPath* outPath) { + outPath->moveTo(300.0, 70.0); + outPath->cubicTo(239.06697794203706, 70.13246340443499, 180.6164396449267, 94.47383115953485, 137.6004913602211, 137.6302781499585); + outPath->cubicTo(94.58454307551551, 180.78672514038215, 70.43390412842275, 239.3163266242308, 70.50013586976587, 300.2494566687817); + outPath->cubicTo(70.56636761110899, 361.1825867133326, 94.84418775550249, 419.65954850554147, 137.9538527586204, 462.72238058830936); + outPath->cubicTo(181.06351776173827, 505.7852126710772, 239.5668339599056, 529.999456521097, 300.49999999999994, 529.999456521097); + outPath->cubicTo(361.43316604009436, 529.999456521097, 419.93648223826176, 505.78521267107726, 463.0461472413797, 462.7223805883093); + outPath->cubicTo(506.1558122444976, 419.65954850554135, 530.433632388891, 361.1825867133324, 530.4998641302341, 300.2494566687815); + outPath->cubicTo(530.5660958715771, 239.31632662423056, 506.4154569244844, 180.7867251403819, 463.3995086397787, 137.6302781499583); + outPath->cubicTo(420.383560355073, 94.47383115953468, 361.93302205796255, 70.13246340443492, 300.9999999999996, 70.00000000000003); + outPath->close(); + outPath->moveTo(300.0, 70.0); + } + }, + // Random long data { // Path @@ -178,6 +238,7 @@ const StringPath sStringPaths[] = { {"1-2e34567", false} }; + static bool hasSameVerbs(const PathData& from, const PathData& to) { return from.verbs == to.verbs && from.verbSizes == to.verbSizes; } @@ -284,6 +345,49 @@ TEST(VectorDrawableUtils, interpolatePathData) { } } +TEST(VectorDrawable, matrixScale) { + struct MatrixAndScale { + float buffer[9]; + float matrixScale; + }; + + const MatrixAndScale sMatrixAndScales[] { + { + {1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + 1.0 + }, + { + {1.0f, 0.0f, 240.0f, 0.0f, 1.0f, 240.0f, 0.0f, 0.0f, 1.0f}, + 1.0f, + }, + { + {1.5f, 0.0f, 24.0f, 0.0f, 1.5f, 24.0f, 0.0f, 0.0f, 1.0f}, + 1.5f, + }, + { + {0.99999994f, 0.0f, 300.0f, 0.0f, 0.99999994f, 158.57864f, 0.0f, 0.0f, 1.0f}, + 0.99999994f, + }, + { + {0.7071067f, 0.7071067f, 402.5305f, -0.7071067f, 0.7071067f, 169.18524f, 0.0f, 0.0f, 1.0f}, + 0.99999994f, + }, + { + {0.0f, 0.9999999f, 482.5305f, -0.9999999f, 0.0f, 104.18525f, 0.0f, 0.0f, 1.0f}, + 0.9999999f, + }, + { + {-0.35810637f, -0.93368083f, 76.55821f, 0.93368083f, -0.35810637f, 89.538506f, 0.0f, 0.0f, 1.0f}, + 1.0000001f, + }, + }; + for (MatrixAndScale matrixAndScale : sMatrixAndScales) { + SkMatrix matrix; + matrix.set9(matrixAndScale.buffer); + float actualMatrixScale = VectorDrawable::Path::getMatrixScale(matrix); + EXPECT_EQ(matrixAndScale.matrixScale, actualMatrixScale); + } +} }; // namespace uirenderer }; // namespace android diff --git a/libs/hwui/utils/VectorDrawableUtils.h b/libs/hwui/utils/VectorDrawableUtils.h index 21c1cdcc37f3..b5ef5102d219 100644 --- a/libs/hwui/utils/VectorDrawableUtils.h +++ b/libs/hwui/utils/VectorDrawableUtils.h @@ -17,7 +17,7 @@ #ifndef ANDROID_HWUI_VECTORDRAWABLE_UTILS_H #define ANDROID_HWUI_VECTORDRAWABLE_UTILS_H -#include "VectorDrawablePath.h" +#include "VectorDrawable.h" #include <cutils/compiler.h> #include "SkPath.h" diff --git a/packages/BackupRestoreConfirmation/res/values-zh-rCN/strings.xml b/packages/BackupRestoreConfirmation/res/values-zh-rCN/strings.xml index ac20aedbfb0d..23688aec9ace 100644 --- a/packages/BackupRestoreConfirmation/res/values-zh-rCN/strings.xml +++ b/packages/BackupRestoreConfirmation/res/values-zh-rCN/strings.xml @@ -18,10 +18,10 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="backup_confirm_title" msgid="827563724209303345">"完全备份"</string> <string name="restore_confirm_title" msgid="5469365809567486602">"完全还原"</string> - <string name="backup_confirm_text" msgid="1878021282758896593">"系统请求将所有数æ®å®Œæ•´å¤‡ä»½è‡³å·²è¿žæŽ¥çš„æ¡Œé¢è®¡ç®—机。å…è®¸æ¤æ“作å—?\n\nå¦‚æžœæ‚¨æœ¬äººæœªè¦æ±‚备份,请阻æ¢è¯¥æ“作。"</string> + <string name="backup_confirm_text" msgid="1878021282758896593">"系统请求将所有数æ®å®Œæ•´å¤‡ä»½è‡³å·²è¿žæŽ¥çš„æ¡Œé¢è®¾å¤‡ã€‚å…è®¸æ¤æ“作å—?\n\nå¦‚æžœæ‚¨æœ¬äººæœªè¦æ±‚备份,请阻æ¢è¯¥æ“作。"</string> <string name="allow_backup_button_label" msgid="4217228747769644068">"备份我的数æ®"</string> <string name="deny_backup_button_label" msgid="6009119115581097708">"ä¸å¤‡ä»½"</string> - <string name="restore_confirm_text" msgid="7499866728030461776">"系统请求从连接的桌é¢è®¡ç®—机完整还原所有数æ®ã€‚å…è®¸æ¤æ“作å—?\n\nå¦‚æžœæ‚¨æœ¬äººæœªè¦æ±‚还原,请阻æ¢è¯¥æ“作。该æ“作会覆盖设备上当å‰çš„æ‰€æœ‰æ•°æ®ï¼"</string> + <string name="restore_confirm_text" msgid="7499866728030461776">"系统请求从连接的桌é¢è®¾å¤‡å®Œæ•´è¿˜åŽŸæ‰€æœ‰æ•°æ®ã€‚å…è®¸æ¤æ“作å—?\n\nå¦‚æžœæ‚¨æœ¬äººæœªè¦æ±‚还原,请阻æ¢è¯¥æ“作。该æ“作会覆盖设备上当å‰çš„æ‰€æœ‰æ•°æ®ï¼"</string> <string name="allow_restore_button_label" msgid="3081286752277127827">"æ¢å¤æˆ‘的数æ®"</string> <string name="deny_restore_button_label" msgid="1724367334453104378">"䏿¢å¤"</string> <string name="current_password_text" msgid="8268189555578298067">"请在下方输入您的当å‰å¤‡ä»½å¯†ç :"</string> diff --git a/packages/DocumentsUI/res/layout/item_dir_grid.xml b/packages/DocumentsUI/res/layout/item_dir_grid.xml new file mode 100644 index 000000000000..c17b4c88d8a1 --- /dev/null +++ b/packages/DocumentsUI/res/layout/item_dir_grid.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2013 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. +--> + +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_margin="@dimen/grid_item_margin" + android:background="@color/item_doc_background" + android:elevation="5dp" + android:focusable="true"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="horizontal" + android:paddingTop="16dp" + android:paddingBottom="16dp" + android:paddingLeft="12dp" + android:paddingRight="12dp"> + + <ImageView + android:src="@drawable/ic_doc_folder" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_marginEnd="8dp" + android:scaleType="centerInside" + android:contentDescription="@null"/> + + <TextView + android:id="@android:id/title" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:singleLine="true" + android:ellipsize="middle" + android:textAlignment="viewStart" + android:textAppearance="@android:style/TextAppearance.Material.Subhead" + android:textColor="@*android:color/primary_text_default_material_light" /> + + </LinearLayout> + + <!-- An overlay that draws the item border when it is focused. --> + <View + android:layout_width="match_parent" + android:layout_height="match_parent" + android:contentDescription="@null" + android:background="@drawable/item_doc_grid_border" + android:duplicateParentState="true" /> + +</FrameLayout> diff --git a/packages/DocumentsUI/res/layout/item_doc_grid.xml b/packages/DocumentsUI/res/layout/item_doc_grid.xml index dcd5cfd16ce5..c0fc2c37ef3f 100644 --- a/packages/DocumentsUI/res/layout/item_doc_grid.xml +++ b/packages/DocumentsUI/res/layout/item_doc_grid.xml @@ -19,6 +19,7 @@ android:layout_height="wrap_content" android:layout_margin="@dimen/grid_item_margin" android:background="@color/item_doc_background" + android:elevation="5dp" android:focusable="true"> <!-- Main item thumbnail. Comprised of two overlapping images, the diff --git a/packages/DocumentsUI/res/values-mk-rMK/strings.xml b/packages/DocumentsUI/res/values-mk-rMK/strings.xml index 2d8be1bf6900..51cb77443741 100644 --- a/packages/DocumentsUI/res/values-mk-rMK/strings.xml +++ b/packages/DocumentsUI/res/values-mk-rMK/strings.xml @@ -26,7 +26,7 @@ <string name="menu_list" msgid="7279285939892417279">"Приказ на ÑпиÑок"</string> <string name="menu_sort" msgid="7677740407158414452">"Подреди по"</string> <string name="menu_search" msgid="3816712084502856974">"Пребарај"</string> - <string name="menu_settings" msgid="6008033148948428823">"ПодеÑувања"</string> + <string name="menu_settings" msgid="6008033148948428823">"ПоÑтавки"</string> <string name="menu_open" msgid="432922957274920903">"Отвори"</string> <string name="menu_save" msgid="2394743337684426338">"Зачувај"</string> <string name="menu_share" msgid="3075149983979628146">"Сподели"</string> diff --git a/packages/DocumentsUI/res/values-sw720dp/dimens.xml b/packages/DocumentsUI/res/values-sw720dp/dimens.xml index 83ceb556499f..2488fa26d544 100644 --- a/packages/DocumentsUI/res/values-sw720dp/dimens.xml +++ b/packages/DocumentsUI/res/values-sw720dp/dimens.xml @@ -18,5 +18,4 @@ <dimen name="grid_padding_horiz">16dp</dimen> <dimen name="grid_padding_vert">16dp</dimen> - <dimen name="grid_item_margin">8dp</dimen> </resources> diff --git a/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java b/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java index 5cb3b0d5545f..9c0a04ca751c 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java +++ b/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java @@ -755,11 +755,19 @@ public abstract class BaseActivity extends Activity { * search currently. */ boolean cancelSearch() { + boolean collapsed = false; + boolean closed = false; + if (mActionBar.hasExpandedActionView()) { mActionBar.collapseActionView(); - return true; + collapsed = true; } - return false; + + if (isExpanded() || isSearching()) { + onClose(); + closed = true; + } + return collapsed || closed; } boolean isSearching() { diff --git a/packages/DocumentsUI/src/com/android/documentsui/FilesActivity.java b/packages/DocumentsUI/src/com/android/documentsui/FilesActivity.java index dd8ccf9d4df4..e308f3f35651 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/FilesActivity.java +++ b/packages/DocumentsUI/src/com/android/documentsui/FilesActivity.java @@ -89,53 +89,51 @@ public class FilesActivity extends BaseActivity { RootsFragment.show(getFragmentManager(), null); + final Intent intent = getIntent(); + final Uri uri = intent.getData(); + if (mState.restored) { - if (DEBUG) Log.d(TAG, "Restored instance for uri: " + getIntent().getData()); + if (DEBUG) Log.d(TAG, "Stack already resolved for uri: " + intent.getData()); onCurrentDirectoryChanged(ANIM_NONE); - } else { - Intent intent = getIntent(); - Uri uri = intent.getData(); - - if (DEBUG) Log.d(TAG, "Creating new instance for uri: " + uri); + } else if (!mState.stack.isEmpty()) { // If a non-empty stack is present in our state it was read (presumably) // from EXTRA_STACK intent extra. In this case, we'll skip other means of // loading or restoring the stack. - if (!mState.stack.isEmpty()) { - if (DEBUG) Log.d(TAG, "Launching with non-empty stack."); - // When restoring from a stack, if a URI is present, it should only ever - // be a launch URI. Launch URIs support sensible activity management, but - // don't specify a real content target. - checkState(uri == null || LauncherActivity.isLaunchUri(uri)); - onCurrentDirectoryChanged(ANIM_NONE); - } else if (DocumentsContract.isRootUri(this, uri)) { - if (DEBUG) Log.d(TAG, "Launching with root URI."); - // If we've got a specific root to display, restore that root using a dedicated - // authority. That way a misbehaving provider won't result in an ANR. - new RestoreRootTask(uri).executeOnExecutor( - ProviderExecutor.forAuthority(uri.getAuthority())); - } else { - if (DEBUG) Log.d(TAG, "Launching into Home directory."); - // If all else fails, try to load "Home" directory. - uri = DocumentsContract.buildHomeUri(); - new RestoreRootTask(uri).executeOnExecutor( - ProviderExecutor.forAuthority(uri.getAuthority())); - } + // + // When restoring from a stack, if a URI is present, it should only ever + // be a launch URI. Launch URIs support sensible activity management, but + // don't specify a real content target. + if (DEBUG) Log.d(TAG, "Launching with non-empty stack."); + checkState(uri == null || LauncherActivity.isLaunchUri(uri)); + onCurrentDirectoryChanged(ANIM_NONE); + } else if (DocumentsContract.isRootUri(this, uri)) { + if (DEBUG) Log.d(TAG, "Launching with root URI."); + // If we've got a specific root to display, restore that root using a dedicated + // authority. That way a misbehaving provider won't result in an ANR. + new RestoreRootTask(uri).executeOnExecutor( + ProviderExecutor.forAuthority(uri.getAuthority())); + } else { + if (DEBUG) Log.d(TAG, "Launching into Home directory."); + // If all else fails, try to load "Home" directory. + final Uri homeUri = DocumentsContract.buildHomeUri(); + new RestoreRootTask(homeUri).executeOnExecutor( + ProviderExecutor.forAuthority(homeUri.getAuthority())); + } - // TODO: Ensure we're handling CopyService errors correctly across all activities. - // Show a failure dialog if there was a failed operation. - final int failure = intent.getIntExtra(CopyService.EXTRA_FAILURE, 0); - final int transferMode = intent.getIntExtra(CopyService.EXTRA_TRANSFER_MODE, - CopyService.TRANSFER_MODE_COPY); - if (failure != 0) { - final ArrayList<DocumentInfo> failedSrcList = - intent.getParcelableArrayListExtra(CopyService.EXTRA_SRC_LIST); - FailureDialogFragment.show( - getFragmentManager(), - failure, - failedSrcList, - mState.stack, - transferMode); - } + final int failure = intent.getIntExtra(CopyService.EXTRA_FAILURE, 0); + final int transferMode = intent.getIntExtra(CopyService.EXTRA_TRANSFER_MODE, + CopyService.TRANSFER_MODE_COPY); + // DialogFragment takes care of restoring the dialog on configuration change. + // Only show it manually for the first time (icicle is null). + if (icicle == null && failure != 0) { + final ArrayList<DocumentInfo> failedSrcList = + intent.getParcelableArrayListExtra(CopyService.EXTRA_SRC_LIST); + FailureDialogFragment.show( + getFragmentManager(), + failure, + failedSrcList, + mState.stack, + transferMode); } } diff --git a/packages/DocumentsUI/src/com/android/documentsui/Shared.java b/packages/DocumentsUI/src/com/android/documentsui/Shared.java index 570c9bfee1b1..c3366c36a886 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/Shared.java +++ b/packages/DocumentsUI/src/com/android/documentsui/Shared.java @@ -17,6 +17,8 @@ package com.android.documentsui; import android.content.Context; +import android.text.format.DateUtils; +import android.text.format.Time; /** @hide */ public final class Shared { @@ -40,4 +42,26 @@ public final class Shared { public static final String getQuantityString(Context context, int resourceId, int quantity) { return context.getResources().getQuantityString(resourceId, quantity, quantity); } + + public static String formatTime(Context context, long when) { + // TODO: DateUtils should make this easier + Time then = new Time(); + then.set(when); + Time now = new Time(); + now.setToNow(); + + int flags = DateUtils.FORMAT_NO_NOON | DateUtils.FORMAT_NO_MIDNIGHT + | DateUtils.FORMAT_ABBREV_ALL; + + if (then.year != now.year) { + flags |= DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_SHOW_DATE; + } else if (then.yearDay != now.yearDay) { + flags |= DateUtils.FORMAT_SHOW_DATE; + } else { + flags |= DateUtils.FORMAT_SHOW_TIME; + } + + return DateUtils.formatDateTime(context, when, flags); + } + } diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java index b340cd00028d..0d5e34e87ebb 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java @@ -23,7 +23,6 @@ import static com.android.documentsui.State.MODE_LIST; import static com.android.documentsui.State.MODE_UNKNOWN; import static com.android.documentsui.State.SORT_ORDER_UNKNOWN; import static com.android.documentsui.model.DocumentInfo.getCursorInt; -import static com.android.documentsui.model.DocumentInfo.getCursorLong; import static com.android.documentsui.model.DocumentInfo.getCursorString; import static com.android.internal.util.Preconditions.checkNotNull; import static com.android.internal.util.Preconditions.checkState; @@ -36,22 +35,18 @@ import android.app.FragmentManager; import android.app.FragmentTransaction; import android.app.LoaderManager.LoaderCallbacks; import android.content.ClipData; -import android.content.ContentProviderClient; import android.content.ContentResolver; import android.content.ContentValues; import android.content.Context; import android.content.Intent; import android.content.Loader; import android.database.Cursor; -import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Point; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; -import android.os.CancellationSignal; -import android.os.OperationCanceledException; import android.os.Parcelable; import android.provider.DocumentsContract; import android.provider.DocumentsContract.Document; @@ -65,16 +60,12 @@ import android.support.v7.widget.RecyclerView.OnItemTouchListener; import android.support.v7.widget.RecyclerView.RecyclerListener; import android.support.v7.widget.RecyclerView.ViewHolder; import android.text.TextUtils; -import android.text.format.DateUtils; -import android.text.format.Formatter; -import android.text.format.Time; import android.util.Log; import android.util.SparseArray; import android.util.TypedValue; import android.view.ActionMode; import android.view.DragEvent; import android.view.GestureDetector; -import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; @@ -93,22 +84,17 @@ import com.android.documentsui.DocumentClipper; import com.android.documentsui.DocumentsActivity; import com.android.documentsui.DocumentsApplication; import com.android.documentsui.Events; -import com.android.documentsui.IconUtils; import com.android.documentsui.Menus; import com.android.documentsui.MessageBar; import com.android.documentsui.MimePredicate; -import com.android.documentsui.ProviderExecutor; -import com.android.documentsui.ProviderExecutor.Preemptable; import com.android.documentsui.R; import com.android.documentsui.RecentLoader; import com.android.documentsui.RecentsProvider; import com.android.documentsui.RecentsProvider.StateColumns; -import com.android.documentsui.RootCursorWrapper; import com.android.documentsui.RootsCache; import com.android.documentsui.Shared; import com.android.documentsui.Snackbars; import com.android.documentsui.State; -import com.android.documentsui.ThumbnailCache; import com.android.documentsui.dirlist.MultiSelectManager.Selection; import com.android.documentsui.model.DocumentInfo; import com.android.documentsui.model.DocumentStack; @@ -153,6 +139,8 @@ public class DirectoryFragment extends Fragment { private Model.UpdateListener mModelUpdateListener = new ModelUpdateListener(); private ItemClickListener mItemClickListener = new ItemClickListener(); + private IconHelper mIconHelper; + private View mEmptyView; private RecyclerView mRecView; @@ -162,9 +150,6 @@ public class DirectoryFragment extends Fragment { private int mLastMode = MODE_UNKNOWN; private int mLastSortOrder = SORT_ORDER_UNKNOWN; private boolean mLastShowSize; - private boolean mHideGridTitles; - private boolean mSvelteRecents; - private Point mThumbSize; private DocumentsAdapter mAdapter; private LoaderCallbacks<DirectoryResult> mCallbacks; private FragmentTuner mTuner; @@ -177,9 +162,6 @@ public class DirectoryFragment extends Fragment { private MessageBar mMessageBar; private View mProgressBar; - private int mSelectedItemColor; - private int mDefaultItemColor; - public static void showNormal(FragmentManager fm, RootInfo root, DocumentInfo doc, int anim) { show(fm, TYPE_NORMAL, root, doc, null, anim); } @@ -307,12 +289,9 @@ public class DirectoryFragment extends Fragment { final RootInfo root = getArguments().getParcelable(EXTRA_ROOT); final DocumentInfo doc = getArguments().getParcelable(EXTRA_DOC); - mAdapter = new DocumentsAdapter(context); + mAdapter = new DocumentsAdapter(); mRecView.setAdapter(mAdapter); - mDefaultItemColor = context.getResources().getColor(R.color.item_doc_background); - mSelectedItemColor = context.getResources().getColor(R.color.item_doc_background_selected); - GestureDetector.SimpleOnGestureListener listener = new GestureDetector.SimpleOnGestureListener() { @Override @@ -364,17 +343,22 @@ public class DirectoryFragment extends Fragment { mTuner = FragmentTuner.pick(state); mClipper = new DocumentClipper(context); + mIconHelper = new IconHelper(context, state.derivedMode); + + boolean hideGridTitles; if (mType == TYPE_RECENT_OPEN) { // Hide titles when showing recents for picking images/videos - mHideGridTitles = MimePredicate.mimeMatches( + hideGridTitles = MimePredicate.mimeMatches( MimePredicate.VISUAL_MIMES, state.acceptMimes); } else { - mHideGridTitles = (doc != null) && doc.isGridTitlesHidden(); + hideGridTitles = (doc != null) && doc.isGridTitlesHidden(); } + GridDocumentHolder.setHideTitles(hideGridTitles); final ActivityManager am = (ActivityManager) context.getSystemService( Context.ACTIVITY_SERVICE); - mSvelteRecents = am.isLowRamDevice() && (mType == TYPE_RECENT_OPEN); + boolean svelte = am.isLowRamDevice() && (mType == TYPE_RECENT_OPEN); + mIconHelper.setThumbnailsEnabled(!svelte); mCallbacks = new LoaderCallbacks<DirectoryResult>() { @Override @@ -585,12 +569,9 @@ public class DirectoryFragment extends Fragment { * classes as needed. */ private void updateLayout(int mode) { - final int thumbSize; - final LayoutManager layout; switch (mode) { case MODE_GRID: - thumbSize = getResources().getDimensionPixelSize(R.dimen.grid_width); if (mGridLayout == null) { mGridLayout = new GridLayoutManager(getContext(), mColumnCount); mGridLayout.setSpanSizeLookup(mAdapter.createSpanSizeLookup()); @@ -598,7 +579,6 @@ public class DirectoryFragment extends Fragment { layout = mGridLayout; break; case MODE_LIST: - thumbSize = getResources().getDimensionPixelSize(R.dimen.icon_size); if (mListLayout == null) { mListLayout = new LinearLayoutManager(getContext()); } @@ -614,7 +594,7 @@ public class DirectoryFragment extends Fragment { // imperatively calling this function. mSelectionManager.handleLayoutChanged(); // setting layout manager automatically invalidates existing ViewHolders. - mThumbSize = new Point(thumbSize, thumbSize); + mIconHelper.setMode(mode); } private int calculateColumnCount() { @@ -775,14 +755,10 @@ public class DirectoryFragment extends Fragment { } } - private static void cancelThumbnailTask(View view) { + private void cancelThumbnailTask(View view) { final ImageView iconThumb = (ImageView) view.findViewById(R.id.icon_thumb); if (iconThumb != null) { - final ThumbnailAsyncTask oldTask = (ThumbnailAsyncTask) iconThumb.getTag(); - if (oldTask != null) { - oldTask.preempt(); - iconThumb.setTag(null); - } + mIconHelper.stopLoading(iconThumb); } } @@ -921,59 +897,6 @@ public class DirectoryFragment extends Fragment { return ((BaseActivity) getActivity()).getDisplayState(); } - // Provide a reference to the views for each data item - // Complex data items may need more than one view per item, and - // you provide access to all the views for a data item in a view holder - final class DocumentHolder - extends RecyclerView.ViewHolder - implements View.OnKeyListener - { - public String modelId; - private ClickListener mClickListener; - private View.OnKeyListener mKeyListener; - - public DocumentHolder(View view) { - super(view); - view.setOnKeyListener(this); - } - - public void setSelected(boolean selected) { - itemView.setActivated(selected); - itemView.setBackgroundColor(selected ? mSelectedItemColor : mDefaultItemColor); - } - - @Override - public boolean onKey(View v, int keyCode, KeyEvent event) { - // Intercept enter key-up events, and treat them as clicks. Forward other events. - if (event.getAction() == KeyEvent.ACTION_UP && - keyCode == KeyEvent.KEYCODE_ENTER) { - if (mClickListener != null) { - mClickListener.onClick(this); - } - return true; - } else if (mKeyListener != null) { - return mKeyListener.onKey(v, keyCode, event); - } - return false; - } - - public void addClickListener(ClickListener listener) { - // Just handle one for now; switch to a list if necessary. - checkState(mClickListener == null); - mClickListener = listener; - } - - public void addOnKeyListener(View.OnKeyListener listener) { - // Just handle one for now; switch to a list if necessary. - checkState(mKeyListener == null); - mKeyListener = listener; - } - } - - interface ClickListener { - public void onClick(DocumentHolder doc); - } - void showEmptyView() { mEmptyView.setVisibility(View.VISIBLE); mRecView.setVisibility(View.GONE); @@ -1002,11 +925,9 @@ public class DirectoryFragment extends Fragment { implements Model.UpdateListener { private static final String TAG = "DocumentsAdapter"; - private static final int ITEM_TYPE_LAYOUT_DIVIDER = 0; - private static final int ITEM_TYPE_DOCUMENT = 1; - private static final int ITEM_TYPE_DIRECTORY = 2; - - private final Context mContext; + public static final int ITEM_TYPE_LAYOUT_DIVIDER = 0; + public static final int ITEM_TYPE_DOCUMENT = 1; + public static final int ITEM_TYPE_DIRECTORY = 2; /** * An ordered list of model IDs. This is the data structure that determines what shows up in @@ -1018,10 +939,6 @@ public class DirectoryFragment extends Fragment { // position where the transition happens. private int mDividerPosition; - public DocumentsAdapter(Context context) { - mContext = context; - } - public GridLayoutManager.SpanSizeLookup createSpanSizeLookup() { return new GridLayoutManager.SpanSizeLookup() { @Override @@ -1039,43 +956,36 @@ public class DirectoryFragment extends Fragment { @Override public DocumentHolder onCreateViewHolder(ViewGroup parent, int viewType) { - View item = null; - - switch (viewType) { - case ITEM_TYPE_DIRECTORY: - case ITEM_TYPE_DOCUMENT: - item = createItemView(parent); - break; - case ITEM_TYPE_LAYOUT_DIVIDER: - item = createLayoutWhitespace(); - break; - } - - DocumentHolder holder = new DocumentHolder(item); - holder.addClickListener(mItemClickListener); - holder.addOnKeyListener(mSelectionManager); - return holder; - } + if (viewType == ITEM_TYPE_LAYOUT_DIVIDER) { + return new EmptyDocumentHolder(getContext()); + }; - private View createItemView(ViewGroup parent) { + DocumentHolder holder = null; final State state = getDisplayState(); - final LayoutInflater inflater = LayoutInflater.from(getContext()); - switch (state.derivedMode) { case MODE_GRID: - return inflater.inflate(R.layout.item_doc_grid, parent, false); + switch (viewType) { + case ITEM_TYPE_DIRECTORY: + holder = new GridDirectoryHolder(getContext(), parent); + break; + case ITEM_TYPE_DOCUMENT: + holder = new GridDocumentHolder(getContext(), parent, mIconHelper); + break; + default: + throw new IllegalStateException("Unsupported layout type."); + } + break; case MODE_LIST: - return inflater.inflate(R.layout.item_doc_list, parent, false); + holder = new ListDocumentHolder(getContext(), parent, mIconHelper); + break; case MODE_UNKNOWN: default: throw new IllegalStateException("Unsupported layout mode."); } - } - private View createLayoutWhitespace() { - View whitespace = new View(getContext()); - whitespace.setVisibility(View.GONE); - return whitespace; + holder.addClickListener(mItemClickListener); + holder.addOnKeyListener(mSelectionManager); + return holder; } /** @@ -1108,165 +1018,17 @@ public class DirectoryFragment extends Fragment { return; } - final Context context = getContext(); - final State state = getDisplayState(); - final RootsCache roots = DocumentsApplication.getRootsCache(context); - final ThumbnailCache thumbs = DocumentsApplication.getThumbnailsCache( - context, mThumbSize); - - holder.modelId = mModelIds.get(position); - final Cursor cursor = mModel.getItem(holder.modelId); - checkNotNull(cursor, "Cursor cannot be null."); + String modelId = mModelIds.get(position); + Cursor cursor = mModel.getItem(modelId); + holder.bind(cursor, modelId, getDisplayState()); - final String docAuthority = getCursorString(cursor, RootCursorWrapper.COLUMN_AUTHORITY); - final String docRootId = getCursorString(cursor, RootCursorWrapper.COLUMN_ROOT_ID); - final String docId = getCursorString(cursor, Document.COLUMN_DOCUMENT_ID); final String docMimeType = getCursorString(cursor, Document.COLUMN_MIME_TYPE); - final String docDisplayName = getCursorString(cursor, Document.COLUMN_DISPLAY_NAME); - final long docLastModified = getCursorLong(cursor, Document.COLUMN_LAST_MODIFIED); - final int docIcon = getCursorInt(cursor, Document.COLUMN_ICON); final int docFlags = getCursorInt(cursor, Document.COLUMN_FLAGS); - final String docSummary = getCursorString(cursor, Document.COLUMN_SUMMARY); - final long docSize = getCursorLong(cursor, Document.COLUMN_SIZE); - - final View itemView = holder.itemView; - - holder.setSelected(isSelected(holder.modelId)); - - final ImageView iconMime = (ImageView) itemView.findViewById(R.id.icon_mime); - final ImageView iconThumb = (ImageView) itemView.findViewById(R.id.icon_thumb); - final TextView title = (TextView) itemView.findViewById(android.R.id.title); - final ImageView icon1 = (ImageView) itemView.findViewById(android.R.id.icon1); - final TextView summary = (TextView) itemView.findViewById(android.R.id.summary); - final TextView date = (TextView) itemView.findViewById(R.id.date); - final TextView size = (TextView) itemView.findViewById(R.id.size); - - final ThumbnailAsyncTask oldTask = (ThumbnailAsyncTask) iconThumb.getTag(); - if (oldTask != null) { - oldTask.preempt(); - iconThumb.setTag(null); - } - - iconMime.animate().cancel(); - iconThumb.animate().cancel(); - - final boolean supportsThumbnail = (docFlags & Document.FLAG_SUPPORTS_THUMBNAIL) != 0; - final boolean allowThumbnail = (state.derivedMode == MODE_GRID) - || MimePredicate.mimeMatches(MimePredicate.VISUAL_MIMES, docMimeType); - final boolean showThumbnail = supportsThumbnail && allowThumbnail && !mSvelteRecents; - - final boolean enabled = mTuner.isDocumentEnabled(docMimeType, docFlags); - final float iconAlpha = (state.derivedMode == MODE_LIST && !enabled) ? 0.5f : 1f; - - boolean cacheHit = false; - if (showThumbnail) { - final Uri uri = DocumentsContract.buildDocumentUri(docAuthority, docId); - final Bitmap cachedResult = thumbs.get(uri); - if (cachedResult != null) { - iconThumb.setImageBitmap(cachedResult); - cacheHit = true; - } else { - iconThumb.setImageDrawable(null); - // TODO: Hang this off DocumentHolder? - final ThumbnailAsyncTask task = new ThumbnailAsyncTask( - uri, iconMime, iconThumb, mThumbSize, iconAlpha); - iconThumb.setTag(task); - ProviderExecutor.forAuthority(docAuthority).execute(task); - } - } - - // Always throw MIME icon into place, even when a thumbnail is being - // loaded in background. - if (cacheHit) { - iconMime.setAlpha(0f); - iconMime.setImageDrawable(null); - iconThumb.setAlpha(1f); - } else { - iconMime.setAlpha(1f); - iconThumb.setAlpha(0f); - iconThumb.setImageDrawable(null); - iconMime.setImageDrawable( - getDocumentIcon(mContext, docAuthority, docId, docMimeType, docIcon, state)); - } - - if ((state.derivedMode == MODE_GRID) && mHideGridTitles) { - title.setVisibility(View.GONE); - } else { - title.setText(docDisplayName); - title.setVisibility(View.VISIBLE); - } - - Drawable iconDrawable = null; - if (mType == TYPE_RECENT_OPEN) { - // We've already had to enumerate roots before any results can - // be shown, so this will never block. - final RootInfo root = roots.getRootBlocking(docAuthority, docRootId); - iconDrawable = root.loadIcon(mContext); - - if (summary != null) { - final boolean alwaysShowSummary = getResources() - .getBoolean(R.bool.always_show_summary); - if (alwaysShowSummary) { - summary.setText(root.getDirectoryString()); - summary.setVisibility(View.VISIBLE); - } else { - if (iconDrawable != null && roots.isIconUniqueBlocking(root)) { - // No summary needed if icon speaks for itself - summary.setVisibility(View.INVISIBLE); - } else { - summary.setText(root.getDirectoryString()); - summary.setVisibility(View.VISIBLE); - summary.setTextAlignment(TextView.TEXT_ALIGNMENT_TEXT_END); - } - } - } - } else { - // Directories showing thumbnails in grid mode get a little icon - // hint to remind user they're a directory. - if (Document.MIME_TYPE_DIR.equals(docMimeType) && state.derivedMode == MODE_GRID - && showThumbnail) { - iconDrawable = IconUtils.applyTintAttr(mContext, R.drawable.ic_doc_folder, - android.R.attr.textColorPrimaryInverse); - } - - if (summary != null) { - if (docSummary != null) { - summary.setText(docSummary); - summary.setVisibility(View.VISIBLE); - } else { - summary.setVisibility(View.INVISIBLE); - } - } - } - - if (iconDrawable != null) { - icon1.setVisibility(View.VISIBLE); - icon1.setImageDrawable(iconDrawable); - } else { - icon1.setVisibility(View.GONE); - } - - if (docLastModified == -1) { - date.setText(null); - } else { - date.setText(formatTime(mContext, docLastModified)); - } - - if (!state.showSize || Document.MIME_TYPE_DIR.equals(docMimeType) || docSize == -1) { - size.setVisibility(View.GONE); - } else { - size.setVisibility(View.VISIBLE); - size.setText(Formatter.formatFileSize(mContext, docSize)); - } - - setEnabledRecursive(itemView, enabled); - - iconMime.setAlpha(iconAlpha); - iconThumb.setAlpha(iconAlpha); - icon1.setAlpha(iconAlpha); + holder.setSelected(isSelected(modelId)); + holder.setEnabled(mTuner.isDocumentEnabled(docMimeType, docFlags)); if (DEBUG_ENABLE_DND) { - setupDragAndDropOnDocumentView(itemView, cursor); + setupDragAndDropOnDocumentView(holder.itemView, cursor); } } @@ -1278,7 +1040,10 @@ public class DirectoryFragment extends Fragment { @Override public void onModelUpdate(Model model) { mModelIds = Lists.newArrayList(model.getModelIds()); - mDividerPosition = 0; + // Start the divider at the end. That way if the code below encounters no documents + // (i.e. in a directory containing only directories), the divider is placed at the end + // of the list, as expected. + mDividerPosition = mModelIds.size(); // Walk down the list of IDs till we encounter something that's not a directory, and // insert a whitespace element - this introduces a visual break in the grid between @@ -1389,27 +1154,6 @@ public class DirectoryFragment extends Fragment { } } - private static String formatTime(Context context, long when) { - // TODO: DateUtils should make this easier - Time then = new Time(); - then.set(when); - Time now = new Time(); - now.setToNow(); - - int flags = DateUtils.FORMAT_NO_NOON | DateUtils.FORMAT_NO_MIDNIGHT - | DateUtils.FORMAT_ABBREV_ALL; - - if (then.year != now.year) { - flags |= DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_SHOW_DATE; - } else if (then.yearDay != now.yearDay) { - flags |= DateUtils.FORMAT_SHOW_DATE; - } else { - flags |= DateUtils.FORMAT_SHOW_TIME; - } - - return DateUtils.formatDateTime(context, when, flags); - } - private String findCommonMimeType(List<String> mimeTypes) { String[] commonType = mimeTypes.get(0).split("/"); if (commonType.length != 2) { @@ -1434,19 +1178,6 @@ public class DirectoryFragment extends Fragment { return commonType[0] + "/" + commonType[1]; } - private void setEnabledRecursive(View v, boolean enabled) { - if (v == null) return; - if (v.isEnabled() == enabled) return; - v.setEnabled(enabled); - - if (v instanceof ViewGroup) { - final ViewGroup vg = (ViewGroup) v; - for (int i = vg.getChildCount() - 1; i >= 0; i--) { - setEnabledRecursive(vg.getChildAt(i), enabled); - } - } - } - private void copyFromClipboard() { new AsyncTask<Void, Void, List<DocumentInfo>>() { @@ -1721,89 +1452,12 @@ public class DirectoryFragment extends Fragment { private Drawable getDragShadowIcon(List<DocumentInfo> docs) { if (docs.size() == 1) { final DocumentInfo doc = docs.get(0); - return getDocumentIcon(getActivity(), doc.authority, doc.documentId, - doc.mimeType, doc.icon, getDisplayState()); + return mIconHelper.getDocumentIcon(getActivity(), doc.authority, doc.documentId, + doc.mimeType, doc.icon); } return getActivity().getDrawable(R.drawable.ic_doc_generic); } - public static Drawable getDocumentIcon(Context context, String docAuthority, String docId, - String docMimeType, int docIcon, State state) { - if (docIcon != 0) { - return IconUtils.loadPackageIcon(context, docAuthority, docIcon); - } else { - return IconUtils.loadMimeIcon(context, docMimeType, docAuthority, docId, - state.derivedMode); - } - } - - private static class ThumbnailAsyncTask extends AsyncTask<Uri, Void, Bitmap> - implements Preemptable { - private final Uri mUri; - private final ImageView mIconMime; - private final ImageView mIconThumb; - private final Point mThumbSize; - private final float mTargetAlpha; - private final CancellationSignal mSignal; - - public ThumbnailAsyncTask(Uri uri, ImageView iconMime, ImageView iconThumb, Point thumbSize, - float targetAlpha) { - mUri = uri; - mIconMime = iconMime; - mIconThumb = iconThumb; - mThumbSize = thumbSize; - mTargetAlpha = targetAlpha; - mSignal = new CancellationSignal(); - } - - @Override - public void preempt() { - cancel(false); - mSignal.cancel(); - } - - @Override - protected Bitmap doInBackground(Uri... params) { - if (isCancelled()) return null; - - final Context context = mIconThumb.getContext(); - final ContentResolver resolver = context.getContentResolver(); - - ContentProviderClient client = null; - Bitmap result = null; - try { - client = DocumentsApplication.acquireUnstableProviderOrThrow( - resolver, mUri.getAuthority()); - result = DocumentsContract.getDocumentThumbnail(client, mUri, mThumbSize, mSignal); - if (result != null) { - final ThumbnailCache thumbs = DocumentsApplication.getThumbnailsCache( - context, mThumbSize); - thumbs.put(mUri, result); - } - } catch (Exception e) { - if (!(e instanceof OperationCanceledException)) { - Log.w(TAG, "Failed to load thumbnail for " + mUri + ": " + e); - } - } finally { - ContentProviderClient.releaseQuietly(client); - } - return result; - } - - @Override - protected void onPostExecute(Bitmap result) { - if (mIconThumb.getTag() == this && result != null) { - mIconThumb.setTag(null); - mIconThumb.setImageBitmap(result); - - mIconMime.setAlpha(mTargetAlpha); - mIconMime.animate().alpha(0f).start(); - mIconThumb.setAlpha(0f); - mIconThumb.animate().alpha(mTargetAlpha).start(); - } - } - } - private class DrawableShadowBuilder extends View.DragShadowBuilder { private final Drawable mShadow; @@ -1854,7 +1508,7 @@ public class DirectoryFragment extends Fragment { return mSelectionManager.getSelection().contains(modelId); } - private class ItemClickListener implements ClickListener { + private class ItemClickListener implements DocumentHolder.ClickListener { @Override public void onClick(DocumentHolder doc) { if (mSelectionManager.hasSelection()) { diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/DocumentHolder.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DocumentHolder.java new file mode 100644 index 000000000000..9ac905711ba2 --- /dev/null +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DocumentHolder.java @@ -0,0 +1,128 @@ +/* + * Copyright (C) 2015 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.documentsui.dirlist; + +import static com.android.internal.util.Preconditions.checkState; + +import android.content.Context; +import android.database.Cursor; +import android.support.annotation.Nullable; +import android.support.v7.widget.RecyclerView; +import android.view.KeyEvent; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.android.documentsui.R; +import com.android.documentsui.State; + +public abstract class DocumentHolder + extends RecyclerView.ViewHolder + implements View.OnKeyListener { + + public @Nullable String modelId; + + final int mSelectedItemColor; + final int mDefaultItemColor; + final boolean mAlwaysShowSummary; + final Context mContext; + + private ListDocumentHolder.ClickListener mClickListener; + private View.OnKeyListener mKeyListener; + + public DocumentHolder(Context context, ViewGroup parent, int layout) { + this(context, inflateLayout(context, parent, layout)); + } + + public DocumentHolder(Context context, View item) { + super(item); + + itemView.setOnKeyListener(this); + + mContext = context; + + mDefaultItemColor = context.getColor(R.color.item_doc_background); + mSelectedItemColor = context.getColor(R.color.item_doc_background_selected); + mAlwaysShowSummary = context.getResources().getBoolean(R.bool.always_show_summary); + } + + /** + * Binds the view to the given item data. + * @param cursor + * @param modelId + * @param state + */ + public abstract void bind(Cursor cursor, String modelId, State state); + + public void setSelected(boolean selected) { + itemView.setActivated(selected); + itemView.setBackgroundColor(selected ? mSelectedItemColor : mDefaultItemColor); + } + + @Override + public boolean onKey(View v, int keyCode, KeyEvent event) { + // Intercept enter key-up events, and treat them as clicks. Forward other events. + if (event.getAction() == KeyEvent.ACTION_UP && + keyCode == KeyEvent.KEYCODE_ENTER) { + if (mClickListener != null) { + mClickListener.onClick(this); + } + return true; + } else if (mKeyListener != null) { + return mKeyListener.onKey(v, keyCode, event); + } + return false; + } + + public void addClickListener(ListDocumentHolder.ClickListener listener) { + // Just handle one for now; switch to a list if necessary. + checkState(mClickListener == null); + mClickListener = listener; + } + + public void addOnKeyListener(View.OnKeyListener listener) { + // Just handle one for now; switch to a list if necessary. + checkState(mKeyListener == null); + mKeyListener = listener; + } + + public void setEnabled(boolean enabled) { + setEnabledRecursive(itemView, enabled); + } + + static void setEnabledRecursive(View itemView, boolean enabled) { + if (itemView == null) return; + if (itemView.isEnabled() == enabled) return; + itemView.setEnabled(enabled); + + if (itemView instanceof ViewGroup) { + final ViewGroup vg = (ViewGroup) itemView; + for (int i = vg.getChildCount() - 1; i >= 0; i--) { + setEnabledRecursive(vg.getChildAt(i), enabled); + } + } + } + + private static View inflateLayout(Context context, ViewGroup parent, int layout) { + final LayoutInflater inflater = LayoutInflater.from(context); + return inflater.inflate(layout, parent, false); + } + + interface ClickListener { + public void onClick(DocumentHolder doc); + } +} diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/EmptyDocumentHolder.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/EmptyDocumentHolder.java new file mode 100644 index 000000000000..ab67a5b6cec9 --- /dev/null +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/EmptyDocumentHolder.java @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2015 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.documentsui.dirlist; + +import android.content.Context; +import android.database.Cursor; +import android.widget.Space; + +import com.android.documentsui.R; +import com.android.documentsui.State; + +final class EmptyDocumentHolder extends DocumentHolder { + public EmptyDocumentHolder(Context context) { + super(context, new Space(context)); + + // Per UX spec, this puts a bigger gap between the folders and documents in the grid. + final int gridMargin = context.getResources().getDimensionPixelSize(R.dimen.grid_item_margin); + itemView.setMinimumHeight(gridMargin * 2); + } + + public void bind(Cursor cursor, String modelId, State state) { + // Nothing to bind. + return; + } +} diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/GridDirectoryHolder.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/GridDirectoryHolder.java new file mode 100644 index 000000000000..11ff263cabd8 --- /dev/null +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/GridDirectoryHolder.java @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2015 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.documentsui.dirlist; + +import static com.android.documentsui.model.DocumentInfo.getCursorString; +import static com.android.internal.util.Preconditions.checkNotNull; + +import android.content.Context; +import android.database.Cursor; +import android.provider.DocumentsContract.Document; +import android.view.ViewGroup; +import android.widget.TextView; + +import com.android.documentsui.R; +import com.android.documentsui.State; + +final class GridDirectoryHolder extends DocumentHolder { + final TextView mTitle; + public GridDirectoryHolder(Context context, ViewGroup parent) { + super(context, parent, R.layout.item_dir_grid); + + mTitle = (TextView) itemView.findViewById(android.R.id.title); + } + + /** + * Bind this view to the given document for display. + * @param cursor Pointing to the item to be bound. + * @param modelId The model ID of the item. + * @param state Current display state. + */ + public void bind(Cursor cursor, String modelId, State state) { + checkNotNull(cursor, "Cursor cannot be null."); + + this.modelId = modelId; + + final String docDisplayName = getCursorString(cursor, Document.COLUMN_DISPLAY_NAME); + mTitle.setText(docDisplayName); + } +} diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/GridDocumentHolder.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/GridDocumentHolder.java new file mode 100644 index 000000000000..63c667be0be3 --- /dev/null +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/GridDocumentHolder.java @@ -0,0 +1,119 @@ +/* + * Copyright (C) 2015 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.documentsui.dirlist; + +import static com.android.documentsui.model.DocumentInfo.getCursorInt; +import static com.android.documentsui.model.DocumentInfo.getCursorLong; +import static com.android.documentsui.model.DocumentInfo.getCursorString; +import static com.android.internal.util.Preconditions.checkNotNull; + +import android.content.Context; +import android.database.Cursor; +import android.net.Uri; +import android.provider.DocumentsContract; +import android.provider.DocumentsContract.Document; +import android.text.format.Formatter; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; + +import com.android.documentsui.R; +import com.android.documentsui.RootCursorWrapper; +import com.android.documentsui.Shared; +import com.android.documentsui.State; + +final class GridDocumentHolder extends DocumentHolder { + private static boolean mHideTitles; + + final TextView mTitle; + final TextView mDate; + final TextView mSize; + final ImageView mIconMime; + final ImageView mIconThumb; + final IconHelper mIconHelper; + + public GridDocumentHolder(Context context, ViewGroup parent, IconHelper iconHelper) { + super(context, parent, R.layout.item_doc_grid); + + mTitle = (TextView) itemView.findViewById(android.R.id.title); + mDate = (TextView) itemView.findViewById(R.id.date); + mSize = (TextView) itemView.findViewById(R.id.size); + mIconMime = (ImageView) itemView.findViewById(R.id.icon_mime); + mIconThumb = (ImageView) itemView.findViewById(R.id.icon_thumb); + mIconHelper = iconHelper; + } + + /** + * Bind this view to the given document for display. + * @param cursor Pointing to the item to be bound. + * @param modelId The model ID of the item. + * @param state Current display state. + */ + public void bind(Cursor cursor, String modelId, State state) { + this.modelId = modelId; + + checkNotNull(cursor, "Cursor cannot be null."); + + final String docAuthority = getCursorString(cursor, RootCursorWrapper.COLUMN_AUTHORITY); + final String docId = getCursorString(cursor, Document.COLUMN_DOCUMENT_ID); + final String docMimeType = getCursorString(cursor, Document.COLUMN_MIME_TYPE); + final String docDisplayName = getCursorString(cursor, Document.COLUMN_DISPLAY_NAME); + final long docLastModified = getCursorLong(cursor, Document.COLUMN_LAST_MODIFIED); + final int docIcon = getCursorInt(cursor, Document.COLUMN_ICON); + final int docFlags = getCursorInt(cursor, Document.COLUMN_FLAGS); + final long docSize = getCursorLong(cursor, Document.COLUMN_SIZE); + + mIconHelper.stopLoading(mIconThumb); + + mIconMime.animate().cancel(); + mIconMime.setAlpha(1f); + mIconThumb.animate().cancel(); + mIconThumb.setAlpha(0f); + + final Uri uri = DocumentsContract.buildDocumentUri(docAuthority, docId); + mIconHelper.loadThumbnail(uri, docMimeType, docFlags, docIcon, mIconThumb, mIconMime); + + if (mHideTitles) { + mTitle.setVisibility(View.GONE); + } else { + mTitle.setText(docDisplayName); + mTitle.setVisibility(View.VISIBLE); + } + + if (docLastModified == -1) { + mDate.setText(null); + } else { + mDate.setText(Shared.formatTime(mContext, docLastModified)); + } + + if (!state.showSize || Document.MIME_TYPE_DIR.equals(docMimeType) || docSize == -1) { + mSize.setVisibility(View.GONE); + } else { + mSize.setVisibility(View.VISIBLE); + mSize.setText(Formatter.formatFileSize(mContext, docSize)); + } + } + + /** + * Sets whether to hide titles on subsequently created GridDocumentHolder items. + * @param hideTitles + */ + public static void setHideTitles(boolean hideTitles) { + mHideTitles = hideTitles; + } +} diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/IconHelper.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/IconHelper.java new file mode 100644 index 000000000000..ff70eafc2a4d --- /dev/null +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/IconHelper.java @@ -0,0 +1,253 @@ +/* + * Copyright (C) 2015 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.documentsui.dirlist; + +import static com.android.documentsui.Shared.DEBUG; +import static com.android.documentsui.State.MODE_GRID; +import static com.android.documentsui.State.MODE_LIST; +import static com.android.documentsui.State.MODE_UNKNOWN; + +import android.content.ContentProviderClient; +import android.content.ContentResolver; +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.Point; +import android.graphics.drawable.Drawable; +import android.net.Uri; +import android.os.AsyncTask; +import android.os.CancellationSignal; +import android.os.OperationCanceledException; +import android.provider.DocumentsContract; +import android.provider.DocumentsContract.Document; +import android.util.Log; +import android.widget.ImageView; + +import com.android.documentsui.DocumentsApplication; +import com.android.documentsui.IconUtils; +import com.android.documentsui.MimePredicate; +import com.android.documentsui.ProviderExecutor; +import com.android.documentsui.ProviderExecutor.Preemptable; +import com.android.documentsui.R; +import com.android.documentsui.ThumbnailCache; + +/** + * A class to assist with loading and managing the Images (i.e. thumbnails and icons) associated + * with items in the directory listing. + */ +public class IconHelper { + private static String TAG = "IconHelper"; + + private Context mContext; + private ThumbnailCache mCache; + private Point mThumbSize; + // The display mode (MODE_GRID, MODE_LIST, etc). + private int mMode; + private boolean mThumbnailsEnabled = true; + + /** + * @param context + * @param mode MODE_GRID or MODE_LIST + */ + public IconHelper(Context context, int mode) { + mContext = context; + setMode(mode); + mCache = DocumentsApplication.getThumbnailsCache(context, mThumbSize); + } + + /** + * Enables or disables thumbnails. When thumbnails are disabled, mime icons (or custom icons, if + * specified by the document) are used instead. + * + * @param enabled + */ + public void setThumbnailsEnabled(boolean enabled) { + mThumbnailsEnabled = enabled; + } + + /** + * Sets the current display mode. This affects the thumbnail sizes that are loaded. + * @param mode See {@link State.MODE_LIST} and {@link State.MODE_GRID}. + */ + public void setMode(int mode) { + // TODO: Instead of exposing setMode, make the mode final, and make separate instances for + // grid/list. + int thumbSize; + switch (mode) { + case MODE_GRID: + thumbSize = mContext.getResources().getDimensionPixelSize(R.dimen.grid_width); + break; + case MODE_LIST: + thumbSize = mContext.getResources().getDimensionPixelSize(R.dimen.icon_size); + break; + case MODE_UNKNOWN: + default: + throw new IllegalArgumentException("Unsupported layout mode: " + mode); + } + mMode = mode; + mThumbSize = new Point(thumbSize, thumbSize); + } + + /** + * Cancels any ongoing load operations associated with the given ImageView. + * @param icon + */ + public void stopLoading(ImageView icon) { + final LoaderTask oldTask = (LoaderTask) icon.getTag(); + if (oldTask != null) { + oldTask.preempt(); + icon.setTag(null); + } + } + + /** Internal task for loading thumbnails asynchronously. */ + private static class LoaderTask + extends AsyncTask<Uri, Void, Bitmap> + implements Preemptable { + private final Uri mUri; + private final ImageView mIconMime; + private final ImageView mIconThumb; + private final Point mThumbSize; + private final CancellationSignal mSignal; + + public LoaderTask(Uri uri, ImageView iconMime, ImageView iconThumb, + Point thumbSize) { + mUri = uri; + mIconMime = iconMime; + mIconThumb = iconThumb; + mThumbSize = thumbSize; + mSignal = new CancellationSignal(); + if (DEBUG) Log.d(TAG, "Starting icon loader task for " + mUri); + } + + @Override + public void preempt() { + if (DEBUG) Log.d(TAG, "Icon loader task for " + mUri + " was cancelled."); + cancel(false); + mSignal.cancel(); + } + + @Override + protected Bitmap doInBackground(Uri... params) { + if (isCancelled()) + return null; + + final Context context = mIconThumb.getContext(); + final ContentResolver resolver = context.getContentResolver(); + + ContentProviderClient client = null; + Bitmap result = null; + try { + client = DocumentsApplication.acquireUnstableProviderOrThrow( + resolver, mUri.getAuthority()); + result = DocumentsContract.getDocumentThumbnail(client, mUri, mThumbSize, mSignal); + if (result != null) { + final ThumbnailCache thumbs = DocumentsApplication.getThumbnailsCache( + context, mThumbSize); + thumbs.put(mUri, result); + } + } catch (Exception e) { + if (!(e instanceof OperationCanceledException)) { + Log.w(TAG, "Failed to load thumbnail for " + mUri + ": " + e); + } + } finally { + ContentProviderClient.releaseQuietly(client); + } + return result; + } + + @Override + protected void onPostExecute(Bitmap result) { + if (DEBUG) Log.d(TAG, "Loader task for " + mUri + " completed"); + + if (mIconThumb.getTag() == this && result != null) { + mIconThumb.setTag(null); + mIconThumb.setImageBitmap(result); + + float alpha = mIconMime.getAlpha(); + mIconMime.animate().alpha(0f).start(); + mIconThumb.setAlpha(0f); + mIconThumb.animate().alpha(alpha).start(); + } + } + } + + /** + * Load thumbnails for a directory list item. + * @param uri The URI for the file being represented. + * @param mimeType The mime type of the file being represented. + * @param docFlags Flags for the file being represented. + * @param docIcon Custom icon (if any) for the file being requested. + * @param iconThumb The itemview's thumbnail icon. + * @param iconMime The itemview's mime icon. + * @return + */ + public void loadThumbnail(Uri uri, String mimeType, int docFlags, int docIcon, + ImageView iconThumb, ImageView iconMime) { + boolean cacheHit = false; + + final String docAuthority = uri.getAuthority(); + + final boolean supportsThumbnail = (docFlags & Document.FLAG_SUPPORTS_THUMBNAIL) != 0; + final boolean allowThumbnail = (mMode == MODE_GRID) + || MimePredicate.mimeMatches(MimePredicate.VISUAL_MIMES, mimeType); + final boolean showThumbnail = supportsThumbnail && allowThumbnail && mThumbnailsEnabled; + if (showThumbnail) { + final Bitmap cachedResult = mCache.get(uri); + if (cachedResult != null) { + iconThumb.setImageBitmap(cachedResult); + cacheHit = true; + } else { + iconThumb.setImageDrawable(null); + final LoaderTask task = new LoaderTask(uri, iconMime, iconThumb, mThumbSize); + iconThumb.setTag(task); + ProviderExecutor.forAuthority(docAuthority).execute(task); + } + } + + if (cacheHit) { + iconMime.setImageDrawable(null); + iconMime.setAlpha(0f); + iconThumb.setAlpha(1f); + } else { + // Add a mime icon if the thumbnail is being loaded in the background. + iconThumb.setImageDrawable(null); + iconMime.setImageDrawable(getDocumentIcon( + mContext, docAuthority, DocumentsContract.getDocumentId(uri), mimeType, docIcon)); + iconMime.setAlpha(1f); + iconThumb.setAlpha(0f); + } + } + + /** + * Gets a mime icon or package icon for a file. + * @param context + * @param authority The authority string of the file. + * @param id The document ID of the file. + * @param mimeType The mime type of the file. + * @param icon The custom icon (if any) of the file. + * @return + */ + public Drawable getDocumentIcon(Context context, String authority, String id, + String mimeType, int icon) { + if (icon != 0) { + return IconUtils.loadPackageIcon(context, authority, icon); + } else { + return IconUtils.loadMimeIcon(context, mimeType, authority, id, mMode); + } + } + +} diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/ListDocumentHolder.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/ListDocumentHolder.java new file mode 100644 index 000000000000..c22e91d58c32 --- /dev/null +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/ListDocumentHolder.java @@ -0,0 +1,126 @@ +/* + * Copyright (C) 2015 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.documentsui.dirlist; + +import static com.android.documentsui.model.DocumentInfo.getCursorInt; +import static com.android.documentsui.model.DocumentInfo.getCursorLong; +import static com.android.documentsui.model.DocumentInfo.getCursorString; +import static com.android.internal.util.Preconditions.checkNotNull; + +import android.content.Context; +import android.database.Cursor; +import android.net.Uri; +import android.provider.DocumentsContract; +import android.provider.DocumentsContract.Document; +import android.text.format.Formatter; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; + +import com.android.documentsui.R; +import com.android.documentsui.RootCursorWrapper; +import com.android.documentsui.Shared; +import com.android.documentsui.State; + +final class ListDocumentHolder extends DocumentHolder { + final TextView mTitle; + final TextView mSummary; + final TextView mDate; + final TextView mSize; + final ImageView mIconMime; + final ImageView mIconThumb; + final ImageView mIcon1; + final IconHelper mIconHelper; + + public ListDocumentHolder(Context context, ViewGroup parent, IconHelper iconHelper) { + super(context, parent, R.layout.item_doc_list); + + mTitle = (TextView) itemView.findViewById(android.R.id.title); + mSummary = (TextView) itemView.findViewById(android.R.id.summary); + mDate = (TextView) itemView.findViewById(R.id.date); + mSize = (TextView) itemView.findViewById(R.id.size); + mIconMime = (ImageView) itemView.findViewById(R.id.icon_mime); + mIconThumb = (ImageView) itemView.findViewById(R.id.icon_thumb); + mIcon1 = (ImageView) itemView.findViewById(android.R.id.icon1); + + mIconHelper = iconHelper; + } + + /** + * Bind this view to the given document for display. + * @param cursor Pointing to the item to be bound. + * @param modelId The model ID of the item. + * @param state Current display state. + */ + @Override + public void bind(Cursor cursor, String modelId, State state) { + this.modelId = modelId; + + checkNotNull(cursor, "Cursor cannot be null."); + + final String docAuthority = getCursorString(cursor, RootCursorWrapper.COLUMN_AUTHORITY); + final String docId = getCursorString(cursor, Document.COLUMN_DOCUMENT_ID); + final String docMimeType = getCursorString(cursor, Document.COLUMN_MIME_TYPE); + final String docDisplayName = getCursorString(cursor, Document.COLUMN_DISPLAY_NAME); + final long docLastModified = getCursorLong(cursor, Document.COLUMN_LAST_MODIFIED); + final int docIcon = getCursorInt(cursor, Document.COLUMN_ICON); + final int docFlags = getCursorInt(cursor, Document.COLUMN_FLAGS); + final String docSummary = getCursorString(cursor, Document.COLUMN_SUMMARY); + final long docSize = getCursorLong(cursor, Document.COLUMN_SIZE); + + mIconHelper.stopLoading(mIconThumb); + + mIconMime.animate().cancel(); + mIconThumb.animate().cancel(); + + final Uri uri = DocumentsContract.buildDocumentUri(docAuthority, docId); + mIconHelper.loadThumbnail(uri, docMimeType, docFlags, docIcon, mIconThumb, mIconMime); + + mTitle.setText(docDisplayName); + mTitle.setVisibility(View.VISIBLE); + + if (docSummary != null) { + mSummary.setText(docSummary); + mSummary.setVisibility(View.VISIBLE); + } else { + mSummary.setVisibility(View.INVISIBLE); + } + + if (docLastModified == -1) { + mDate.setText(null); + } else { + mDate.setText(Shared.formatTime(mContext, docLastModified)); + } + + if (!state.showSize || Document.MIME_TYPE_DIR.equals(docMimeType) || docSize == -1) { + mSize.setVisibility(View.GONE); + } else { + mSize.setVisibility(View.VISIBLE); + mSize.setText(Formatter.formatFileSize(mContext, docSize)); + } + } + + @Override + public void setEnabled(boolean enabled) { + super.setEnabled(enabled); + final float iconAlpha = enabled ? 1f : 0.5f; + mIconMime.setAlpha(iconAlpha); + mIconThumb.setAlpha(iconAlpha); + mIcon1.setAlpha(iconAlpha); + } +} diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/MultiSelectManager.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/MultiSelectManager.java index 26eac26ce96b..e47af6710c9a 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/MultiSelectManager.java +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/MultiSelectManager.java @@ -383,6 +383,10 @@ public final class MultiSelectManager implements View.OnKeyListener { * @param position */ void setSelectionRangeBegin(int position) { + if (position == RecyclerView.NO_POSITION) { + return; + } + if (mSelection.contains(mEnvironment.getModelIdFromAdapterPosition(position))) { mRanger = new Range(position); } @@ -1160,13 +1164,15 @@ public final class MultiSelectManager implements View.OnKeyListener { mSelection.applyProvisionalSelection(); mModel.endSelection(); int firstSelected = mModel.getPositionNearestOrigin(); - if (!mSelection.contains(mEnvironment.getModelIdFromAdapterPosition(firstSelected))) { - Log.w(TAG, "First selected by band is NOT in selection!"); - // Sadly this is really happening. Need to figure out what's going on. - } else if (firstSelected != NOT_SET) { - // TODO: firstSelected should really be lastSelected, we want to anchor the item - // where the mouse-up occurred. - setSelectionRangeBegin(firstSelected); + if (firstSelected != NOT_SET) { + if (mSelection.contains(mEnvironment.getModelIdFromAdapterPosition(firstSelected))) { + // TODO: firstSelected should really be lastSelected, we want to anchor the item + // where the mouse-up occurred. + setSelectionRangeBegin(firstSelected); + } else { + // TODO: Check if this is really happening. + Log.w(TAG, "First selected by band is NOT in selection!"); + } } mModel = null; @@ -1558,18 +1564,22 @@ public final class MultiSelectManager implements View.OnKeyListener { for (int column = columnStartIndex; column <= columnEndIndex; column++) { SparseIntArray items = mColumns.get(mColumnBounds.get(column).lowerLimit); for (int row = rowStartIndex; row <= rowEndIndex; row++) { - int position = items.get(items.keyAt(row)); - String id = mHelper.getModelIdFromAdapterPosition(position); - if (id != null) { - // The adapter inserts items for UI layout purposes that aren't associated - // with files. Those will have a null model ID. Don't select them. - mSelection.add(id); - } - if (isPossiblePositionNearestOrigin(column, columnStartIndex, columnEndIndex, - row, rowStartIndex, rowEndIndex)) { - // If this is the position nearest the origin, record it now so that it - // can be returned by endSelection() later. - mPositionNearestOrigin = position; + // The default return value for SparseIntArray.get is 0, which is a valid + // position. Use a sentry value to prevent erroneously selecting item 0. + int position = items.get(items.keyAt(row), NOT_SET); + if (position != NOT_SET) { + String id = mHelper.getModelIdFromAdapterPosition(position); + if (id != null) { + // The adapter inserts items for UI layout purposes that aren't associated + // with files. Those will have a null model ID. Don't select them. + mSelection.add(id); + } + if (isPossiblePositionNearestOrigin(column, columnStartIndex, columnEndIndex, + row, rowStartIndex, rowEndIndex)) { + // If this is the position nearest the origin, record it now so that it + // can be returned by endSelection() later. + mPositionNearestOrigin = position; + } } } } diff --git a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java index bc09f3a75d54..c6e55314770a 100644 --- a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java +++ b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java @@ -579,6 +579,10 @@ public class ExternalStorageProvider extends DocumentsProvider { public AssetFileDescriptor openDocumentThumbnail( String documentId, Point sizeHint, CancellationSignal signal) throws FileNotFoundException { + if (mArchiveHelper.isArchivedDocument(documentId)) { + return mArchiveHelper.openDocumentThumbnail(documentId, sizeHint, signal); + } + final File file = getFileForDocId(documentId); return DocumentsContract.openImageThumbnail(file); } diff --git a/packages/MtpDocumentsProvider/jni/com_android_mtp_AppFuse.cpp b/packages/MtpDocumentsProvider/jni/com_android_mtp_AppFuse.cpp index 9267f4cfa251..f592a1fb1ae1 100644 --- a/packages/MtpDocumentsProvider/jni/com_android_mtp_AppFuse.cpp +++ b/packages/MtpDocumentsProvider/jni/com_android_mtp_AppFuse.cpp @@ -62,6 +62,19 @@ struct FuseRequest { } }; +class ScopedFd { + int mFd; + +public: + explicit ScopedFd(int fd) : mFd(fd) {} + ~ScopedFd() { + close(mFd); + } + operator int() { + return mFd; + } +}; + /** * The class is used to access AppFuse class in Java from fuse handlers. */ @@ -70,24 +83,26 @@ public: AppFuse(JNIEnv* /*env*/, jobject /*self*/) { } - void handle_fuse_request(int fd, const FuseRequest& req) { + bool handle_fuse_request(int fd, const FuseRequest& req) { ALOGV("Request op=%d", req.header().opcode); switch (req.header().opcode) { // TODO: Handle more operations that are enough to provide seekable // FD. case FUSE_INIT: invoke_handler(fd, req, &AppFuse::handle_fuse_init); - break; + return true; case FUSE_GETATTR: invoke_handler(fd, req, &AppFuse::handle_fuse_getattr); - break; + return true; + case FUSE_FORGET: + return false; default: { ALOGV("NOTIMPL op=%d uniq=%" PRIx64 " nid=%" PRIx64 "\n", req.header().opcode, req.header().unique, req.header().nodeid); fuse_reply(fd, req.header().unique, -ENOSYS, NULL, 0); - break; + return true; } } } @@ -198,7 +213,7 @@ private: jboolean com_android_mtp_AppFuse_start_app_fuse_loop( JNIEnv* env, jobject self, jint jfd) { - const int fd = static_cast<int>(jfd); + ScopedFd fd(dup(static_cast<int>(jfd))); AppFuse appfuse(env, self); ALOGD("Start fuse loop."); @@ -209,7 +224,7 @@ jboolean com_android_mtp_AppFuse_start_app_fuse_loop( if (result < 0) { if (errno == ENODEV) { ALOGE("Someone stole our marbles!\n"); - return false; + return JNI_FALSE; } ALOGE("Failed to read bytes from FD: errno=%d\n", errno); continue; @@ -227,7 +242,9 @@ jboolean com_android_mtp_AppFuse_start_app_fuse_loop( continue; } - appfuse.handle_fuse_request(fd, request); + if (!appfuse.handle_fuse_request(fd, request)) { + return JNI_TRUE; + } } } diff --git a/packages/MtpDocumentsProvider/src/com/android/mtp/AppFuse.java b/packages/MtpDocumentsProvider/src/com/android/mtp/AppFuse.java index e9edeb9ca8fa..2c09ad135266 100644 --- a/packages/MtpDocumentsProvider/src/com/android/mtp/AppFuse.java +++ b/packages/MtpDocumentsProvider/src/com/android/mtp/AppFuse.java @@ -18,10 +18,13 @@ package com.android.mtp; import android.os.ParcelFileDescriptor; import android.os.storage.StorageManager; +import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import java.io.File; +import java.io.IOException; + import android.os.Process; /** @@ -55,6 +58,21 @@ public class AppFuse { } @VisibleForTesting + void close() { + try { + // Remote side of ParcelFileDescriptor is tracking the close of mDeviceFd, and unmount + // the corresponding fuse file system. The mMessageThread will receive FUSE_FORGET, and + // then terminate itself. + mDeviceFd.close(); + mMessageThread.join(); + } catch (IOException exp) { + Log.e(MtpDocumentsProvider.TAG, "Failed to close device FD.", exp); + } catch (InterruptedException exp) { + Log.e(MtpDocumentsProvider.TAG, "Failed to terminate message thread.", exp); + } + } + + @VisibleForTesting File getMountPoint() { return new File("/mnt/appfuse/" + Process.myUid() + "_" + mName); } diff --git a/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDocumentsProvider.java b/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDocumentsProvider.java index 57a68ba7c9ee..3573536b37e6 100644 --- a/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDocumentsProvider.java +++ b/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDocumentsProvider.java @@ -245,7 +245,6 @@ public class MtpDocumentsProvider extends DocumentsProvider { void closeDevice(int deviceId) throws IOException, InterruptedException { synchronized (mDeviceListLock) { closeDeviceInternal(deviceId); - mDatabase.removeDeviceRows(deviceId); } mRootScanner.resume(); } diff --git a/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java b/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java index 619ef54ed90e..c216c7760096 100644 --- a/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java +++ b/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java @@ -105,7 +105,7 @@ final class RootScanner { public void run() { Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND); int pollingCount = 0; - while (!Thread.interrupted()) { + while (true) { boolean changed = false; // Update devices. @@ -147,8 +147,7 @@ final class RootScanner { Thread.sleep(pollingCount > SHORT_POLLING_TIMES ? LONG_POLLING_INTERVAL : SHORT_POLLING_INTERVAL); } catch (InterruptedException exp) { - // The while condition handles the interrupted flag. - continue; + break; } } } diff --git a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/AppFuseTest.java b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/AppFuseTest.java index a14575682389..b66d8ebec212 100644 --- a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/AppFuseTest.java +++ b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/AppFuseTest.java @@ -17,6 +17,8 @@ package com.android.mtp; import android.os.storage.StorageManager; +import android.system.ErrnoException; +import android.system.Os; import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.SmallTest; @@ -26,12 +28,17 @@ import java.io.File; public class AppFuseTest extends AndroidTestCase { /** * TODO: Enable this test after adding SELinux policies for appfuse. + * @throws ErrnoException + * @throws InterruptedException */ - public void testBasic() { + public void disabled_testBasic() throws ErrnoException, InterruptedException { final StorageManager storageManager = getContext().getSystemService(StorageManager.class); final AppFuse appFuse = new AppFuse("test"); appFuse.mount(storageManager); final File file = appFuse.getMountPoint(); assertTrue(file.isDirectory()); + assertEquals(1, Os.stat(file.getPath()).st_ino); + appFuse.close(); + assertTrue(1 != Os.stat(file.getPath()).st_ino); } } diff --git a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/MtpManagerTest.java b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/MtpManagerTest.java index ed617e71aeb2..5e95e4f88386 100644 --- a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/MtpManagerTest.java +++ b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/MtpManagerTest.java @@ -61,8 +61,9 @@ public class MtpManagerTest extends InstrumentationTestCase { @Override public Boolean call() throws IOException { try { - mManager.readEvent(mUsbDevice.getDeviceId(), signal); - return false; + while (true) { + mManager.readEvent(mUsbDevice.getDeviceId(), signal); + } } catch (OperationCanceledException exception) { return true; } diff --git a/packages/PrintSpooler/AndroidManifest.xml b/packages/PrintSpooler/AndroidManifest.xml index 5a6f1d1f1a31..af9d25196bec 100644 --- a/packages/PrintSpooler/AndroidManifest.xml +++ b/packages/PrintSpooler/AndroidManifest.xml @@ -17,9 +17,7 @@ */ --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="com.android.printspooler" - android:versionName="1" - android:versionCode="1"> + package="com.android.printspooler"> <!-- Allows an application to call APIs that give it access to all print jobs on the device. Usually an app can access only the print jobs it created. --> @@ -40,6 +38,8 @@ <uses-permission android:name="com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS"/> <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.START_PRINT_SERVICE_CONFIG_ACTIVITY"/> + <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> + <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <application android:allowClearUserData="true" diff --git a/packages/PrintSpooler/res/drawable/ic_info.xml b/packages/PrintSpooler/res/drawable/ic_info.xml new file mode 100644 index 000000000000..2ecd1c79d23e --- /dev/null +++ b/packages/PrintSpooler/res/drawable/ic_info.xml @@ -0,0 +1,24 @@ +<!-- + Copyright (C) 2015 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + <path + android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM13,17h-2v-6h2v6zM13,9h-2L11,7h2v2z" + android:fillColor="#757575"/> +</vector>
\ No newline at end of file diff --git a/packages/PrintSpooler/res/layout/printer_dropdown_item.xml b/packages/PrintSpooler/res/layout/printer_dropdown_item.xml index 4381a7a32647..e0efbc42a627 100644 --- a/packages/PrintSpooler/res/layout/printer_dropdown_item.xml +++ b/packages/PrintSpooler/res/layout/printer_dropdown_item.xml @@ -62,7 +62,7 @@ android:ellipsize="end" android:textIsSelectable="false" android:visibility="gone" - android:textColor="?android:attr/textColorPrimary" + android:textColor="?android:attr/textColorSecondary" android:duplicateParentState="true"> </TextView> diff --git a/packages/PrintSpooler/res/layout/printer_list_item.xml b/packages/PrintSpooler/res/layout/printer_list_item.xml index 7bc144aee156..50f44c21656c 100644 --- a/packages/PrintSpooler/res/layout/printer_list_item.xml +++ b/packages/PrintSpooler/res/layout/printer_list_item.xml @@ -38,6 +38,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" + android:layout_weight="1" android:duplicateParentState="true"> <TextView @@ -62,10 +63,20 @@ android:ellipsize="end" android:textIsSelectable="false" android:visibility="gone" - android:textColor="?android:attr/textColorPrimary" + android:textColor="?android:attr/textColorSecondary" android:duplicateParentState="true"> </TextView> </LinearLayout> + <ImageView + android:id="@+id/more_info" + android:layout_width="24dip" + android:layout_height="24dip" + android:layout_gravity="center_vertical" + android:contentDescription="@string/printer_info_desc" + android:src="@drawable/ic_info" + android:visibility="gone"> + </ImageView> + </LinearLayout> diff --git a/packages/PrintSpooler/res/values-af/strings.xml b/packages/PrintSpooler/res/values-af/strings.xml index f263af7ece2d..0f34e9ec92f0 100644 --- a/packages/PrintSpooler/res/values-af/strings.xml +++ b/packages/PrintSpooler/res/values-af/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> drukkers gevind</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> drukker gevind</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Meer inligting oor hierdie drukker"</string> <string name="choose_print_service" msgid="3740309762324459694">"Kies drukdiens"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Soek tans vir drukkers"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Geen drukdienste is geaktiveer nie"</string> diff --git a/packages/PrintSpooler/res/values-am/strings.xml b/packages/PrintSpooler/res/values-am/strings.xml index a93e0a96eceb..a6e1abfd753b 100644 --- a/packages/PrintSpooler/res/values-am/strings.xml +++ b/packages/PrintSpooler/res/values-am/strings.xml @@ -59,6 +59,8 @@ <item quantity="one"><xliff:g id="COUNT_1">%1$s</xliff:g> አታሚዎች ተገáŠá‰°á‹‹áˆ</item> <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> አታሚዎች ተገáŠá‰°á‹‹áˆ</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"ተጨማሪ የዚህ አታሚ መረጃ"</string> <string name="choose_print_service" msgid="3740309762324459694">"የህትመት አገáˆáŒáˆŽá‰µ á‹áˆáˆ¨áŒ¡"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"አታሚዎችን በመáˆáˆˆáŒ ላá‹"</string> <string name="print_no_print_services" msgid="8561247706423327966">"áˆáŠ•áˆ á‹¨áˆ…á‰µáˆ˜á‰µ አገáˆáŒáˆŽá‰¶á‰½ አáˆáŠá‰áˆ"</string> diff --git a/packages/PrintSpooler/res/values-ar/strings.xml b/packages/PrintSpooler/res/values-ar/strings.xml index c9a6a395d636..0291b7d9670c 100644 --- a/packages/PrintSpooler/res/values-ar/strings.xml +++ b/packages/PrintSpooler/res/values-ar/strings.xml @@ -63,6 +63,8 @@ <item quantity="other">تم العثور على <xliff:g id="COUNT_1">%1$s</xliff:g> من الطابعات</item> <item quantity="one">تم العثور على طابعة ÙˆØ§ØØ¯Ø© (<xliff:g id="COUNT_0">%1$s</xliff:g>)</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"مزيد من المعلومات ØÙˆÙ„ هذه الطابعة"</string> <string name="choose_print_service" msgid="3740309762324459694">"اختر خدمة طباعة"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Ø§Ù„Ø¨ØØ« عن طابعات"</string> <string name="print_no_print_services" msgid="8561247706423327966">"لم يتم تمكين أي خدمات طباعة"</string> diff --git a/packages/PrintSpooler/res/values-az-rAZ/strings.xml b/packages/PrintSpooler/res/values-az-rAZ/strings.xml index 5aeb7bb6d299..e1627936ecdb 100644 --- a/packages/PrintSpooler/res/values-az-rAZ/strings.xml +++ b/packages/PrintSpooler/res/values-az-rAZ/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> printer tapıldı</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> printer tapıldı</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Bu printer haqqında daha É™traflı mÉ™lumat"</string> <string name="choose_print_service" msgid="3740309762324459694">"Çap xidmÉ™tini seçin"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Printer axtarılır"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Heç bir çap xidmÉ™ti aktiv edilmÉ™yib"</string> diff --git a/packages/PrintSpooler/res/values-b+sr+Latn/strings.xml b/packages/PrintSpooler/res/values-b+sr+Latn/strings.xml index 748471842b58..d6e439cdf642 100644 --- a/packages/PrintSpooler/res/values-b+sr+Latn/strings.xml +++ b/packages/PrintSpooler/res/values-b+sr+Latn/strings.xml @@ -60,6 +60,8 @@ <item quantity="few">PronaÄ‘ena su <xliff:g id="COUNT_1">%1$s</xliff:g> Å¡tampaÄa</item> <item quantity="other">PronaÄ‘eno je <xliff:g id="COUNT_1">%1$s</xliff:g> Å¡tampaÄa</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"JoÅ¡ informacija o ovom Å¡tampaÄu"</string> <string name="choose_print_service" msgid="3740309762324459694">"Izaberite uslugu Å¡tampanja"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Pretraga Å¡tampaÄa"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Nijedna usluga Å¡tampanja nije omogućena"</string> diff --git a/packages/PrintSpooler/res/values-bg/strings.xml b/packages/PrintSpooler/res/values-bg/strings.xml index 93feea512fb1..c23935437aae 100644 --- a/packages/PrintSpooler/res/values-bg/strings.xml +++ b/packages/PrintSpooler/res/values-bg/strings.xml @@ -59,6 +59,8 @@ <item quantity="other">Ðамерени Ñа <xliff:g id="COUNT_1">%1$s</xliff:g> принтера</item> <item quantity="one">Ðамерен е <xliff:g id="COUNT_0">%1$s</xliff:g> принтер</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Още Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° този принтер"</string> <string name="choose_print_service" msgid="3740309762324459694">"Избиране на уÑлуга за отпечатване"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"ТърÑене на принтери"</string> <string name="print_no_print_services" msgid="8561247706423327966">"ÐÑма активирани уÑлуги за отпечатване"</string> diff --git a/packages/PrintSpooler/res/values-bn-rBD/strings.xml b/packages/PrintSpooler/res/values-bn-rBD/strings.xml index 0eed9aae9548..17a1a3541796 100644 --- a/packages/PrintSpooler/res/values-bn-rBD/strings.xml +++ b/packages/PrintSpooler/res/values-bn-rBD/strings.xml @@ -59,6 +59,8 @@ <item quantity="one"><xliff:g id="COUNT_1">%1$s</xliff:g>টি মà§à¦¦à§à¦°à¦• খà§à¦à¦œà§‡ পাওয়া গেছে</item> <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g>টি মà§à¦¦à§à¦°à¦• খà§à¦à¦œà§‡ পাওয়া গেছে</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"à¦à¦‡ মà§à¦¦à§à¦°à¦•টির বিষয়ে আরো তথà§à¦¯"</string> <string name="choose_print_service" msgid="3740309762324459694">"মà§à¦¦à§à¦°à¦£ পরিষেবা চয়ন করà§à¦¨"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"মà§à¦¦à§à¦°à¦•গà§à¦²à¦¿ অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ করা হচà§à¦›à§‡"</string> <string name="print_no_print_services" msgid="8561247706423327966">"মà§à¦¦à§à¦°à¦£ পরিষেবা সকà§à¦·à¦® নেই"</string> diff --git a/packages/PrintSpooler/res/values-ca/strings.xml b/packages/PrintSpooler/res/values-ca/strings.xml index 03d3060968db..25512067ce87 100644 --- a/packages/PrintSpooler/res/values-ca/strings.xml +++ b/packages/PrintSpooler/res/values-ca/strings.xml @@ -59,6 +59,8 @@ <item quantity="other">S\'han trobat <xliff:g id="COUNT_1">%1$s</xliff:g> impressores</item> <item quantity="one">S\'ha trobat <xliff:g id="COUNT_0">%1$s</xliff:g> impressora</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Més informació sobre aquesta impressora"</string> <string name="choose_print_service" msgid="3740309762324459694">"Selecció del servei d\'impressió"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Cerca d\'impressores"</string> <string name="print_no_print_services" msgid="8561247706423327966">"No hi ha cap servei d\'impressió activat"</string> diff --git a/packages/PrintSpooler/res/values-cs/strings.xml b/packages/PrintSpooler/res/values-cs/strings.xml index 414abf9fc798..0bb48f8e199e 100644 --- a/packages/PrintSpooler/res/values-cs/strings.xml +++ b/packages/PrintSpooler/res/values-cs/strings.xml @@ -61,6 +61,8 @@ <item quantity="other">Nalezené tiskárny: <xliff:g id="COUNT_1">%1$s</xliff:g></item> <item quantity="one">Nalezené tiskárny: <xliff:g id="COUNT_0">%1$s</xliff:g></item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Dalšà informace o této tiskárnÄ›"</string> <string name="choose_print_service" msgid="3740309762324459694">"Zvolte službu tisku"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Vyhledávánà tiskáren"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Nejsou aktivovány žádné tiskové služby"</string> diff --git a/packages/PrintSpooler/res/values-da/strings.xml b/packages/PrintSpooler/res/values-da/strings.xml index 893c991a8316..a9d042b5c51a 100644 --- a/packages/PrintSpooler/res/values-da/strings.xml +++ b/packages/PrintSpooler/res/values-da/strings.xml @@ -59,6 +59,8 @@ <item quantity="one">Der blev fundet <xliff:g id="COUNT_1">%1$s</xliff:g> printere</item> <item quantity="other">Der blev fundet <xliff:g id="COUNT_1">%1$s</xliff:g> printere</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Flere oplysninger om denne printer"</string> <string name="choose_print_service" msgid="3740309762324459694">"Vælg udskriftstjeneste"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Søger efter printere"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Ingen udskrivningstjenester er aktiveret"</string> diff --git a/packages/PrintSpooler/res/values-de/strings.xml b/packages/PrintSpooler/res/values-de/strings.xml index f6f53eaaf8d1..4eb5d6a94d5a 100644 --- a/packages/PrintSpooler/res/values-de/strings.xml +++ b/packages/PrintSpooler/res/values-de/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> Drucker gefunden</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> Drucker gefunden</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Weitere Informationen über diesen Drucker"</string> <string name="choose_print_service" msgid="3740309762324459694">"Druckdienst auswählen"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Suche nach Druckern"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Keine Druckdienste aktiviert"</string> diff --git a/packages/PrintSpooler/res/values-el/strings.xml b/packages/PrintSpooler/res/values-el/strings.xml index 10ddf6251346..cd35785b528c 100644 --- a/packages/PrintSpooler/res/values-el/strings.xml +++ b/packages/PrintSpooler/res/values-el/strings.xml @@ -59,6 +59,8 @@ <item quantity="other">Î’ÏÎθηκαν <xliff:g id="COUNT_1">%1$s</xliff:g> εκτυπωτÎÏ‚</item> <item quantity="one">Î’ÏÎθηκε <xliff:g id="COUNT_0">%1$s</xliff:g> εκτυπωτής</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"ΠεÏισσότεÏες πληÏοφοÏίες σχετικά με αυτόν τον εκτυπωτή"</string> <string name="choose_print_service" msgid="3740309762324459694">"ΕπιλÎξτε υπηÏεσία εκτÏπωσης"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Αναζήτηση για εκτυπωτÎÏ‚"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Δεν Îχουν ενεÏγοποιηθεί υπηÏεσίες εκτÏπωσης"</string> diff --git a/packages/PrintSpooler/res/values-en-rAU/strings.xml b/packages/PrintSpooler/res/values-en-rAU/strings.xml index a540ac5b4e1f..753d9dfc5bd8 100644 --- a/packages/PrintSpooler/res/values-en-rAU/strings.xml +++ b/packages/PrintSpooler/res/values-en-rAU/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> printers found</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> printer found</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"More information about this printer"</string> <string name="choose_print_service" msgid="3740309762324459694">"Choose print service"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Searching for printers"</string> <string name="print_no_print_services" msgid="8561247706423327966">"No print services enabled"</string> diff --git a/packages/PrintSpooler/res/values-en-rGB/strings.xml b/packages/PrintSpooler/res/values-en-rGB/strings.xml index a540ac5b4e1f..753d9dfc5bd8 100644 --- a/packages/PrintSpooler/res/values-en-rGB/strings.xml +++ b/packages/PrintSpooler/res/values-en-rGB/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> printers found</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> printer found</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"More information about this printer"</string> <string name="choose_print_service" msgid="3740309762324459694">"Choose print service"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Searching for printers"</string> <string name="print_no_print_services" msgid="8561247706423327966">"No print services enabled"</string> diff --git a/packages/PrintSpooler/res/values-en-rIN/strings.xml b/packages/PrintSpooler/res/values-en-rIN/strings.xml index a540ac5b4e1f..753d9dfc5bd8 100644 --- a/packages/PrintSpooler/res/values-en-rIN/strings.xml +++ b/packages/PrintSpooler/res/values-en-rIN/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> printers found</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> printer found</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"More information about this printer"</string> <string name="choose_print_service" msgid="3740309762324459694">"Choose print service"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Searching for printers"</string> <string name="print_no_print_services" msgid="8561247706423327966">"No print services enabled"</string> diff --git a/packages/PrintSpooler/res/values-es-rUS/strings.xml b/packages/PrintSpooler/res/values-es-rUS/strings.xml index 8929aa81d7e1..1a0d5d85cec8 100644 --- a/packages/PrintSpooler/res/values-es-rUS/strings.xml +++ b/packages/PrintSpooler/res/values-es-rUS/strings.xml @@ -59,6 +59,8 @@ <item quantity="other">Se encontraron <xliff:g id="COUNT_1">%1$s</xliff:g> impresoras.</item> <item quantity="one">Se encontró <xliff:g id="COUNT_0">%1$s</xliff:g> impresora.</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Más información sobre esta impresora"</string> <string name="choose_print_service" msgid="3740309762324459694">"Elegir servicio de impresión"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Buscando impresoras"</string> <string name="print_no_print_services" msgid="8561247706423327966">"No hay servicios de impresión habilitados"</string> diff --git a/packages/PrintSpooler/res/values-es/strings.xml b/packages/PrintSpooler/res/values-es/strings.xml index 7cfd92abbed1..eac568d4bdfd 100644 --- a/packages/PrintSpooler/res/values-es/strings.xml +++ b/packages/PrintSpooler/res/values-es/strings.xml @@ -59,6 +59,8 @@ <item quantity="other">Se han encontrado <xliff:g id="COUNT_1">%1$s</xliff:g> impresoras</item> <item quantity="one">Se ha encontrado <xliff:g id="COUNT_0">%1$s</xliff:g> impresora</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Más información sobre esta impresora"</string> <string name="choose_print_service" msgid="3740309762324459694">"Seleccionar servicio de impresión"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Buscando impresoras"</string> <string name="print_no_print_services" msgid="8561247706423327966">"No hay servicios de impresión habilitados"</string> diff --git a/packages/PrintSpooler/res/values-et-rEE/strings.xml b/packages/PrintSpooler/res/values-et-rEE/strings.xml index ee93bcfc5c25..2cde25886420 100644 --- a/packages/PrintSpooler/res/values-et-rEE/strings.xml +++ b/packages/PrintSpooler/res/values-et-rEE/strings.xml @@ -59,6 +59,8 @@ <item quantity="other">Leiti <xliff:g id="COUNT_1">%1$s</xliff:g> printerit</item> <item quantity="one">Leiti <xliff:g id="COUNT_0">%1$s</xliff:g> printer</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Lisateave selle printeri kohta"</string> <string name="choose_print_service" msgid="3740309762324459694">"Prinditeenuse valimine"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Printerite otsimine"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Ühtegi printimisteenust pole lubatud"</string> diff --git a/packages/PrintSpooler/res/values-eu-rES/strings.xml b/packages/PrintSpooler/res/values-eu-rES/strings.xml index 882e8885183a..96a3273f47ad 100644 --- a/packages/PrintSpooler/res/values-eu-rES/strings.xml +++ b/packages/PrintSpooler/res/values-eu-rES/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> inprimagailu aurkitu dira</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> inprimagailu aurkitu da</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Informazio gehiago inprimagailuari buruz"</string> <string name="choose_print_service" msgid="3740309762324459694">"Aukeratu inprimatze-zerbitzua"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Inprimagailuak bilatzen"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Ez dago gaituta inprimatzeko zerbitzurik"</string> diff --git a/packages/PrintSpooler/res/values-fa/strings.xml b/packages/PrintSpooler/res/values-fa/strings.xml index 10743e731855..fdc39892836f 100644 --- a/packages/PrintSpooler/res/values-fa/strings.xml +++ b/packages/PrintSpooler/res/values-fa/strings.xml @@ -59,6 +59,8 @@ <item quantity="one"><xliff:g id="COUNT_1">%1$s</xliff:g> چاپگر ÛŒØ§ÙØª شد</item> <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> چاپگر ÛŒØ§ÙØª شد</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"اطلاعات بیشتر درباره چاپگر"</string> <string name="choose_print_service" msgid="3740309762324459694">"انتخاب سرویس چاپ"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Ø¯Ø±ØØ§Ù„ جستجوی چاپگرها"</string> <string name="print_no_print_services" msgid="8561247706423327966">"هیچ خدمات چاپی ÙØ¹Ø§Ù„ نیست"</string> diff --git a/packages/PrintSpooler/res/values-fi/strings.xml b/packages/PrintSpooler/res/values-fi/strings.xml index ee35c41d4e6e..926739398cc7 100644 --- a/packages/PrintSpooler/res/values-fi/strings.xml +++ b/packages/PrintSpooler/res/values-fi/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> tulostinta löydetty</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> tulostin löydetty</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Lisätietoja tästä tulostimesta"</string> <string name="choose_print_service" msgid="3740309762324459694">"Valitse tulostuspalvelu"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Etsitään tulostimia"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Ei käytössä olevia tulostuspalveluita"</string> diff --git a/packages/PrintSpooler/res/values-fr-rCA/strings.xml b/packages/PrintSpooler/res/values-fr-rCA/strings.xml index eb9944186081..bfb4862f249d 100644 --- a/packages/PrintSpooler/res/values-fr-rCA/strings.xml +++ b/packages/PrintSpooler/res/values-fr-rCA/strings.xml @@ -59,6 +59,8 @@ <item quantity="one"><xliff:g id="COUNT_1">%1$s</xliff:g> imprimante trouvée</item> <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> imprimante trouvées</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Plus d\'information sur cette imprimante"</string> <string name="choose_print_service" msgid="3740309762324459694">"Sélectionner le service d\'impression"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Recherche d\'imprimantes en cours..."</string> <string name="print_no_print_services" msgid="8561247706423327966">"Aucun service d\'impression activé"</string> diff --git a/packages/PrintSpooler/res/values-fr/strings.xml b/packages/PrintSpooler/res/values-fr/strings.xml index c0eecfbd9198..de55e29a2140 100644 --- a/packages/PrintSpooler/res/values-fr/strings.xml +++ b/packages/PrintSpooler/res/values-fr/strings.xml @@ -59,6 +59,8 @@ <item quantity="one"><xliff:g id="COUNT_1">%1$s</xliff:g> imprimante trouvée</item> <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> imprimantes trouvées</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Plus d\'informations sur cette imprimante"</string> <string name="choose_print_service" msgid="3740309762324459694">"Sélectionner le service d\'impression"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Recherche d\'imprimantes en cours"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Aucun service d\'impression activé"</string> diff --git a/packages/PrintSpooler/res/values-gl-rES/strings.xml b/packages/PrintSpooler/res/values-gl-rES/strings.xml index b4a1ec668eef..dc66084e7894 100644 --- a/packages/PrintSpooler/res/values-gl-rES/strings.xml +++ b/packages/PrintSpooler/res/values-gl-rES/strings.xml @@ -59,6 +59,8 @@ <item quantity="other">Encontráronse <xliff:g id="COUNT_1">%1$s</xliff:g> impresoras</item> <item quantity="one">Encontrouse <xliff:g id="COUNT_0">%1$s</xliff:g> impresora</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Máis información sobre esta impresora"</string> <string name="choose_print_service" msgid="3740309762324459694">"Escoller servizo de impresión"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Busca de impresoras"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Non hai servizos de impresión activados"</string> diff --git a/packages/PrintSpooler/res/values-gu-rIN/strings.xml b/packages/PrintSpooler/res/values-gu-rIN/strings.xml index 8f779530f829..d05a3929ffbb 100644 --- a/packages/PrintSpooler/res/values-gu-rIN/strings.xml +++ b/packages/PrintSpooler/res/values-gu-rIN/strings.xml @@ -59,6 +59,8 @@ <item quantity="one"><xliff:g id="COUNT_1">%1$s</xliff:g> પà«àª°àª¿àª¨à«àªŸàª°à«àª¸ મળà«àª¯àª¾àª‚</item> <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> પà«àª°àª¿àª¨à«àªŸàª°à«àª¸ મળà«àª¯àª¾àª‚</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"આ પà«àª°àª¿àª¨à«àªŸàª° વિશે વધૠમાહિતી"</string> <string name="choose_print_service" msgid="3740309762324459694">"પà«àª°àª¿àª¨à«àªŸ સેવા પસંદ કરો"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"પà«àª°àª¿àª¨à«àªŸàª°à«àª¸ માટે શોધી રહà«àª¯à«àª‚ છે"</string> <string name="print_no_print_services" msgid="8561247706423327966">"કોઈ છાપ સેવાઓ સકà«àª·àª® કરેલ નથી"</string> diff --git a/packages/PrintSpooler/res/values-hi/strings.xml b/packages/PrintSpooler/res/values-hi/strings.xml index 4c11323e8dfa..8051900aaeee 100644 --- a/packages/PrintSpooler/res/values-hi/strings.xml +++ b/packages/PrintSpooler/res/values-hi/strings.xml @@ -59,6 +59,8 @@ <item quantity="one"><xliff:g id="COUNT_1">%1$s</xliff:g> पà¥à¤°à¤¿à¤‚टर मिले</item> <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> पà¥à¤°à¤¿à¤‚टर मिले</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"इस पà¥à¤°à¤¿à¤‚टर के बारे में अधिक जानकारी"</string> <string name="choose_print_service" msgid="3740309762324459694">"पà¥à¤°à¤¿à¤‚ट सेवा चà¥à¤¨à¥‡à¤‚"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"पà¥à¤°à¤¿à¤‚टर खोज रहा है"</string> <string name="print_no_print_services" msgid="8561247706423327966">"कोई à¤à¥€ पà¥à¤°à¤¿à¤‚ट सेवा सकà¥à¤·à¤® नहीं है"</string> diff --git a/packages/PrintSpooler/res/values-hr/strings.xml b/packages/PrintSpooler/res/values-hr/strings.xml index 4cec3baf7a8d..4dab4cc90e1e 100644 --- a/packages/PrintSpooler/res/values-hr/strings.xml +++ b/packages/PrintSpooler/res/values-hr/strings.xml @@ -60,6 +60,8 @@ <item quantity="few">PronaÄ‘ena su <xliff:g id="COUNT_1">%1$s</xliff:g> pisaÄa</item> <item quantity="other">PronaÄ‘eno je <xliff:g id="COUNT_1">%1$s</xliff:g> pisaÄa</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"ViÅ¡e informacija o ovom pisaÄu"</string> <string name="choose_print_service" msgid="3740309762324459694">"Odaberite uslugu ispisa"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Traženje pisaÄa"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Nije omogućena nijedna usluga ispisa"</string> diff --git a/packages/PrintSpooler/res/values-hu/strings.xml b/packages/PrintSpooler/res/values-hu/strings.xml index ac1ba6eebe64..1a56ee73f707 100644 --- a/packages/PrintSpooler/res/values-hu/strings.xml +++ b/packages/PrintSpooler/res/values-hu/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> nyomtató észlelve</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> nyomtató észlelve</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"További információ errÅ‘l a nyomtatóról"</string> <string name="choose_print_service" msgid="3740309762324459694">"Nyomtatási szolgáltatás kiválasztása"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Nyomtatók keresése"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Nincs engedélyezett nyomtatási szolgáltatás"</string> diff --git a/packages/PrintSpooler/res/values-hy-rAM/strings.xml b/packages/PrintSpooler/res/values-hy-rAM/strings.xml index dda674548085..7b99dcfac642 100644 --- a/packages/PrintSpooler/res/values-hy-rAM/strings.xml +++ b/packages/PrintSpooler/res/values-hy-rAM/strings.xml @@ -59,6 +59,8 @@ <item quantity="one">Ô³Õ¿Õ¶Õ¾Õ¥Õ¬ Õ§ <xliff:g id="COUNT_1">%1$s</xliff:g> Õ¿ÕºÕ«Õ¹</item> <item quantity="other">Ô³Õ¿Õ¶Õ¾Õ¥Õ¬ Õ§ <xliff:g id="COUNT_1">%1$s</xliff:g> Õ¿ÕºÕ«Õ¹</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Õ€Õ¡Õ¾Õ¥Õ¬ÕµÕ¡Õ¬ Õ¿Õ¥Õ²Õ¥Õ¯Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€ Õ¡ÕµÕ½ Õ¿ÕºÕ«Õ¹Õ« Õ´Õ¡Õ½Õ«Õ¶"</string> <string name="choose_print_service" msgid="3740309762324459694">"Ô¸Õ¶Õ¿Ö€Õ¥Ö„ Õ¿ÕºÕ¥Õ¬Õ¸Ö‚ Õ®Õ¡Õ¼Õ¡ÕµÕ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"ÕÕºÕ«Õ¹Õ¶Õ¥Ö€Õ« Õ¸Ö€Õ¸Õ¶Õ¸Ö‚Õ´"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Ô±Õ¯Õ¿Õ«Õ¾Õ¡ÖÕ¾Õ¡Õ® Õ¿ÕºÕ´Õ¡Õ¶ Õ®Õ¡Õ¼Õ¡ÕµÕ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€ Õ¹Õ¯Õ¡Õ¶"</string> diff --git a/packages/PrintSpooler/res/values-in/strings.xml b/packages/PrintSpooler/res/values-in/strings.xml index b203e2b2a6de..a9912722ecb0 100644 --- a/packages/PrintSpooler/res/values-in/strings.xml +++ b/packages/PrintSpooler/res/values-in/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> printer ditemukan</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> printer ditemukan</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Informasi selengkapnya tentang printer ini"</string> <string name="choose_print_service" msgid="3740309762324459694">"Pilih layanan cetak"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Mencari printer"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Tidak ada layanan cetak yang aktif"</string> diff --git a/packages/PrintSpooler/res/values-is-rIS/strings.xml b/packages/PrintSpooler/res/values-is-rIS/strings.xml index 6dfdabc78f5e..e93f7023f5ea 100644 --- a/packages/PrintSpooler/res/values-is-rIS/strings.xml +++ b/packages/PrintSpooler/res/values-is-rIS/strings.xml @@ -59,6 +59,8 @@ <item quantity="one"><xliff:g id="COUNT_1">%1$s</xliff:g> prentari fannst</item> <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> prentarar fundust</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Frekari upplýsingar um þennan prentara"</string> <string name="choose_print_service" msgid="3740309762324459694">"Veldu prentþjónustu"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Leitar að prentara"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Engin prentþjónusta er virk"</string> diff --git a/packages/PrintSpooler/res/values-it/strings.xml b/packages/PrintSpooler/res/values-it/strings.xml index fd5473a2c281..ffba3533a7fa 100644 --- a/packages/PrintSpooler/res/values-it/strings.xml +++ b/packages/PrintSpooler/res/values-it/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> stampanti trovate</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> stampante trovata</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Ulteriori informazioni su questa stampante"</string> <string name="choose_print_service" msgid="3740309762324459694">"Scegli servizio di stampa"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Ricerca di stampanti"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Non è stato attivato alcun servizio di stampa"</string> diff --git a/packages/PrintSpooler/res/values-iw/strings.xml b/packages/PrintSpooler/res/values-iw/strings.xml index dd062a35501c..2ac109303cc0 100644 --- a/packages/PrintSpooler/res/values-iw/strings.xml +++ b/packages/PrintSpooler/res/values-iw/strings.xml @@ -61,6 +61,8 @@ <item quantity="other">× ×ž×¦×ו <xliff:g id="COUNT_1">%1$s</xliff:g> מדפסות</item> <item quantity="one">× ×ž×¦××” מדפסת <xliff:g id="COUNT_0">%1$s</xliff:g></item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"מידע × ×•×¡×£ על מדפסת זו"</string> <string name="choose_print_service" msgid="3740309762324459694">"בחר שירות הדפסה"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"מחפש מדפסות"</string> <string name="print_no_print_services" msgid="8561247706423327966">"×œ× ×”×•×¤×¢×œ×• שירותי הדפסה"</string> diff --git a/packages/PrintSpooler/res/values-ja/strings.xml b/packages/PrintSpooler/res/values-ja/strings.xml index 23e480953f8f..2c3c24de413d 100644 --- a/packages/PrintSpooler/res/values-ja/strings.xml +++ b/packages/PrintSpooler/res/values-ja/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g>å°ã®ãƒ—リンタãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸ</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g>å°ã®ãƒ—リンタãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸ</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"ã“ã®ãƒ—リンタã®è©³ç´°"</string> <string name="choose_print_service" msgid="3740309762324459694">"å°åˆ·ã‚µãƒ¼ãƒ“スã®é¸æŠž"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"ãƒ—ãƒªãƒ³ã‚¿ã®æ¤œç´¢ä¸"</string> <string name="print_no_print_services" msgid="8561247706423327966">"使用ã§ãã‚‹å°åˆ·ã‚µãƒ¼ãƒ“スãŒã‚りã¾ã›ã‚“"</string> diff --git a/packages/PrintSpooler/res/values-ka-rGE/strings.xml b/packages/PrintSpooler/res/values-ka-rGE/strings.xml index 9f86f052d480..2b0285dc0c06 100644 --- a/packages/PrintSpooler/res/values-ka-rGE/strings.xml +++ b/packages/PrintSpooler/res/values-ka-rGE/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> პრინტერი ნáƒáƒžáƒáƒ•ნიáƒ</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> პრინტერი ნáƒáƒžáƒáƒ•ნიáƒ</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> — <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"დáƒáƒ›áƒáƒ¢áƒ”ბითი ინფáƒáƒ მáƒáƒªáƒ˜áƒ áƒáƒ› პრინტერის შესáƒáƒ®áƒ”ბ"</string> <string name="choose_print_service" msgid="3740309762324459694">"áƒáƒ˜áƒ ჩიეთ ბეáƒáƒ“ვის სერვისი"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"მიმდინáƒáƒ ეáƒáƒ‘ს პრინტერების ძიებáƒ"</string> <string name="print_no_print_services" msgid="8561247706423327966">"ბეáƒáƒ“ვის სერვისები გáƒáƒáƒ¥áƒ¢áƒ˜áƒ£áƒ ებული áƒáƒ áƒáƒ ის"</string> diff --git a/packages/PrintSpooler/res/values-kk-rKZ/strings.xml b/packages/PrintSpooler/res/values-kk-rKZ/strings.xml index 05c300edc92b..fc099c9772d0 100644 --- a/packages/PrintSpooler/res/values-kk-rKZ/strings.xml +++ b/packages/PrintSpooler/res/values-kk-rKZ/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> принтер табылды</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> принтер табылды</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"ОÑÑ‹ принтер туралы қоÑымша ақпарат"</string> <string name="choose_print_service" msgid="3740309762324459694">"Принтер қызметін таңдау"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Принтерлерді іздеу"</string> <string name="print_no_print_services" msgid="8561247706423327966">"БаÑып шығару қызметтері қоÑылмаған"</string> diff --git a/packages/PrintSpooler/res/values-km-rKH/strings.xml b/packages/PrintSpooler/res/values-km-rKH/strings.xml index 0861e59a9d97..b51091e803a8 100644 --- a/packages/PrintSpooler/res/values-km-rKH/strings.xml +++ b/packages/PrintSpooler/res/values-km-rKH/strings.xml @@ -59,6 +59,8 @@ <item quantity="other">រកឃើញម៉ាស៊ីនបោះពុម្ព <xliff:g id="COUNT_1">%1$s</xliff:g></item> <item quantity="one">រកឃើញម៉ាស៊ីនបោះពុម្ព <xliff:g id="COUNT_0">%1$s</xliff:g></item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"áž–áŸážáŸŒáž˜áž¶áž“បន្ážáŸ‚មអំពីម៉ាស៊ីបោះពុម្ពនáŸáŸ‡"</string> <string name="choose_print_service" msgid="3740309762324459694">"ជ្រើស​សáŸážœáž¶â€‹áž”ោះពុម្ព"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"ស្វែងរក​ម៉ាស៊ីន​បោះពុម្ព"</string> <string name="print_no_print_services" msgid="8561247706423327966">"គ្មានការបើកដំណើរការសáŸážœáž¶áž”ោះពុម្ពទáŸ"</string> diff --git a/packages/PrintSpooler/res/values-kn-rIN/strings.xml b/packages/PrintSpooler/res/values-kn-rIN/strings.xml index 71b098d830c9..5d5dee86654c 100644 --- a/packages/PrintSpooler/res/values-kn-rIN/strings.xml +++ b/packages/PrintSpooler/res/values-kn-rIN/strings.xml @@ -59,6 +59,8 @@ <item quantity="one"><xliff:g id="COUNT_1">%1$s</xliff:g> ಪà³à²°à²¿à²‚ಟರà³â€Œà²—ಳೠಪತà³à²¤à³†à²¯à²¾à²—ಿವೆ</item> <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> ಪà³à²°à²¿à²‚ಟರà³â€Œà²—ಳೠಪತà³à²¤à³†à²¯à²¾à²—ಿವೆ</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"ಈ ಪà³à²°à²¿à²‚ಟರೠಬಗà³à²—ೆ ಇನà³à²¨à²·à³à²Ÿà³ ಮಾಹಿತಿ"</string> <string name="choose_print_service" msgid="3740309762324459694">"ಮà³à²¦à³à²°à²£ ಸೇವೆಯನà³à²¨à³ ಆಯà³à²•ೆಮಾಡಿ"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"ಪà³à²°à²¿à²‚ಟರà³â€Œâ€Œà²—ಳಿಗಾಗಿ ಹà³à²¡à³à²•ಲಾಗà³à²¤à³à²¤à²¿à²¦à³†"</string> <string name="print_no_print_services" msgid="8561247706423327966">"ಯಾವà³à²¦à³‡ ಮà³à²¦à³à²°à²£ ಸೇವೆಗಳನà³à²¨à³ ಸಕà³à²°à²¿à²¯à²—ೊಳಿಸಿಲà³à²²"</string> diff --git a/packages/PrintSpooler/res/values-ko/strings.xml b/packages/PrintSpooler/res/values-ko/strings.xml index 451ab58fcc35..98617e7841ee 100644 --- a/packages/PrintSpooler/res/values-ko/strings.xml +++ b/packages/PrintSpooler/res/values-ko/strings.xml @@ -59,6 +59,8 @@ <item quantity="other">프린터 <xliff:g id="COUNT_1">%1$s</xliff:g>대 검색ë¨</item> <item quantity="one">프린터 <xliff:g id="COUNT_0">%1$s</xliff:g>대 검색ë¨</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"ì´ í”„ë¦°í„°ì— ëŒ€í•œ ì •ë³´ ë”보기"</string> <string name="choose_print_service" msgid="3740309762324459694">"ì¸ì‡„ 서비스 ì„ íƒ"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"프린터 검색 중"</string> <string name="print_no_print_services" msgid="8561247706423327966">"사용 가능한 프린트 서비스 ì—†ìŒ"</string> diff --git a/packages/PrintSpooler/res/values-ky-rKG/strings.xml b/packages/PrintSpooler/res/values-ky-rKG/strings.xml index 98da08cd316e..2a11ff86508b 100644 --- a/packages/PrintSpooler/res/values-ky-rKG/strings.xml +++ b/packages/PrintSpooler/res/values-ky-rKG/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> принтер табылды</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> принтер табылды</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Бул принтер жөнүндө көбүрөөк маалымат"</string> <string name="choose_print_service" msgid="3740309762324459694">"Принтер кызматын тандоо"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Принтерлер изделүүдө"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Принтер-кызматтары иштетилген ÑмеÑ"</string> diff --git a/packages/PrintSpooler/res/values-lo-rLA/strings.xml b/packages/PrintSpooler/res/values-lo-rLA/strings.xml index 2029fdfd6fbf..788e5aaaf036 100644 --- a/packages/PrintSpooler/res/values-lo-rLA/strings.xml +++ b/packages/PrintSpooler/res/values-lo-rLA/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> ເຄື່àºàº‡â€‹àºžàº´àº¡â€‹àº–ືàºâ€‹àºžàº»àºšâ€‹à»àº¥à»‰àº§</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> ເຄື່àºàº‡â€‹àºžàº´àº¡â€‹àº–ືàºâ€‹àºžàº»àºšâ€‹à»àº¥à»‰àº§</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"ຂà»à»‰àº¡àº¹àº™à»€àºžàºµà»ˆàº¡à»€àº•ີມàºà»ˆàº½àº§àºàº±àºšà»€àº„ື່àºàº‡àºžàº´àº¡àº™àºµà»‰"</string> <string name="choose_print_service" msgid="3740309762324459694">"ເລືàºàºàºšà»àº¥àº´àºàº²àº™àºàº²àº™àºžàº´àº¡"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"àºàº³àº¥àº±àº‡àºŠàºàºàº«àº²à»€àº„ື່àºàº‡àºžàº´àº¡"</string> <string name="print_no_print_services" msgid="8561247706423327966">"ບà»à»ˆâ€‹àº¡àºµâ€‹àºàº²àº™â€‹àºšà»â€‹àº¥àº´â€‹àºàº²àº™â€‹àºžàº´àº¡â€‹à»€àº›àºµàº”​ໃຊ້​ງານ​ໄວ້"</string> diff --git a/packages/PrintSpooler/res/values-lt/strings.xml b/packages/PrintSpooler/res/values-lt/strings.xml index 972abb5922e0..1826e8ee283e 100644 --- a/packages/PrintSpooler/res/values-lt/strings.xml +++ b/packages/PrintSpooler/res/values-lt/strings.xml @@ -61,6 +61,8 @@ <item quantity="many">Rasta <xliff:g id="COUNT_1">%1$s</xliff:g> spausdintuvo</item> <item quantity="other">Rasta <xliff:g id="COUNT_1">%1$s</xliff:g> spausdintuvų</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"„<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g>“ – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Daugiau informacijos apie šį spausdintuvÄ…"</string> <string name="choose_print_service" msgid="3740309762324459694">"Pasirinkite spausdinimo paslaugÄ…"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"IeÅ¡koma spausdintuvų"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Neįgalinta jokių spausdinimo paslaugų"</string> diff --git a/packages/PrintSpooler/res/values-lv/strings.xml b/packages/PrintSpooler/res/values-lv/strings.xml index f565b2318407..5c17efe402ff 100644 --- a/packages/PrintSpooler/res/values-lv/strings.xml +++ b/packages/PrintSpooler/res/values-lv/strings.xml @@ -60,6 +60,8 @@ <item quantity="one">Atrasts <xliff:g id="COUNT_1">%1$s</xliff:g> printers</item> <item quantity="other">Atrasti <xliff:g id="COUNT_1">%1$s</xliff:g> printeri</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> — <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"PlaÅ¡Äka informÄcija par Å¡o printeri"</string> <string name="choose_print_service" msgid="3740309762324459694">"IzvÄ“lieties drukÄÅ¡anas pakalpojumu"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Printeru meklēšana"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Nav iespÄ“jots neviens drukas pakalpojums"</string> diff --git a/packages/PrintSpooler/res/values-mk-rMK/strings.xml b/packages/PrintSpooler/res/values-mk-rMK/strings.xml index f5c06d1845c7..ebc1181f0d46 100644 --- a/packages/PrintSpooler/res/values-mk-rMK/strings.xml +++ b/packages/PrintSpooler/res/values-mk-rMK/strings.xml @@ -59,6 +59,8 @@ <item quantity="one">Пронајдени Ñе <xliff:g id="COUNT_1">%1$s</xliff:g> печатач</item> <item quantity="other">Пронајдени Ñе <xliff:g id="COUNT_1">%1$s</xliff:g> печатачи</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Повеќе информации за овој печатач"</string> <string name="choose_print_service" msgid="3740309762324459694">"Избери уÑлуга печатење"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Пребарување печатачи"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Ðема овозможени уÑлуги за печатење"</string> diff --git a/packages/PrintSpooler/res/values-ml-rIN/strings.xml b/packages/PrintSpooler/res/values-ml-rIN/strings.xml index 2d45ce5a29e0..c08a3d417744 100644 --- a/packages/PrintSpooler/res/values-ml-rIN/strings.xml +++ b/packages/PrintSpooler/res/values-ml-rIN/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> à´ªàµà´°à´¿à´¨àµà´±à´±àµà´•ൾ à´•à´£àµà´Ÿàµ†à´¤àµà´¤à´¿</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> à´ªàµà´°à´¿à´¨àµà´±àµ¼ à´•à´£àµà´Ÿàµ†à´¤àµà´¤à´¿</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"à´ˆ à´ªàµà´°à´¿à´¨àµà´±à´±à´¿à´¨àµ† à´•àµà´±à´¿à´šàµà´šàµà´³àµà´³ കൂടàµà´¤àµ½ വിവരങàµà´™àµ¾"</string> <string name="choose_print_service" msgid="3740309762324459694">"à´ªàµà´°à´¿à´¨àµà´±àµ സേവനം തിരഞàµà´žàµ†à´Ÿàµà´•àµà´•àµà´•"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"à´ªàµà´°à´¿à´¨àµà´±à´±àµà´•ൾകàµà´•ായി തിരയàµà´¨àµà´¨àµ"</string> <string name="print_no_print_services" msgid="8561247706423327966">"à´ªàµà´°à´¿à´¨àµà´±àµ സേവനങàµà´™à´³àµŠà´¨àµà´¨àµà´‚ à´ªàµà´°à´µàµ¼à´¤àµà´¤à´¨à´•àµà´·à´®à´¾à´•àµà´•ിയിടàµà´Ÿà´¿à´²àµà´²"</string> diff --git a/packages/PrintSpooler/res/values-mn-rMN/strings.xml b/packages/PrintSpooler/res/values-mn-rMN/strings.xml index f2c7b73f79d2..dcef28f0a4e8 100644 --- a/packages/PrintSpooler/res/values-mn-rMN/strings.xml +++ b/packages/PrintSpooler/res/values-mn-rMN/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> Ñ…ÑвлÑгч олдÑон байна</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> Ñ…ÑвлÑгч олдÑон байна</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"ÐÐ½Ñ Ñ…ÑвлÑгчийн талаарх дÑлгÑÑ€Ñнгүй мÑдÑÑлÑл"</string> <string name="choose_print_service" msgid="3740309762324459694">"Ð¥ÑвлÑÑ… үйлчилгÑÑг Ñонгох"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Принтер хайж байна"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Ð¥ÑвлÑÑ… үйлчилгÑÑг идÑвхжүүлÑÑгүй"</string> diff --git a/packages/PrintSpooler/res/values-mr-rIN/strings.xml b/packages/PrintSpooler/res/values-mr-rIN/strings.xml index 1c079dc63bf4..384f0ded5386 100644 --- a/packages/PrintSpooler/res/values-mr-rIN/strings.xml +++ b/packages/PrintSpooler/res/values-mr-rIN/strings.xml @@ -59,6 +59,8 @@ <item quantity="one"><xliff:g id="COUNT_1">%1$s</xliff:g> पà¥à¤°à¤¿à¤‚टर आढळला</item> <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> पà¥à¤°à¤¿à¤‚टर आढळले</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"या पà¥à¤°à¤¿à¤‚टर विषयी अधिक माहिती"</string> <string name="choose_print_service" msgid="3740309762324459694">"मà¥à¤¦à¥à¤°à¤£ सेवा निवडा"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"पà¥à¤°à¤¿à¤‚टर शोधत आहे"</string> <string name="print_no_print_services" msgid="8561247706423327966">"कोणतà¥à¤¯à¤¾à¤¹à¥€ मà¥à¤¦à¥à¤°à¤£ सेवा सकà¥à¤·à¤® केलेलà¥à¤¯à¤¾ नाहीत"</string> diff --git a/packages/PrintSpooler/res/values-ms-rMY/strings.xml b/packages/PrintSpooler/res/values-ms-rMY/strings.xml index d6b5ea708814..19a6e765751d 100644 --- a/packages/PrintSpooler/res/values-ms-rMY/strings.xml +++ b/packages/PrintSpooler/res/values-ms-rMY/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> pencetak ditemui</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> pencetak ditemui</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Maklumat lanjut tentang pencetak ini"</string> <string name="choose_print_service" msgid="3740309762324459694">"Pilih perkhidmatan cetak"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Mencari pencetak"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Perkhidmatan cetak tidak didayakan"</string> diff --git a/packages/PrintSpooler/res/values-my-rMM/strings.xml b/packages/PrintSpooler/res/values-my-rMM/strings.xml index c3dc4902ea0a..d3c0672b88e0 100644 --- a/packages/PrintSpooler/res/values-my-rMM/strings.xml +++ b/packages/PrintSpooler/res/values-my-rMM/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> စာထုá€á€ºá€…က်များ á€á€½á€±á€·á€›á€¾á€á€•ါသည်</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g>စာထုá€á€ºá€…က် á€á€½á€±á€·á€›á€¾á€á€•ါသည်</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"ဤပရင်á€á€¬ အကြောင်း ပá€á€¯á€™á€á€¯á€œá€±á€·á€œá€¬á€•ါ"</string> <string name="choose_print_service" msgid="3740309762324459694">"စာထုá€á€ºá€›á€”် á€á€”်ဆောင်မှုကá€á€¯ ရွေးá€á€»á€šá€ºá€•ါ"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"စာထုá€á€ºá€…က်များကá€á€¯ ရှာနေပါသည်"</string> <string name="print_no_print_services" msgid="8561247706423327966">"ပုံနှá€á€•်ထုá€á€ºá€šá€°á€›á€±á€¸ á€á€”်ဆောင်မှုများ ဖွင့်မထားပါ"</string> diff --git a/packages/PrintSpooler/res/values-nb/strings.xml b/packages/PrintSpooler/res/values-nb/strings.xml index 945bbea59e04..c34e7bce0404 100644 --- a/packages/PrintSpooler/res/values-nb/strings.xml +++ b/packages/PrintSpooler/res/values-nb/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> skrivere ble funnet</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> skriver ble funnet</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Mer informasjon om denne printeren"</string> <string name="choose_print_service" msgid="3740309762324459694">"Velg utskriftstjeneste"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Søker etter skrivere"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Ingen utskriftstjenester er slÃ¥tt pÃ¥"</string> diff --git a/packages/PrintSpooler/res/values-ne-rNP/strings.xml b/packages/PrintSpooler/res/values-ne-rNP/strings.xml index 45bcc95ad5b3..d1959d9c6393 100644 --- a/packages/PrintSpooler/res/values-ne-rNP/strings.xml +++ b/packages/PrintSpooler/res/values-ne-rNP/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> पà¥à¤°à¤¿à¤¨à¥à¤Ÿà¤°à¤¹à¤°à¥‚ à¤à¥‡à¤Ÿà¤¿à¤</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> पà¥à¤°à¤¿à¤¨à¥à¤Ÿà¤° à¤à¥‡à¤Ÿà¤¿à¤¯à¥‹</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"यस पà¥à¤°à¤¿à¤¨à¥à¤Ÿà¤°à¤•ो बारेमा थप जानकारी"</string> <string name="choose_print_service" msgid="3740309762324459694">"पà¥à¤°à¤¿à¤¨à¥à¤Ÿ सेवा छनौट गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"पà¥à¤°à¤¿à¤¨à¥à¤Ÿà¤°à¤¹à¤°à¥‚ खोजà¥à¤¦à¥ˆ"</string> <string name="print_no_print_services" msgid="8561247706423327966">"कà¥à¤¨à¥ˆ पनि मà¥à¤¦à¥à¤°à¤£ सेवाहरू सकà¥à¤°à¤¿à¤¯ छैननà¥"</string> diff --git a/packages/PrintSpooler/res/values-nl/strings.xml b/packages/PrintSpooler/res/values-nl/strings.xml index 76c86564d6f3..5df3298fd1aa 100644 --- a/packages/PrintSpooler/res/values-nl/strings.xml +++ b/packages/PrintSpooler/res/values-nl/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> printers gevonden</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> printer gevonden</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Meer informatie over deze printer"</string> <string name="choose_print_service" msgid="3740309762324459694">"Afdrukservice kiezen"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Printers zoeken"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Geen afdrukservices ingeschakeld"</string> diff --git a/packages/PrintSpooler/res/values-pa-rIN/strings.xml b/packages/PrintSpooler/res/values-pa-rIN/strings.xml index 45fa460765b8..57e9969d4e7d 100644 --- a/packages/PrintSpooler/res/values-pa-rIN/strings.xml +++ b/packages/PrintSpooler/res/values-pa-rIN/strings.xml @@ -59,6 +59,8 @@ <item quantity="one"><xliff:g id="COUNT_1">%1$s</xliff:g> ਪà©à¨°à¨¿à©°à¨Ÿà¨° ਮਿਲੇ</item> <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> ਪà©à¨°à¨¿à©°à¨Ÿà¨° ਮਿਲੇ</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"ਇਸ ਪà©à¨°à¨¿à©°à¨Ÿà¨° ਬਾਰੇ ਹੋਰ ਜਾਣਕਾਰੀ"</string> <string name="choose_print_service" msgid="3740309762324459694">"ਪà©à¨°à¨¿à©°à¨Ÿ ਸੇਵਾ ਚà©à¨£à©‹"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"ਪà©à¨°à¨¿à©°à¨Ÿà¨° ਖੋਜ ਰਿਹਾ ਹੈ"</string> <string name="print_no_print_services" msgid="8561247706423327966">"ਪà©à¨°à¨¿à©°à¨Ÿ ਸੇਵਾਵਾਂ ਯੋਗ ਨਹੀਂ ਬਣਾਈਆਂ ਗਈਆਂ"</string> diff --git a/packages/PrintSpooler/res/values-pl/strings.xml b/packages/PrintSpooler/res/values-pl/strings.xml index df3ee92460e2..4439acb5d7bd 100644 --- a/packages/PrintSpooler/res/values-pl/strings.xml +++ b/packages/PrintSpooler/res/values-pl/strings.xml @@ -61,6 +61,8 @@ <item quantity="other">Znaleziono <xliff:g id="COUNT_1">%1$s</xliff:g> drukarki</item> <item quantity="one">Znaleziono <xliff:g id="COUNT_0">%1$s</xliff:g> drukarkÄ™</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"WiÄ™cej informacji o tej drukarce"</string> <string name="choose_print_service" msgid="3740309762324459694">"Wybierz usÅ‚ugÄ™ drukowania"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Szukanie drukarek"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Brak włączonych usÅ‚ug drukowania"</string> diff --git a/packages/PrintSpooler/res/values-pt-rBR/strings.xml b/packages/PrintSpooler/res/values-pt-rBR/strings.xml index 90da72b235bc..63bb8686b725 100644 --- a/packages/PrintSpooler/res/values-pt-rBR/strings.xml +++ b/packages/PrintSpooler/res/values-pt-rBR/strings.xml @@ -59,6 +59,8 @@ <item quantity="one"><xliff:g id="COUNT_1">%1$s</xliff:g> impressoras encontradas</item> <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> impressoras encontradas</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Mais informações sobre essa impressora"</string> <string name="choose_print_service" msgid="3740309762324459694">"Selecione o serviço de impressão"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Procurando impressoras"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Nenhum serviço de impressão ativado"</string> diff --git a/packages/PrintSpooler/res/values-pt-rPT/strings.xml b/packages/PrintSpooler/res/values-pt-rPT/strings.xml index 99bbd81254b9..d364ef44442c 100644 --- a/packages/PrintSpooler/res/values-pt-rPT/strings.xml +++ b/packages/PrintSpooler/res/values-pt-rPT/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> impressoras encontradas</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> impressora encontrada</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Mais informações acerca desta impressora"</string> <string name="choose_print_service" msgid="3740309762324459694">"Escolher o serviço de impressão"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"A procurar impressoras"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Nenhum serviço de impressão ativado"</string> diff --git a/packages/PrintSpooler/res/values-pt/strings.xml b/packages/PrintSpooler/res/values-pt/strings.xml index 90da72b235bc..63bb8686b725 100644 --- a/packages/PrintSpooler/res/values-pt/strings.xml +++ b/packages/PrintSpooler/res/values-pt/strings.xml @@ -59,6 +59,8 @@ <item quantity="one"><xliff:g id="COUNT_1">%1$s</xliff:g> impressoras encontradas</item> <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> impressoras encontradas</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Mais informações sobre essa impressora"</string> <string name="choose_print_service" msgid="3740309762324459694">"Selecione o serviço de impressão"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Procurando impressoras"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Nenhum serviço de impressão ativado"</string> diff --git a/packages/PrintSpooler/res/values-ro/strings.xml b/packages/PrintSpooler/res/values-ro/strings.xml index 4cfb8ab2818d..51dfe7a6dc8d 100644 --- a/packages/PrintSpooler/res/values-ro/strings.xml +++ b/packages/PrintSpooler/res/values-ro/strings.xml @@ -60,6 +60,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> de imprimante găsite</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> imprimantă găsită</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Mai multe informaÈ›ii despre această imprimantă"</string> <string name="choose_print_service" msgid="3740309762324459694">"AlegeÈ›i serviciul de printare"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Se caută imprimante"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Niciun serviciu de printare activat"</string> diff --git a/packages/PrintSpooler/res/values-ru/strings.xml b/packages/PrintSpooler/res/values-ru/strings.xml index fb493306d5f6..6ba1046f1ddb 100644 --- a/packages/PrintSpooler/res/values-ru/strings.xml +++ b/packages/PrintSpooler/res/values-ru/strings.xml @@ -61,6 +61,8 @@ <item quantity="many">Ðайдено <xliff:g id="COUNT_1">%1$s</xliff:g> принтеров</item> <item quantity="other">Ðайдены <xliff:g id="COUNT_1">%1$s</xliff:g> принтера</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Подробные ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ принтере"</string> <string name="choose_print_service" msgid="3740309762324459694">"Выберите Ñлужбу печати"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"ПоиÑк принтеров…"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Службы печати недоÑтупны"</string> diff --git a/packages/PrintSpooler/res/values-si-rLK/strings.xml b/packages/PrintSpooler/res/values-si-rLK/strings.xml index fb6f145053e2..4908ea554263 100644 --- a/packages/PrintSpooler/res/values-si-rLK/strings.xml +++ b/packages/PrintSpooler/res/values-si-rLK/strings.xml @@ -59,6 +59,8 @@ <item quantity="one">මුද්â€à¶»à¶« යන්à¶à·Šâ€à¶» <xliff:g id="COUNT_1">%1$s</xliff:g> à¶šà·Š සොය෠ගන්න෠ලදි</item> <item quantity="other">මුද්â€à¶»à¶« යන්à¶à·Šâ€à¶» <xliff:g id="COUNT_1">%1$s</xliff:g> à¶šà·Š සොය෠ගන්න෠ලදි</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"මෙම මුද්â€à¶»à¶« යන්à¶à·Šâ€à¶»à¶º à¶œà·à¶± à¶à·€à¶à·Š à¶à·œà¶»à¶à·”රු"</string> <string name="choose_print_service" msgid="3740309762324459694">"මුද්â€à¶»à¶« සේවà·à·€ à¶à·à¶»à¶±à·Šà¶±"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"මුද්â€à¶»à¶« යන්à¶à·Šâ€à¶» සොයමින්"</string> <string name="print_no_print_services" msgid="8561247706423327966">"මුද්â€à¶»à¶« සේව෠සබල à¶±à·à¶"</string> diff --git a/packages/PrintSpooler/res/values-sk/strings.xml b/packages/PrintSpooler/res/values-sk/strings.xml index 605237b092b7..418363dfe4ff 100644 --- a/packages/PrintSpooler/res/values-sk/strings.xml +++ b/packages/PrintSpooler/res/values-sk/strings.xml @@ -61,6 +61,8 @@ <item quantity="other">NaÅ¡lo sa <xliff:g id="COUNT_1">%1$s</xliff:g> tlaÄiarnÃ</item> <item quantity="one">NaÅ¡la sa <xliff:g id="COUNT_0">%1$s</xliff:g> tlaÄiareň</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"ÄŽalÅ¡ie informácie o tejto tlaÄiarni"</string> <string name="choose_print_service" msgid="3740309762324459694">"Výber tlaÄovej služby"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Vyhľadávanie tlaÄiarnÃ"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Žiadne tlaÄové služby nie sú aktivované"</string> diff --git a/packages/PrintSpooler/res/values-sl/strings.xml b/packages/PrintSpooler/res/values-sl/strings.xml index 48d2e1dbc8b3..e2be161d5292 100644 --- a/packages/PrintSpooler/res/values-sl/strings.xml +++ b/packages/PrintSpooler/res/values-sl/strings.xml @@ -61,6 +61,8 @@ <item quantity="few"><xliff:g id="COUNT_1">%1$s</xliff:g> najdeni tiskalniki</item> <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> najdenih tiskalnikov</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"VeÄ informacij o tem tiskalniku"</string> <string name="choose_print_service" msgid="3740309762324459694">"Izberite tiskalno storitev"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Iskanje tiskalnikov"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Ni omogoÄenih tiskalnih storitev"</string> diff --git a/packages/PrintSpooler/res/values-sq-rAL/strings.xml b/packages/PrintSpooler/res/values-sq-rAL/strings.xml index 5ba72ff6e033..d5ebf3266dfe 100644 --- a/packages/PrintSpooler/res/values-sq-rAL/strings.xml +++ b/packages/PrintSpooler/res/values-sq-rAL/strings.xml @@ -59,6 +59,8 @@ <item quantity="other">U gjetën <xliff:g id="COUNT_1">%1$s</xliff:g> printerë</item> <item quantity="one">U gjet <xliff:g id="COUNT_0">%1$s</xliff:g> printer</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Më shumë informacione mbi këtë printer"</string> <string name="choose_print_service" msgid="3740309762324459694">"Zgjidh shërbimin e printimit"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Po kërkon për printerë"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Nuk ka shërbime printimi të aktivizuara"</string> diff --git a/packages/PrintSpooler/res/values-sr/strings.xml b/packages/PrintSpooler/res/values-sr/strings.xml index 7a04b8d24efd..166e5dd07d4e 100644 --- a/packages/PrintSpooler/res/values-sr/strings.xml +++ b/packages/PrintSpooler/res/values-sr/strings.xml @@ -60,6 +60,8 @@ <item quantity="few">Пронађена Ñу <xliff:g id="COUNT_1">%1$s</xliff:g> штампача</item> <item quantity="other">Пронађено је <xliff:g id="COUNT_1">%1$s</xliff:g> штампача</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Још информација о овом штампачу"</string> <string name="choose_print_service" msgid="3740309762324459694">"Изаберите уÑлугу штампања"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Претрага штампача"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Ðиједна уÑлуга штампања није омогућена"</string> diff --git a/packages/PrintSpooler/res/values-sv/strings.xml b/packages/PrintSpooler/res/values-sv/strings.xml index ec4ad30b5896..033d58359684 100644 --- a/packages/PrintSpooler/res/values-sv/strings.xml +++ b/packages/PrintSpooler/res/values-sv/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> skrivare hittades</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> skrivare hittades</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Mer information om den här skrivaren"</string> <string name="choose_print_service" msgid="3740309762324459694">"Välj utskriftstjänst"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Söker efter skrivare"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Inga utskriftstjänster har aktiverats"</string> diff --git a/packages/PrintSpooler/res/values-sw/strings.xml b/packages/PrintSpooler/res/values-sw/strings.xml index eed33560fb24..0e2dcdd109d2 100644 --- a/packages/PrintSpooler/res/values-sw/strings.xml +++ b/packages/PrintSpooler/res/values-sw/strings.xml @@ -59,6 +59,8 @@ <item quantity="other">Printa <xliff:g id="COUNT_1">%1$s</xliff:g> zimepatikana</item> <item quantity="one">Printa <xliff:g id="COUNT_0">%1$s</xliff:g> imepatikana</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Maelezo zaidi kuhusu printa hii"</string> <string name="choose_print_service" msgid="3740309762324459694">"Chagua huduma ya printa"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Inatafuta printa"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Huduma za kuchapisha hazijawashwa"</string> diff --git a/packages/PrintSpooler/res/values-ta-rIN/strings.xml b/packages/PrintSpooler/res/values-ta-rIN/strings.xml index a9879c3756dc..2e90d382e7f2 100644 --- a/packages/PrintSpooler/res/values-ta-rIN/strings.xml +++ b/packages/PrintSpooler/res/values-ta-rIN/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> பிரிணà¯à®Ÿà®°à¯à®•ள௠உளà¯à®³à®©</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> பிரிணà¯à®Ÿà®°à¯ உளà¯à®³à®¤à¯</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"இநà¯à®¤à®ªà¯ பிரிணà¯à®Ÿà®°à¯ பறà¯à®±à®¿à®¯ கூடà¯à®¤à®²à¯ தகவலà¯"</string> <string name="choose_print_service" msgid="3740309762324459694">"அசà¯à®šà¯à®ªà¯ பொறியைத௠தேரà¯à®µà¯à®šà¯†à®¯à¯à®¯à®µà¯à®®à¯"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"அசà¯à®šà¯à®ªà¯à®ªà¯Šà®±à®¿à®•ளைத௠தேடà¯à®•ிறதà¯"</string> <string name="print_no_print_services" msgid="8561247706423327966">"அசà¯à®šà¯à®ªà¯ பொறிகள௠இலà¯à®²à¯ˆ"</string> diff --git a/packages/PrintSpooler/res/values-te-rIN/strings.xml b/packages/PrintSpooler/res/values-te-rIN/strings.xml index 909cb9041762..6bdbd5c84139 100644 --- a/packages/PrintSpooler/res/values-te-rIN/strings.xml +++ b/packages/PrintSpooler/res/values-te-rIN/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> à°ªà±à°°à°¿à°‚à°Ÿà°°à±â€Œà°²à± à°•à°¨à±à°—ొనబడà±à°¡à°¾à°¯à°¿</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> à°ªà±à°°à°¿à°‚à°Ÿà°°à± à°•à°¨à±à°—ొనబడింది</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"à°ˆ à°ªà±à°°à°¿à°‚à°Ÿà°°à± à°—à±à°°à°¿à°‚à°šà°¿ మరింత సమాచారం"</string> <string name="choose_print_service" msgid="3740309762324459694">"à°®à±à°¦à±à°°à°£ సేవనౠఎంచà±à°•ోండి"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"à°ªà±à°°à°¿à°‚à°Ÿà°°à±â€Œà°² కోసం శోధిసà±à°¤à±‹à°‚ది"</string> <string name="print_no_print_services" msgid="8561247706423327966">"à°®à±à°¦à±à°°à°£ సేవలౠà°à°µà±€ à°ªà±à°°à°¾à°°à°‚à°à°¿à°‚చలేదà±"</string> diff --git a/packages/PrintSpooler/res/values-th/strings.xml b/packages/PrintSpooler/res/values-th/strings.xml index c33a759bef80..a581357dbcf7 100644 --- a/packages/PrintSpooler/res/values-th/strings.xml +++ b/packages/PrintSpooler/res/values-th/strings.xml @@ -59,6 +59,8 @@ <item quantity="other">พบเครื่à¸à¸‡à¸žà¸´à¸¡à¸žà¹Œ <xliff:g id="COUNT_1">%1$s</xliff:g> เครื่à¸à¸‡</item> <item quantity="one">พบเครื่à¸à¸‡à¸žà¸´à¸¡à¸žà¹Œ <xliff:g id="COUNT_0">%1$s</xliff:g> เครื่à¸à¸‡</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"ข้à¸à¸¡à¸¹à¸¥à¹€à¸žà¸´à¹ˆà¸¡à¹€à¸•ิมเà¸à¸µà¹ˆà¸¢à¸§à¸à¸±à¸šà¹€à¸„รื่à¸à¸‡à¸žà¸´à¸¡à¸žà¹Œà¸™à¸µà¹‰"</string> <string name="choose_print_service" msgid="3740309762324459694">"เลืà¸à¸à¸šà¸£à¸´à¸à¸²à¸£à¸žà¸´à¸¡à¸žà¹Œ"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"à¸à¸³à¸¥à¸±à¸‡à¸„้นหาเครื่à¸à¸‡à¸žà¸´à¸¡à¸žà¹Œ"</string> <string name="print_no_print_services" msgid="8561247706423327966">"ไม่ได้เปิดใช้บริà¸à¸²à¸£à¸žà¸´à¸¡à¸žà¹Œ"</string> diff --git a/packages/PrintSpooler/res/values-tl/strings.xml b/packages/PrintSpooler/res/values-tl/strings.xml index 545bda4bb52a..325ce8cb4983 100644 --- a/packages/PrintSpooler/res/values-tl/strings.xml +++ b/packages/PrintSpooler/res/values-tl/strings.xml @@ -59,6 +59,8 @@ <item quantity="one"><xliff:g id="COUNT_1">%1$s</xliff:g> nakitang printer</item> <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> na nakitang printer</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Higit pang impormasyon tungkol sa printer na ito"</string> <string name="choose_print_service" msgid="3740309762324459694">"Pumili ng serbisyo ng pag-print"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Naghahanap ng mga printer"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Walang mga naka-enable na serbisyo sa pag-print"</string> diff --git a/packages/PrintSpooler/res/values-tr/strings.xml b/packages/PrintSpooler/res/values-tr/strings.xml index a13f2dfdff22..d945979b8fe0 100644 --- a/packages/PrintSpooler/res/values-tr/strings.xml +++ b/packages/PrintSpooler/res/values-tr/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> yazıcı bulundu</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> yazıcı bulundu</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Bu yazıcıyla ilgili daha fazla bilgi"</string> <string name="choose_print_service" msgid="3740309762324459694">"Yazdırma hizmetini seçin"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Yazıcılar aranıyor"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Etkin yazıcı hizmeti yok"</string> diff --git a/packages/PrintSpooler/res/values-uk/strings.xml b/packages/PrintSpooler/res/values-uk/strings.xml index def21ab6cc1d..ffdfde068aed 100644 --- a/packages/PrintSpooler/res/values-uk/strings.xml +++ b/packages/PrintSpooler/res/values-uk/strings.xml @@ -61,6 +61,8 @@ <item quantity="many">Знайдено <xliff:g id="COUNT_1">%1$s</xliff:g> принтерів</item> <item quantity="other">Знайдено <xliff:g id="COUNT_1">%1$s</xliff:g> принтерів</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Докладніше про цей принтер"</string> <string name="choose_print_service" msgid="3740309762324459694">"Вибрати Ñлужбу друку"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Пошук принтерів"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Ðемає Ñлужб друку"</string> diff --git a/packages/PrintSpooler/res/values-ur-rPK/strings.xml b/packages/PrintSpooler/res/values-ur-rPK/strings.xml index c031abab3694..72a6ab9f3c58 100644 --- a/packages/PrintSpooler/res/values-ur-rPK/strings.xml +++ b/packages/PrintSpooler/res/values-ur-rPK/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> پرنٹرز ملے</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> پرنٹر ملا</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"اس پرنٹر Ú©Û’ بارے میں مزید معلومات"</string> <string name="choose_print_service" msgid="3740309762324459694">"پرنٹ سروس منتخب کریں"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"پرنٹرز تلاش کر Ø±ÛØ§ ÛÛ’"</string> <string name="print_no_print_services" msgid="8561247706423327966">"کوئی پرنٹ سروس ÙØ¹Ø§Ù„ Ù†Ûیں"</string> diff --git a/packages/PrintSpooler/res/values-uz-rUZ/strings.xml b/packages/PrintSpooler/res/values-uz-rUZ/strings.xml index 59dcca95575b..c7b4263e557b 100644 --- a/packages/PrintSpooler/res/values-uz-rUZ/strings.xml +++ b/packages/PrintSpooler/res/values-uz-rUZ/strings.xml @@ -59,6 +59,8 @@ <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> ta printer topildi</item> <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> ta printer topildi</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> – <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Printer haqida batafsil ma’lumot"</string> <string name="choose_print_service" msgid="3740309762324459694">"Chop etish xizmatini tanlang"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Printerlar qidirilmoqda"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Hech qaysi chop etish xizmati yoqilmagan"</string> diff --git a/packages/PrintSpooler/res/values-vi/strings.xml b/packages/PrintSpooler/res/values-vi/strings.xml index 0167823fab7b..771d57c8a342 100644 --- a/packages/PrintSpooler/res/values-vi/strings.xml +++ b/packages/PrintSpooler/res/values-vi/strings.xml @@ -59,6 +59,8 @@ <item quantity="other">Äã tìm thấy <xliff:g id="COUNT_1">%1$s</xliff:g> máy in</item> <item quantity="one">Äã tìm thấy <xliff:g id="COUNT_0">%1$s</xliff:g> máy in</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Thông tin khác vá» máy in nà y"</string> <string name="choose_print_service" msgid="3740309762324459694">"Chá»n dịch vụ in"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Äang tìm kiếm máy in"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Chưa kÃch hoạt dịch vụ in nà o"</string> diff --git a/packages/PrintSpooler/res/values-zh-rCN/strings.xml b/packages/PrintSpooler/res/values-zh-rCN/strings.xml index a74e99452307..bea91d7c2f2a 100644 --- a/packages/PrintSpooler/res/values-zh-rCN/strings.xml +++ b/packages/PrintSpooler/res/values-zh-rCN/strings.xml @@ -59,6 +59,8 @@ <item quantity="other">找到 <xliff:g id="COUNT_1">%1$s</xliff:g> å°æ‰“å°æœº</item> <item quantity="one">找到 <xliff:g id="COUNT_0">%1$s</xliff:g> å°æ‰“å°æœº</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"å…³äºŽæ¤æ‰“å°æœºçš„æ›´å¤šä¿¡æ¯"</string> <string name="choose_print_service" msgid="3740309762324459694">"é€‰æ‹©æ‰“å°æœåŠ¡"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"æ£åœ¨æœç´¢æ‰“å°æœº"</string> <string name="print_no_print_services" msgid="8561247706423327966">"未å¯ç”¨ä»»ä½•æ‰“å°æœåŠ¡"</string> diff --git a/packages/PrintSpooler/res/values-zh-rHK/strings.xml b/packages/PrintSpooler/res/values-zh-rHK/strings.xml index 35643f3702f8..4fbef0dbee32 100644 --- a/packages/PrintSpooler/res/values-zh-rHK/strings.xml +++ b/packages/PrintSpooler/res/values-zh-rHK/strings.xml @@ -59,6 +59,8 @@ <item quantity="other">已找到 <xliff:g id="COUNT_1">%1$s</xliff:g> éƒ¨æ‰“å°æ©Ÿ</item> <item quantity="one">已找到 <xliff:g id="COUNT_0">%1$s</xliff:g> éƒ¨æ‰“å°æ©Ÿ</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"æ¤æ‰“å°æ©Ÿè©³æƒ…"</string> <string name="choose_print_service" msgid="3740309762324459694">"鏿“‡åˆ—å°æœå‹™"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"æ£åœ¨æœå°‹æ‰“å°æ©Ÿ"</string> <string name="print_no_print_services" msgid="8561247706423327966">"æ²’æœ‰å·²å•Ÿç”¨çš„åˆ—å°æœå‹™"</string> diff --git a/packages/PrintSpooler/res/values-zh-rTW/strings.xml b/packages/PrintSpooler/res/values-zh-rTW/strings.xml index 40c44ff2d91c..2fdcaacb5d11 100644 --- a/packages/PrintSpooler/res/values-zh-rTW/strings.xml +++ b/packages/PrintSpooler/res/values-zh-rTW/strings.xml @@ -59,6 +59,8 @@ <item quantity="other">找到 <xliff:g id="COUNT_1">%1$s</xliff:g> å°å°è¡¨æ©Ÿ</item> <item quantity="one">找到 <xliff:g id="COUNT_0">%1$s</xliff:g> å°å°è¡¨æ©Ÿ</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"查看這å°å°è¡¨æ©Ÿçš„詳細資訊"</string> <string name="choose_print_service" msgid="3740309762324459694">"鏿“‡åˆ—å°æœå‹™"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"æ£åœ¨æœå°‹å°è¡¨æ©Ÿ"</string> <string name="print_no_print_services" msgid="8561247706423327966">"æœªå•Ÿç”¨ä»»ä½•åˆ—å°æœå‹™"</string> diff --git a/packages/PrintSpooler/res/values-zu/strings.xml b/packages/PrintSpooler/res/values-zu/strings.xml index e0f6f341a7f2..92595aaba1d5 100644 --- a/packages/PrintSpooler/res/values-zu/strings.xml +++ b/packages/PrintSpooler/res/values-zu/strings.xml @@ -59,6 +59,8 @@ <item quantity="one"><xliff:g id="COUNT_1">%1$s</xliff:g> amaphrinta atholakele</item> <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> amaphrinta atholakele</item> </plurals> + <string name="printer_extended_description_template" msgid="1366699227703381874">"<xliff:g id="PRINT_SERVICE_LABEL">%1$s</xliff:g> - <xliff:g id="PRINTER_DESCRIPTION">%2$s</xliff:g>"</string> + <string name="printer_info_desc" msgid="7181988788991581654">"Olunye ulwazi mayelana nale phrinta"</string> <string name="choose_print_service" msgid="3740309762324459694">"Khetha isevisi yephrinta"</string> <string name="print_searching_for_printers" msgid="6550424555079932867">"Isesha amaphrinta"</string> <string name="print_no_print_services" msgid="8561247706423327966">"Amasevisi ephrinta akavuliwe."</string> diff --git a/packages/PrintSpooler/res/values/strings.xml b/packages/PrintSpooler/res/values/strings.xml index 6d8178844fba..97a7bffe9bf3 100644 --- a/packages/PrintSpooler/res/values/strings.xml +++ b/packages/PrintSpooler/res/values/strings.xml @@ -144,6 +144,12 @@ <item quantity="other"><xliff:g id="count" example="2">%1$s</xliff:g> printers found</item> </plurals> + <!-- Template for an extended description of a printer. [CHAR LIMIT=50] --> + <string name="printer_extended_description_template"><xliff:g id="print_service_label" example="Canon Print Service">%1$s</xliff:g> - <xliff:g id="printer_description" example="Printer under the stairs">%2$s</xliff:g></string> + + <!-- Description of printer info icon. [CHAR LIMIT=50] --> + <string name="printer_info_desc">More information about this printer</string> + <!-- Add printer dialog --> <!-- Title for the alert dialog for selecting a print service. [CHAR LIMIT=50] --> diff --git a/packages/PrintSpooler/src/com/android/printspooler/model/CustomPrinterIconCache.java b/packages/PrintSpooler/src/com/android/printspooler/model/CustomPrinterIconCache.java new file mode 100644 index 000000000000..72742686e736 --- /dev/null +++ b/packages/PrintSpooler/src/com/android/printspooler/model/CustomPrinterIconCache.java @@ -0,0 +1,165 @@ +/* + * Copyright (C) 2015 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.printspooler.model; + +import android.annotation.NonNull; +import android.annotation.Nullable; +import android.graphics.drawable.Icon; +import android.print.PrinterId; +import android.util.Log; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.SortedMap; +import java.util.TreeMap; + +/** + * A fixed size cache for custom printer icons. Old icons get removed with a last recently used + * policy. + */ +public class CustomPrinterIconCache { + + private final static String LOG_TAG = "CustomPrinterIconCache"; + + /** Maximum number of icons in the cache */ + private final static int MAX_SIZE = 1024; + + /** Directory used to persist state and icons */ + private final File mCacheDirectory; + + /** + * Create a new icon cache. + */ + public CustomPrinterIconCache(@NonNull File cacheDirectory) { + mCacheDirectory = new File(cacheDirectory, "icons"); + if (!mCacheDirectory.exists()) { + mCacheDirectory.mkdir(); + } + } + + /** + * Return the file name to be used for the icon of a printer + * + * @param printerId the id of the printer + * + * @return The file to be used for the icon of the printer + */ + private @Nullable File getIconFileName(@NonNull PrinterId printerId) { + StringBuffer sb = new StringBuffer(printerId.getServiceName().getPackageName()); + sb.append("-"); + + try { + MessageDigest md = MessageDigest.getInstance("SHA-1"); + md.update( + (printerId.getServiceName().getClassName() + ":" + printerId.getLocalId()) + .getBytes("UTF-16")); + sb.append(String.format("%#040x", new java.math.BigInteger(1, md.digest()))); + } catch (UnsupportedEncodingException|NoSuchAlgorithmException e) { + Log.e(LOG_TAG, "Could not compute custom printer icon file name", e); + return null; + } + + return new File(mCacheDirectory, sb.toString()); + } + + /** + * Get the {@link Icon} to be used as a custom icon for the printer. If not available request + * the icon to be loaded. + * + * @param printerId the printer the icon belongs to + * @return the {@link Icon} if already available or null if icon is not loaded yet + */ + public synchronized @Nullable Icon getIcon(@NonNull PrinterId printerId) { + Icon icon; + + File iconFile = getIconFileName(printerId); + if (iconFile != null && iconFile.exists()) { + try (FileInputStream is = new FileInputStream(iconFile)) { + icon = Icon.createFromStream(is); + } catch (IOException e) { + icon = null; + Log.e(LOG_TAG, "Could not read icon from " + iconFile, e); + } + + // Touch file so that it is the not likely to be removed + iconFile.setLastModified(System.currentTimeMillis()); + } else { + icon = null; + } + + return icon; + } + + /** + * Remove old icons so that only between numFilesToKeep and twice as many icons are left. + * + * @param numFilesToKeep the number of icons to keep + */ + public void removeOldFiles(int numFilesToKeep) { + File files[] = mCacheDirectory.listFiles(); + + // To reduce the number of shrink operations, let the cache grow to twice the max size + if (files.length > numFilesToKeep * 2) { + SortedMap<Long, File> sortedFiles = new TreeMap<>(); + + for (File f : files) { + sortedFiles.put(f.lastModified(), f); + } + + while (sortedFiles.size() > numFilesToKeep) { + sortedFiles.remove(sortedFiles.firstKey()); + } + } + } + + /** + * Handle that a custom icon for a printer was loaded + * + * @param printerId the id of the printer the icon belongs to + * @param icon the icon that was loaded + */ + public synchronized void onCustomPrinterIconLoaded(@NonNull PrinterId printerId, + @Nullable Icon icon) { + File iconFile = getIconFileName(printerId); + + if (iconFile == null) { + return; + } + + try (FileOutputStream os = new FileOutputStream(iconFile)) { + icon.writeToStream(os); + } catch (IOException e) { + Log.e(LOG_TAG, "Could not write icon for " + printerId + " to storage", e); + } + + removeOldFiles(MAX_SIZE); + } + + /** + * Clear all persisted and non-persisted state from this cache. + */ + public synchronized void clear() { + for (File f : mCacheDirectory.listFiles()) { + f.delete(); + } + } +} diff --git a/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java b/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java index ea6281df21ad..ac97ad04e96b 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java +++ b/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java @@ -116,6 +116,7 @@ public final class PageContentRepository { }); return; } + mCloseGuard.close(); mState = STATE_DESTROYED; if (DEBUG) { diff --git a/packages/PrintSpooler/src/com/android/printspooler/model/PrintSpoolerService.java b/packages/PrintSpooler/src/com/android/printspooler/model/PrintSpoolerService.java index 90eef83192fe..496a0b09b905 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/model/PrintSpoolerService.java +++ b/packages/PrintSpooler/src/com/android/printspooler/model/PrintSpoolerService.java @@ -23,6 +23,7 @@ import android.app.Service; import android.content.ComponentName; import android.content.Context; import android.content.Intent; +import android.graphics.drawable.Icon; import android.os.AsyncTask; import android.os.Bundle; import android.os.IBinder; @@ -109,6 +110,9 @@ public final class PrintSpoolerService extends Service { private NotificationController mNotificationController; + /** Cache for custom printer icons loaded from the print service */ + private CustomPrinterIconCache mCustomIconCache; + public static PrintSpoolerService peekInstance() { synchronized (sLock) { return sInstance; @@ -123,6 +127,7 @@ public final class PrintSpoolerService extends Service { mPersistanceManager = new PersistenceManager(); mNotificationController = new NotificationController(PrintSpoolerService.this); + mCustomIconCache = new CustomPrinterIconCache(getCacheDir()); synchronized (mLock) { mPersistanceManager.readStateLocked(); @@ -135,6 +140,11 @@ public final class PrintSpoolerService extends Service { } @Override + public void onDestroy() { + super.onDestroy(); + } + + @Override public IBinder onBind(Intent intent) { return new PrintSpooler(); } @@ -703,6 +713,37 @@ public final class PrintSpoolerService extends Service { }.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR, (Void[]) null); } + /** + * Handle that a custom icon for a printer was loaded. + * + * @param printerId the id of the printer the icon belongs to + * @param icon the icon that was loaded + * @see android.print.PrinterInfo.Builder#setHasCustomPrinterIcon() + */ + public void onCustomPrinterIconLoaded(PrinterId printerId, Icon icon) { + mCustomIconCache.onCustomPrinterIconLoaded(printerId, icon); + } + + /** + * Get the custom icon for a printer. If the icon is not cached, the icon is + * requested asynchronously. Once it is available the printer is updated. + * + * @param printerId the id of the printer the icon should be loaded for + * @return the custom icon to be used for the printer or null if the icon is + * not yet available + * @see android.print.PrinterInfo.Builder#setHasCustomPrinterIcon() + */ + public Icon getCustomPrinterIcon(PrinterId printerId) { + return mCustomIconCache.getIcon(printerId); + } + + /** + * Clear the custom printer icon cache. + */ + public void clearCustomPrinterIconCache() { + mCustomIconCache.clear(); + } + private final class PersistenceManager { private static final String PERSIST_FILE_NAME = "print_spooler_state.xml"; @@ -1262,7 +1303,7 @@ public final class PrintSpoolerService extends Service { } private void expect(XmlPullParser parser, int type, String tag) - throws IOException, XmlPullParserException { + throws XmlPullParserException { if (!accept(parser, type, tag)) { throw new XmlPullParserException("Exepected event: " + type + " and tag: " + tag + " but got event: " + parser.getEventType() @@ -1279,7 +1320,7 @@ public final class PrintSpoolerService extends Service { } private boolean accept(XmlPullParser parser, int type, String tag) - throws IOException, XmlPullParserException { + throws XmlPullParserException { if (parser.getEventType() != type) { return false; } @@ -1395,5 +1436,38 @@ public final class PrintSpoolerService extends Service { public PrintSpoolerService getService() { return PrintSpoolerService.this; } + + @Override + public void onCustomPrinterIconLoaded(PrinterId printerId, Icon icon, + IPrintSpoolerCallbacks callbacks, int sequence) + throws RemoteException { + try { + PrintSpoolerService.this.onCustomPrinterIconLoaded(printerId, icon); + } finally { + callbacks.onCustomPrinterIconCached(sequence); + } + } + + @Override + public void getCustomPrinterIcon(PrinterId printerId, IPrintSpoolerCallbacks callbacks, + int sequence) throws RemoteException { + Icon icon = null; + try { + icon = PrintSpoolerService.this.getCustomPrinterIcon(printerId); + } finally { + callbacks.onGetCustomPrinterIconResult(icon, sequence); + } + } + + @Override + public void clearCustomPrinterIconCache(IPrintSpoolerCallbacks callbacks, + int sequence) throws RemoteException { + try { + PrintSpoolerService.this.clearCustomPrinterIconCache(); + } finally { + callbacks.customPrinterIconCacheCleared(sequence); + } + } + } } diff --git a/packages/PrintSpooler/src/com/android/printspooler/model/RemotePrintDocument.java b/packages/PrintSpooler/src/com/android/printspooler/model/RemotePrintDocument.java index 1b6e9ce2db37..ea11ae40aea8 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/model/RemotePrintDocument.java +++ b/packages/PrintSpooler/src/com/android/printspooler/model/RemotePrintDocument.java @@ -870,7 +870,7 @@ public final class RemotePrintDocument { private final MutexFileProvider mFileProvider; private final IWriteResultCallback mRemoteResultCallback; - private final CommandDoneCallback mDoneCallback; + private final CommandDoneCallback mWriteDoneCallback; private final Context mContext; private final Handler mHandler; @@ -885,7 +885,7 @@ public final class RemotePrintDocument { mPageCount = pageCount; mPages = Arrays.copyOf(pages, pages.length); mFileProvider = fileProvider; - mDoneCallback = callback; + mWriteDoneCallback = callback; } @Override @@ -997,7 +997,7 @@ public final class RemotePrintDocument { mCancellation = null; // Done. - mDoneCallback.onDone(); + mWriteDoneCallback.onDone(); } private void handleOnWriteFailed(CharSequence error, int sequence) { @@ -1015,7 +1015,7 @@ public final class RemotePrintDocument { mCancellation = null; // Done. - mDoneCallback.onDone(); + mWriteDoneCallback.onDone(); } private void handleOnWriteCanceled(int sequence) { @@ -1033,7 +1033,7 @@ public final class RemotePrintDocument { mCancellation = null; // Done. - mDoneCallback.onDone(); + mWriteDoneCallback.onDone(); } private final class WriteHandler extends Handler { diff --git a/packages/PrintSpooler/src/com/android/printspooler/ui/FusedPrintersProvider.java b/packages/PrintSpooler/src/com/android/printspooler/ui/FusedPrintersProvider.java index 80c28e00500b..5525774cb2f3 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/ui/FusedPrintersProvider.java +++ b/packages/PrintSpooler/src/com/android/printspooler/ui/FusedPrintersProvider.java @@ -20,23 +20,33 @@ import android.content.ComponentName; import android.content.Context; import android.content.Loader; import android.content.pm.ServiceInfo; +import android.location.Criteria; +import android.location.Location; +import android.location.LocationListener; +import android.location.LocationManager; +import android.location.LocationRequest; import android.os.AsyncTask; +import android.os.Bundle; +import android.os.Looper; +import android.os.SystemClock; import android.print.PrintManager; import android.print.PrinterDiscoverySession; import android.print.PrinterDiscoverySession.OnPrintersChangeListener; import android.print.PrinterId; import android.print.PrinterInfo; import android.printservice.PrintServiceInfo; -import android.text.TextUtils; import android.util.ArrayMap; import android.util.ArraySet; import android.util.AtomicFile; import android.util.Log; +import android.util.Pair; import android.util.Slog; import android.util.Xml; import com.android.internal.util.FastXmlSerializer; +import libcore.io.IoUtils; + import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlSerializer; @@ -49,18 +59,19 @@ import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collections; +import java.util.HashSet; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; -import libcore.io.IoUtils; - /** * This class is responsible for loading printers by doing discovery * and merging the discovered printers with the previously used ones. */ -public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { +public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> + implements LocationListener { private static final String LOG_TAG = "FusedPrintersProvider"; private static final boolean DEBUG = false; @@ -70,10 +81,22 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { private static final int MAX_FAVORITE_PRINTER_COUNT = 4; + /** Interval of location updated in ms */ + private static final int LOCATION_UPDATE_MS = 30 * 1000; + + /** Maximum acceptable age of the location in ms */ + private static final int MAX_LOCATION_AGE_MS = 10 * 60 * 1000; + + /** The worst accuracy that is considered usable in m */ + private static final int MIN_LOCATION_ACCURACY = 50; + + /** Maximum distance where a printer is still considered "near" */ + private static final int MAX_PRINTER_DISTANCE = MIN_LOCATION_ACCURACY * 2; + private final List<PrinterInfo> mPrinters = new ArrayList<>(); - private final List<PrinterInfo> mFavoritePrinters = + private final List<Pair<PrinterInfo, Location>> mFavoritePrinters = new ArrayList<>(); private final PersistenceManager mPersistenceManager; @@ -84,33 +107,111 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { private boolean mPrintersUpdatedBefore; + /** Last known location, can be null or out of date */ + private final Object mLocationLock; + private Location mLocation; + + /** Location used when the printers were updated the last time */ + private Location mLocationOfLastPrinterUpdate; + + /** Reference to the system's location manager */ + private final LocationManager mLocationManager; + + /** + * Get a reference to the current location. + */ + private Location getCurrentLocation() { + synchronized (mLocationLock) { + return mLocation; + } + } + public FusedPrintersProvider(Context context) { super(context); + mLocationLock = new Object(); mPersistenceManager = new PersistenceManager(context); + mLocationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); } public void addHistoricalPrinter(PrinterInfo printer) { mPersistenceManager.addPrinterAndWritePrinterHistory(printer); } + /** + * Add printer to dest, or if updatedPrinters add the updated printer. If the updated printer + * was added, remove it from updatedPrinters. + * + * @param dest The list the printers should be added to + * @param printer The printer to add + * @param updatedPrinters The printer to add + */ + private void updateAndAddPrinter(List<PrinterInfo> dest, PrinterInfo printer, + Map<PrinterId, PrinterInfo> updatedPrinters) { + PrinterInfo updatedPrinter = updatedPrinters.remove(printer.getId()); + if (updatedPrinter != null) { + dest.add(updatedPrinter); + } else { + dest.add(printer); + } + } + + /** + * Compute the printers, order them appropriately and deliver the printers to the clients. We + * prefer printers that have been previously used (favorites) and printers that have been used + * previously close to the current location (near printers). + * + * @param discoveredPrinters All printers currently discovered by the print discovery session. + * @param favoritePrinters The ordered list of printers. The earlier in the list, the more + * preferred. + */ private void computeAndDeliverResult(Map<PrinterId, PrinterInfo> discoveredPrinters, - List<PrinterInfo> favoritePrinters) { + List<Pair<PrinterInfo, Location>> favoritePrinters) { List<PrinterInfo> printers = new ArrayList<>(); - // Add the updated favorite printers. + // Store the printerIds that have already been added. We cannot compare the printerInfos in + // "printers" as they might have been taken from discoveredPrinters and the printerInfo does + // not equals() anymore + HashSet<PrinterId> alreadyAddedPrinter = new HashSet<>(MAX_FAVORITE_PRINTER_COUNT); + + Location location = getCurrentLocation(); + + // Add the favorite printers that have last been used close to the current location final int favoritePrinterCount = favoritePrinters.size(); + if (location != null) { + for (int i = 0; i < favoritePrinterCount; i++) { + // Only add a certain amount of favorite printers + if (printers.size() == MAX_FAVORITE_PRINTER_COUNT) { + break; + } + + PrinterInfo favoritePrinter = favoritePrinters.get(i).first; + Location printerLocation = favoritePrinters.get(i).second; + + if (printerLocation != null + && !alreadyAddedPrinter.contains(favoritePrinter.getId())) { + if (printerLocation.distanceTo(location) <= MAX_PRINTER_DISTANCE) { + updateAndAddPrinter(printers, favoritePrinter, discoveredPrinters); + alreadyAddedPrinter.add(favoritePrinter.getId()); + } + } + } + } + + // Add the other favorite printers for (int i = 0; i < favoritePrinterCount; i++) { - PrinterInfo favoritePrinter = favoritePrinters.get(i); - PrinterInfo updatedPrinter = discoveredPrinters.remove( - favoritePrinter.getId()); - if (updatedPrinter != null) { - printers.add(updatedPrinter); - } else { - printers.add(favoritePrinter); + // Only add a certain amount of favorite printers + if (printers.size() == MAX_FAVORITE_PRINTER_COUNT) { + break; + } + + PrinterInfo favoritePrinter = favoritePrinters.get(i).first; + if (!alreadyAddedPrinter.contains(favoritePrinter.getId())) { + updateAndAddPrinter(printers, favoritePrinter, discoveredPrinters); } } - // Add other updated printers. + // Add other updated printers. Printers that have already been added have been removed from + // discoveredPrinters in the calls to updateAndAddPrinter final int printerCount = mPrinters.size(); for (int i = 0; i < printerCount; i++) { PrinterInfo printer = mPrinters.get(i); @@ -142,6 +243,21 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { if (DEBUG) { Log.i(LOG_TAG, "onStartLoading() " + FusedPrintersProvider.this.hashCode()); } + + mLocationManager.requestLocationUpdates(LocationRequest.create() + .setQuality(LocationRequest.POWER_LOW).setInterval(LOCATION_UPDATE_MS), this, + Looper.getMainLooper()); + + Location lastLocation = mLocationManager.getLastLocation(); + if (lastLocation != null) { + onLocationChanged(lastLocation); + } + + // Jumpstart location with a single forced update + Criteria oneTimeCriteria = new Criteria(); + oneTimeCriteria.setAccuracy(Criteria.ACCURACY_FINE); + mLocationManager.requestSingleUpdate(oneTimeCriteria, this, Looper.getMainLooper()); + // The contract is that if we already have a valid, // result the we have to deliver it immediately. if (!mPrinters.isEmpty()) { @@ -158,6 +274,8 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { Log.i(LOG_TAG, "onStopLoading() " + FusedPrintersProvider.this.hashCode()); } onCancelLoad(); + + mLocationManager.removeUpdates(this); } @Override @@ -188,34 +306,38 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { + " " + FusedPrintersProvider.this.hashCode()); } - updatePrinters(mDiscoverySession.getPrinters(), mFavoritePrinters); + updatePrinters(mDiscoverySession.getPrinters(), mFavoritePrinters, + getCurrentLocation()); } }); final int favoriteCount = mFavoritePrinters.size(); List<PrinterId> printerIds = new ArrayList<>(favoriteCount); for (int i = 0; i < favoriteCount; i++) { - printerIds.add(mFavoritePrinters.get(i).getId()); + printerIds.add(mFavoritePrinters.get(i).first.getId()); } mDiscoverySession.startPrinterDiscovery(printerIds); List<PrinterInfo> printers = mDiscoverySession.getPrinters(); - if (!printers.isEmpty()) { - updatePrinters(printers, mFavoritePrinters); - } + + updatePrinters(printers, mFavoritePrinters, getCurrentLocation()); } } - private void updatePrinters(List<PrinterInfo> printers, List<PrinterInfo> favoritePrinters) { + private void updatePrinters(List<PrinterInfo> printers, + List<Pair<PrinterInfo, Location>> favoritePrinters, + Location location) { if (mPrintersUpdatedBefore && mPrinters.equals(printers) - && mFavoritePrinters.equals(favoritePrinters)) { + && mFavoritePrinters.equals(favoritePrinters) + && Objects.equals(mLocationOfLastPrinterUpdate, location)) { return; } + mLocationOfLastPrinterUpdate = location; mPrintersUpdatedBefore = true; // Some of the found printers may have be a printer that is in the - // history but with its name changed. Hence, we try to update the - // printer to use its current name instead of the historical one. - mPersistenceManager.updatePrintersHistoricalNamesIfNeeded(printers); + // history but with its properties changed. Hence, we try to update the + // printer to use its current properties instead of the historical one. + mPersistenceManager.updateHistoricalPrintersIfNeeded(printers); Map<PrinterId, PrinterInfo> printersMap = new LinkedHashMap<>(); final int printerCount = printers.size(); @@ -271,6 +393,60 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { onStopLoading(); } + /** + * Check if the location is acceptable. This is to filter out excessively old or inaccurate + * location updates. + * + * @param location the location to check + * @return true iff the location is usable. + */ + private boolean isLocationAcceptable(Location location) { + return location != null + && location.getElapsedRealtimeNanos() > SystemClock.elapsedRealtimeNanos() + - MAX_LOCATION_AGE_MS * 1000_000L + && location.hasAccuracy() + && location.getAccuracy() < MIN_LOCATION_ACCURACY; + } + + @Override + public void onLocationChanged(Location location) { + synchronized(mLocationLock) { + // We expect the user to not move too fast while printing. Hence prefer more accurate + // updates over more recent ones for LOCATION_UPDATE_MS. We add a 10% fudge factor here + // as the location provider might send an update slightly too early. + if (isLocationAcceptable(location) + && !location.equals(mLocation) + && (mLocation == null + || location + .getElapsedRealtimeNanos() > mLocation.getElapsedRealtimeNanos() + + LOCATION_UPDATE_MS * 0.9 * 1000_000L + || (!mLocation.hasAccuracy() + || location.getAccuracy() < mLocation.getAccuracy()))) { + // Other callers of updatePrinters might want to know the location, hence cache it + mLocation = location; + + if (areHistoricalPrintersLoaded()) { + updatePrinters(mDiscoverySession.getPrinters(), mFavoritePrinters, mLocation); + } + } + } + } + + @Override + public void onStatusChanged(String provider, int status, Bundle extras) { + // nothing to do + } + + @Override + public void onProviderEnabled(String provider) { + // nothing to do + } + + @Override + public void onProviderDisabled(String provider) { + // nothing to do + } + public boolean areHistoricalPrintersLoaded() { return mPersistenceManager.mReadHistoryCompleted; } @@ -294,7 +470,7 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { public boolean isFavoritePrinter(PrinterId printerId) { final int printerCount = mFavoritePrinters.size(); for (int i = 0; i < printerCount; i++) { - PrinterInfo favoritePritner = mFavoritePrinters.get(i); + PrinterInfo favoritePritner = mFavoritePrinters.get(i).first; if (favoritePritner.getId().equals(printerId)) { return true; } @@ -303,28 +479,22 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { } public void forgetFavoritePrinter(PrinterId printerId) { - List<PrinterInfo> newFavoritePrinters = null; + final int favoritePrinterCount = mFavoritePrinters.size(); + List<Pair<PrinterInfo, Location>> newFavoritePrinters = new ArrayList<>( + favoritePrinterCount - 1); // Remove the printer from the favorites. - final int favoritePrinterCount = mFavoritePrinters.size(); for (int i = 0; i < favoritePrinterCount; i++) { - PrinterInfo favoritePrinter = mFavoritePrinters.get(i); - if (favoritePrinter.getId().equals(printerId)) { - newFavoritePrinters = new ArrayList<>(); - newFavoritePrinters.addAll(mPrinters); - newFavoritePrinters.remove(i); - break; + if (!mFavoritePrinters.get(i).first.getId().equals(printerId)) { + newFavoritePrinters.add(mFavoritePrinters.get(i)); } } - // If we removed a favorite printer, we have work to do. - if (newFavoritePrinters != null) { - // Remove the printer from history and persist the latter. - mPersistenceManager.removeHistoricalPrinterAndWritePrinterHistory(printerId); + // Remove the printer from history and persist the latter. + mPersistenceManager.removeHistoricalPrinterAndWritePrinterHistory(printerId); - // Recompute and deliver the printers. - updatePrinters(mDiscoverySession.getPrinters(), newFavoritePrinters); - } + // Recompute and deliver the printers. + updatePrinters(mDiscoverySession.getPrinters(), newFavoritePrinters, getCurrentLocation()); } private final class PersistenceManager { @@ -333,18 +503,22 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { private static final String TAG_PRINTERS = "printers"; private static final String TAG_PRINTER = "printer"; + private static final String TAG_LOCATION = "location"; private static final String TAG_PRINTER_ID = "printerId"; private static final String ATTR_LOCAL_ID = "localId"; private static final String ATTR_SERVICE_NAME = "serviceName"; + private static final String ATTR_LONGITUDE = "longitude"; + private static final String ATTR_LATITUDE = "latitude"; + private static final String ATTR_ACCURACY = "accuracy"; + private static final String ATTR_NAME = "name"; private static final String ATTR_DESCRIPTION = "description"; - private static final String ATTR_STATUS = "status"; private final AtomicFile mStatePersistFile; - private List<PrinterInfo> mHistoricalPrinters = new ArrayList<>(); + private List<Pair<PrinterInfo, Location>> mHistoricalPrinters = new ArrayList<>(); private boolean mReadHistoryCompleted; @@ -378,13 +552,13 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { mReadTask.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR, (Void[]) null); } - public void updatePrintersHistoricalNamesIfNeeded(List<PrinterInfo> printers) { + public void updateHistoricalPrintersIfNeeded(List<PrinterInfo> printers) { boolean writeHistory = false; final int printerCount = printers.size(); for (int i = 0; i < printerCount; i++) { PrinterInfo printer = printers.get(i); - writeHistory |= renamePrinterIfNeeded(printer); + writeHistory |= updateHistoricalPrinterIfNeeded(printer); } if (writeHistory) { @@ -392,25 +566,57 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { } } - public boolean renamePrinterIfNeeded(PrinterInfo printer) { - boolean renamed = false; + /** + * Updates the historical printer state with the given printer. + * + * @param printer the printer to update + * + * @return true iff the historical printer list needs to be updated + */ + public boolean updateHistoricalPrinterIfNeeded(PrinterInfo printer) { + boolean writeHistory = false; final int printerCount = mHistoricalPrinters.size(); for (int i = 0; i < printerCount; i++) { - PrinterInfo historicalPrinter = mHistoricalPrinters.get(i); - if (historicalPrinter.getId().equals(printer.getId()) - && !TextUtils.equals(historicalPrinter.getName(), printer.getName())) { - mHistoricalPrinters.set(i, printer); - renamed = true; + PrinterInfo historicalPrinter = mHistoricalPrinters.get(i).first; + + if (!historicalPrinter.getId().equals(printer.getId())) { + continue; + } + + // Overwrite the historical printer with the updated printer as some properties + // changed. We ignore the status as this is a volatile state. + if (historicalPrinter.equalsIgnoringStatus(printer)) { + continue; + } + + mHistoricalPrinters.set(i, new Pair<PrinterInfo, Location>(printer, + mHistoricalPrinters.get(i).second)); + + // We only persist limited information in the printer history, hence check if + // we need to persist the update. + // @see PersistenceManager.WriteTask#doWritePrinterHistory + if (!historicalPrinter.getName().equals(printer.getName())) { + if (Objects.equals(historicalPrinter.getDescription(), + printer.getDescription())) { + writeHistory = true; + } } } - return renamed; + return writeHistory; } public void addPrinterAndWritePrinterHistory(PrinterInfo printer) { if (mHistoricalPrinters.size() >= MAX_HISTORY_LENGTH) { mHistoricalPrinters.remove(0); } - mHistoricalPrinters.add(printer); + + Location location = getCurrentLocation(); + if (!isLocationAcceptable(location)) { + location = null; + } + + mHistoricalPrinters.add(new Pair<PrinterInfo, Location>(printer, location)); + writePrinterHistory(); } @@ -418,7 +624,7 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { boolean writeHistory = false; final int printerCount = mHistoricalPrinters.size(); for (int i = printerCount - 1; i >= 0; i--) { - PrinterInfo historicalPrinter = mHistoricalPrinters.get(i); + PrinterInfo historicalPrinter = mHistoricalPrinters.get(i).first; if (historicalPrinter.getId().equals(printerId)) { mHistoricalPrinters.remove(i); writeHistory = true; @@ -439,63 +645,91 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { return mLastReadHistoryTimestamp != mStatePersistFile.getBaseFile().lastModified(); } - private List<PrinterInfo> computeFavoritePrinters(List<PrinterInfo> printers) { + /** + * Sort the favorite printers by weight. If a printer is in the list multiple times for + * different locations, all instances are considered to have the accumulative weight. The + * actual favorite printers to display are computed in {@link #computeAndDeliverResult} as + * only at this time we know the location to use to determine if a printer is close enough + * to be preferred. + * + * @param printers The printers to sort. + * @return The sorted printers. + */ + private List<Pair<PrinterInfo, Location>> sortFavoritePrinters( + List<Pair<PrinterInfo, Location>> printers) { Map<PrinterId, PrinterRecord> recordMap = new ArrayMap<>(); - // Recompute the weights. + // Compute the weights. float currentWeight = 1.0f; final int printerCount = printers.size(); for (int i = printerCount - 1; i >= 0; i--) { - PrinterInfo printer = printers.get(i); - // Aggregate weight for the same printer - PrinterRecord record = recordMap.get(printer.getId()); + PrinterId printerId = printers.get(i).first.getId(); + PrinterRecord record = recordMap.get(printerId); if (record == null) { - record = new PrinterRecord(printer); - recordMap.put(printer.getId(), record); + record = new PrinterRecord(); + recordMap.put(printerId, record); } + + record.printers.add(printers.get(i)); + + // Aggregate weight for the same printer record.weight += currentWeight; currentWeight *= WEIGHT_DECAY_COEFFICIENT; } - // Soft the favorite printers. + // Sort the favorite printers. List<PrinterRecord> favoriteRecords = new ArrayList<>( recordMap.values()); Collections.sort(favoriteRecords); // Write the favorites to the output. - final int favoriteCount = Math.min(favoriteRecords.size(), - MAX_FAVORITE_PRINTER_COUNT); - List<PrinterInfo> favoritePrinters = new ArrayList<>(favoriteCount); - for (int i = 0; i < favoriteCount; i++) { - PrinterInfo printer = favoriteRecords.get(i).printer; - favoritePrinters.add(printer); + final int recordCount = favoriteRecords.size(); + List<Pair<PrinterInfo, Location>> favoritePrinters = new ArrayList<>(printerCount); + for (int i = 0; i < recordCount; i++) { + favoritePrinters.addAll(favoriteRecords.get(i).printers); } return favoritePrinters; } + /** + * A set of printers with the same ID and the weight associated with them during + * {@link #sortFavoritePrinters}. + */ private final class PrinterRecord implements Comparable<PrinterRecord> { - public final PrinterInfo printer; + /** + * The printers, all with the same ID, but potentially different properties or locations + */ + public final List<Pair<PrinterInfo, Location>> printers; + + /** The weight associated with the printers */ public float weight; - public PrinterRecord(PrinterInfo printer) { - this.printer = printer; + /** + * Create a new record. + */ + public PrinterRecord() { + printers = new ArrayList<>(); } + /** + * Compare two records by weight. + */ @Override public int compareTo(PrinterRecord another) { return Float.floatToIntBits(another.weight) - Float.floatToIntBits(weight); } } - private final class ReadTask extends AsyncTask<Void, Void, List<PrinterInfo>> { + private final class ReadTask + extends AsyncTask<Void, Void, List<Pair<PrinterInfo, Location>>> { @Override - protected List<PrinterInfo> doInBackground(Void... args) { + protected List<Pair<PrinterInfo, Location>> doInBackground(Void... args) { return doReadPrinterHistory(); } @Override - protected void onPostExecute(List<PrinterInfo> printers) { + protected void onPostExecute(List<Pair<PrinterInfo, Location>> printers) { if (DEBUG) { Log.i(LOG_TAG, "read history completed " + FusedPrintersProvider.this.hashCode()); @@ -518,7 +752,8 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { final int printerCount = printers.size(); for (int i = printerCount - 1; i >= 0; i--) { - ComponentName printerServiceName = printers.get(i).getId().getServiceName(); + ComponentName printerServiceName = printers.get(i).first.getId() + .getServiceName(); if (!enabledComponents.contains(printerServiceName)) { printers.remove(i); } @@ -529,12 +764,13 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { // Compute the favorite printers. mFavoritePrinters.clear(); - mFavoritePrinters.addAll(computeFavoritePrinters(mHistoricalPrinters)); + mFavoritePrinters.addAll(sortFavoritePrinters(mHistoricalPrinters)); mReadHistoryCompleted = true; // Deliver the printers. - updatePrinters(mDiscoverySession.getPrinters(), mFavoritePrinters); + updatePrinters(mDiscoverySession.getPrinters(), mFavoritePrinters, + getCurrentLocation()); // We are done. mReadTask = null; @@ -544,12 +780,12 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { } @Override - protected void onCancelled(List<PrinterInfo> printerInfos) { + protected void onCancelled(List<Pair<PrinterInfo, Location>> printerInfos) { // We are done. mReadTask = null; } - private List<PrinterInfo> doReadPrinterHistory() { + private List<Pair<PrinterInfo, Location>> doReadPrinterHistory() { final FileInputStream in; try { in = mStatePersistFile.openRead(); @@ -561,7 +797,7 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { return new ArrayList<>(); } try { - List<PrinterInfo> printers = new ArrayList<>(); + List<Pair<PrinterInfo, Location>> printers = new ArrayList<>(); XmlPullParser parser = Xml.newPullParser(); parser.setInput(in, StandardCharsets.UTF_8.name()); parseState(parser, printers); @@ -582,8 +818,9 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { return Collections.emptyList(); } - private void parseState(XmlPullParser parser, List<PrinterInfo> outPrinters) - throws IOException, XmlPullParserException { + private void parseState(XmlPullParser parser, + List<Pair<PrinterInfo, Location>> outPrinters) + throws IOException, XmlPullParserException { parser.next(); skipEmptyTextTags(parser); expect(parser, XmlPullParser.START_TAG, TAG_PRINTERS); @@ -601,8 +838,9 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { expect(parser, XmlPullParser.END_TAG, TAG_PRINTERS); } - private boolean parsePrinter(XmlPullParser parser, List<PrinterInfo> outPrinters) - throws IOException, XmlPullParserException { + private boolean parsePrinter(XmlPullParser parser, + List<Pair<PrinterInfo, Location>> outPrinters) + throws IOException, XmlPullParserException { skipEmptyTextTags(parser); if (!accept(parser, XmlPullParser.START_TAG, TAG_PRINTER)) { return false; @@ -610,7 +848,6 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { String name = parser.getAttributeValue(null, ATTR_NAME); String description = parser.getAttributeValue(null, ATTR_DESCRIPTION); - final int status = Integer.parseInt(parser.getAttributeValue(null, ATTR_STATUS)); parser.next(); @@ -625,11 +862,34 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { expect(parser, XmlPullParser.END_TAG, TAG_PRINTER_ID); parser.next(); - PrinterInfo.Builder builder = new PrinterInfo.Builder(printerId, name, status); + skipEmptyTextTags(parser); + Location location; + if (accept(parser, XmlPullParser.START_TAG, TAG_LOCATION)) { + location = new Location(""); + location.setLongitude( + Double.parseDouble(parser.getAttributeValue(null, ATTR_LONGITUDE))); + location.setLatitude( + Double.parseDouble(parser.getAttributeValue(null, ATTR_LATITUDE))); + location.setAccuracy( + Float.parseFloat(parser.getAttributeValue(null, ATTR_ACCURACY))); + parser.next(); + + skipEmptyTextTags(parser); + expect(parser, XmlPullParser.END_TAG, TAG_LOCATION); + parser.next(); + } else { + location = null; + } + + // If the printer is available the printer will be replaced by the one read from the + // discovery session, hence the only time when this object is used is when the + // printer is unavailable. + PrinterInfo.Builder builder = new PrinterInfo.Builder(printerId, name, + PrinterInfo.STATUS_UNAVAILABLE); builder.setDescription(description); PrinterInfo printer = builder.build(); - outPrinters.add(printer); + outPrinters.add(new Pair<PrinterInfo, Location>(printer, location)); if (DEBUG) { Log.i(LOG_TAG, "[RESTORED] " + printer); @@ -642,7 +902,7 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { } private void expect(XmlPullParser parser, int type, String tag) - throws IOException, XmlPullParserException { + throws XmlPullParserException { if (!accept(parser, type, tag)) { throw new XmlPullParserException("Exepected event: " + type + " and tag: " + tag + " but got event: " + parser.getEventType() @@ -659,7 +919,7 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { } private boolean accept(XmlPullParser parser, int type, String tag) - throws IOException, XmlPullParserException { + throws XmlPullParserException { if (parser.getEventType() != type) { return false; } @@ -674,14 +934,16 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { } } - private final class WriteTask extends AsyncTask<List<PrinterInfo>, Void, Void> { + private final class WriteTask + extends AsyncTask<List<Pair<PrinterInfo, Location>>, Void, Void> { @Override - protected Void doInBackground(List<PrinterInfo>... printers) { + protected Void doInBackground( + @SuppressWarnings("unchecked") List<Pair<PrinterInfo, Location>>... printers) { doWritePrinterHistory(printers[0]); return null; } - private void doWritePrinterHistory(List<PrinterInfo> printers) { + private void doWritePrinterHistory(List<Pair<PrinterInfo, Location>> printers) { FileOutputStream out = null; try { out = mStatePersistFile.startWrite(); @@ -693,14 +955,11 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { final int printerCount = printers.size(); for (int i = 0; i < printerCount; i++) { - PrinterInfo printer = printers.get(i); + PrinterInfo printer = printers.get(i).first; serializer.startTag(null, TAG_PRINTER); serializer.attribute(null, ATTR_NAME, printer.getName()); - // Historical printers are always stored as unavailable. - serializer.attribute(null, ATTR_STATUS, String.valueOf( - PrinterInfo.STATUS_UNAVAILABLE)); String description = printer.getDescription(); if (description != null) { serializer.attribute(null, ATTR_DESCRIPTION, description); @@ -713,6 +972,18 @@ public final class FusedPrintersProvider extends Loader<List<PrinterInfo>> { .flattenToString()); serializer.endTag(null, TAG_PRINTER_ID); + Location location = printers.get(i).second; + if (location != null) { + serializer.startTag(null, TAG_LOCATION); + serializer.attribute(null, ATTR_LONGITUDE, + String.valueOf(location.getLongitude())); + serializer.attribute(null, ATTR_LATITUDE, + String.valueOf(location.getLatitude())); + serializer.attribute(null, ATTR_ACCURACY, + String.valueOf(location.getAccuracy())); + serializer.endTag(null, TAG_LOCATION); + } + serializer.endTag(null, TAG_PRINTER); if (DEBUG) { diff --git a/packages/PrintSpooler/src/com/android/printspooler/ui/PageAdapter.java b/packages/PrintSpooler/src/com/android/printspooler/ui/PageAdapter.java index 2757b816db40..606f4eb79c2e 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/ui/PageAdapter.java +++ b/packages/PrintSpooler/src/com/android/printspooler/ui/PageAdapter.java @@ -52,7 +52,7 @@ import java.util.List; /** * This class represents the adapter for the pages in the print preview list. */ -public final class PageAdapter extends Adapter { +public final class PageAdapter extends Adapter<ViewHolder> { private static final String LOG_TAG = "PageAdapter"; private static final int MAX_PREVIEW_PAGES_BATCH = 50; @@ -409,7 +409,7 @@ public final class PageAdapter extends Adapter { - horizontalPaddingAndMargins) / columnCount) + 0.5f); // Compute max page height. - final int pageContentDesiredHeight = (int) (((float) pageContentDesiredWidth + final int pageContentDesiredHeight = (int) ((pageContentDesiredWidth / pageAspectRatio) + 0.5f); // If the page does not fit entirely in a vertical direction, diff --git a/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java b/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java index 652156542575..9c1cf645320d 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java +++ b/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java @@ -30,7 +30,6 @@ import android.content.Intent; import android.content.ServiceConnection; import android.content.SharedPreferences; import android.content.SharedPreferences.OnSharedPreferenceChangeListener; -import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ResolveInfo; @@ -462,6 +461,7 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat } } + @Override public void onUpdateCanceled() { if (DEBUG) { Log.i(LOG_TAG, "onUpdateCanceled()"); @@ -1738,8 +1738,9 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat } private void updatePageRangeOptions(int pageCount) { + @SuppressWarnings("unchecked") ArrayAdapter<SpinnerItem<Integer>> rangeOptionsSpinnerAdapter = - (ArrayAdapter) mRangeOptionsSpinner.getAdapter(); + (ArrayAdapter<SpinnerItem<Integer>>) mRangeOptionsSpinner.getAdapter(); rangeOptionsSpinnerAdapter.clear(); final int[] rangeOptionsValues = getResources().getIntArray( @@ -1928,6 +1929,7 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat this.label = label; } + @Override public String toString() { return label.toString(); } @@ -2187,7 +2189,7 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat if (position == 0 && getPdfPrinter() != null) { PrinterHolder printerHolder = (PrinterHolder) getItem(position); title = printerHolder.printer.getName(); - icon = getResources().getDrawable(R.drawable.ic_menu_savetopdf); + icon = getResources().getDrawable(R.drawable.ic_menu_savetopdf, null); } else if (position == 1) { title = getString(R.string.all_printers); } @@ -2195,20 +2197,16 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat if (position == 1 && getPdfPrinter() != null) { PrinterHolder printerHolder = (PrinterHolder) getItem(position); title = printerHolder.printer.getName(); - icon = getResources().getDrawable(R.drawable.ic_menu_savetopdf); + icon = getResources().getDrawable(R.drawable.ic_menu_savetopdf, null); } else if (position == getCount() - 1) { title = getString(R.string.all_printers); } else { PrinterHolder printerHolder = (PrinterHolder) getItem(position); - title = printerHolder.printer.getName(); - try { - PackageInfo packageInfo = getPackageManager().getPackageInfo( - printerHolder.printer.getId().getServiceName().getPackageName(), 0); - subtitle = packageInfo.applicationInfo.loadLabel(getPackageManager()); - icon = packageInfo.applicationInfo.loadIcon(getPackageManager()); - } catch (NameNotFoundException nnfe) { - /* ignore */ - } + PrinterInfo printInfo = printerHolder.printer; + + title = printInfo.getName(); + icon = printInfo.loadIcon(PrintActivity.this); + subtitle = printInfo.getDescription(); } } diff --git a/packages/PrintSpooler/src/com/android/printspooler/ui/PrintPreviewController.java b/packages/PrintSpooler/src/com/android/printspooler/ui/PrintPreviewController.java index 8716fd21cdb8..ce54204ef870 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/ui/PrintPreviewController.java +++ b/packages/PrintSpooler/src/com/android/printspooler/ui/PrintPreviewController.java @@ -78,8 +78,8 @@ class PrintPreviewController implements MutexFileProvider.OnReleaseRequestCallba mRecyclerView.setLayoutManager(mLayoutManger); mRecyclerView.setAdapter(mPageAdapter); mRecyclerView.setItemViewCacheSize(0); - mPreloadController = new PreloadController(mRecyclerView); - mRecyclerView.setOnScrollListener(mPreloadController); + mPreloadController = new PreloadController(); + mRecyclerView.addOnScrollListener(mPreloadController); mContentView = (PrintContentView) activity.findViewById(R.id.options_content); mEmbeddedContentContainer = (EmbeddedContentContainer) activity.findViewById( @@ -314,12 +314,9 @@ class PrintPreviewController implements MutexFileProvider.OnReleaseRequestCallba } private final class PreloadController extends RecyclerView.OnScrollListener { - private final RecyclerView mRecyclerView; - private int mOldScrollState; - public PreloadController(RecyclerView recyclerView) { - mRecyclerView = recyclerView; + public PreloadController() { mOldScrollState = mRecyclerView.getScrollState(); } @@ -371,7 +368,8 @@ class PrintPreviewController implements MutexFileProvider.OnReleaseRequestCallba View lastChild = layoutManager.getChildAt(layoutManager.getChildCount() - 1); ViewHolder lastHolder = mRecyclerView.getChildViewHolder(lastChild); - return new PageRange(firstHolder.getPosition(), lastHolder.getPosition()); + return new PageRange(firstHolder.getLayoutPosition(), + lastHolder.getLayoutPosition()); } return null; } diff --git a/packages/PrintSpooler/src/com/android/printspooler/ui/SelectPrinterActivity.java b/packages/PrintSpooler/src/com/android/printspooler/ui/SelectPrinterActivity.java index ab0b2f1acf85..cdfc7ee11b1e 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/ui/SelectPrinterActivity.java +++ b/packages/PrintSpooler/src/com/android/printspooler/ui/SelectPrinterActivity.java @@ -27,6 +27,7 @@ import android.content.ComponentName; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; +import android.content.IntentSender.SendIntentException; import android.content.pm.ActivityInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; @@ -51,6 +52,7 @@ import android.view.ContextMenu.ContextMenuInfo; import android.view.Menu; import android.view.MenuItem; import android.view.View; +import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.accessibility.AccessibilityManager; import android.widget.AdapterView; @@ -587,20 +589,31 @@ public final class SelectPrinterActivity extends Activity { convertView.setEnabled(isActionable(position)); - PrinterInfo printer = (PrinterInfo) getItem(position); + final PrinterInfo printer = (PrinterInfo) getItem(position); CharSequence title = printer.getName(); - CharSequence subtitle = null; - Drawable icon = null; + Drawable icon = printer.loadIcon(SelectPrinterActivity.this); + CharSequence printServiceLabel; try { - PackageManager pm = getPackageManager(); - PackageInfo packageInfo = pm.getPackageInfo(printer.getId() - .getServiceName().getPackageName(), 0); - subtitle = packageInfo.applicationInfo.loadLabel(pm); - icon = packageInfo.applicationInfo.loadIcon(pm); - } catch (NameNotFoundException nnfe) { - /* ignore */ + PackageInfo packageInfo = getPackageManager().getPackageInfo( + printer.getId().getServiceName().getPackageName(), 0); + + printServiceLabel = packageInfo.applicationInfo.loadLabel(getPackageManager()); + } catch (NameNotFoundException e) { + printServiceLabel = null; + } + + CharSequence description = printer.getDescription(); + + CharSequence subtitle; + if (printServiceLabel == null) { + subtitle = description; + } else if (description == null) { + subtitle = printServiceLabel; + } else { + subtitle = getString(R.string.printer_extended_description_template, + printServiceLabel, description); } TextView titleView = (TextView) convertView.findViewById(R.id.title); @@ -615,6 +628,20 @@ public final class SelectPrinterActivity extends Activity { subtitleView.setVisibility(View.GONE); } + ImageView moreInfoView = (ImageView) convertView.findViewById(R.id.more_info); + if (printer.getInfoIntent() != null) { + moreInfoView.setVisibility(View.VISIBLE); + moreInfoView.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + try { + startIntentSender(printer.getInfoIntent().getIntentSender(), null, 0, 0, 0); + } catch (SendIntentException e) { + Log.e(LOG_TAG, "Could not execute pending info intent: %s", e); + } + } + }); + } ImageView iconView = (ImageView) convertView.findViewById(R.id.icon); if (icon != null) { diff --git a/packages/PrintSpooler/src/com/android/printspooler/widget/PrintContentView.java b/packages/PrintSpooler/src/com/android/printspooler/widget/PrintContentView.java index e6613faebae5..0bb4bfa18513 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/widget/PrintContentView.java +++ b/packages/PrintSpooler/src/com/android/printspooler/widget/PrintContentView.java @@ -415,6 +415,7 @@ public final class PrintContentView extends ViewGroup implements View.OnClickLis onDragProgress(progress); } + @Override public void onViewReleased(View child, float velocityX, float velocityY) { final int childTop = child.getTop(); @@ -435,14 +436,17 @@ public final class PrintContentView extends ViewGroup implements View.OnClickLis invalidate(); } + @Override public int getOrderedChildIndex(int index) { return getChildCount() - index - 1; } + @Override public int getViewVerticalDragRange(View child) { return mDraggableContent.getHeight(); } + @Override public int clampViewPositionVertical(View child, int top, int dy) { final int staticOptionBottom = mStaticContent.getBottom(); return Math.max(Math.min(top, getOpenedOptionsY()), getClosedOptionsY()); diff --git a/packages/SettingsLib/res/values-af/arrays.xml b/packages/SettingsLib/res/values-af/arrays.xml index c88647678af6..8720eb20986e 100644 --- a/packages/SettingsLib/res/values-af/arrays.xml +++ b/packages/SettingsLib/res/values-af/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Gebruik altyd HDCP-kontrolering"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 K"</item> - <item msgid="505611754508988476">"256 K"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"Af"</item> + <item msgid="1593289376502312923">"64 K"</item> + <item msgid="487545340236145324">"256 K"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 K"</item> - <item msgid="3534782711045262344">"256 K"</item> - <item msgid="8085867209202153403">"1 M"</item> + <item msgid="6089470720451068364">"Af"</item> + <item msgid="4622460333038586791">"64 K"</item> + <item msgid="2212125625169582330">"256 K"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 K per logbuffer"</item> - <item msgid="2822309747675758628">"256 K per logbuffer"</item> - <item msgid="6699306198357496731">"1 M per logbuffer"</item> - <item msgid="5748528643937500349">"4 M per logbuffer"</item> - <item msgid="1978629051085111592">"16 M per logbuffer"</item> + <item msgid="6921048829791179331">"Af"</item> + <item msgid="2969458029344750262">"64 K per logbuffer"</item> + <item msgid="1342285115665698168">"256 K per logbuffer"</item> + <item msgid="1314234299552254621">"1 M per logbuffer"</item> + <item msgid="3606047780792894151">"4 M per logbuffer"</item> + <item msgid="5431354956856655120">"16 M per logbuffer"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animasie af"</item> diff --git a/packages/SettingsLib/res/values-am/arrays.xml b/packages/SettingsLib/res/values-am/arrays.xml index 324ee83747e6..62e372bd404e 100644 --- a/packages/SettingsLib/res/values-am/arrays.xml +++ b/packages/SettingsLib/res/values-am/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"áˆáˆáŒŠá‹œ የHDCP áˆáˆáŠ¨á‰³ ተጠቀáˆ"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 ኪባ"</item> - <item msgid="505611754508988476">"256 ኪባ"</item> - <item msgid="6361286924268716397">"1 ሜባ"</item> - <item msgid="6405203239560695266">"4 ሜባ"</item> - <item msgid="3025431211013424097">"16 ሜባ"</item> + <item msgid="8665206199209698501">"ጠáቷáˆ"</item> + <item msgid="1593289376502312923">"64 ኪባ"</item> + <item msgid="487545340236145324">"256 ኪባ"</item> + <item msgid="2423528675294333831">"1 ሜባ"</item> + <item msgid="180883774509476541">"4 ሜባ"</item> + <item msgid="2803199102589126938">"16 ሜባ"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 ኪባ"</item> - <item msgid="3534782711045262344">"256 ኪባ"</item> - <item msgid="8085867209202153403">"1 ሜባ"</item> + <item msgid="6089470720451068364">"ጠáቷáˆ"</item> + <item msgid="4622460333038586791">"64 ኪባ"</item> + <item msgid="2212125625169582330">"256 ኪባ"</item> + <item msgid="1704946766699242653">"1 ሜባ"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 ኪባ በáˆá‹áŒá‰¥ ማስታወሻ ቋጥ"</item> - <item msgid="2822309747675758628">"256 ኪባ በáˆá‹áŒá‰¥ ማስታወሻ ቋጥ"</item> - <item msgid="6699306198357496731">"1 ሜ በáˆá‹áŒá‰¥ ማስታወሻ ቋጥ"</item> - <item msgid="5748528643937500349">"4 ሜ በáˆá‹áŒá‰¥ ማስታወሻ ቋጥ"</item> - <item msgid="1978629051085111592">"16 ሜ በáˆá‹áŒá‰¥ ማስታወሻ ቋጥ"</item> + <item msgid="6921048829791179331">"ጠáቷáˆ"</item> + <item msgid="2969458029344750262">"64 ኪባ በáˆá‹áŒá‰¥ ማስታወሻ ቋጥ"</item> + <item msgid="1342285115665698168">"256 ኪባ በáˆá‹áŒá‰¥ ማስታወሻ ቋጥ"</item> + <item msgid="1314234299552254621">"1 ሜ በáˆá‹áŒá‰¥ ማስታወሻ ቋጥ"</item> + <item msgid="3606047780792894151">"4 ሜ በáˆá‹áŒá‰¥ ማስታወሻ ቋጥ"</item> + <item msgid="5431354956856655120">"16 ሜ በáˆá‹áŒá‰¥ ማስታወሻ ቋጥ"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"እáŠáˆ› ጠáቷáˆ"</item> diff --git a/packages/SettingsLib/res/values-ar/arrays.xml b/packages/SettingsLib/res/values-ar/arrays.xml index 654759f1086b..60eebeb25564 100644 --- a/packages/SettingsLib/res/values-ar/arrays.xml +++ b/packages/SettingsLib/res/values-ar/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"â€Ø§Ø³ØªØ®Ø¯Ø§Ù… التØÙ‚Ù‚ من HDCP دومًا"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 كيلوبايت"</item> - <item msgid="505611754508988476">"256 كيلوبايت"</item> - <item msgid="6361286924268716397">"1 ميغابايت"</item> - <item msgid="6405203239560695266">"4 ميغابايت"</item> - <item msgid="3025431211013424097">"16 ميغابايت"</item> + <item msgid="8665206199209698501">"إيقاÙ"</item> + <item msgid="1593289376502312923">"64 كيلوبايت"</item> + <item msgid="487545340236145324">"256 كيلوبايت"</item> + <item msgid="2423528675294333831">"1 ميغابايت"</item> + <item msgid="180883774509476541">"4 ميغابايت"</item> + <item msgid="2803199102589126938">"16 ميغابايت"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 كيلوبايت"</item> - <item msgid="3534782711045262344">"256 كيلوبايت"</item> - <item msgid="8085867209202153403">"1 ميغابايت"</item> + <item msgid="6089470720451068364">"إيقاÙ"</item> + <item msgid="4622460333038586791">"64 كيلوبايت"</item> + <item msgid="2212125625169582330">"256 كيلوبايت"</item> + <item msgid="1704946766699242653">"1 ميغابايت"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 كيلوبايت لكل ذاكرة تخزين مؤقت للتسجيل"</item> - <item msgid="2822309747675758628">"256 كيلوبايت لكل ذاكرة تخزين مؤقت للتسجيل"</item> - <item msgid="6699306198357496731">"1 ميغابايت لكل ذاكرة تخزين مؤقت للتسجيل"</item> - <item msgid="5748528643937500349">"4 ميغابايت لكل ذاكرة تخزين مؤقت للتسجيل"</item> - <item msgid="1978629051085111592">"16 ميغابايت لكل ذاكرة تخزين مؤقت للتسجيل"</item> + <item msgid="6921048829791179331">"إيقاÙ"</item> + <item msgid="2969458029344750262">"64 كيلوبايت لكل ذاكرة تخزين مؤقت للتسجيل"</item> + <item msgid="1342285115665698168">"256 كيلوبايت لكل ذاكرة تخزين مؤقت للتسجيل"</item> + <item msgid="1314234299552254621">"1 ميغابايت لكل ذاكرة تخزين مؤقت للتسجيل"</item> + <item msgid="3606047780792894151">"4 ميغابايت لكل ذاكرة تخزين مؤقت للتسجيل"</item> + <item msgid="5431354956856655120">"16 ميغابايت لكل ذاكرة تخزين مؤقت للتسجيل"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"إيقا٠الرسوم Ø§Ù„Ù…ØªØØ±ÙƒØ©"</item> diff --git a/packages/SettingsLib/res/values-az-rAZ/arrays.xml b/packages/SettingsLib/res/values-az-rAZ/arrays.xml index c58b1c6ac175..682b13937523 100644 --- a/packages/SettingsLib/res/values-az-rAZ/arrays.xml +++ b/packages/SettingsLib/res/values-az-rAZ/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"HÉ™miÅŸÉ™ HDCP yoxlama istifadÉ™ edin"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"Deaktiv"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"Deaktiv"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"hÉ™r jurnal buferinÉ™ 64K"</item> - <item msgid="2822309747675758628">"hÉ™r jurnal buferinÉ™ 256K"</item> - <item msgid="6699306198357496731">"hÉ™r jurnal buferinÉ™ 1M"</item> - <item msgid="5748528643937500349">"hÉ™r jurnal buferinÉ™ 4M"</item> - <item msgid="1978629051085111592">"hÉ™r jurnal buferinÉ™ 16M"</item> + <item msgid="6921048829791179331">"Deaktiv"</item> + <item msgid="2969458029344750262">"hÉ™r jurnal buferinÉ™ 64K"</item> + <item msgid="1342285115665698168">"hÉ™r jurnal buferinÉ™ 256K"</item> + <item msgid="1314234299552254621">"hÉ™r jurnal buferinÉ™ 1M"</item> + <item msgid="3606047780792894151">"hÉ™r jurnal buferinÉ™ 4M"</item> + <item msgid="5431354956856655120">"hÉ™r jurnal buferinÉ™ 16M"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animasiya deaktiv"</item> diff --git a/packages/SettingsLib/res/values-b+sr+Latn/arrays.xml b/packages/SettingsLib/res/values-b+sr+Latn/arrays.xml index 8bdec3297a58..4715cbf653aa 100644 --- a/packages/SettingsLib/res/values-b+sr+Latn/arrays.xml +++ b/packages/SettingsLib/res/values-b+sr+Latn/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Uvek koristi HDCP proveru"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 kB"</item> - <item msgid="505611754508988476">"256 kB"</item> - <item msgid="6361286924268716397">"1 MB"</item> - <item msgid="6405203239560695266">"4 MB"</item> - <item msgid="3025431211013424097">"16 MB"</item> + <item msgid="8665206199209698501">"IskljuÄeno"</item> + <item msgid="1593289376502312923">"64 kB"</item> + <item msgid="487545340236145324">"256 kB"</item> + <item msgid="2423528675294333831">"1 MB"</item> + <item msgid="180883774509476541">"4 MB"</item> + <item msgid="2803199102589126938">"16 MB"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 kB"</item> - <item msgid="3534782711045262344">"256 kB"</item> - <item msgid="8085867209202153403">"1 MB"</item> + <item msgid="6089470720451068364">"IskljuÄeno"</item> + <item msgid="4622460333038586791">"64 kB"</item> + <item msgid="2212125625169582330">"256 kB"</item> + <item msgid="1704946766699242653">"1 MB"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 kB po baferu evidencije"</item> - <item msgid="2822309747675758628">"256 kB po baferu evidencije"</item> - <item msgid="6699306198357496731">"1 MB po baferu evidencije"</item> - <item msgid="5748528643937500349">"4 MB po baferu evidencije"</item> - <item msgid="1978629051085111592">"16 MB po baferu evidencije"</item> + <item msgid="6921048829791179331">"IskljuÄeno"</item> + <item msgid="2969458029344750262">"64 kB po meÄ‘umemoriji evidencije"</item> + <item msgid="1342285115665698168">"256 kB po meÄ‘umemoriji evidencije"</item> + <item msgid="1314234299552254621">"1 MB po meÄ‘umemoriji evidencije"</item> + <item msgid="3606047780792894151">"4 MB po meÄ‘umemoriji evidencije"</item> + <item msgid="5431354956856655120">"16 MB po meÄ‘umemoriji evidencije"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animacija je iskljuÄena"</item> diff --git a/packages/SettingsLib/res/values-bg/arrays.xml b/packages/SettingsLib/res/values-bg/arrays.xml index 277800d9de10..42339ef2867b 100644 --- a/packages/SettingsLib/res/values-bg/arrays.xml +++ b/packages/SettingsLib/res/values-bg/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Винаги да Ñе използва проверка Ñ HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 КБ"</item> - <item msgid="505611754508988476">"256 КБ"</item> - <item msgid="6361286924268716397">"1 МБ"</item> - <item msgid="6405203239560695266">"4 МБ"</item> - <item msgid="3025431211013424097">"16 МБ"</item> + <item msgid="8665206199209698501">"Изключено"</item> + <item msgid="1593289376502312923">"64 КБ"</item> + <item msgid="487545340236145324">"256 КБ"</item> + <item msgid="2423528675294333831">"1 МБ"</item> + <item msgid="180883774509476541">"4 МБ"</item> + <item msgid="2803199102589126938">"16 МБ"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 КБ"</item> - <item msgid="3534782711045262344">"256 КБ"</item> - <item msgid="8085867209202153403">"1 МБ"</item> + <item msgid="6089470720451068364">"Изключено"</item> + <item msgid="4622460333038586791">"64 КБ"</item> + <item msgid="2212125625169582330">"256 КБ"</item> + <item msgid="1704946766699242653">"1 МБ"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"Рег. буфер – 64 КБ"</item> - <item msgid="2822309747675758628">"Рег. буфер – 256 КБ"</item> - <item msgid="6699306198357496731">"Рег. буфер – 1 МБ"</item> - <item msgid="5748528643937500349">"Рег. буфер – 4 МБ"</item> - <item msgid="1978629051085111592">"Рег. буфер – 16 МБ"</item> + <item msgid="6921048829791179331">"Изключено"</item> + <item msgid="2969458029344750262">"Рег. буфер – 64 КБ"</item> + <item msgid="1342285115665698168">"Рег. буфер – 256 КБ"</item> + <item msgid="1314234299552254621">"Рег. буфер – 1 МБ"</item> + <item msgid="3606047780792894151">"Рег. буфер – 4 МБ"</item> + <item msgid="5431354956856655120">"Рег. буфер – 16 МБ"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"ÐнимациÑта е изключена"</item> diff --git a/packages/SettingsLib/res/values-bn-rBD/arrays.xml b/packages/SettingsLib/res/values-bn-rBD/arrays.xml index 7729a4db9b3b..b863934a87fb 100644 --- a/packages/SettingsLib/res/values-bn-rBD/arrays.xml +++ b/packages/SettingsLib/res/values-bn-rBD/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"সরà§à¦¬à¦¦à¦¾ HDCP পরীকà§à¦·à¦£ বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"৬৪০০০"</item> - <item msgid="505611754508988476">"২৫৬০০০"</item> - <item msgid="6361286924268716397">"১০০০০০০"</item> - <item msgid="6405203239560695266">"৪০০০০০০"</item> - <item msgid="3025431211013424097">"১৬০০০০০০"</item> + <item msgid="8665206199209698501">"বনà§à¦§ আছে"</item> + <item msgid="1593289376502312923">"৬৪K"</item> + <item msgid="487545340236145324">"২৫৬K"</item> + <item msgid="2423528675294333831">"à§§M"</item> + <item msgid="180883774509476541">"৪M"</item> + <item msgid="2803199102589126938">"১৬M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"৬৪০০০"</item> - <item msgid="3534782711045262344">"২৫৬০০০"</item> - <item msgid="8085867209202153403">"১০০০০০০"</item> + <item msgid="6089470720451068364">"বনà§à¦§ আছে"</item> + <item msgid="4622460333038586791">"৬৪K"</item> + <item msgid="2212125625169582330">"২৫৬K"</item> + <item msgid="1704946766699242653">"à§§M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"লগ বাফার পà§à¦°à¦¤à¦¿ 64K"</item> - <item msgid="2822309747675758628">"লগ বাফার পà§à¦°à¦¤à¦¿ 256K"</item> - <item msgid="6699306198357496731">"লগ বাফার পà§à¦°à¦¤à¦¿ 1M"</item> - <item msgid="5748528643937500349">"লগ বাফার পà§à¦°à¦¤à¦¿ 4M"</item> - <item msgid="1978629051085111592">"লগ বাফার পà§à¦°à¦¤à¦¿ 16M"</item> + <item msgid="6921048829791179331">"বনà§à¦§ আছে"</item> + <item msgid="2969458029344750262">"লগ বাফার পà§à¦°à¦¤à¦¿ ৬৪K"</item> + <item msgid="1342285115665698168">"লগ বাফার পà§à¦°à¦¤à¦¿ ২৫৬K"</item> + <item msgid="1314234299552254621">"লগ বাফার পà§à¦°à¦¤à¦¿ à§§M"</item> + <item msgid="3606047780792894151">"লগ বাফার পà§à¦°à¦¤à¦¿ ৪M"</item> + <item msgid="5431354956856655120">"লগ বাফার পà§à¦°à¦¤à¦¿ ১৬M"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ বনà§à¦§ করà§à¦¨"</item> diff --git a/packages/SettingsLib/res/values-ca/arrays.xml b/packages/SettingsLib/res/values-ca/arrays.xml index ab80ccc780f2..99c8a27e58e9 100644 --- a/packages/SettingsLib/res/values-ca/arrays.xml +++ b/packages/SettingsLib/res/values-ca/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Utilitza sempre la comprovació HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 K"</item> - <item msgid="505611754508988476">"256 K"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"No"</item> + <item msgid="1593289376502312923">"64 K"</item> + <item msgid="487545340236145324">"256 K"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64.000"</item> - <item msgid="3534782711045262344">"256.000"</item> - <item msgid="8085867209202153403">"1.000.000"</item> + <item msgid="6089470720451068364">"No"</item> + <item msgid="4622460333038586791">"64 K"</item> + <item msgid="2212125625169582330">"256 K"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 K/memòria intermèdia reg."</item> - <item msgid="2822309747675758628">"256 K/memòria intermèdia reg."</item> - <item msgid="6699306198357496731">"1 M/memòria intermèdia reg."</item> - <item msgid="5748528643937500349">"4 M/memòria intermèdia reg."</item> - <item msgid="1978629051085111592">"16 M/memòria intermèdia reg."</item> + <item msgid="6921048829791179331">"No"</item> + <item msgid="2969458029344750262">"64 K / memòria intermèdia reg."</item> + <item msgid="1342285115665698168">"256 K / memòria intermèdia reg."</item> + <item msgid="1314234299552254621">"1 M / memòria intermèdia reg."</item> + <item msgid="3606047780792894151">"4 M / memòria intermèdia reg."</item> + <item msgid="5431354956856655120">"16 M / memòria intermèdia reg."</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animació desactivada"</item> diff --git a/packages/SettingsLib/res/values-cs/arrays.xml b/packages/SettingsLib/res/values-cs/arrays.xml index d46781ae6989..8953485c1fb2 100644 --- a/packages/SettingsLib/res/values-cs/arrays.xml +++ b/packages/SettingsLib/res/values-cs/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Vždy použÃvat kontrolu HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 kB"</item> - <item msgid="505611754508988476">"256 kB"</item> - <item msgid="6361286924268716397">"1 MB"</item> - <item msgid="6405203239560695266">"4 MB"</item> - <item msgid="3025431211013424097">"16 MB"</item> + <item msgid="8665206199209698501">"Vypnuto"</item> + <item msgid="1593289376502312923">"64 kB"</item> + <item msgid="487545340236145324">"256 kB"</item> + <item msgid="2423528675294333831">"1 MB"</item> + <item msgid="180883774509476541">"4 MB"</item> + <item msgid="2803199102589126938">"16 MB"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 kB"</item> - <item msgid="3534782711045262344">"256 kB"</item> - <item msgid="8085867209202153403">"1 MB"</item> + <item msgid="6089470720451068364">"Vypnuto"</item> + <item msgid="4622460333038586791">"64 kB"</item> + <item msgid="2212125625169582330">"256 kB"</item> + <item msgid="1704946766699242653">"1 MB"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 kB na vyrovnávacà paměť protokolů"</item> - <item msgid="2822309747675758628">"256 kB na vyrovnávacà paměť protokolů"</item> - <item msgid="6699306198357496731">"1 MB na vyrovnávacà paměť protokolů"</item> - <item msgid="5748528643937500349">"4 MB na vyrovnávacà paměť protokolů"</item> - <item msgid="1978629051085111592">"16 MB na vyrovnávacà paměť protokolů"</item> + <item msgid="6921048829791179331">"Vypnuto"</item> + <item msgid="2969458029344750262">"64 kB na vyrovnávacà paměť protokolů"</item> + <item msgid="1342285115665698168">"256 kB na vyrovnávacà paměť protokolů"</item> + <item msgid="1314234299552254621">"1 MB na vyrovnávacà paměť protokolů"</item> + <item msgid="3606047780792894151">"4 MB na vyrovnávacà paměť protokolů"</item> + <item msgid="5431354956856655120">"16 MB na vyrovnávacà paměť protokolů"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animace je vypnuta"</item> diff --git a/packages/SettingsLib/res/values-da/arrays.xml b/packages/SettingsLib/res/values-da/arrays.xml index 293548917a06..d700c05c8f62 100644 --- a/packages/SettingsLib/res/values-da/arrays.xml +++ b/packages/SettingsLib/res/values-da/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Brug altid HDCP-kontrol"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 KB"</item> - <item msgid="505611754508988476">"256 KB"</item> - <item msgid="6361286924268716397">"1 MB"</item> - <item msgid="6405203239560695266">"4 MB"</item> - <item msgid="3025431211013424097">"16 MB"</item> + <item msgid="8665206199209698501">"Fra"</item> + <item msgid="1593289376502312923">"64 kB"</item> + <item msgid="487545340236145324">"256 kB"</item> + <item msgid="2423528675294333831">"1 MB"</item> + <item msgid="180883774509476541">"4 MB"</item> + <item msgid="2803199102589126938">"16 MB"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 kB"</item> - <item msgid="3534782711045262344">"256 kB"</item> - <item msgid="8085867209202153403">"1 MB"</item> + <item msgid="6089470720451068364">"Fra"</item> + <item msgid="4622460333038586791">"64 kB"</item> + <item msgid="2212125625169582330">"256 kB"</item> + <item msgid="1704946766699242653">"1 MB"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 KB pr. logbuffer"</item> - <item msgid="2822309747675758628">"256 KB pr. logbuffer"</item> - <item msgid="6699306198357496731">"1 MB pr. logbuffer"</item> - <item msgid="5748528643937500349">"4 MB pr. logbuffer"</item> - <item msgid="1978629051085111592">"16 MB pr. logbuffer"</item> + <item msgid="6921048829791179331">"Fra"</item> + <item msgid="2969458029344750262">"64 kB pr. logbuffer"</item> + <item msgid="1342285115665698168">"256 kB pr. logbuffer"</item> + <item msgid="1314234299552254621">"1 MB pr. logbuffer"</item> + <item msgid="3606047780792894151">"4 MB pr. logbuffer"</item> + <item msgid="5431354956856655120">"16 MB pr. logbuffer"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animation fra"</item> diff --git a/packages/SettingsLib/res/values-de/arrays.xml b/packages/SettingsLib/res/values-de/arrays.xml index d2a7f0d296c8..a9c802d4a5d2 100644 --- a/packages/SettingsLib/res/values-de/arrays.xml +++ b/packages/SettingsLib/res/values-de/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"HDCP-Prüfung immer verwenden"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64.000"</item> - <item msgid="505611754508988476">"256.000"</item> - <item msgid="6361286924268716397">"1 Mio."</item> - <item msgid="6405203239560695266">"4 Mio."</item> - <item msgid="3025431211013424097">"16 Mio."</item> + <item msgid="8665206199209698501">"Aus"</item> + <item msgid="1593289376502312923">"64.000"</item> + <item msgid="487545340236145324">"256.000"</item> + <item msgid="2423528675294333831">"1 Mio."</item> + <item msgid="180883774509476541">"4 Mio."</item> + <item msgid="2803199102589126938">"16 Mio."</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64.000"</item> - <item msgid="3534782711045262344">"256.000"</item> - <item msgid="8085867209202153403">"1 Mio."</item> + <item msgid="6089470720451068364">"Aus"</item> + <item msgid="4622460333038586791">"64.000"</item> + <item msgid="2212125625169582330">"256.000"</item> + <item msgid="1704946766699242653">"1 Mio."</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64.000 pro Puffer"</item> - <item msgid="2822309747675758628">"256.000 pro Puffer"</item> - <item msgid="6699306198357496731">"1 Mio. pro Puffer"</item> - <item msgid="5748528643937500349">"4 Mio. pro Puffer"</item> - <item msgid="1978629051085111592">"16 Mio. pro Puffer"</item> + <item msgid="6921048829791179331">"Aus"</item> + <item msgid="2969458029344750262">"64.000 pro Puffer"</item> + <item msgid="1342285115665698168">"256.000 pro Puffer"</item> + <item msgid="1314234299552254621">"1 Mio. pro Puffer"</item> + <item msgid="3606047780792894151">"4 Mio. pro Puffer"</item> + <item msgid="5431354956856655120">"16 Mio. pro Puffer"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animation aus"</item> diff --git a/packages/SettingsLib/res/values-el/arrays.xml b/packages/SettingsLib/res/values-el/arrays.xml index 2672eeca8075..91f9d6a6b9de 100644 --- a/packages/SettingsLib/res/values-el/arrays.xml +++ b/packages/SettingsLib/res/values-el/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Îα χÏησιμοποιείται πάντα Îλεγχος HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 K"</item> - <item msgid="505611754508988476">"256 K"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"ΑνενεÏγό"</item> + <item msgid="1593289376502312923">"64 K"</item> + <item msgid="487545340236145324">"256 K"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 K"</item> - <item msgid="3534782711045262344">"256 K"</item> - <item msgid="8085867209202153403">"1 M"</item> + <item msgid="6089470720451068364">"ΑνενεÏγό"</item> + <item msgid="4622460333038586791">"64 K"</item> + <item msgid="2212125625169582330">"256 K"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 K ανά μεγ.Ï€Ï.μν.καταγÏ."</item> - <item msgid="2822309747675758628">"256 K ανά μεγ.Ï€Ï.μν.καταγÏ."</item> - <item msgid="6699306198357496731">"1 Μ ανά μεγ.Ï€Ï.μν.καταγÏ."</item> - <item msgid="5748528643937500349">"4 M ανά μεγ.Ï€Ï.μν.καταγÏ."</item> - <item msgid="1978629051085111592">"16 M ανά μεγ.Ï€Ï.μν.καταγÏ."</item> + <item msgid="6921048829791179331">"ΑνενεÏγό"</item> + <item msgid="2969458029344750262">"64 K ανά Ï€Ï. μν. αÏχ. καταγÏ."</item> + <item msgid="1342285115665698168">"256 K ανά Ï€Ï. μν. αÏχ. καταγÏ."</item> + <item msgid="1314234299552254621">"1 Μ ανά Ï€Ïοσ. μν. αÏχ. καταγÏ."</item> + <item msgid="3606047780792894151">"4 M ανά Ï€Ïοσ. μν. αÏχ. καταγÏ."</item> + <item msgid="5431354956856655120">"16 M ανά Ï€Ï. μν. αÏχ. καταγÏ."</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"ΚινοÏμ.εικόνες απενεÏγοποιημÎνες"</item> diff --git a/packages/SettingsLib/res/values-en-rAU/arrays.xml b/packages/SettingsLib/res/values-en-rAU/arrays.xml index 21340d8b1d8c..05518900982e 100644 --- a/packages/SettingsLib/res/values-en-rAU/arrays.xml +++ b/packages/SettingsLib/res/values-en-rAU/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Always use HDCP checking"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 K"</item> - <item msgid="505611754508988476">"256 K"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"Off"</item> + <item msgid="1593289376502312923">"64 K"</item> + <item msgid="487545340236145324">"256 K"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 K"</item> - <item msgid="3534782711045262344">"256 K"</item> - <item msgid="8085867209202153403">"1 M"</item> + <item msgid="6089470720451068364">"Off"</item> + <item msgid="4622460333038586791">"64 K"</item> + <item msgid="2212125625169582330">"256 K"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 K per log buffer"</item> - <item msgid="2822309747675758628">"256 K per log buffer"</item> - <item msgid="6699306198357496731">"1 M per log buffer"</item> - <item msgid="5748528643937500349">"4 M per log buffer"</item> - <item msgid="1978629051085111592">"16 M per log buffer"</item> + <item msgid="6921048829791179331">"Off"</item> + <item msgid="2969458029344750262">"64 K per log buffer"</item> + <item msgid="1342285115665698168">"256 K per log buffer"</item> + <item msgid="1314234299552254621">"1 M per log buffer"</item> + <item msgid="3606047780792894151">"4 M per log buffer"</item> + <item msgid="5431354956856655120">"16 M per log buffer"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animation off"</item> diff --git a/packages/SettingsLib/res/values-en-rGB/arrays.xml b/packages/SettingsLib/res/values-en-rGB/arrays.xml index 21340d8b1d8c..05518900982e 100644 --- a/packages/SettingsLib/res/values-en-rGB/arrays.xml +++ b/packages/SettingsLib/res/values-en-rGB/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Always use HDCP checking"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 K"</item> - <item msgid="505611754508988476">"256 K"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"Off"</item> + <item msgid="1593289376502312923">"64 K"</item> + <item msgid="487545340236145324">"256 K"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 K"</item> - <item msgid="3534782711045262344">"256 K"</item> - <item msgid="8085867209202153403">"1 M"</item> + <item msgid="6089470720451068364">"Off"</item> + <item msgid="4622460333038586791">"64 K"</item> + <item msgid="2212125625169582330">"256 K"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 K per log buffer"</item> - <item msgid="2822309747675758628">"256 K per log buffer"</item> - <item msgid="6699306198357496731">"1 M per log buffer"</item> - <item msgid="5748528643937500349">"4 M per log buffer"</item> - <item msgid="1978629051085111592">"16 M per log buffer"</item> + <item msgid="6921048829791179331">"Off"</item> + <item msgid="2969458029344750262">"64 K per log buffer"</item> + <item msgid="1342285115665698168">"256 K per log buffer"</item> + <item msgid="1314234299552254621">"1 M per log buffer"</item> + <item msgid="3606047780792894151">"4 M per log buffer"</item> + <item msgid="5431354956856655120">"16 M per log buffer"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animation off"</item> diff --git a/packages/SettingsLib/res/values-en-rIN/arrays.xml b/packages/SettingsLib/res/values-en-rIN/arrays.xml index 21340d8b1d8c..05518900982e 100644 --- a/packages/SettingsLib/res/values-en-rIN/arrays.xml +++ b/packages/SettingsLib/res/values-en-rIN/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Always use HDCP checking"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 K"</item> - <item msgid="505611754508988476">"256 K"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"Off"</item> + <item msgid="1593289376502312923">"64 K"</item> + <item msgid="487545340236145324">"256 K"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 K"</item> - <item msgid="3534782711045262344">"256 K"</item> - <item msgid="8085867209202153403">"1 M"</item> + <item msgid="6089470720451068364">"Off"</item> + <item msgid="4622460333038586791">"64 K"</item> + <item msgid="2212125625169582330">"256 K"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 K per log buffer"</item> - <item msgid="2822309747675758628">"256 K per log buffer"</item> - <item msgid="6699306198357496731">"1 M per log buffer"</item> - <item msgid="5748528643937500349">"4 M per log buffer"</item> - <item msgid="1978629051085111592">"16 M per log buffer"</item> + <item msgid="6921048829791179331">"Off"</item> + <item msgid="2969458029344750262">"64 K per log buffer"</item> + <item msgid="1342285115665698168">"256 K per log buffer"</item> + <item msgid="1314234299552254621">"1 M per log buffer"</item> + <item msgid="3606047780792894151">"4 M per log buffer"</item> + <item msgid="5431354956856655120">"16 M per log buffer"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animation off"</item> diff --git a/packages/SettingsLib/res/values-es-rUS/arrays.xml b/packages/SettingsLib/res/values-es-rUS/arrays.xml index 52992d55d2a4..1b7a9f0f22ed 100644 --- a/packages/SettingsLib/res/values-es-rUS/arrays.xml +++ b/packages/SettingsLib/res/values-es-rUS/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Siempre utilizar comprobación HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 K"</item> - <item msgid="505611754508988476">"256 K"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"Desactivado"</item> + <item msgid="1593289376502312923">"64 K"</item> + <item msgid="487545340236145324">"256 K"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 K"</item> - <item msgid="3534782711045262344">"256 K"</item> - <item msgid="8085867209202153403">"1 M"</item> + <item msgid="6089470720451068364">"Desactivado"</item> + <item msgid="4622460333038586791">"64 K"</item> + <item msgid="2212125625169582330">"256 K"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 K/búfer registro"</item> - <item msgid="2822309747675758628">"256 K/búfer registro"</item> - <item msgid="6699306198357496731">"1 M/búfer registro"</item> - <item msgid="5748528643937500349">"4 M/búfer registro"</item> - <item msgid="1978629051085111592">"16 M/búfer registro"</item> + <item msgid="6921048829791179331">"Desactivado"</item> + <item msgid="2969458029344750262">"64 K/búfer registro"</item> + <item msgid="1342285115665698168">"256 K/búfer registro"</item> + <item msgid="1314234299552254621">"1 M/búfer registro"</item> + <item msgid="3606047780792894151">"4 M/búfer registro"</item> + <item msgid="5431354956856655120">"16 M/búfer registro"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animación desactivada"</item> diff --git a/packages/SettingsLib/res/values-es/arrays.xml b/packages/SettingsLib/res/values-es/arrays.xml index 04932175098a..e4b661ef5b65 100644 --- a/packages/SettingsLib/res/values-es/arrays.xml +++ b/packages/SettingsLib/res/values-es/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Utilizar siempre comprobación de HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 K"</item> - <item msgid="505611754508988476">"256 K"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"No"</item> + <item msgid="1593289376502312923">"64 K"</item> + <item msgid="487545340236145324">"256 K"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 K"</item> - <item msgid="3534782711045262344">"256 K"</item> - <item msgid="8085867209202153403">"1 M"</item> + <item msgid="6089470720451068364">"No"</item> + <item msgid="4622460333038586791">"64 K"</item> + <item msgid="2212125625169582330">"256 K"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 K/búfer registro"</item> - <item msgid="2822309747675758628">"256 K/búfer registro"</item> - <item msgid="6699306198357496731">"1 M/búfer registro"</item> - <item msgid="5748528643937500349">"4 M/búfer registro"</item> - <item msgid="1978629051085111592">"16 M/búfer registro"</item> + <item msgid="6921048829791179331">"No"</item> + <item msgid="2969458029344750262">"64 K/búfer registro"</item> + <item msgid="1342285115665698168">"256 K/búfer registro"</item> + <item msgid="1314234299552254621">"1 M/búfer registro"</item> + <item msgid="3606047780792894151">"4 M/búfer registro"</item> + <item msgid="5431354956856655120">"16 M/búfer registro"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animación desactivada"</item> diff --git a/packages/SettingsLib/res/values-et-rEE/arrays.xml b/packages/SettingsLib/res/values-et-rEE/arrays.xml index 5bf13bb5f82c..97319835446f 100644 --- a/packages/SettingsLib/res/values-et-rEE/arrays.xml +++ b/packages/SettingsLib/res/values-et-rEE/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Kasuta alati HDCP-kontrollimist"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 000"</item> - <item msgid="505611754508988476">"256 000"</item> - <item msgid="6361286924268716397">"1 000 000"</item> - <item msgid="6405203239560695266">"4 000 000"</item> - <item msgid="3025431211013424097">"16 000 000"</item> + <item msgid="8665206199209698501">"Väljas"</item> + <item msgid="1593289376502312923">"64 000"</item> + <item msgid="487545340236145324">"256 000"</item> + <item msgid="2423528675294333831">"1 000 000"</item> + <item msgid="180883774509476541">"4 000 000"</item> + <item msgid="2803199102589126938">"16 000 000"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 000"</item> - <item msgid="3534782711045262344">"256 000"</item> - <item msgid="8085867209202153403">"1 000 000"</item> + <item msgid="6089470720451068364">"Väljas"</item> + <item msgid="4622460333038586791">"64 000"</item> + <item msgid="2212125625169582330">"256 000"</item> + <item msgid="1704946766699242653">"1 000 000"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 k / logipuhver"</item> - <item msgid="2822309747675758628">"256 k / logipuhver"</item> - <item msgid="6699306198357496731">"1 mln / logipuhver"</item> - <item msgid="5748528643937500349">"4 mln / logipuhver"</item> - <item msgid="1978629051085111592">"16 mln / logipuhver"</item> + <item msgid="6921048829791179331">"Väljas"</item> + <item msgid="2969458029344750262">"64 000 / logipuhver"</item> + <item msgid="1342285115665698168">"256 000 / logipuhver"</item> + <item msgid="1314234299552254621">"1 000 000 / logipuhver"</item> + <item msgid="3606047780792894151">"4 000 000 / logipuhver"</item> + <item msgid="5431354956856655120">"16 000 000 / logipuhver"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animatsioon väljas"</item> diff --git a/packages/SettingsLib/res/values-eu-rES/arrays.xml b/packages/SettingsLib/res/values-eu-rES/arrays.xml index 707ace521737..b72b53773753 100644 --- a/packages/SettingsLib/res/values-eu-rES/arrays.xml +++ b/packages/SettingsLib/res/values-eu-rES/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Erabili beti HDCP egiaztapena"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 K"</item> - <item msgid="505611754508988476">"256 K"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"Desaktibatuta"</item> + <item msgid="1593289376502312923">"64 K"</item> + <item msgid="487545340236145324">"256 K"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 K"</item> - <item msgid="3534782711045262344">"256 K"</item> - <item msgid="8085867209202153403">"1 M"</item> + <item msgid="6089470720451068364">"Desaktibatuta"</item> + <item msgid="4622460333038586791">"64 K"</item> + <item msgid="2212125625169582330">"256 K"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 K erregistroen bufferreko"</item> - <item msgid="2822309747675758628">"256 K erregistroen bufferreko"</item> - <item msgid="6699306198357496731">"1 M erregistroen bufferreko"</item> - <item msgid="5748528643937500349">"4 M erregistroen bufferreko"</item> - <item msgid="1978629051085111592">"16 M erregistroen bufferreko"</item> + <item msgid="6921048829791179331">"Desaktibatuta"</item> + <item msgid="2969458029344750262">"64 K erregistroen bufferreko"</item> + <item msgid="1342285115665698168">"256 K erregistroen bufferreko"</item> + <item msgid="1314234299552254621">"1 M erregistroen bufferreko"</item> + <item msgid="3606047780792894151">"4 M erregistroen bufferreko"</item> + <item msgid="5431354956856655120">"16 M erregistroen bufferreko"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animazioa desaktibatuta"</item> diff --git a/packages/SettingsLib/res/values-fa/arrays.xml b/packages/SettingsLib/res/values-fa/arrays.xml index d75280b82626..1b4e335748ed 100644 --- a/packages/SettingsLib/res/values-fa/arrays.xml +++ b/packages/SettingsLib/res/values-fa/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"â€Ù‡Ù…یشه از بررسی HDCP Ø§Ø³ØªÙØ§Ø¯Ù‡ شود"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"Û¶Û´ کیلوبایت"</item> - <item msgid="505611754508988476">"Û²ÛµÛ¶ کیلوبایت"</item> - <item msgid="6361286924268716397">"Û± مگابایت"</item> - <item msgid="6405203239560695266">"Û´ مگابایت"</item> - <item msgid="3025431211013424097">"Û±Û¶ مگابایت"</item> + <item msgid="8665206199209698501">"خاموش"</item> + <item msgid="1593289376502312923">"Û¶Û´ هزار"</item> + <item msgid="487545340236145324">"Û²ÛµÛ¶ هزار"</item> + <item msgid="2423528675294333831">"Û± میلیون"</item> + <item msgid="180883774509476541">"Û´ میلیون"</item> + <item msgid="2803199102589126938">"Û±Û¶ میلیون"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"Û¶Û´ کیلوبایت"</item> - <item msgid="3534782711045262344">"Û²ÛµÛ¶ کیلوبایت"</item> - <item msgid="8085867209202153403">"Û± مگابایت"</item> + <item msgid="6089470720451068364">"خاموش"</item> + <item msgid="4622460333038586791">"Û¶Û´ هزار"</item> + <item msgid="2212125625169582330">"Û²ÛµÛ¶ هزار"</item> + <item msgid="1704946766699242653">"Û± میلیون"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"â€Û¶Û´K در ØØ§Ùظه موقت ثبت"</item> - <item msgid="2822309747675758628">"â€Û²ÛµÛ¶Kدر ØØ§Ùظه موقت ثبت"</item> - <item msgid="6699306198357496731">"â€Û±Mدر ØØ§Ùظه موقت ثبت"</item> - <item msgid="5748528643937500349">"â€Û´M در ØØ§Ùظه موقت ثبت"</item> - <item msgid="1978629051085111592">"â€Û±Û¶M در ØØ§Ùظه موقت ثبت"</item> + <item msgid="6921048829791179331">"خاموش"</item> + <item msgid="2969458029344750262">"Û¶Û´ هزار در هر Ø¨Ø§ÙØ± گزارش"</item> + <item msgid="1342285115665698168">"Û²ÛµÛ¶ هزار در هر Ø¨Ø§ÙØ± گزارش"</item> + <item msgid="1314234299552254621">"Û± میلیون در هر Ø¨Ø§ÙØ± گزارش"</item> + <item msgid="3606047780792894151">"Û´ میلیون در هر Ø¨Ø§ÙØ± گزارش"</item> + <item msgid="5431354956856655120">"Û±Û¶ میلیون در هر Ø¨Ø§ÙØ± گزارش"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"پویانمایی خاموش"</item> diff --git a/packages/SettingsLib/res/values-fi/arrays.xml b/packages/SettingsLib/res/values-fi/arrays.xml index 40d07876a99a..15e6e40dffbe 100644 --- a/packages/SettingsLib/res/values-fi/arrays.xml +++ b/packages/SettingsLib/res/values-fi/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Käytä aina HDCP-tarkistusta"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 kt"</item> - <item msgid="505611754508988476">"256 kt"</item> - <item msgid="6361286924268716397">"1 Mt"</item> - <item msgid="6405203239560695266">"4 Mt"</item> - <item msgid="3025431211013424097">"16 Mt"</item> + <item msgid="8665206199209698501">"Ei käytössä"</item> + <item msgid="1593289376502312923">"64 kt"</item> + <item msgid="487545340236145324">"256 kt"</item> + <item msgid="2423528675294333831">"1 Mt"</item> + <item msgid="180883774509476541">"4 Mt"</item> + <item msgid="2803199102589126938">"16 Mt"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 kt"</item> - <item msgid="3534782711045262344">"256 kt"</item> - <item msgid="8085867209202153403">"1 Mt"</item> + <item msgid="6089470720451068364">"Ei käytössä"</item> + <item msgid="4622460333038586791">"64 kt"</item> + <item msgid="2212125625169582330">"256 kt"</item> + <item msgid="1704946766699242653">"1 Mt"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 kt / lokipuskuri"</item> - <item msgid="2822309747675758628">"256 kt / lokipuskuri"</item> - <item msgid="6699306198357496731">"1 Mt / lokipuskuri"</item> - <item msgid="5748528643937500349">"4 Mt / lokipuskuri"</item> - <item msgid="1978629051085111592">"16 Mt / lokipuskuri"</item> + <item msgid="6921048829791179331">"Ei käytössä"</item> + <item msgid="2969458029344750262">"64 kt / lokipuskuri"</item> + <item msgid="1342285115665698168">"256 kt / lokipuskuri"</item> + <item msgid="1314234299552254621">"1 Mt / lokipuskuri"</item> + <item msgid="3606047780792894151">"4 Mt / lokipuskuri"</item> + <item msgid="5431354956856655120">"16 Mt / lokipuskuri"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animaatio pois käytöstä"</item> diff --git a/packages/SettingsLib/res/values-fr-rCA/arrays.xml b/packages/SettingsLib/res/values-fr-rCA/arrays.xml index 714dbe486c07..ab48103ffb7d 100644 --- a/packages/SettingsLib/res/values-fr-rCA/arrays.xml +++ b/packages/SettingsLib/res/values-fr-rCA/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Toujours utiliser la vérification HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 ko"</item> - <item msgid="505611754508988476">"256 ko"</item> - <item msgid="6361286924268716397">"1 Mo"</item> - <item msgid="6405203239560695266">"4 Mo"</item> - <item msgid="3025431211013424097">"16 Mo"</item> + <item msgid="8665206199209698501">"Désactivé"</item> + <item msgid="1593289376502312923">"64 ko"</item> + <item msgid="487545340236145324">"256 ko"</item> + <item msgid="2423528675294333831">"1 Mo"</item> + <item msgid="180883774509476541">"4 Mo"</item> + <item msgid="2803199102589126938">"16 Mo"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 ko"</item> - <item msgid="3534782711045262344">"256 ko"</item> - <item msgid="8085867209202153403">"1 Mo"</item> + <item msgid="6089470720451068364">"Désactivé"</item> + <item msgid="4622460333038586791">"64 ko"</item> + <item msgid="2212125625169582330">"256 ko"</item> + <item msgid="1704946766699242653">"1 Mo"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"1 ko/tampon journal"</item> - <item msgid="2822309747675758628">"256 Ko/tampon journal"</item> - <item msgid="6699306198357496731">"1 Mo/tampon journal"</item> - <item msgid="5748528643937500349">"4 Mo/tampon journal"</item> - <item msgid="1978629051085111592">"16 Mo/tampon journal"</item> + <item msgid="6921048829791179331">"Désactivé"</item> + <item msgid="2969458029344750262">"64 ko/tampon journal"</item> + <item msgid="1342285115665698168">"256 Ko/tampon journal"</item> + <item msgid="1314234299552254621">"1 Mo/tampon journal"</item> + <item msgid="3606047780792894151">"4 Mo/tampon journal"</item> + <item msgid="5431354956856655120">"16 Mo/tampon journal"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animation désactivée"</item> diff --git a/packages/SettingsLib/res/values-fr/arrays.xml b/packages/SettingsLib/res/values-fr/arrays.xml index a8bed699a3a1..1cfd3d422cfd 100644 --- a/packages/SettingsLib/res/values-fr/arrays.xml +++ b/packages/SettingsLib/res/values-fr/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Toujours utiliser la vérification HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 Ko"</item> - <item msgid="505611754508988476">"256 Ko"</item> - <item msgid="6361286924268716397">"1 Mo"</item> - <item msgid="6405203239560695266">"4 Mo"</item> - <item msgid="3025431211013424097">"16 Mo"</item> + <item msgid="8665206199209698501">"Désactivé"</item> + <item msgid="1593289376502312923">"64 Ko"</item> + <item msgid="487545340236145324">"256 Ko"</item> + <item msgid="2423528675294333831">"1 Mo"</item> + <item msgid="180883774509476541">"4 Mo"</item> + <item msgid="2803199102589126938">"16 Mo"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 Ko"</item> - <item msgid="3534782711045262344">"256 Ko"</item> - <item msgid="8085867209202153403">"1 Mo"</item> + <item msgid="6089470720451068364">"Désactivé"</item> + <item msgid="4622460333038586791">"64 Ko"</item> + <item msgid="2212125625169582330">"256 Ko"</item> + <item msgid="1704946766699242653">"1 Mo"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 Ko/tampon journal"</item> - <item msgid="2822309747675758628">"256 Ko/tampon journal"</item> - <item msgid="6699306198357496731">"1 Mo/tampon journal"</item> - <item msgid="5748528643937500349">"4 Mo/tampon journal"</item> - <item msgid="1978629051085111592">"16 Mo/tampon journal"</item> + <item msgid="6921048829791179331">"Désactivé"</item> + <item msgid="2969458029344750262">"64 Ko par tampon journal"</item> + <item msgid="1342285115665698168">"256 Ko par tampon journal"</item> + <item msgid="1314234299552254621">"1 Mo par tampon journal"</item> + <item msgid="3606047780792894151">"4 Mo par tampon journal"</item> + <item msgid="5431354956856655120">"16 Mo par tampon journal"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animation désactivée"</item> diff --git a/packages/SettingsLib/res/values-gl-rES/arrays.xml b/packages/SettingsLib/res/values-gl-rES/arrays.xml index 606e6f6499d7..01b8fdf902c8 100644 --- a/packages/SettingsLib/res/values-gl-rES/arrays.xml +++ b/packages/SettingsLib/res/values-gl-rES/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Utilizar sempre a comprobación HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 K"</item> - <item msgid="505611754508988476">"256 K"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"Desactivado"</item> + <item msgid="1593289376502312923">"64 K"</item> + <item msgid="487545340236145324">"256 K"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 K"</item> - <item msgid="3534782711045262344">"256 K"</item> - <item msgid="8085867209202153403">"1 M"</item> + <item msgid="6089470720451068364">"Desactivado"</item> + <item msgid="4622460333038586791">"64 K"</item> + <item msgid="2212125625169582330">"256 K"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"Búfer 64 K rexistro"</item> - <item msgid="2822309747675758628">"Búfer 256 K rexist."</item> - <item msgid="6699306198357496731">"Búfer 1 M rexistro"</item> - <item msgid="5748528643937500349">"Búfer 4 M rexistro"</item> - <item msgid="1978629051085111592">"Búfer 16 M rexistro"</item> + <item msgid="6921048829791179331">"Desactivado"</item> + <item msgid="2969458029344750262">"64 K por búfer de rexistro"</item> + <item msgid="1342285115665698168">"256 K por búfer de rexistro"</item> + <item msgid="1314234299552254621">"1 M por búfer de rexistro"</item> + <item msgid="3606047780792894151">"4 M por búfer de rexistro"</item> + <item msgid="5431354956856655120">"16 M por búfer de rexistro"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animación desactivada"</item> diff --git a/packages/SettingsLib/res/values-gu-rIN/arrays.xml b/packages/SettingsLib/res/values-gu-rIN/arrays.xml index c7d62c563f9f..92cbb2d8d41b 100644 --- a/packages/SettingsLib/res/values-gu-rIN/arrays.xml +++ b/packages/SettingsLib/res/values-gu-rIN/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"હંમેશા HDCP તપાસનો ઉપયોગ કરો"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"બંધ"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"બંધ"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"લૉગ બફર દીઠ64K"</item> - <item msgid="2822309747675758628">"લૉગ દીઠ256K બફર"</item> - <item msgid="6699306198357496731">"લૉગ બફર દીઠ1M"</item> - <item msgid="5748528643937500349">"લૉગ બફર દીઠ4M"</item> - <item msgid="1978629051085111592">"પà«àª°àª¤àª¿ લૉગ બફર 16M"</item> + <item msgid="6921048829791179331">"બંધ"</item> + <item msgid="2969458029344750262">"લૉગ બફર દીઠ64K"</item> + <item msgid="1342285115665698168">"લૉગ બફર દીઠ256K"</item> + <item msgid="1314234299552254621">"લૉગ બફર દીઠ1M"</item> + <item msgid="3606047780792894151">"લૉગ બફર દીઠ4M"</item> + <item msgid="5431354956856655120">"લૉગ બફર દીઠ16M"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"àªàª¨àª¿àª®à«‡àª¶àª¨ બંધ"</item> diff --git a/packages/SettingsLib/res/values-hi/arrays.xml b/packages/SettingsLib/res/values-hi/arrays.xml index 883e997546af..8aa98a1f1d67 100644 --- a/packages/SettingsLib/res/values-hi/arrays.xml +++ b/packages/SettingsLib/res/values-hi/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"हमेशा HDCP जांच का उपयोग करें"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"बंद"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"बंद"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64K पà¥à¤°à¤¤à¤¿ लॉग बफ़र"</item> - <item msgid="2822309747675758628">"256K पà¥à¤°à¤¤à¤¿ लॉग बफ़र"</item> - <item msgid="6699306198357496731">"1M पà¥à¤°à¤¤à¤¿ लॉग बफ़र"</item> - <item msgid="5748528643937500349">"4M पà¥à¤°à¤¤à¤¿ लॉग बफ़र"</item> - <item msgid="1978629051085111592">"16M पà¥à¤°à¤¤à¤¿ लॉग बफ़र"</item> + <item msgid="6921048829791179331">"बंद"</item> + <item msgid="2969458029344750262">"64K पà¥à¤°à¤¤à¤¿ लॉग बफ़र"</item> + <item msgid="1342285115665698168">"256K पà¥à¤°à¤¤à¤¿ लॉग बफ़र"</item> + <item msgid="1314234299552254621">"1M पà¥à¤°à¤¤à¤¿ लॉग बफ़र"</item> + <item msgid="3606047780792894151">"4M पà¥à¤°à¤¤à¤¿ लॉग बफ़र"</item> + <item msgid="5431354956856655120">"16M पà¥à¤°à¤¤à¤¿ लॉग बफ़र"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"à¤à¤¨à¤¿à¤®à¥‡à¤¶à¤¨ बंद"</item> diff --git a/packages/SettingsLib/res/values-hr/arrays.xml b/packages/SettingsLib/res/values-hr/arrays.xml index d51f82dfea42..db460c7cce92 100644 --- a/packages/SettingsLib/res/values-hr/arrays.xml +++ b/packages/SettingsLib/res/values-hr/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Uvijek upotrebljavaj HDCP provjeru"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 KB"</item> - <item msgid="505611754508988476">"256 KB"</item> - <item msgid="6361286924268716397">"1 MB"</item> - <item msgid="6405203239560695266">"4 MB"</item> - <item msgid="3025431211013424097">"16 MB"</item> + <item msgid="8665206199209698501">"IskljuÄeno"</item> + <item msgid="1593289376502312923">"64 KB"</item> + <item msgid="487545340236145324">"256 KB"</item> + <item msgid="2423528675294333831">"1 MB"</item> + <item msgid="180883774509476541">"4 MB"</item> + <item msgid="2803199102589126938">"16 MB"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 KB"</item> - <item msgid="3534782711045262344">"256 KB"</item> - <item msgid="8085867209202153403">"1 MB"</item> + <item msgid="6089470720451068364">"IskljuÄeno"</item> + <item msgid="4622460333038586791">"64 KB"</item> + <item msgid="2212125625169582330">"256 KB"</item> + <item msgid="1704946766699242653">"1 MB"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 KB po meÄ‘usprem."</item> - <item msgid="2822309747675758628">"256 KB po meÄ‘uspr."</item> - <item msgid="6699306198357496731">"1 MB po meÄ‘usprem."</item> - <item msgid="5748528643937500349">"4 MB po meÄ‘usprem."</item> - <item msgid="1978629051085111592">"16 MB po meÄ‘usprem."</item> + <item msgid="6921048829791179331">"IskljuÄeno"</item> + <item msgid="2969458029344750262">"64 KB po meÄ‘usprem. zapisnika"</item> + <item msgid="1342285115665698168">"256 KB po meÄ‘usprem. zapisnika"</item> + <item msgid="1314234299552254621">"1 MB po meÄ‘usprem. zapisnika"</item> + <item msgid="3606047780792894151">"4 MB po meÄ‘usprem. zapisnika"</item> + <item msgid="5431354956856655120">"16 MB po meÄ‘usprem. zapisnika"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animacija iskljuÄena"</item> diff --git a/packages/SettingsLib/res/values-hu/arrays.xml b/packages/SettingsLib/res/values-hu/arrays.xml index 03c9ed7f0cbd..0d201b5be03b 100644 --- a/packages/SettingsLib/res/values-hu/arrays.xml +++ b/packages/SettingsLib/res/values-hu/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Mindig használjon HDCP ellenÅ‘rzést"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 KB"</item> - <item msgid="505611754508988476">"256 KB"</item> - <item msgid="6361286924268716397">"1 MB"</item> - <item msgid="6405203239560695266">"4 MB"</item> - <item msgid="3025431211013424097">"16 MB"</item> + <item msgid="8665206199209698501">"Ki"</item> + <item msgid="1593289376502312923">"64 KB"</item> + <item msgid="487545340236145324">"256 KB"</item> + <item msgid="2423528675294333831">"1 MB"</item> + <item msgid="180883774509476541">"4 MB"</item> + <item msgid="2803199102589126938">"16 MB"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 KB"</item> - <item msgid="3534782711045262344">"256 KB"</item> - <item msgid="8085867209202153403">"1 MB"</item> + <item msgid="6089470720451068364">"Ki"</item> + <item msgid="4622460333038586791">"64 KB"</item> + <item msgid="2212125625169582330">"256 KB"</item> + <item msgid="1704946766699242653">"1 MB"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 KB/naplópuffer"</item> - <item msgid="2822309747675758628">"256 KB/naplópuffer"</item> - <item msgid="6699306198357496731">"1 MB/naplópuffer"</item> - <item msgid="5748528643937500349">"4 MB/naplópuffer"</item> - <item msgid="1978629051085111592">"16 MB/naplópuffer"</item> + <item msgid="6921048829791179331">"Ki"</item> + <item msgid="2969458029344750262">"64 KB/naplópuffer"</item> + <item msgid="1342285115665698168">"256 KB/naplópuffer"</item> + <item msgid="1314234299552254621">"1 MB/naplópuffer"</item> + <item msgid="3606047780792894151">"4 MB/naplópuffer"</item> + <item msgid="5431354956856655120">"16 MB/naplópuffer"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animáció ki"</item> diff --git a/packages/SettingsLib/res/values-hy-rAM/arrays.xml b/packages/SettingsLib/res/values-hy-rAM/arrays.xml index 41143de5b9f6..0755a8ab0370 100644 --- a/packages/SettingsLib/res/values-hy-rAM/arrays.xml +++ b/packages/SettingsLib/res/values-hy-rAM/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Õ„Õ«Õ·Õ¿ Ö…Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¥Õ¬ HDCP Õ½Õ¿Õ¸Ö‚Õ£Õ¸Ö‚Õ´Õ¨"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64Ô¿Ô²"</item> - <item msgid="505611754508988476">"256Ô¿Ô²"</item> - <item msgid="6361286924268716397">"1Õ„Ô²"</item> - <item msgid="6405203239560695266">"4Õ„Ô²"</item> - <item msgid="3025431211013424097">"16Õ„Ô²"</item> + <item msgid="8665206199209698501">"Ô±Õ¶Õ»Õ¡Õ¿Õ¾Õ¡Õ® Õ§"</item> + <item msgid="1593289376502312923">"64Ô¿Ô²"</item> + <item msgid="487545340236145324">"256Ô¿Ô²"</item> + <item msgid="2423528675294333831">"1Õ„Ô²"</item> + <item msgid="180883774509476541">"4Õ„Ô²"</item> + <item msgid="2803199102589126938">"16Õ„Ô²"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64Ô¿Ô²"</item> - <item msgid="3534782711045262344">"256Ô¿Ô²"</item> - <item msgid="8085867209202153403">"1Õ„Ô²"</item> + <item msgid="6089470720451068364">"Ô±Õ¶Õ»Õ¡Õ¿Õ¾Õ¡Õ® Õ§"</item> + <item msgid="4622460333038586791">"64Ô¿Ô²"</item> + <item msgid="2212125625169582330">"256Ô¿Ô²"</item> + <item msgid="1704946766699242653">"1Õ„Ô²"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"ÕŠÕ¡Õ°Õ¶Õ¡Õ¯Õ Õ¡Õ¼Õ¡Õ¾. 64Ô¿Ô²"</item> - <item msgid="2822309747675758628">"ÕŠÕ¡Õ°Õ¶Õ¡Õ¯Õ Õ¡Õ¼Õ¡Õ¾. 256Ô¿Ô²"</item> - <item msgid="6699306198357496731">"ÕŠÕ¡Õ°Õ¶Õ¡Õ¯Õ Õ¡Õ¼Õ¡Õ¾. 1Õ„Ô²"</item> - <item msgid="5748528643937500349">"ÕŠÕ¡Õ°Õ¶Õ¡Õ¯Õ Õ¡Õ¼Õ¡Õ¾. 4Õ„Ô²"</item> - <item msgid="1978629051085111592">"ÕŠÕ¡Õ°Õ¶Õ¡Õ¯Õ Õ¡Õ¼Õ¡Õ¾. 16Õ„Ô²"</item> + <item msgid="6921048829791179331">"Ô±Õ¶Õ»Õ¡Õ¿Õ¾Õ¡Õ® Õ§"</item> + <item msgid="2969458029344750262">"ÕŠÕ¡Õ°Õ¶Õ¡Õ¯Õ Õ¡Õ¼Õ¡Õ¾. 64Ô¿Ô²"</item> + <item msgid="1342285115665698168">"ÕŠÕ¡Õ°Õ¶Õ¡Õ¯Õ Õ¡Õ¼Õ¡Õ¾. 256Ô¿Ô²"</item> + <item msgid="1314234299552254621">"ÕŠÕ¡Õ°Õ¶Õ¡Õ¯Õ Õ¡Õ¼Õ¡Õ¾. 1Õ„Ô²"</item> + <item msgid="3606047780792894151">"ÕŠÕ¡Õ°Õ¶Õ¡Õ¯Õ Õ¡Õ¼Õ¡Õ¾. 4Õ„Ô²"</item> + <item msgid="5431354956856655120">"ÕŠÕ¡Õ°Õ¶Õ¡Õ¯Õ Õ¡Õ¼Õ¡Õ¾. 16Õ„Ô²"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Ô±Õ¶Õ»Õ¡Õ¿Õ¥Õ¬ Õ·Õ¡Ö€ÕªÕ¡ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¨"</item> diff --git a/packages/SettingsLib/res/values-in/arrays.xml b/packages/SettingsLib/res/values-in/arrays.xml index 5aadc13347ec..166efd500156 100644 --- a/packages/SettingsLib/res/values-in/arrays.xml +++ b/packages/SettingsLib/res/values-in/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Selalu gunakan pemeriksaan HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 K"</item> - <item msgid="505611754508988476">"256 K"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"Nonaktif"</item> + <item msgid="1593289376502312923">"64 K"</item> + <item msgid="487545340236145324">"256 K"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 K"</item> - <item msgid="3534782711045262344">"256 K"</item> - <item msgid="8085867209202153403">"1 M"</item> + <item msgid="6089470720451068364">"Nonaktif"</item> + <item msgid="4622460333038586791">"64 K"</item> + <item msgid="2212125625169582330">"256 K"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 K/penyangga log"</item> - <item msgid="2822309747675758628">"256 K/penyangga log"</item> - <item msgid="6699306198357496731">"1 M/penyangga log"</item> - <item msgid="5748528643937500349">"4 M/penyangga log"</item> - <item msgid="1978629051085111592">"16 M/penyangga log"</item> + <item msgid="6921048829791179331">"Nonaktif"</item> + <item msgid="2969458029344750262">"64 K/penyangga log"</item> + <item msgid="1342285115665698168">"256 K/penyangga log"</item> + <item msgid="1314234299552254621">"1 M/penyangga log"</item> + <item msgid="3606047780792894151">"4 M/penyangga log"</item> + <item msgid="5431354956856655120">"16 M/penyangga log"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animasi mati"</item> diff --git a/packages/SettingsLib/res/values-is-rIS/arrays.xml b/packages/SettingsLib/res/values-is-rIS/arrays.xml index bbc7aec6bbbd..6024e30d5ea1 100644 --- a/packages/SettingsLib/res/values-is-rIS/arrays.xml +++ b/packages/SettingsLib/res/values-is-rIS/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Nota alltaf HDCP-eftirlit"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 k"</item> - <item msgid="505611754508988476">"256 k"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"Slökkt"</item> + <item msgid="1593289376502312923">"64 k"</item> + <item msgid="487545340236145324">"256 k"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 k"</item> - <item msgid="3534782711045262344">"256 k"</item> - <item msgid="8085867209202153403">"1 M"</item> + <item msgid="6089470720451068364">"Slökkt"</item> + <item msgid="4622460333038586791">"64 k"</item> + <item msgid="2212125625169582330">"256 k"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 k/biðminni"</item> - <item msgid="2822309747675758628">"256 k/biðminni"</item> - <item msgid="6699306198357496731">"1 M/biðminni"</item> - <item msgid="5748528643937500349">"4 M/biðminni"</item> - <item msgid="1978629051085111592">"16 M/biðminni"</item> + <item msgid="6921048829791179331">"Slökkt"</item> + <item msgid="2969458029344750262">"64 k/biðminni"</item> + <item msgid="1342285115665698168">"256 k/biðminni"</item> + <item msgid="1314234299552254621">"1 M/biðminni"</item> + <item msgid="3606047780792894151">"4 M/biðminni"</item> + <item msgid="5431354956856655120">"16 M/biðminni"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Slökkt á hreyfiáhrifum"</item> diff --git a/packages/SettingsLib/res/values-it/arrays.xml b/packages/SettingsLib/res/values-it/arrays.xml index 686d61de5e15..d64ec0633ffa 100644 --- a/packages/SettingsLib/res/values-it/arrays.xml +++ b/packages/SettingsLib/res/values-it/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Usa sempre la verifica HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 kB"</item> - <item msgid="505611754508988476">"256 kB"</item> - <item msgid="6361286924268716397">"1 MB"</item> - <item msgid="6405203239560695266">"4 MB"</item> - <item msgid="3025431211013424097">"16 MB"</item> + <item msgid="8665206199209698501">"Non attiva"</item> + <item msgid="1593289376502312923">"64 kB"</item> + <item msgid="487545340236145324">"256 kB"</item> + <item msgid="2423528675294333831">"1 MB"</item> + <item msgid="180883774509476541">"4 MB"</item> + <item msgid="2803199102589126938">"16 MB"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 kB"</item> - <item msgid="3534782711045262344">"256 kB"</item> - <item msgid="8085867209202153403">"1 MB"</item> + <item msgid="6089470720451068364">"Non attiva"</item> + <item msgid="4622460333038586791">"64 kB"</item> + <item msgid="2212125625169582330">"256 kB"</item> + <item msgid="1704946766699242653">"1 MB"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 kB/buffer log"</item> - <item msgid="2822309747675758628">"256 kB/buffer log"</item> - <item msgid="6699306198357496731">"1 MB/buffer log"</item> - <item msgid="5748528643937500349">"4 MB/buffer log"</item> - <item msgid="1978629051085111592">"16 MB/buffer log"</item> + <item msgid="6921048829791179331">"Non attiva"</item> + <item msgid="2969458029344750262">"64 kB/buffer log"</item> + <item msgid="1342285115665698168">"256 kB/buffer log"</item> + <item msgid="1314234299552254621">"1 MB/buffer log"</item> + <item msgid="3606047780792894151">"4 MB/buffer log"</item> + <item msgid="5431354956856655120">"16 MB/buffer log"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animazione disattivata"</item> diff --git a/packages/SettingsLib/res/values-iw/arrays.xml b/packages/SettingsLib/res/values-iw/arrays.xml index 24a40b9dca52..01127c604f01 100644 --- a/packages/SettingsLib/res/values-iw/arrays.xml +++ b/packages/SettingsLib/res/values-iw/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"â€×ª×ž×™×“ השתמש בבדיקת HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"‎256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"כבוי"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"‎256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"‎256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"כבוי"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"‎256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"â€64K לכל מ×גר יומן"</item> - <item msgid="2822309747675758628">"â€256K לכל מ×גר יומן"</item> - <item msgid="6699306198357496731">"â€1M לכל מ×גר יומן"</item> - <item msgid="5748528643937500349">"â€4M לכל מ×גר יומן"</item> - <item msgid="1978629051085111592">"â€16M לכל מ×גר יומן"</item> + <item msgid="6921048829791179331">"כבוי"</item> + <item msgid="2969458029344750262">"â€64K לכל מ×גר יומן"</item> + <item msgid="1342285115665698168">"â€256K לכל מ×גר יומן"</item> + <item msgid="1314234299552254621">"â€1M לכל מ×גר יומן"</item> + <item msgid="3606047780792894151">"â€4M לכל מ×גר יומן"</item> + <item msgid="5431354956856655120">"â€16M לכל מ×גר יומן"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"×× ×™×ž×¦×™×” כבויה"</item> diff --git a/packages/SettingsLib/res/values-ja/arrays.xml b/packages/SettingsLib/res/values-ja/arrays.xml index 6307a100b7a7..3426b5c5e883 100644 --- a/packages/SettingsLib/res/values-ja/arrays.xml +++ b/packages/SettingsLib/res/values-ja/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"HDCPãƒã‚§ãƒƒã‚¯ã‚’常ã«ä½¿ç”¨ã™ã‚‹"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"OFF"</item> + <item msgid="1593289376502312923">"64 K"</item> + <item msgid="487545340236145324">"256 K"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"OFF"</item> + <item msgid="4622460333038586791">"64 K"</item> + <item msgid="2212125625169582330">"256 K"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64K/ãƒã‚°ãƒãƒƒãƒ•ã‚¡"</item> - <item msgid="2822309747675758628">"256K/ãƒã‚°ãƒãƒƒãƒ•ã‚¡"</item> - <item msgid="6699306198357496731">"1M/ãƒã‚°ãƒãƒƒãƒ•ã‚¡"</item> - <item msgid="5748528643937500349">"4M/ãƒã‚°ãƒãƒƒãƒ•ã‚¡"</item> - <item msgid="1978629051085111592">"16M/ãƒã‚°ãƒãƒƒãƒ•ã‚¡"</item> + <item msgid="6921048829791179331">"OFF"</item> + <item msgid="2969458029344750262">"64 K / ãƒã‚°ãƒãƒƒãƒ•ã‚¡"</item> + <item msgid="1342285115665698168">"256 K / ãƒã‚°ãƒãƒƒãƒ•ã‚¡"</item> + <item msgid="1314234299552254621">"1 M / ãƒã‚°ãƒãƒƒãƒ•ã‚¡"</item> + <item msgid="3606047780792894151">"4 M / ãƒã‚°ãƒãƒƒãƒ•ã‚¡"</item> + <item msgid="5431354956856655120">"16 M / ãƒã‚°ãƒãƒƒãƒ•ã‚¡"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"アニメーションオフ"</item> diff --git a/packages/SettingsLib/res/values-ka-rGE/arrays.xml b/packages/SettingsLib/res/values-ka-rGE/arrays.xml index ac627a292d34..4b6f78b1f90f 100644 --- a/packages/SettingsLib/res/values-ka-rGE/arrays.xml +++ b/packages/SettingsLib/res/values-ka-rGE/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"ყáƒáƒ•ელთვის გáƒáƒ›áƒáƒ˜áƒ§áƒ”ნე HDCP შემáƒáƒ¬áƒ›áƒ”ბáƒ"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"გáƒáƒ›áƒáƒ თული"</item> + <item msgid="1593289376502312923">"64 კბáƒáƒ˜áƒ¢áƒ˜"</item> + <item msgid="487545340236145324">"256 კბáƒáƒ˜áƒ¢áƒ˜"</item> + <item msgid="2423528675294333831">"1 მბáƒáƒ˜áƒ¢áƒ˜"</item> + <item msgid="180883774509476541">"4 მბáƒáƒ˜áƒ¢áƒ˜"</item> + <item msgid="2803199102589126938">"16 მბáƒáƒ˜áƒ¢áƒ˜"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"გáƒáƒ›áƒáƒ თული"</item> + <item msgid="4622460333038586791">"64 კბáƒáƒ˜áƒ¢áƒ˜"</item> + <item msgid="2212125625169582330">"256 კბáƒáƒ˜áƒ¢áƒ˜"</item> + <item msgid="1704946766699242653">"1 მბáƒáƒ˜áƒ¢áƒ˜"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64K / ჟურნ. ბუფერზე"</item> - <item msgid="2822309747675758628">"256K/ჟურნ. ბუფერზე"</item> - <item msgid="6699306198357496731">"1M / ჟურნ. ბუფერზე"</item> - <item msgid="5748528643937500349">"4M / ჟურნ. ბუფერზე"</item> - <item msgid="1978629051085111592">"16M / ჟურნ. ბუფერზე"</item> + <item msgid="6921048829791179331">"გáƒáƒ›áƒáƒ თული"</item> + <item msgid="2969458029344750262">"64 კბáƒáƒ˜áƒ¢áƒ˜ / ჟურნáƒáƒšáƒ˜áƒ¡ ბუფერი"</item> + <item msgid="1342285115665698168">"256 კბáƒáƒ˜áƒ¢áƒ˜ / ჟურნáƒáƒšáƒ˜áƒ¡ ბუფერი"</item> + <item msgid="1314234299552254621">"1 მბáƒáƒ˜áƒ¢áƒ˜ / ჟურნáƒáƒšáƒ˜áƒ¡ ბუფერი"</item> + <item msgid="3606047780792894151">"4 მბáƒáƒ˜áƒ¢áƒ˜ / ჟურნáƒáƒšáƒ˜áƒ¡ ბუფერი"</item> + <item msgid="5431354956856655120">"16 მბáƒáƒ˜áƒ¢áƒ˜ / ჟურნáƒáƒšáƒ˜áƒ¡ ბუფერი"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ გáƒáƒ›áƒáƒ თვáƒ"</item> diff --git a/packages/SettingsLib/res/values-kk-rKZ/arrays.xml b/packages/SettingsLib/res/values-kk-rKZ/arrays.xml index b994eb7768d9..43afb2f0ebaa 100644 --- a/packages/SettingsLib/res/values-kk-rKZ/arrays.xml +++ b/packages/SettingsLib/res/values-kk-rKZ/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Әрқашан HDCP (жоғары кең жолақты Ñандық мазмұн қорғаушы) текÑерулерін қолданыңыз"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 КБ"</item> - <item msgid="505611754508988476">"256 КБ"</item> - <item msgid="6361286924268716397">"1 МБ"</item> - <item msgid="6405203239560695266">"4 МБ"</item> - <item msgid="3025431211013424097">"16 МБ"</item> + <item msgid="8665206199209698501">"Өшірулі"</item> + <item msgid="1593289376502312923">"64 КБ"</item> + <item msgid="487545340236145324">"256 КБ"</item> + <item msgid="2423528675294333831">"1 МБ"</item> + <item msgid="180883774509476541">"4 МБ"</item> + <item msgid="2803199102589126938">"16 МБ"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 КБ"</item> - <item msgid="3534782711045262344">"256 КБ"</item> - <item msgid="8085867209202153403">"1 МБ"</item> + <item msgid="6089470720451068364">"Өшірулі"</item> + <item msgid="4622460333038586791">"64 КБ"</item> + <item msgid="2212125625169582330">"256 КБ"</item> + <item msgid="1704946766699242653">"1 МБ"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"Әр журнал буферіне 64 КБ"</item> - <item msgid="2822309747675758628">"Әр журнал буферіне 256 КБ"</item> - <item msgid="6699306198357496731">"Әр журнал буферіне 1 МБ"</item> - <item msgid="5748528643937500349">"Әр журнал буферіне 4 МБ"</item> - <item msgid="1978629051085111592">"Әр журнал буферіне 16 МБ"</item> + <item msgid="6921048829791179331">"Өшірулі"</item> + <item msgid="2969458029344750262">"Әр журнал буферіне 64 КБ"</item> + <item msgid="1342285115665698168">"Әр журнал буферіне 256 КБ"</item> + <item msgid="1314234299552254621">"Әр журнал буферіне 1 МБ"</item> + <item msgid="3606047780792894151">"Әр журнал буферіне 4 МБ"</item> + <item msgid="5431354956856655120">"Әр журнал буферіне 16 МБ"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"AÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ Ó©ÑˆÑ–Ñ€Ñ–Ð»Ð³ÐµÐ½"</item> diff --git a/packages/SettingsLib/res/values-km-rKH/arrays.xml b/packages/SettingsLib/res/values-km-rKH/arrays.xml index 50c1299445d5..63921bc13a22 100644 --- a/packages/SettingsLib/res/values-km-rKH/arrays.xml +++ b/packages/SettingsLib/res/values-km-rKH/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"ប្រើ​ការ​ពិនិážáŸ’áž™ HDCP ជា​និច្ច"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"បិទ"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"បិទ"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64K per log buffer"</item> - <item msgid="2822309747675758628">"256K per log buffer"</item> - <item msgid="6699306198357496731">"1M per log buffer"</item> - <item msgid="5748528643937500349">"4M per log buffer"</item> - <item msgid="1978629051085111592">"16M per log buffer"</item> + <item msgid="6921048829791179331">"បិទ"</item> + <item msgid="2969458029344750262">"64K per log buffer"</item> + <item msgid="1342285115665698168">"256K per log buffer"</item> + <item msgid="1314234299552254621">"1M per log buffer"</item> + <item msgid="3606047780792894151">"4M per log buffer"</item> + <item msgid="5431354956856655120">"16M per log buffer"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"បិទ​ចលនា"</item> diff --git a/packages/SettingsLib/res/values-kn-rIN/arrays.xml b/packages/SettingsLib/res/values-kn-rIN/arrays.xml index fe04d28ffcc0..e1e69f706ee1 100644 --- a/packages/SettingsLib/res/values-kn-rIN/arrays.xml +++ b/packages/SettingsLib/res/values-kn-rIN/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"HDCP ಪರಿಶೀಲನೆಯನà³à²¨à³ ಯಾವಾಗಲೂ ಬಳಸà³"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"ಆಫà³"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"ಆಫà³"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"ಪà³à²°à²¤à²¿ ಲಾಗೠಬಫರà³â€Œà²—ೆ 64K"</item> - <item msgid="2822309747675758628">"ಪà³à²°à²¤à²¿ ಲಾಗೠಬಫರà³â€Œà²—ೆ 256K"</item> - <item msgid="6699306198357496731">"ಪà³à²°à²¤à²¿ ಲಾಗೠಬಫರà³â€Œà²—ೆ 1M"</item> - <item msgid="5748528643937500349">"ಪà³à²°à²¤à²¿ ಲಾಗೠಬಫರà³â€Œà²—ೆ 4M"</item> - <item msgid="1978629051085111592">"ಪà³à²°à²¤à²¿ ಲಾಗೠಬಫರà³â€Œà²—ೆ 16M"</item> + <item msgid="6921048829791179331">"ಆಫà³"</item> + <item msgid="2969458029344750262">"ಪà³à²°à²¤à²¿ ಲಾಗೠಬಫರà³â€Œà²—ೆ 64K"</item> + <item msgid="1342285115665698168">"ಪà³à²°à²¤à²¿ ಲಾಗೠಬಫರà³â€Œà²—ೆ 256K"</item> + <item msgid="1314234299552254621">"ಪà³à²°à²¤à²¿ ಲಾಗೠಬಫರà³â€Œà²—ೆ 1M"</item> + <item msgid="3606047780792894151">"ಪà³à²°à²¤à²¿ ಲಾಗೠಬಫರà³â€Œà²—ೆ 4M"</item> + <item msgid="5431354956856655120">"ಪà³à²°à²¤à²¿ ಲಾಗೠಬಫರà³â€Œà²—ೆ 16M"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"ಆನಿಮೇಶನೠಆಫà³"</item> diff --git a/packages/SettingsLib/res/values-ko/arrays.xml b/packages/SettingsLib/res/values-ko/arrays.xml index a8d548ffc467..3e8867e36d38 100644 --- a/packages/SettingsLib/res/values-ko/arrays.xml +++ b/packages/SettingsLib/res/values-ko/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"í•ìƒ HDCP í™•ì¸ ì‚¬ìš©"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"사용 안함"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"사용 안함"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"로그 버í¼ë‹¹ 64K"</item> - <item msgid="2822309747675758628">"로그 버í¼ë‹¹ 256K"</item> - <item msgid="6699306198357496731">"로그 버í¼ë‹¹ 1M"</item> - <item msgid="5748528643937500349">"로그 버í¼ë‹¹ 4M"</item> - <item msgid="1978629051085111592">"로그 버í¼ë‹¹ 16M"</item> + <item msgid="6921048829791179331">"사용 안함"</item> + <item msgid="2969458029344750262">"로그 버í¼ë‹¹ 64K"</item> + <item msgid="1342285115665698168">"로그 버í¼ë‹¹ 256K"</item> + <item msgid="1314234299552254621">"로그 버í¼ë‹¹ 1M"</item> + <item msgid="3606047780792894151">"로그 버í¼ë‹¹ 4M"</item> + <item msgid="5431354956856655120">"로그 버í¼ë‹¹ 16M"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"ì• ë‹ˆë©”ì´ì…˜ 사용 안함"</item> diff --git a/packages/SettingsLib/res/values-ky-rKG/arrays.xml b/packages/SettingsLib/res/values-ky-rKG/arrays.xml index 7ec569e5077b..34c713e87c7b 100644 --- a/packages/SettingsLib/res/values-ky-rKG/arrays.xml +++ b/packages/SettingsLib/res/values-ky-rKG/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"ÐÑ€ дайым HDCP текшерүү колдонулÑун"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"Өчүк"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"Өчүк"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 K каттоо буфери үчүн"</item> - <item msgid="2822309747675758628">"256 K каттоо буфери үчүн"</item> - <item msgid="6699306198357496731">"1 M каттоо буфери үчүн"</item> - <item msgid="5748528643937500349">"4 M каттоо буфери үчүн"</item> - <item msgid="1978629051085111592">"16 M каттоо буфери үчүн"</item> + <item msgid="6921048829791179331">"Өчүк"</item> + <item msgid="2969458029344750262">"Буфер: 64КБ ашпашы керек"</item> + <item msgid="1342285115665698168">"Буфер: 256КБ ашпашы керек"</item> + <item msgid="1314234299552254621">"Буфер: 1М ашпашы керек"</item> + <item msgid="3606047780792894151">"Буфер: 4М ашпашы керек"</item> + <item msgid="5431354956856655120">"Буфер: 16М ашпашы керек"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"ÐнимациÑны өчүрүү"</item> diff --git a/packages/SettingsLib/res/values-lo-rLA/arrays.xml b/packages/SettingsLib/res/values-lo-rLA/arrays.xml index 642217473eac..312ecc0c09e6 100644 --- a/packages/SettingsLib/res/values-lo-rLA/arrays.xml +++ b/packages/SettingsLib/res/values-lo-rLA/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"ໃຊ້àºàº²àº™àºàº§àº”ສàºàºš HDCP ສະເà»àºµ"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"ປິດ"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"ປິດ"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"ບັບ​ເຟີ 64K ​ຕà»à»ˆâ€‹àº¥àº±àºàº"</item> - <item msgid="2822309747675758628">"ບັບ​ເຟີ 256K ​ຕà»à»ˆâ€‹àº¥àº±àºàº"</item> - <item msgid="6699306198357496731">"ບັບ​ເຟີ 1M ​ຕà»à»ˆâ€‹àº¥àº±àºàº"</item> - <item msgid="5748528643937500349">"ບັບ​ເຟີ 4M ​ຕà»à»ˆâ€‹àº¥àº±àºàº"</item> - <item msgid="1978629051085111592">"ບັບ​ເຟີ 16M ​ຕà»à»ˆâ€‹àº¥àº±àºàº"</item> + <item msgid="6921048829791179331">"ປິດ"</item> + <item msgid="2969458029344750262">"ບັບ​ເຟີ 64K ຕà»à»ˆâ€‹àºšàº±àº™àº—ຶàº"</item> + <item msgid="1342285115665698168">"ບັບ​ເຟີ 256K ​ຕà»à»ˆâ€‹àºšàº±àº™àº—ຶàº"</item> + <item msgid="1314234299552254621">"ບັບ​ເຟີ 1M ​ຕà»à»ˆâ€‹àºšàº±àº™àº—ຶàº"</item> + <item msgid="3606047780792894151">"ບັບ​ເຟີ 4M ​ຕà»à»ˆâ€‹àºšàº±àº™àº—ຶàº"</item> + <item msgid="5431354956856655120">"ບັບ​ເຟີ 16M ​ຕà»à»ˆâ€‹àºšàº±àº™àº—ຶàº"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"ປິດàºàº°àº™àº´à»€àº¡àºŠàº±àº™"</item> diff --git a/packages/SettingsLib/res/values-lt/arrays.xml b/packages/SettingsLib/res/values-lt/arrays.xml index 0d20a8a1650b..76ae3fbf06f3 100644 --- a/packages/SettingsLib/res/values-lt/arrays.xml +++ b/packages/SettingsLib/res/values-lt/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Visada naudoti HDCP tikrinimÄ…"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 KB"</item> - <item msgid="505611754508988476">"256 KB"</item> - <item msgid="6361286924268716397">"1 MB"</item> - <item msgid="6405203239560695266">"4 MB"</item> - <item msgid="3025431211013424097">"16 MB"</item> + <item msgid="8665206199209698501">"IÅ¡jungta"</item> + <item msgid="1593289376502312923">"64 KB"</item> + <item msgid="487545340236145324">"256 KB"</item> + <item msgid="2423528675294333831">"1 MB"</item> + <item msgid="180883774509476541">"4 MB"</item> + <item msgid="2803199102589126938">"16 MB"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 KB"</item> - <item msgid="3534782711045262344">"256 KB"</item> - <item msgid="8085867209202153403">"1 MB"</item> + <item msgid="6089470720451068364">"IÅ¡jungta"</item> + <item msgid="4622460333038586791">"64 KB"</item> + <item msgid="2212125625169582330">"256 KB"</item> + <item msgid="1704946766699242653">"1 MB"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 KB žurn. bufer."</item> - <item msgid="2822309747675758628">"256 KB žurn. bufer."</item> - <item msgid="6699306198357496731">"1 MB žurn. bufer."</item> - <item msgid="5748528643937500349">"4 MB žurn. bufer."</item> - <item msgid="1978629051085111592">"16 MB žurn. bufer."</item> + <item msgid="6921048829791179331">"IÅ¡jungta"</item> + <item msgid="2969458029344750262">"64 KB žurnalo buferis"</item> + <item msgid="1342285115665698168">"256 KB žurnalo buferis"</item> + <item msgid="1314234299552254621">"1 MB žurnalo buferis"</item> + <item msgid="3606047780792894151">"4 MB žurnalo buferis"</item> + <item msgid="5431354956856655120">"16 MB žurnalo buferis"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animacija iÅ¡jungta"</item> diff --git a/packages/SettingsLib/res/values-lv/arrays.xml b/packages/SettingsLib/res/values-lv/arrays.xml index a033d1bf3c56..03aff8c9a466 100644 --- a/packages/SettingsLib/res/values-lv/arrays.xml +++ b/packages/SettingsLib/res/values-lv/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"VienmÄ“r izmantot HDCP pÄrbaudi"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 KB"</item> - <item msgid="505611754508988476">"256 KB"</item> - <item msgid="6361286924268716397">"1 MB"</item> - <item msgid="6405203239560695266">"4 MB"</item> - <item msgid="3025431211013424097">"16 MB"</item> + <item msgid="8665206199209698501">"IzslÄ“gts"</item> + <item msgid="1593289376502312923">"64 KB"</item> + <item msgid="487545340236145324">"256 KB"</item> + <item msgid="2423528675294333831">"1 MB"</item> + <item msgid="180883774509476541">"4 MB"</item> + <item msgid="2803199102589126938">"16 MB"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 KB"</item> - <item msgid="3534782711045262344">"256 KB"</item> - <item msgid="8085867209202153403">"1 MB"</item> + <item msgid="6089470720451068364">"IzslÄ“gts"</item> + <item msgid="4622460333038586791">"64 KB"</item> + <item msgid="2212125625169582330">"256 KB"</item> + <item msgid="1704946766699242653">"1 MB"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 KB žurn. buferis"</item> - <item msgid="2822309747675758628">"256 KB žurn. buf."</item> - <item msgid="6699306198357496731">"1 MB žurn. buferis"</item> - <item msgid="5748528643937500349">"4 MB žurn. buferis"</item> - <item msgid="1978629051085111592">"16 MB žurn. buferis"</item> + <item msgid="6921048829791179331">"IzslÄ“gts"</item> + <item msgid="2969458029344750262">"64 KB vienam žurnÄla buferim"</item> + <item msgid="1342285115665698168">"256 KB vienam žurnÄla buferim"</item> + <item msgid="1314234299552254621">"1 MB vienam žurnÄla buferim"</item> + <item msgid="3606047780792894151">"4 MB vienam žurnÄla buferim"</item> + <item msgid="5431354956856655120">"16 MB vienam žurnÄla buferim"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"AnimÄcija ir izslÄ“gta"</item> diff --git a/packages/SettingsLib/res/values-mk-rMK/arrays.xml b/packages/SettingsLib/res/values-mk-rMK/arrays.xml index c97b57796247..588c21ad8a0b 100644 --- a/packages/SettingsLib/res/values-mk-rMK/arrays.xml +++ b/packages/SettingsLib/res/values-mk-rMK/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Секогаш кориÑти ХДЦП проверка"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 K"</item> - <item msgid="505611754508988476">"256 K"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"ИÑклучено"</item> + <item msgid="1593289376502312923">"64.000"</item> + <item msgid="487545340236145324">"256.000"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64.000"</item> - <item msgid="3534782711045262344">"256.000"</item> - <item msgid="8085867209202153403">"1 M"</item> + <item msgid="6089470720451068364">"ИÑклучено"</item> + <item msgid="4622460333038586791">"64.000"</item> + <item msgid="2212125625169582330">"256.000"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 K/меѓумеморија"</item> - <item msgid="2822309747675758628">"256 K/меѓумеморија"</item> - <item msgid="6699306198357496731">"1 M/меѓумеморија"</item> - <item msgid="5748528643937500349">"4 M/меѓумеморија"</item> - <item msgid="1978629051085111592">"16 M/меѓумеморија"</item> + <item msgid="6921048829791179331">"ИÑклучено"</item> + <item msgid="2969458029344750262">"64 K/меѓумеморија"</item> + <item msgid="1342285115665698168">"256 K/меѓумеморија"</item> + <item msgid="1314234299552254621">"1 M/меѓумеморија"</item> + <item msgid="3606047780792894151">"4 M/меѓумеморија"</item> + <item msgid="5431354956856655120">"16 M/меѓумеморија"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Без анимација"</item> diff --git a/packages/SettingsLib/res/values-mk-rMK/strings.xml b/packages/SettingsLib/res/values-mk-rMK/strings.xml index e01d00c72141..51c256817024 100644 --- a/packages/SettingsLib/res/values-mk-rMK/strings.xml +++ b/packages/SettingsLib/res/values-mk-rMK/strings.xml @@ -97,7 +97,7 @@ <string name="running_process_item_user_label" msgid="3129887865552025943">"КориÑник: <xliff:g id="USER_NAME">%1$s</xliff:g>"</string> <string name="launch_defaults_some" msgid="313159469856372621">"ПоÑтавени Ñе некои Ñтандардни вредноÑти"</string> <string name="launch_defaults_none" msgid="4241129108140034876">"Ðема поÑтавено Ñтандардни вредноÑти"</string> - <string name="tts_settings" msgid="8186971894801348327">"ПодеÑувања на текÑÑ‚-во-говор"</string> + <string name="tts_settings" msgid="8186971894801348327">"ПоÑтавки на текÑÑ‚-во-говор"</string> <string name="tts_settings_title" msgid="1237820681016639683">"Излез текÑÑ‚-во-говор"</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"Брзина на говор"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"Брзина Ñо која Ñе кажува текÑтот"</string> @@ -117,7 +117,7 @@ <string name="tts_status_requires_network" msgid="6042500821503226892">"<xliff:g id="LOCALE">%1$s</xliff:g> бара мрежно поврзување"</string> <string name="tts_status_not_supported" msgid="4491154212762472495">"<xliff:g id="LOCALE">%1$s</xliff:g> не е поддржано"</string> <string name="tts_status_checking" msgid="5339150797940483592">"Се проверува..."</string> - <string name="tts_engine_settings_title" msgid="3499112142425680334">"ПодеÑувања на <xliff:g id="TTS_ENGINE_NAME">%s</xliff:g>"</string> + <string name="tts_engine_settings_title" msgid="3499112142425680334">"ПоÑтавки на <xliff:g id="TTS_ENGINE_NAME">%s</xliff:g>"</string> <string name="tts_engine_settings_button" msgid="1030512042040722285">"Стартувај подеÑувања на Ñофтвер"</string> <string name="tts_engine_preference_section_title" msgid="448294500990971413">"Претпочитан Ñофтвер"</string> <string name="tts_general_section_title" msgid="4402572014604490502">"Општо"</string> diff --git a/packages/SettingsLib/res/values-ml-rIN/arrays.xml b/packages/SettingsLib/res/values-ml-rIN/arrays.xml index 404b20a62eb0..f04cc6524fd0 100644 --- a/packages/SettingsLib/res/values-ml-rIN/arrays.xml +++ b/packages/SettingsLib/res/values-ml-rIN/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"à´Žà´²àµà´²à´¾à´¯àµâ€Œà´ªàµà´ªàµ‹à´´àµà´‚ HDCP പരിശോധന ഉപയോഗികàµà´•àµà´•"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"à´“à´«àµ"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"à´“à´«àµ"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"ഓരോ ലോഗൠബഫറിനàµà´‚ 64K"</item> - <item msgid="2822309747675758628">"ഓരോ ലോഗൠബഫറിനàµà´‚ 256K"</item> - <item msgid="6699306198357496731">"ഓരോ ലോഗൠബഫറിനàµà´‚ 1M"</item> - <item msgid="5748528643937500349">"ഓരോ ലോഗൠബഫറിനàµà´‚ 4M"</item> - <item msgid="1978629051085111592">"ഓരോ ലോഗൠബഫറിനàµà´‚ 16M"</item> + <item msgid="6921048829791179331">"à´“à´«àµ"</item> + <item msgid="2969458029344750262">"ഓരോ ലോഗൠബഫറിനàµà´‚ 64K"</item> + <item msgid="1342285115665698168">"ഓരോ ലോഗൠബഫറിനàµà´‚ 256K"</item> + <item msgid="1314234299552254621">"ഓരോ ലോഗൠബഫറിനàµà´‚ 1M"</item> + <item msgid="3606047780792894151">"ഓരോ ലോഗൠബഫറിനàµà´‚ 4M"</item> + <item msgid="5431354956856655120">"ഓരോ ലോഗൠബഫറിനàµà´‚ 16M"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"ആനിമേഷൻ à´“à´«àµà´šàµ†à´¯àµà´¯àµà´•"</item> diff --git a/packages/SettingsLib/res/values-mn-rMN/arrays.xml b/packages/SettingsLib/res/values-mn-rMN/arrays.xml index c4c6d28c9a73..c4bbbcbf44dd 100644 --- a/packages/SettingsLib/res/values-mn-rMN/arrays.xml +++ b/packages/SettingsLib/res/values-mn-rMN/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Байнга HDCP шалгахыг ашиглах"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1М"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"ИдÑвхгүй"</item> + <item msgid="1593289376502312923">"64000"</item> + <item msgid="487545340236145324">"256000"</item> + <item msgid="2423528675294333831">"1 ÑаÑ"</item> + <item msgid="180883774509476541">"4 ÑаÑ"</item> + <item msgid="2803199102589126938">"16 ÑаÑ"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1М"</item> + <item msgid="6089470720451068364">"ИдÑвхгүй"</item> + <item msgid="4622460333038586791">"64000"</item> + <item msgid="2212125625169582330">"256000"</item> + <item msgid="1704946766699242653">"1 ÑаÑ"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"лог буфер бүрт 64K"</item> - <item msgid="2822309747675758628">"лог буфер бүрт 256K"</item> - <item msgid="6699306198357496731">"лог буфер бүрт 1M"</item> - <item msgid="5748528643937500349">"лог буфер бүрт 4M"</item> - <item msgid="1978629051085111592">"лог буфер бүрт 16M"</item> + <item msgid="6921048829791179331">"ИдÑвхгүй"</item> + <item msgid="2969458029344750262">"лог буфер бүрт 64K"</item> + <item msgid="1342285115665698168">"лог буфер бүрт 256K"</item> + <item msgid="1314234299552254621">"лог буфер бүрт 1M"</item> + <item msgid="3606047780792894151">"лог буфер бүрт 4M"</item> + <item msgid="5431354956856655120">"лог буфер бүрт 16M"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Ð”Ò¯Ñ€Ñ Ð°Ð¼Ð¸Ð»ÑƒÑƒÐ»Ð°Ð»Ñ‚ идÑвхгүй"</item> diff --git a/packages/SettingsLib/res/values-mr-rIN/arrays.xml b/packages/SettingsLib/res/values-mr-rIN/arrays.xml index 70c11577542c..2f07389c7592 100644 --- a/packages/SettingsLib/res/values-mr-rIN/arrays.xml +++ b/packages/SettingsLib/res/values-mr-rIN/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"नेहमी HDCP तपासणी वापरा"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"बंद"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"बंद"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"पà¥à¤°à¤¤à¤¿ लॉग बफर 64K"</item> - <item msgid="2822309747675758628">"पà¥à¤°à¤¤à¤¿ लॉग बफर 256K"</item> - <item msgid="6699306198357496731">"पà¥à¤°à¤¤à¤¿ लॉग बफर 1M"</item> - <item msgid="5748528643937500349">"पà¥à¤°à¤¤à¤¿ लॉग बफर 4M"</item> - <item msgid="1978629051085111592">"पà¥à¤°à¤¤à¤¿ लॉग बफर 16M"</item> + <item msgid="6921048829791179331">"बंद"</item> + <item msgid="2969458029344750262">"पà¥à¤°à¤¤à¤¿ लॉग बफर 64K"</item> + <item msgid="1342285115665698168">"पà¥à¤°à¤¤à¤¿ लॉग बफर 256K"</item> + <item msgid="1314234299552254621">"पà¥à¤°à¤¤à¤¿ लॉग बफर 1M"</item> + <item msgid="3606047780792894151">"पà¥à¤°à¤¤à¤¿ लॉग बफर 4M"</item> + <item msgid="5431354956856655120">"पà¥à¤°à¤¤à¤¿ लॉग बफर 16M"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"अॅनिमेशन बंद"</item> diff --git a/packages/SettingsLib/res/values-ms-rMY/arrays.xml b/packages/SettingsLib/res/values-ms-rMY/arrays.xml index 320fa9bfdf22..49f0f289e83c 100644 --- a/packages/SettingsLib/res/values-ms-rMY/arrays.xml +++ b/packages/SettingsLib/res/values-ms-rMY/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Sentiasa gunakan penyemakan HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"Mati"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"Mati"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64K per penimbal log"</item> - <item msgid="2822309747675758628">"256K per penimbal log"</item> - <item msgid="6699306198357496731">"1M per penimbal log"</item> - <item msgid="5748528643937500349">"4M per penimbal log"</item> - <item msgid="1978629051085111592">"16M per penimbal log"</item> + <item msgid="6921048829791179331">"Mati"</item> + <item msgid="2969458029344750262">"64K per penimbal log"</item> + <item msgid="1342285115665698168">"256K per penimbal log"</item> + <item msgid="1314234299552254621">"1M per penimbal log"</item> + <item msgid="3606047780792894151">"4M per penimbal log"</item> + <item msgid="5431354956856655120">"16M per penimbal log"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animasi dimatikan"</item> diff --git a/packages/SettingsLib/res/values-my-rMM/arrays.xml b/packages/SettingsLib/res/values-my-rMM/arrays.xml index 71b35ad5dbea..ad3a59fadee8 100644 --- a/packages/SettingsLib/res/values-my-rMM/arrays.xml +++ b/packages/SettingsLib/res/values-my-rMM/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"HDCP checkingအားအမြဲသုံးပါ"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"ပá€á€á€ºá€•ါ"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"á†á„K"</item> - <item msgid="3534782711045262344">"á‚á…á†K"</item> - <item msgid="8085867209202153403">"áM"</item> + <item msgid="6089470720451068364">"ပá€á€á€ºá€•ါ"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64K လော့ ဘာဖားá€á€½á€€á€º"</item> - <item msgid="2822309747675758628">"256K လော့ ဘာဖားá€á€½á€€á€º"</item> - <item msgid="6699306198357496731">"1M လော့ ဘာဖားá€á€½á€€á€º"</item> - <item msgid="5748528643937500349">"4M လော့ ဘာဖားá€á€½á€€á€º"</item> - <item msgid="1978629051085111592">"16M လော့ ဘာဖားá€á€½á€€á€º"</item> + <item msgid="6921048829791179331">"ပá€á€á€ºá€•ါ"</item> + <item msgid="2969458029344750262">"မှá€á€ºá€á€™á€ºá€¸á€šá€¬á€šá€®á€€á€¼á€¬á€¸á€á€¶á€”ယ်á€á€…်á€á€¯á€œá€»á€¾á€„် 64K"</item> + <item msgid="1342285115665698168">"မှá€á€ºá€á€™á€ºá€¸á€šá€¬á€šá€®á€€á€¼á€¬á€¸á€á€¶á€”ယ်á€á€…်á€á€¯á€œá€»á€¾á€„် 256K"</item> + <item msgid="1314234299552254621">"မှá€á€ºá€á€™á€ºá€¸á€šá€¬á€šá€®á€€á€¼á€¬á€¸á€á€¶á€”ယ်á€á€…်á€á€¯á€œá€»á€¾á€„် 1M"</item> + <item msgid="3606047780792894151">"မှá€á€ºá€á€™á€ºá€¸á€šá€¬á€šá€®á€€á€¼á€¬á€¸á€á€¶á€”ယ်á€á€…်á€á€¯á€œá€»á€¾á€„် 4M"</item> + <item msgid="5431354956856655120">"မှá€á€ºá€á€™á€ºá€¸á€šá€¬á€šá€®á€€á€¼á€¬á€¸á€á€¶á€”ယ်á€á€…်á€á€¯á€œá€»á€¾á€„် 16M"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"လှုပ်ရှားသက်á€á€„်မှုပုံများကá€á€¯á€•á€á€á€ºá€•ါ"</item> diff --git a/packages/SettingsLib/res/values-nb/arrays.xml b/packages/SettingsLib/res/values-nb/arrays.xml index 0877f5c525fe..8311db392da1 100644 --- a/packages/SettingsLib/res/values-nb/arrays.xml +++ b/packages/SettingsLib/res/values-nb/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Bruk alltid HDCP-kontroll"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 kB"</item> - <item msgid="505611754508988476">"256 kB"</item> - <item msgid="6361286924268716397">"1 MB"</item> - <item msgid="6405203239560695266">"4 MB"</item> - <item msgid="3025431211013424097">"16 MB"</item> + <item msgid="8665206199209698501">"Av"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 000"</item> - <item msgid="3534782711045262344">"256 000"</item> - <item msgid="8085867209202153403">"1 million"</item> + <item msgid="6089470720451068364">"Av"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 kB pr loggbuffer"</item> - <item msgid="2822309747675758628">"256 kB pr buffer"</item> - <item msgid="6699306198357496731">"1 MB pr loggbuffer"</item> - <item msgid="5748528643937500349">"4 MB pr loggbuffer"</item> - <item msgid="1978629051085111592">"16 MB pr loggbuffer"</item> + <item msgid="6921048829791179331">"Av"</item> + <item msgid="2969458029344750262">"64K per loggbuffer"</item> + <item msgid="1342285115665698168">"256K per loggbuffer"</item> + <item msgid="1314234299552254621">"1M per loggbuffer"</item> + <item msgid="3606047780792894151">"4M per loggbuffer"</item> + <item msgid="5431354956856655120">"16M per loggbuffer"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animasjon av"</item> diff --git a/packages/SettingsLib/res/values-ne-rNP/arrays.xml b/packages/SettingsLib/res/values-ne-rNP/arrays.xml index 99ec88150145..7468982d7eea 100644 --- a/packages/SettingsLib/res/values-ne-rNP/arrays.xml +++ b/packages/SettingsLib/res/values-ne-rNP/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"सधैठHDCP जाà¤à¤š पà¥à¤°à¤¯à¥‹à¤— गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"निषà¥à¤•à¥à¤°à¤¿à¤¯ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</item> + <item msgid="1593289376502312923">"६४के"</item> + <item msgid="487545340236145324">"२५६के"</item> + <item msgid="2423528675294333831">"१à¤à¤®"</item> + <item msgid="180883774509476541">"४à¤à¤®"</item> + <item msgid="2803199102589126938">"१६à¤à¤®"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"६४K"</item> - <item msgid="3534782711045262344">"२५६K"</item> - <item msgid="8085867209202153403">"१ मेगा पिकà¥à¤¸à¥‡à¤²"</item> + <item msgid="6089470720451068364">"निषà¥à¤•à¥à¤°à¤¿à¤¯ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</item> + <item msgid="4622460333038586791">"६४के"</item> + <item msgid="2212125625169582330">"२५६के"</item> + <item msgid="1704946766699242653">"१à¤à¤®"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64K पà¥à¤°à¤¤à¤¿ लग बफर"</item> - <item msgid="2822309747675758628">"256K पà¥à¤°à¤¤à¤¿ लग बफर"</item> - <item msgid="6699306198357496731">"1M पà¥à¤°à¤¤à¤¿ लग बफर"</item> - <item msgid="5748528643937500349">"4M पà¥à¤°à¤¤à¤¿ लग बफर"</item> - <item msgid="1978629051085111592">"16M पà¥à¤°à¤¤à¤¿ लग बफर"</item> + <item msgid="6921048829791179331">"निषà¥à¤•à¥à¤°à¤¿à¤¯ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</item> + <item msgid="2969458029344750262">"६४के पà¥à¤°à¤¤à¤¿ लग बफर"</item> + <item msgid="1342285115665698168">"२५६के पà¥à¤°à¤¤à¤¿ लग बफर"</item> + <item msgid="1314234299552254621">"१à¤à¤® पà¥à¤°à¤¤à¤¿ लग बफर"</item> + <item msgid="3606047780792894151">"४à¤à¤® पà¥à¤°à¤¤à¤¿ लग बफर"</item> + <item msgid="5431354956856655120">"१६à¤à¤® पà¥à¤°à¤¤à¤¿ लग बफर"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"सजीविकरण बनà¥à¤¦"</item> diff --git a/packages/SettingsLib/res/values-nl/arrays.xml b/packages/SettingsLib/res/values-nl/arrays.xml index 7f76bba56005..48b135dcd5ae 100644 --- a/packages/SettingsLib/res/values-nl/arrays.xml +++ b/packages/SettingsLib/res/values-nl/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"HDCP-controle altijd gebruiken"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"Uit"</item> + <item msgid="1593289376502312923">"64 K"</item> + <item msgid="487545340236145324">"256 K"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"Uit"</item> + <item msgid="4622460333038586791">"64 K"</item> + <item msgid="2212125625169582330">"256 K"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64K per logbuffer"</item> - <item msgid="2822309747675758628">"256K per logbuffer"</item> - <item msgid="6699306198357496731">"1M per logbuffer"</item> - <item msgid="5748528643937500349">"4M per logbuffer"</item> - <item msgid="1978629051085111592">"16M per logbuffer"</item> + <item msgid="6921048829791179331">"Uit"</item> + <item msgid="2969458029344750262">"64 K per logbuffer"</item> + <item msgid="1342285115665698168">"256 K per logbuffer"</item> + <item msgid="1314234299552254621">"1 M per logbuffer"</item> + <item msgid="3606047780792894151">"4 M per logbuffer"</item> + <item msgid="5431354956856655120">"16 M per logbuffer"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animatie uit"</item> diff --git a/packages/SettingsLib/res/values-pa-rIN/arrays.xml b/packages/SettingsLib/res/values-pa-rIN/arrays.xml index fa624a02eb2c..d644da636e41 100644 --- a/packages/SettingsLib/res/values-pa-rIN/arrays.xml +++ b/packages/SettingsLib/res/values-pa-rIN/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"ਹਮੇਸਾਂ HDCP ਜਾਂਚ ਵਰਤੋ"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"ਬੰਦ"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"ਬੰਦ"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64K ਪà©à¨°à¨¤à©€ ਲੌਗ ਬਫਰ"</item> - <item msgid="2822309747675758628">"256K ਪà©à¨°à¨¤à©€ ਲੌਗ ਬਫਰ"</item> - <item msgid="6699306198357496731">"1M ਪà©à¨°à¨¤à©€ ਲੌਗ ਬਫਰ"</item> - <item msgid="5748528643937500349">"4M ਪà©à¨°à¨¤à©€ ਲੌਗ ਬਫਰ"</item> - <item msgid="1978629051085111592">"16M ਪà©à¨°à¨¤à©€ ਲੌਗ ਬਫਰ"</item> + <item msgid="6921048829791179331">"ਬੰਦ"</item> + <item msgid="2969458029344750262">"64K ਪà©à¨°à¨¤à©€ ਲੌਗ ਬਫਰ"</item> + <item msgid="1342285115665698168">"256K ਪà©à¨°à¨¤à©€ ਲੌਗ ਬਫਰ"</item> + <item msgid="1314234299552254621">"1M ਪà©à¨°à¨¤à©€ ਲੌਗ ਬਫਰ"</item> + <item msgid="3606047780792894151">"4M ਪà©à¨°à¨¤à©€ ਲੌਗ ਬਫਰ"</item> + <item msgid="5431354956856655120">"16M ਪà©à¨°à¨¤à©€ ਲੌਗ ਬਫਰ"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"à¨à¨¨à©€à¨®à©‡à¨¸à¨¼à¨¨ ਬੰਦ"</item> diff --git a/packages/SettingsLib/res/values-pl/arrays.xml b/packages/SettingsLib/res/values-pl/arrays.xml index 8df26cd333b7..3b3e95d8eb14 100644 --- a/packages/SettingsLib/res/values-pl/arrays.xml +++ b/packages/SettingsLib/res/values-pl/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Zawsze używaj sprawdzania HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 KB"</item> - <item msgid="505611754508988476">"256 KB"</item> - <item msgid="6361286924268716397">"1 MB"</item> - <item msgid="6405203239560695266">"4 MB"</item> - <item msgid="3025431211013424097">"16 MB"</item> + <item msgid="8665206199209698501">"WyÅ‚."</item> + <item msgid="1593289376502312923">"64 KB"</item> + <item msgid="487545340236145324">"256 KB"</item> + <item msgid="2423528675294333831">"1 MB"</item> + <item msgid="180883774509476541">"4 MB"</item> + <item msgid="2803199102589126938">"16 MB"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 KB"</item> - <item msgid="3534782711045262344">"256 KB"</item> - <item msgid="8085867209202153403">"1 MB"</item> + <item msgid="6089470720451068364">"WyÅ‚."</item> + <item msgid="4622460333038586791">"64 KB"</item> + <item msgid="2212125625169582330">"256 KB"</item> + <item msgid="1704946766699242653">"1 MB"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 KB/bufor dziennika"</item> - <item msgid="2822309747675758628">"256 KB/bufor dziennika"</item> - <item msgid="6699306198357496731">"1 MB/bufor dziennika"</item> - <item msgid="5748528643937500349">"4 MB/bufor dziennika"</item> - <item msgid="1978629051085111592">"16 MB/bufor dziennika"</item> + <item msgid="6921048829791179331">"WyÅ‚."</item> + <item msgid="2969458029344750262">"64 KB/bufor dziennika"</item> + <item msgid="1342285115665698168">"256 KB/bufor dziennika"</item> + <item msgid="1314234299552254621">"1 MB/bufor dziennika"</item> + <item msgid="3606047780792894151">"4 MB/bufor dziennika"</item> + <item msgid="5431354956856655120">"16 MB/bufor dziennika"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animacja wyłączona"</item> diff --git a/packages/SettingsLib/res/values-pt-rBR/arrays.xml b/packages/SettingsLib/res/values-pt-rBR/arrays.xml index d8be2514d1ed..0d94a6de014c 100644 --- a/packages/SettingsLib/res/values-pt-rBR/arrays.xml +++ b/packages/SettingsLib/res/values-pt-rBR/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Sempre usar a verificação HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 K"</item> - <item msgid="505611754508988476">"256 K"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"Desativado"</item> + <item msgid="1593289376502312923">"64 K"</item> + <item msgid="487545340236145324">"256 K"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 K"</item> - <item msgid="3534782711045262344">"256 K"</item> - <item msgid="8085867209202153403">"1 M"</item> + <item msgid="6089470720451068364">"Desativado"</item> + <item msgid="4622460333038586791">"64 K"</item> + <item msgid="2212125625169582330">"256 K"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64K/buffer de log"</item> - <item msgid="2822309747675758628">"256K/buffer de log"</item> - <item msgid="6699306198357496731">"1M/buffer de log"</item> - <item msgid="5748528643937500349">"4M/buffer de log"</item> - <item msgid="1978629051085111592">"16M/buffer de log"</item> + <item msgid="6921048829791179331">"Desativado"</item> + <item msgid="2969458029344750262">"64 K/buffer de log"</item> + <item msgid="1342285115665698168">"256 K/buffer de log"</item> + <item msgid="1314234299552254621">"1 M/buffer de log"</item> + <item msgid="3606047780792894151">"4 M/buffer de log"</item> + <item msgid="5431354956856655120">"16 M/buffer de log"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animação desligada"</item> diff --git a/packages/SettingsLib/res/values-pt-rPT/arrays.xml b/packages/SettingsLib/res/values-pt-rPT/arrays.xml index 693430ceed89..6e84fcec977b 100644 --- a/packages/SettingsLib/res/values-pt-rPT/arrays.xml +++ b/packages/SettingsLib/res/values-pt-rPT/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Utilizar sempre a verificação HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 K"</item> - <item msgid="505611754508988476">"256 K"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"Desativado"</item> + <item msgid="1593289376502312923">"64 K"</item> + <item msgid="487545340236145324">"256 K"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 K"</item> - <item msgid="3534782711045262344">"256 K"</item> - <item msgid="8085867209202153403">"1 M"</item> + <item msgid="6089470720451068364">"Desativado"</item> + <item msgid="4622460333038586791">"64 K"</item> + <item msgid="2212125625169582330">"256 K"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"Mem. int. 64K p rg."</item> - <item msgid="2822309747675758628">"Mem. int. 256K p rg"</item> - <item msgid="6699306198357496731">"Mem. int. 1M p reg."</item> - <item msgid="5748528643937500349">"Mem. int. 4M p reg."</item> - <item msgid="1978629051085111592">"Mem. int. 16M p. rg"</item> + <item msgid="6921048829791179331">"Desativado"</item> + <item msgid="2969458029344750262">"64 K por buffer de registo"</item> + <item msgid="1342285115665698168">"256 K por buffer de registo"</item> + <item msgid="1314234299552254621">"1 M por buffer de registo"</item> + <item msgid="3606047780792894151">"4 M por buffer de registo"</item> + <item msgid="5431354956856655120">"16 M por buffer de registo"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animação desativada"</item> diff --git a/packages/SettingsLib/res/values-pt/arrays.xml b/packages/SettingsLib/res/values-pt/arrays.xml index d8be2514d1ed..0d94a6de014c 100644 --- a/packages/SettingsLib/res/values-pt/arrays.xml +++ b/packages/SettingsLib/res/values-pt/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Sempre usar a verificação HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 K"</item> - <item msgid="505611754508988476">"256 K"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"Desativado"</item> + <item msgid="1593289376502312923">"64 K"</item> + <item msgid="487545340236145324">"256 K"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 K"</item> - <item msgid="3534782711045262344">"256 K"</item> - <item msgid="8085867209202153403">"1 M"</item> + <item msgid="6089470720451068364">"Desativado"</item> + <item msgid="4622460333038586791">"64 K"</item> + <item msgid="2212125625169582330">"256 K"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64K/buffer de log"</item> - <item msgid="2822309747675758628">"256K/buffer de log"</item> - <item msgid="6699306198357496731">"1M/buffer de log"</item> - <item msgid="5748528643937500349">"4M/buffer de log"</item> - <item msgid="1978629051085111592">"16M/buffer de log"</item> + <item msgid="6921048829791179331">"Desativado"</item> + <item msgid="2969458029344750262">"64 K/buffer de log"</item> + <item msgid="1342285115665698168">"256 K/buffer de log"</item> + <item msgid="1314234299552254621">"1 M/buffer de log"</item> + <item msgid="3606047780792894151">"4 M/buffer de log"</item> + <item msgid="5431354956856655120">"16 M/buffer de log"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animação desligada"</item> diff --git a/packages/SettingsLib/res/values-ro/arrays.xml b/packages/SettingsLib/res/values-ro/arrays.xml index f75154f660ca..141f877a64f9 100644 --- a/packages/SettingsLib/res/values-ro/arrays.xml +++ b/packages/SettingsLib/res/values-ro/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Utilizează întotdeauna verificarea HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"Dezactivată"</item> + <item msgid="1593289376502312923">"64 KB"</item> + <item msgid="487545340236145324">"256 KB"</item> + <item msgid="2423528675294333831">"1 MB"</item> + <item msgid="180883774509476541">"4 MB"</item> + <item msgid="2803199102589126938">"16 MB"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 K"</item> - <item msgid="3534782711045262344">"256 K"</item> - <item msgid="8085867209202153403">"1 M"</item> + <item msgid="6089470720451068364">"Dezactivată"</item> + <item msgid="4622460333038586791">"64 KB"</item> + <item msgid="2212125625169582330">"256 KB"</item> + <item msgid="1704946766699242653">"1 MB"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64K/tampon jurnal"</item> - <item msgid="2822309747675758628">"256K/tampon jurnal"</item> - <item msgid="6699306198357496731">"1M/tampon jurnal"</item> - <item msgid="5748528643937500349">"4M/tampon jurnal"</item> - <item msgid="1978629051085111592">"16M/tampon jurnal"</item> + <item msgid="6921048829791179331">"Dezactivată"</item> + <item msgid="2969458029344750262">"64 KB/zonă-tampon de înregistrări în jurnal"</item> + <item msgid="1342285115665698168">"256 KB/zonă-tampon de înregistrări în jurnal"</item> + <item msgid="1314234299552254621">"1 MB/zonă-tampon de înregistrări în jurnal"</item> + <item msgid="3606047780792894151">"4 MB/zonă-tampon de înregistrări în jurnal"</item> + <item msgid="5431354956856655120">"16 MB/zonă-tampon de înregistrări în jurnal"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"AnimaÈ›ie dezactivată"</item> diff --git a/packages/SettingsLib/res/values-ru/arrays.xml b/packages/SettingsLib/res/values-ru/arrays.xml index c8c789eb1e17..78965acc1fb3 100644 --- a/packages/SettingsLib/res/values-ru/arrays.xml +++ b/packages/SettingsLib/res/values-ru/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Ð’Ñегда иÑпользовать проверку HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 КБ"</item> - <item msgid="505611754508988476">"256 КБ"</item> - <item msgid="6361286924268716397">"1 МБ"</item> - <item msgid="6405203239560695266">"4 МБ"</item> - <item msgid="3025431211013424097">"16 МБ"</item> + <item msgid="8665206199209698501">"Выкл."</item> + <item msgid="1593289376502312923">"64 КБ"</item> + <item msgid="487545340236145324">"256 КБ"</item> + <item msgid="2423528675294333831">"1 МБ"</item> + <item msgid="180883774509476541">"4 МБ"</item> + <item msgid="2803199102589126938">"16 МБ"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 КБ"</item> - <item msgid="3534782711045262344">"256 КБ"</item> - <item msgid="8085867209202153403">"1 МБ"</item> + <item msgid="6089470720451068364">"Выкл."</item> + <item msgid="4622460333038586791">"64 КБ"</item> + <item msgid="2212125625169582330">"256 КБ"</item> + <item msgid="1704946766699242653">"1 МБ"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"Буфер: макÑ. 64 КБ"</item> - <item msgid="2822309747675758628">"Буфер: макÑ. 256 КБ"</item> - <item msgid="6699306198357496731">"Буфер: макÑ. 1 МБ"</item> - <item msgid="5748528643937500349">"Буфер: макÑ. 4 МБ"</item> - <item msgid="1978629051085111592">"Буфер: макÑ. 16 МБ"</item> + <item msgid="6921048829791179331">"Выкл."</item> + <item msgid="2969458029344750262">"Буфер: макÑ. 64 КБ"</item> + <item msgid="1342285115665698168">"Буфер: макÑ. 256 КБ"</item> + <item msgid="1314234299552254621">"Буфер: макÑ. 1 МБ"</item> + <item msgid="3606047780792894151">"Буфер: макÑ. 4 МБ"</item> + <item msgid="5431354956856655120">"Буфер: макÑ. 16 МБ"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Без анимации"</item> diff --git a/packages/SettingsLib/res/values-si-rLK/arrays.xml b/packages/SettingsLib/res/values-si-rLK/arrays.xml index 564ecee0b2f4..ab30e458b364 100644 --- a/packages/SettingsLib/res/values-si-rLK/arrays.xml +++ b/packages/SettingsLib/res/values-si-rLK/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"à·ƒà·à¶¸à·€à·’ටම HDCP පිරික්සුම à¶·à·à·€à·’à¶à· කරන්න"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"à¶šà·Šâ€à¶»à·’යà·à·€à·’රහිà¶à¶º"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"à¶šà·Šâ€à¶»à·’යà·à·€à·’රහිà¶à¶º"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"ලොග අන්à¶à¶»à·à·€à¶šà¶§ 64K"</item> - <item msgid="2822309747675758628">"ලොග අන්à¶à¶»à·à·€à¶šà¶§ 256K"</item> - <item msgid="6699306198357496731">"ලොග අන්à¶à¶»à·à·€à¶šà¶§ 1M"</item> - <item msgid="5748528643937500349">"ලොග අන්à¶à¶»à·à·€à¶šà¶§ 4M"</item> - <item msgid="1978629051085111592">"ලොග අන්à¶à¶»à·à·€à¶šà¶§ 16M"</item> + <item msgid="6921048829791179331">"à¶šà·Šâ€à¶»à·’යà·à·€à·’රහිà¶à¶º"</item> + <item msgid="2969458029344750262">"ලොග අන්à¶à¶»à·à·€à¶šà¶§ 64K"</item> + <item msgid="1342285115665698168">"ලොග අන්à¶à¶»à·à·€à¶šà¶§ 256K"</item> + <item msgid="1314234299552254621">"ලොග අන්à¶à¶»à·à·€à¶šà¶§ 1M"</item> + <item msgid="3606047780792894151">"ලොග අන්à¶à¶»à·à·€à¶šà¶§ 4M"</item> + <item msgid="5431354956856655120">"ලොග අන්à¶à¶»à·à·€à¶šà¶§ 16M"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"සජිවිකරණය à¶…à¶šà·Šâ€à¶»à·’ය කිරීම"</item> diff --git a/packages/SettingsLib/res/values-sk/arrays.xml b/packages/SettingsLib/res/values-sk/arrays.xml index ec33e632e893..9a56e7807700 100644 --- a/packages/SettingsLib/res/values-sk/arrays.xml +++ b/packages/SettingsLib/res/values-sk/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Vždy použÃvaÅ¥ kontrolu HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 kB"</item> - <item msgid="505611754508988476">"256 kB"</item> - <item msgid="6361286924268716397">"1 MB"</item> - <item msgid="6405203239560695266">"4 MB"</item> - <item msgid="3025431211013424097">"16 MB"</item> + <item msgid="8665206199209698501">"Vypnuté"</item> + <item msgid="1593289376502312923">"64 kB"</item> + <item msgid="487545340236145324">"256 kB"</item> + <item msgid="2423528675294333831">"1 MB"</item> + <item msgid="180883774509476541">"4 MB"</item> + <item msgid="2803199102589126938">"16 MB"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 kB"</item> - <item msgid="3534782711045262344">"256 kB"</item> - <item msgid="8085867209202153403">"1 MB"</item> + <item msgid="6089470720451068364">"Vypnuté"</item> + <item msgid="4622460333038586791">"64 kB"</item> + <item msgid="2212125625169582330">"256 kB"</item> + <item msgid="1704946766699242653">"1 MB"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 kB na vyrovn. pamäť dennÃka"</item> - <item msgid="2822309747675758628">"256 kB na vyrovn. pamäť dennÃka"</item> - <item msgid="6699306198357496731">"1 MB na vyrovn. pamäť dennÃka"</item> - <item msgid="5748528643937500349">"4 MB na vyrovn. pamäť dennÃka"</item> - <item msgid="1978629051085111592">"16 MB na vyrovn. pamäť dennÃka"</item> + <item msgid="6921048829791179331">"Vypnuté"</item> + <item msgid="2969458029344750262">"64 kB na vyrov. pamäť dennÃka"</item> + <item msgid="1342285115665698168">"256 kB na vyrov. pamäť dennÃka"</item> + <item msgid="1314234299552254621">"1 MB na vyrov. pam. dennÃka"</item> + <item msgid="3606047780792894151">"4 MB na vyrov. pamäť dennÃka"</item> + <item msgid="5431354956856655120">"16 MB na vyrov. pamäť dennÃka"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animácia je vypnutá"</item> diff --git a/packages/SettingsLib/res/values-sl/arrays.xml b/packages/SettingsLib/res/values-sl/arrays.xml index 253f11360e20..11b2babbfadb 100644 --- a/packages/SettingsLib/res/values-sl/arrays.xml +++ b/packages/SettingsLib/res/values-sl/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Vedno uporabi preverjanje HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 K"</item> - <item msgid="505611754508988476">"256 K"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"Izklopljeno"</item> + <item msgid="1593289376502312923">"64 K"</item> + <item msgid="487545340236145324">"256 K"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 K"</item> - <item msgid="3534782711045262344">"256 K"</item> - <item msgid="8085867209202153403">"1 M"</item> + <item msgid="6089470720451068364">"Izklopljeno"</item> + <item msgid="4622460333038586791">"64 K"</item> + <item msgid="2212125625169582330">"256 K"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 K/medpom. dnevn."</item> - <item msgid="2822309747675758628">"256 K/medpom. dnev."</item> - <item msgid="6699306198357496731">"1 M/medpom. dnevn."</item> - <item msgid="5748528643937500349">"4 M/medpom. dnevn."</item> - <item msgid="1978629051085111592">"16 M/medpom. dnevn."</item> + <item msgid="6921048829791179331">"Izklopljeno"</item> + <item msgid="2969458029344750262">"64 K/medpomnilnik dnevnika"</item> + <item msgid="1342285115665698168">"256 K/medpomnilnik dnevnika"</item> + <item msgid="1314234299552254621">"1 M/medpomnilnik dnevnika"</item> + <item msgid="3606047780792894151">"4 M/medpomnilnik dnevnika"</item> + <item msgid="5431354956856655120">"16 M/medpomnilnik dnevnika"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animacija je izkljuÄena"</item> diff --git a/packages/SettingsLib/res/values-sq-rAL/arrays.xml b/packages/SettingsLib/res/values-sq-rAL/arrays.xml index 7473f16625d4..0f0efb8d4259 100644 --- a/packages/SettingsLib/res/values-sq-rAL/arrays.xml +++ b/packages/SettingsLib/res/values-sq-rAL/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Përdor gjithmonë kontrollin e HDCP-së"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"Joaktiv"</item> + <item msgid="1593289376502312923">"64 mijë"</item> + <item msgid="487545340236145324">"256 mijë"</item> + <item msgid="2423528675294333831">"1 milion"</item> + <item msgid="180883774509476541">"4 milionë"</item> + <item msgid="2803199102589126938">"16 milionë"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1 M"</item> + <item msgid="6089470720451068364">"Joaktiv"</item> + <item msgid="4622460333038586791">"64 mijë"</item> + <item msgid="2212125625169582330">"256 mijë"</item> + <item msgid="1704946766699242653">"1 milion"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 mijë / memorie regjistrimi"</item> - <item msgid="2822309747675758628">"256K për çdo memorie të përkohshme"</item> - <item msgid="6699306198357496731">"1 M për memorien e regjistrit"</item> - <item msgid="5748528643937500349">"4 M për memorien e regjistrit"</item> - <item msgid="1978629051085111592">"16 M për memorien e regjistrit"</item> + <item msgid="6921048829791179331">"Joaktiv"</item> + <item msgid="2969458029344750262">"64 mijë/memorie regjistrimi"</item> + <item msgid="1342285115665698168">"256 mijë/memorie regjistrimi"</item> + <item msgid="1314234299552254621">"1 milion/memorie regjistrimi"</item> + <item msgid="3606047780792894151">"4 milionë/memorie regjistrimi"</item> + <item msgid="5431354956856655120">"16 milionë/memorie regjistrimi"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animacioni është i çaktivizuar"</item> diff --git a/packages/SettingsLib/res/values-sr/arrays.xml b/packages/SettingsLib/res/values-sr/arrays.xml index cd44e15e79c2..2389339f9e24 100644 --- a/packages/SettingsLib/res/values-sr/arrays.xml +++ b/packages/SettingsLib/res/values-sr/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Увек кориÑти HDCP проверу"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 kB"</item> - <item msgid="505611754508988476">"256 kB"</item> - <item msgid="6361286924268716397">"1 MB"</item> - <item msgid="6405203239560695266">"4 MB"</item> - <item msgid="3025431211013424097">"16 MB"</item> + <item msgid="8665206199209698501">"ИÑкључено"</item> + <item msgid="1593289376502312923">"64 kB"</item> + <item msgid="487545340236145324">"256 kB"</item> + <item msgid="2423528675294333831">"1 MB"</item> + <item msgid="180883774509476541">"4 MB"</item> + <item msgid="2803199102589126938">"16 MB"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 kB"</item> - <item msgid="3534782711045262344">"256 kB"</item> - <item msgid="8085867209202153403">"1 MB"</item> + <item msgid="6089470720451068364">"ИÑкључено"</item> + <item msgid="4622460333038586791">"64 kB"</item> + <item msgid="2212125625169582330">"256 kB"</item> + <item msgid="1704946766699242653">"1 MB"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 kB по баферу евиденције"</item> - <item msgid="2822309747675758628">"256 kB по баферу евиденције"</item> - <item msgid="6699306198357496731">"1 MB по баферу евиденције"</item> - <item msgid="5748528643937500349">"4 MB по баферу евиденције"</item> - <item msgid="1978629051085111592">"16 MB по баферу евиденције"</item> + <item msgid="6921048829791179331">"ИÑкључено"</item> + <item msgid="2969458029344750262">"64 kB по међумеморији евиденције"</item> + <item msgid="1342285115665698168">"256 kB по међумеморији евиденције"</item> + <item msgid="1314234299552254621">"1 MB по међумеморији евиденције"</item> + <item msgid="3606047780792894151">"4 MB по међумеморији евиденције"</item> + <item msgid="5431354956856655120">"16 MB по међумеморији евиденције"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Ðнимација је иÑкључена"</item> diff --git a/packages/SettingsLib/res/values-sv/arrays.xml b/packages/SettingsLib/res/values-sv/arrays.xml index 54537f46977e..cbc7dde1cdb5 100644 --- a/packages/SettingsLib/res/values-sv/arrays.xml +++ b/packages/SettingsLib/res/values-sv/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Använd alltid HDCP-kontroll"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 kB"</item> - <item msgid="505611754508988476">"256 kB"</item> - <item msgid="6361286924268716397">"1 MB"</item> - <item msgid="6405203239560695266">"4 MB"</item> - <item msgid="3025431211013424097">"16 MB"</item> + <item msgid="8665206199209698501">"Av"</item> + <item msgid="1593289376502312923">"64 kB"</item> + <item msgid="487545340236145324">"256 kB"</item> + <item msgid="2423528675294333831">"1 MB"</item> + <item msgid="180883774509476541">"4 MB"</item> + <item msgid="2803199102589126938">"16 MB"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 kB"</item> - <item msgid="3534782711045262344">"256 kB"</item> - <item msgid="8085867209202153403">"1 MB"</item> + <item msgid="6089470720451068364">"Av"</item> + <item msgid="4622460333038586791">"64 kB"</item> + <item msgid="2212125625169582330">"256 kB"</item> + <item msgid="1704946766699242653">"1 MB"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 kB/loggbuffert"</item> - <item msgid="2822309747675758628">"256 kB/loggbuffert"</item> - <item msgid="6699306198357496731">"1 MB/loggbuffert"</item> - <item msgid="5748528643937500349">"4 MB/loggbuffert"</item> - <item msgid="1978629051085111592">"16 MB/loggbuffert"</item> + <item msgid="6921048829791179331">"Av"</item> + <item msgid="2969458029344750262">"64 kB/loggbuffert"</item> + <item msgid="1342285115665698168">"256 kB/loggbuffert"</item> + <item msgid="1314234299552254621">"1 MB/loggbuffert"</item> + <item msgid="3606047780792894151">"4 MB/loggbuffert"</item> + <item msgid="5431354956856655120">"16 MB/loggbuffert"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animering avstängd"</item> diff --git a/packages/SettingsLib/res/values-sw/arrays.xml b/packages/SettingsLib/res/values-sw/arrays.xml index 450e385c0a86..8593fd52971b 100644 --- a/packages/SettingsLib/res/values-sw/arrays.xml +++ b/packages/SettingsLib/res/values-sw/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Kila wakati tumia ukakuaji wa HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"K64"</item> - <item msgid="505611754508988476">"K256"</item> - <item msgid="6361286924268716397">"M1"</item> - <item msgid="6405203239560695266">"M4"</item> - <item msgid="3025431211013424097">"M16"</item> + <item msgid="8665206199209698501">"Imezimwa"</item> + <item msgid="1593289376502312923">"K64"</item> + <item msgid="487545340236145324">"K256"</item> + <item msgid="2423528675294333831">"M1"</item> + <item msgid="180883774509476541">"M4"</item> + <item msgid="2803199102589126938">"M16"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"K64"</item> - <item msgid="3534782711045262344">"K256"</item> - <item msgid="8085867209202153403">"M1"</item> + <item msgid="6089470720451068364">"Imezimwa"</item> + <item msgid="4622460333038586791">"K64"</item> + <item msgid="2212125625169582330">"K256"</item> + <item msgid="1704946766699242653">"M1"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"K64 kwa kumbukumbu"</item> - <item msgid="2822309747675758628">"K256 kwa kumbukumbu"</item> - <item msgid="6699306198357496731">"M1 kwa kumbukumbu"</item> - <item msgid="5748528643937500349">"M4 kwa kumbukumbu"</item> - <item msgid="1978629051085111592">"M16 kwa kumbukumbu"</item> + <item msgid="6921048829791179331">"Imezimwa"</item> + <item msgid="2969458029344750262">"K64 kwa kila akiba ya kumbukumbu"</item> + <item msgid="1342285115665698168">"K256 kwa kila akiba ya kumbukumbu"</item> + <item msgid="1314234299552254621">"M1 kwa kila akiba ya kumbukumbu"</item> + <item msgid="3606047780792894151">"M4 kwa kila akiba ya kumbukumbu"</item> + <item msgid="5431354956856655120">"M16 kwa kila akiba ya kumbukumbu"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Haiwani imezimwa"</item> diff --git a/packages/SettingsLib/res/values-ta-rIN/arrays.xml b/packages/SettingsLib/res/values-ta-rIN/arrays.xml index ad421595f93c..18deff36cc2d 100644 --- a/packages/SettingsLib/res/values-ta-rIN/arrays.xml +++ b/packages/SettingsLib/res/values-ta-rIN/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"HDCP சரிபாரà¯à®ªà¯à®ªà¯ˆ எபà¯à®ªà¯‹à®¤à¯à®®à¯ பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"à®®à¯à®Ÿà®•à¯à®•à¯"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"à®®à¯à®Ÿà®•à¯à®•à¯"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64K / லாக௠பஃபரà¯"</item> - <item msgid="2822309747675758628">"256K / லாக௠பஃபரà¯"</item> - <item msgid="6699306198357496731">"1M / லாக௠பஃபரà¯"</item> - <item msgid="5748528643937500349">"4M / லாக௠பஃபரà¯"</item> - <item msgid="1978629051085111592">"16M / லாக௠பஃபரà¯"</item> + <item msgid="6921048829791179331">"à®®à¯à®Ÿà®•à¯à®•தà¯à®¤à®¿à®²à¯"</item> + <item msgid="2969458029344750262">"64K / லாக௠பஃபரà¯"</item> + <item msgid="1342285115665698168">"256K / லாக௠பஃபரà¯"</item> + <item msgid="1314234299552254621">"1M / லாக௠பஃபரà¯"</item> + <item msgid="3606047780792894151">"4M / லாக௠பஃபரà¯"</item> + <item msgid="5431354956856655120">"16M / லாக௠பஃபரà¯"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"அனிமேஷனை à®®à¯à®Ÿà®•à¯à®•à¯"</item> diff --git a/packages/SettingsLib/res/values-te-rIN/arrays.xml b/packages/SettingsLib/res/values-te-rIN/arrays.xml index 9287aba3fe27..3ba0dc7f155d 100644 --- a/packages/SettingsLib/res/values-te-rIN/arrays.xml +++ b/packages/SettingsLib/res/values-te-rIN/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"à°Žà°ªà±à°ªà°Ÿà°¿à°•à±€ HDCP తనిఖీని ఉపయోగించà±"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"ఆఫà±"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"ఆఫà±"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"లాగౠబఫరà±â€Œà°•à°¿ 64K"</item> - <item msgid="2822309747675758628">"లాగౠబఫరà±â€Œà°•à°¿ 256K"</item> - <item msgid="6699306198357496731">"లాగౠబఫరà±â€Œà°•à°¿ 1M"</item> - <item msgid="5748528643937500349">"లాగౠబఫరà±â€Œà°•à°¿ 4M"</item> - <item msgid="1978629051085111592">"లాగౠబఫరà±â€Œà°•à°¿ 16M"</item> + <item msgid="6921048829791179331">"ఆఫౠచేయబడింది"</item> + <item msgid="2969458029344750262">"లాగౠబఫరà±â€Œà°•à°¿ 64K"</item> + <item msgid="1342285115665698168">"లాగౠబఫరà±â€Œà°•à°¿ 256K"</item> + <item msgid="1314234299552254621">"లాగౠబఫరà±â€Œà°•à°¿ 1M"</item> + <item msgid="3606047780792894151">"లాగౠబఫరà±â€Œà°•à°¿ 4M"</item> + <item msgid="5431354956856655120">"లాగౠబఫరà±â€Œà°•à°¿ 16M"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"యానిమేషనౠఆఫà±â€Œà°²à±‹ ఉంది"</item> diff --git a/packages/SettingsLib/res/values-th/arrays.xml b/packages/SettingsLib/res/values-th/arrays.xml index 43d273970e59..4282975b2cba 100644 --- a/packages/SettingsLib/res/values-th/arrays.xml +++ b/packages/SettingsLib/res/values-th/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"ใช้à¸à¸²à¸£à¸•รวจสà¸à¸š HDCP เสมà¸"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 K"</item> - <item msgid="505611754508988476">"256 K"</item> - <item msgid="6361286924268716397">"1 M"</item> - <item msgid="6405203239560695266">"4 M"</item> - <item msgid="3025431211013424097">"16 M"</item> + <item msgid="8665206199209698501">"ปิด"</item> + <item msgid="1593289376502312923">"64 K"</item> + <item msgid="487545340236145324">"256 K"</item> + <item msgid="2423528675294333831">"1 M"</item> + <item msgid="180883774509476541">"4 M"</item> + <item msgid="2803199102589126938">"16 M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 K"</item> - <item msgid="3534782711045262344">"256 K"</item> - <item msgid="8085867209202153403">"1 M"</item> + <item msgid="6089470720451068364">"ปิด"</item> + <item msgid="4622460333038586791">"64 K"</item> + <item msgid="2212125625169582330">"256 K"</item> + <item msgid="1704946766699242653">"1 M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64 K ต่à¸à¸šà¸±à¸Ÿà¹€à¸Ÿà¸à¸£à¹Œà¹„ฟล์บันทึà¸"</item> - <item msgid="2822309747675758628">"256 K ต่à¸à¸šà¸±à¸Ÿà¹€à¸Ÿà¸à¸£à¹Œà¹„ฟล์บันทึà¸"</item> - <item msgid="6699306198357496731">"1 M ต่à¸à¸šà¸±à¸Ÿà¹€à¸Ÿà¸à¸£à¹Œà¹„ฟล์บันทึà¸"</item> - <item msgid="5748528643937500349">"4 M ต่à¸à¸šà¸±à¸Ÿà¹€à¸Ÿà¸à¸£à¹Œà¹„ฟล์บันทึà¸"</item> - <item msgid="1978629051085111592">"16 M ต่à¸à¸šà¸±à¸Ÿà¹€à¸Ÿà¸à¸£à¹Œà¹„ฟล์บันทึà¸"</item> + <item msgid="6921048829791179331">"ปิด"</item> + <item msgid="2969458029344750262">"64 K ต่à¸à¸šà¸±à¸Ÿà¹€à¸Ÿà¸à¸£à¹Œà¹„ฟล์บันทึà¸"</item> + <item msgid="1342285115665698168">"256 K ต่à¸à¸šà¸±à¸Ÿà¹€à¸Ÿà¸à¸£à¹Œà¹„ฟล์บันทึà¸"</item> + <item msgid="1314234299552254621">"1 M ต่à¸à¸šà¸±à¸Ÿà¹€à¸Ÿà¸à¸£à¹Œà¹„ฟล์บันทึà¸"</item> + <item msgid="3606047780792894151">"4 M ต่à¸à¸šà¸±à¸Ÿà¹€à¸Ÿà¸à¸£à¹Œà¹„ฟล์บันทึà¸"</item> + <item msgid="5431354956856655120">"16 M ต่à¸à¸šà¸±à¸Ÿà¹€à¸Ÿà¸à¸£à¹Œà¹„ฟล์บันทึà¸"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"ปิดภาพเคลื่à¸à¸™à¹„หว"</item> diff --git a/packages/SettingsLib/res/values-tl/arrays.xml b/packages/SettingsLib/res/values-tl/arrays.xml index c7cf6d24f6be..a7fb68c16c3c 100644 --- a/packages/SettingsLib/res/values-tl/arrays.xml +++ b/packages/SettingsLib/res/values-tl/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Palaging gumamit ng pagsusuring HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"I-off"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"I-off"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64K kada log buffer"</item> - <item msgid="2822309747675758628">"256K kada log buffer"</item> - <item msgid="6699306198357496731">"1M kada log buffer"</item> - <item msgid="5748528643937500349">"4M kada log buffer"</item> - <item msgid="1978629051085111592">"16M kada log buffer"</item> + <item msgid="6921048829791179331">"I-off"</item> + <item msgid="2969458029344750262">"64K kada log buffer"</item> + <item msgid="1342285115665698168">"256K kada log buffer"</item> + <item msgid="1314234299552254621">"1M kada log buffer"</item> + <item msgid="3606047780792894151">"4M kada log buffer"</item> + <item msgid="5431354956856655120">"16M kada log buffer"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Naka-off ang animation"</item> diff --git a/packages/SettingsLib/res/values-tr/arrays.xml b/packages/SettingsLib/res/values-tr/arrays.xml index 9326903e9955..0bae437549ab 100644 --- a/packages/SettingsLib/res/values-tr/arrays.xml +++ b/packages/SettingsLib/res/values-tr/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"HDCP denetimini her zaman kullan"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 KB"</item> - <item msgid="505611754508988476">"256 KB"</item> - <item msgid="6361286924268716397">"1 MB"</item> - <item msgid="6405203239560695266">"4 MB"</item> - <item msgid="3025431211013424097">"16 MB"</item> + <item msgid="8665206199209698501">"Kapalı"</item> + <item msgid="1593289376502312923">"64 KB"</item> + <item msgid="487545340236145324">"256 KB"</item> + <item msgid="2423528675294333831">"1 MB"</item> + <item msgid="180883774509476541">"4 MB"</item> + <item msgid="2803199102589126938">"16 MB"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 KB"</item> - <item msgid="3534782711045262344">"256 KB"</item> - <item msgid="8085867209202153403">"1 MB"</item> + <item msgid="6089470720451068364">"Kapalı"</item> + <item msgid="4622460333038586791">"64 KB"</item> + <item msgid="2212125625169582330">"256 KB"</item> + <item msgid="1704946766699242653">"1 MB"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"Günlük arabelleÄŸi başına 64 KB"</item> - <item msgid="2822309747675758628">"Günlük arabelleÄŸi başına 256 KB"</item> - <item msgid="6699306198357496731">"Günlük arabelleÄŸi başına 1 MB"</item> - <item msgid="5748528643937500349">"Günlük arabelleÄŸi başına 4 MB"</item> - <item msgid="1978629051085111592">"Günlük arabelleÄŸi başına 16 MB"</item> + <item msgid="6921048829791179331">"Kapalı"</item> + <item msgid="2969458029344750262">"Günlük arabelleÄŸi başına 64 KB"</item> + <item msgid="1342285115665698168">"Günlük arabelleÄŸi başına 256 KB"</item> + <item msgid="1314234299552254621">"Günlük arabelleÄŸi başına 1 MB"</item> + <item msgid="3606047780792894151">"Günlük arabelleÄŸi başına 4 MB"</item> + <item msgid="5431354956856655120">"Günlük arabelleÄŸi başına 16 MB"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animasyon kapalı"</item> diff --git a/packages/SettingsLib/res/values-uk/arrays.xml b/packages/SettingsLib/res/values-uk/arrays.xml index 6cccc8c122e3..0786ac368e6f 100644 --- a/packages/SettingsLib/res/values-uk/arrays.xml +++ b/packages/SettingsLib/res/values-uk/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Завжди викориÑтовувати перевірку HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 Кб"</item> - <item msgid="505611754508988476">"256 Кб"</item> - <item msgid="6361286924268716397">"1 Мб"</item> - <item msgid="6405203239560695266">"4 Мб"</item> - <item msgid="3025431211013424097">"16 Мб"</item> + <item msgid="8665206199209698501">"Вимкнено"</item> + <item msgid="1593289376502312923">"64 Кб"</item> + <item msgid="487545340236145324">"256 Кб"</item> + <item msgid="2423528675294333831">"1 Мб"</item> + <item msgid="180883774509476541">"4 Мб"</item> + <item msgid="2803199102589126938">"16 Мб"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 Кб"</item> - <item msgid="3534782711045262344">"256 Кб"</item> - <item msgid="8085867209202153403">"1 Мб"</item> + <item msgid="6089470720451068364">"Вимкнено"</item> + <item msgid="4622460333038586791">"64 Кб"</item> + <item msgid="2212125625169582330">"256 Кб"</item> + <item msgid="1704946766699242653">"1 Мб"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"Буфер: макÑ. 64 Кб"</item> - <item msgid="2822309747675758628">"Буфер: макÑ. 256 Кб"</item> - <item msgid="6699306198357496731">"Буфер: макÑ. 1 Мб"</item> - <item msgid="5748528643937500349">"Буфер: макÑ. 4 Мб"</item> - <item msgid="1978629051085111592">"Буфер: макÑ. 16 Мб"</item> + <item msgid="6921048829791179331">"Вимкнено"</item> + <item msgid="2969458029344750262">"Буфер журналу: 64 Кб"</item> + <item msgid="1342285115665698168">"Буфер журналу: 256 Кб"</item> + <item msgid="1314234299552254621">"Буфер журналу: 1 Мб"</item> + <item msgid="3606047780792894151">"Буфер журналу: 4 Мб"</item> + <item msgid="5431354956856655120">"Буфер журналу: 16 Мб"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Ðнімацію вимкнено"</item> diff --git a/packages/SettingsLib/res/values-ur-rPK/arrays.xml b/packages/SettingsLib/res/values-ur-rPK/arrays.xml index 80fb750461db..e1fe2699b9a2 100644 --- a/packages/SettingsLib/res/values-ur-rPK/arrays.xml +++ b/packages/SettingsLib/res/values-ur-rPK/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"â€ÛÙ…ÛŒØ´Û HDCP چیکنگ استعمال کریں"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"Ø¢Ù"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"Ø¢Ù"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"â€64K ÙÛŒ لاگ Ø¨ÙØ±"</item> - <item msgid="2822309747675758628">"â€256K ÙÛŒ لاگ Ø¨ÙØ±"</item> - <item msgid="6699306198357496731">"â€1M ÙÛŒ لاگ Ø¨ÙØ±"</item> - <item msgid="5748528643937500349">"â€4M ÙÛŒ لاگ Ø¨ÙØ±"</item> - <item msgid="1978629051085111592">"â€16M ÙÛŒ لاگ Ø¨ÙØ±"</item> + <item msgid="6921048829791179331">"Ø¢Ù"</item> + <item msgid="2969458029344750262">"â€64K ÙÛŒ لاگ Ø¨ÙØ±"</item> + <item msgid="1342285115665698168">"â€256K ÙÛŒ لاگ Ø¨ÙØ±"</item> + <item msgid="1314234299552254621">"â€1M ÙÛŒ لاگ Ø¨ÙØ±"</item> + <item msgid="3606047780792894151">"â€4M ÙÛŒ لاگ Ø¨ÙØ±"</item> + <item msgid="5431354956856655120">"â€16M ÙÛŒ لاگ Ø¨ÙØ±"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"اینیمیشن Ø¢Ù ÛÛ’"</item> diff --git a/packages/SettingsLib/res/values-uz-rUZ/arrays.xml b/packages/SettingsLib/res/values-uz-rUZ/arrays.xml index a84c5d52d4ef..53d4db7d54b3 100644 --- a/packages/SettingsLib/res/values-uz-rUZ/arrays.xml +++ b/packages/SettingsLib/res/values-uz-rUZ/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Har doim HDCP tekshiruvidan foydalanilsin"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64 KB"</item> - <item msgid="505611754508988476">"256 KB"</item> - <item msgid="6361286924268716397">"1 MB"</item> - <item msgid="6405203239560695266">"4 MB"</item> - <item msgid="3025431211013424097">"16 MB"</item> + <item msgid="8665206199209698501">"O‘chiq"</item> + <item msgid="1593289376502312923">"64 KB"</item> + <item msgid="487545340236145324">"256 KB"</item> + <item msgid="2423528675294333831">"1 MB"</item> + <item msgid="180883774509476541">"4 MB"</item> + <item msgid="2803199102589126938">"16 MB"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64 KB"</item> - <item msgid="3534782711045262344">"256 KB"</item> - <item msgid="8085867209202153403">"1 MB"</item> + <item msgid="6089470720451068364">"O‘chiq"</item> + <item msgid="4622460333038586791">"64 KB"</item> + <item msgid="2212125625169582330">"256 KB"</item> + <item msgid="1704946766699242653">"1 MB"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"Bufer: maks. 64 KB"</item> - <item msgid="2822309747675758628">"Bufer: maks. 256 KB"</item> - <item msgid="6699306198357496731">"Bufer: maks. 1 MB"</item> - <item msgid="5748528643937500349">"Bufer: maks. 4 MB"</item> - <item msgid="1978629051085111592">"Bufer: maks. 16 MB"</item> + <item msgid="6921048829791179331">"O‘chiq"</item> + <item msgid="2969458029344750262">"Bufer: maks. 64 KB"</item> + <item msgid="1342285115665698168">"Bufer: maks. 256 KB"</item> + <item msgid="1314234299552254621">"Bufer: maks. 1 MB"</item> + <item msgid="3606047780792894151">"Bufer: maks. 4 MB"</item> + <item msgid="5431354956856655120">"Bufer: maks. 16 MB"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Animatsiya o‘chiq"</item> diff --git a/packages/SettingsLib/res/values-vi/arrays.xml b/packages/SettingsLib/res/values-vi/arrays.xml index 7c3181fcb5df..b03d847fe6bb 100644 --- a/packages/SettingsLib/res/values-vi/arrays.xml +++ b/packages/SettingsLib/res/values-vi/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Luôn sá» dụng kiểm tra HDCP"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"Tắt"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"Tắt"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64K/lần tải nháºt ký"</item> - <item msgid="2822309747675758628">"256K/lần tải nháºt ký"</item> - <item msgid="6699306198357496731">"1M/lần tải nháºt ký"</item> - <item msgid="5748528643937500349">"4M/lần tải nháºt ký"</item> - <item msgid="1978629051085111592">"16M/lần tải nháºt ký"</item> + <item msgid="6921048829791179331">"Tắt"</item> + <item msgid="2969458029344750262">"64K/lần tải nháºt ký"</item> + <item msgid="1342285115665698168">"256K/lần tải nháºt ký"</item> + <item msgid="1314234299552254621">"1M/lần tải nháºt ký"</item> + <item msgid="3606047780792894151">"4M/lần tải nháºt ký"</item> + <item msgid="5431354956856655120">"16M/lần tải nháºt ký"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Tắt hình động"</item> diff --git a/packages/SettingsLib/res/values-zh-rCN/arrays.xml b/packages/SettingsLib/res/values-zh-rCN/arrays.xml index 1378aaa1c5bc..d1d8937ab7cd 100644 --- a/packages/SettingsLib/res/values-zh-rCN/arrays.xml +++ b/packages/SettingsLib/res/values-zh-rCN/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"始终使用 HDCP 检查"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"å…³é—"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"å…³é—"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"æ¯ä¸ªæ—¥å¿—缓冲区64K"</item> - <item msgid="2822309747675758628">"æ¯ä¸ªæ—¥å¿—缓冲区256K"</item> - <item msgid="6699306198357496731">"æ¯ä¸ªæ—¥å¿—缓冲区1M"</item> - <item msgid="5748528643937500349">"æ¯ä¸ªæ—¥å¿—缓冲区4M"</item> - <item msgid="1978629051085111592">"æ¯ä¸ªæ—¥å¿—缓冲区16M"</item> + <item msgid="6921048829791179331">"å…³é—"</item> + <item msgid="2969458029344750262">"æ¯ä¸ªæ—¥å¿—缓冲区 64K"</item> + <item msgid="1342285115665698168">"æ¯ä¸ªæ—¥å¿—缓冲区 256K"</item> + <item msgid="1314234299552254621">"æ¯ä¸ªæ—¥å¿—缓冲区 1M"</item> + <item msgid="3606047780792894151">"æ¯ä¸ªæ—¥å¿—缓冲区 4M"</item> + <item msgid="5431354956856655120">"æ¯ä¸ªæ—¥å¿—缓冲区 16M"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"å…³é—动画"</item> diff --git a/packages/SettingsLib/res/values-zh-rHK/arrays.xml b/packages/SettingsLib/res/values-zh-rHK/arrays.xml index f15caff0cf56..a7b0031560fa 100644 --- a/packages/SettingsLib/res/values-zh-rHK/arrays.xml +++ b/packages/SettingsLib/res/values-zh-rHK/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"æ°¸é 使用 HDCP 檢查"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"關閉"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"關閉"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"æ¯å€‹è¨˜éŒ„ç·©è¡å€ 64K"</item> - <item msgid="2822309747675758628">"æ¯å€‹è¨˜éŒ„ç·©è¡å€ 256K"</item> - <item msgid="6699306198357496731">"æ¯å€‹è¨˜éŒ„ç·©è¡å€ 1M"</item> - <item msgid="5748528643937500349">"æ¯å€‹è¨˜éŒ„ç·©è¡å€ 4M"</item> - <item msgid="1978629051085111592">"æ¯å€‹è¨˜éŒ„ç·©è¡å€ 16M"</item> + <item msgid="6921048829791179331">"關閉"</item> + <item msgid="2969458029344750262">"æ¯å€‹è¨˜éŒ„ç·©è¡å€ 64K"</item> + <item msgid="1342285115665698168">"æ¯å€‹è¨˜éŒ„ç·©è¡å€ 256K"</item> + <item msgid="1314234299552254621">"æ¯å€‹è¨˜éŒ„ç·©è¡å€ 1M"</item> + <item msgid="3606047780792894151">"æ¯å€‹è¨˜éŒ„ç·©è¡å€ 4M"</item> + <item msgid="5431354956856655120">"æ¯å€‹è¨˜éŒ„ç·©è¡å€ 16M"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"關閉動畫"</item> diff --git a/packages/SettingsLib/res/values-zh-rTW/arrays.xml b/packages/SettingsLib/res/values-zh-rTW/arrays.xml index 50bde80c2fd5..32a206536e62 100644 --- a/packages/SettingsLib/res/values-zh-rTW/arrays.xml +++ b/packages/SettingsLib/res/values-zh-rTW/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"一律使用 HDCP 檢查"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"關閉"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"關閉"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"æ¯å€‹ç´€éŒ„ç·©è¡å€ 64K"</item> - <item msgid="2822309747675758628">"æ¯å€‹ç´€éŒ„ç·©è¡å€ 256K"</item> - <item msgid="6699306198357496731">"æ¯å€‹ç´€éŒ„ç·©è¡å€ 1M"</item> - <item msgid="5748528643937500349">"æ¯å€‹ç´€éŒ„ç·©è¡å€ 4M"</item> - <item msgid="1978629051085111592">"æ¯å€‹ç´€éŒ„ç·©è¡å€ 16M"</item> + <item msgid="6921048829791179331">"關閉"</item> + <item msgid="2969458029344750262">"æ¯å€‹ç´€éŒ„ç·©è¡å€ 64K"</item> + <item msgid="1342285115665698168">"æ¯å€‹ç´€éŒ„ç·©è¡å€ 256K"</item> + <item msgid="1314234299552254621">"æ¯å€‹ç´€éŒ„ç·©è¡å€ 1M"</item> + <item msgid="3606047780792894151">"æ¯å€‹ç´€éŒ„ç·©è¡å€ 4M"</item> + <item msgid="5431354956856655120">"æ¯å€‹ç´€éŒ„ç·©è¡å€ 16M"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"關閉動畫"</item> diff --git a/packages/SettingsLib/res/values-zu/arrays.xml b/packages/SettingsLib/res/values-zu/arrays.xml index eaadce62e197..2bb849ff8496 100644 --- a/packages/SettingsLib/res/values-zu/arrays.xml +++ b/packages/SettingsLib/res/values-zu/arrays.xml @@ -59,23 +59,26 @@ <item msgid="45075631231212732">"Sebenzisa njalo ukuhlola kwe-HDPC"</item> </string-array> <string-array name="select_logd_size_titles"> - <item msgid="3100534874529240291">"64K"</item> - <item msgid="505611754508988476">"256K"</item> - <item msgid="6361286924268716397">"1M"</item> - <item msgid="6405203239560695266">"4M"</item> - <item msgid="3025431211013424097">"16M"</item> + <item msgid="8665206199209698501">"Valiwe"</item> + <item msgid="1593289376502312923">"64K"</item> + <item msgid="487545340236145324">"256K"</item> + <item msgid="2423528675294333831">"1M"</item> + <item msgid="180883774509476541">"4M"</item> + <item msgid="2803199102589126938">"16M"</item> </string-array> <string-array name="select_logd_size_lowram_titles"> - <item msgid="524799395770610154">"64K"</item> - <item msgid="3534782711045262344">"256K"</item> - <item msgid="8085867209202153403">"1M"</item> + <item msgid="6089470720451068364">"Valiwe"</item> + <item msgid="4622460333038586791">"64K"</item> + <item msgid="2212125625169582330">"256K"</item> + <item msgid="1704946766699242653">"1M"</item> </string-array> <string-array name="select_logd_size_summaries"> - <item msgid="7346595473588765019">"64K ngebhafa yelogu ngayinye"</item> - <item msgid="2822309747675758628">"256K ngebhafa yelogu ngayinye"</item> - <item msgid="6699306198357496731">"1M ngebhafa yelogu ngayinye"</item> - <item msgid="5748528643937500349">"4M ngebhafa yelogu ngayinye"</item> - <item msgid="1978629051085111592">"16M ngebhafa yelogu ngayinye"</item> + <item msgid="6921048829791179331">"Valiwe"</item> + <item msgid="2969458029344750262">"64K ngebhafa yelogu ngayinye"</item> + <item msgid="1342285115665698168">"256K ngebhafa yelogu ngayinye"</item> + <item msgid="1314234299552254621">"1M ngebhafa yelogu ngayi"</item> + <item msgid="3606047780792894151">"4M ngebhafa yelogu ngayinye"</item> + <item msgid="5431354956856655120">"16M ngebhafa yelogu ngayinye"</item> </string-array> <string-array name="window_animation_scale_entries"> <item msgid="8134156599370824081">"Isithombe esinyakazayo sivliwe"</item> diff --git a/packages/SettingsLib/res/values/arrays.xml b/packages/SettingsLib/res/values/arrays.xml index 4e88c1c092a4..2a4efbd9abcd 100644 --- a/packages/SettingsLib/res/values/arrays.xml +++ b/packages/SettingsLib/res/values/arrays.xml @@ -102,6 +102,7 @@ <!-- Titles for logd limit size selection preference. [CHAR LIMIT=14] --> <string-array name="select_logd_size_titles"> + <item>Off</item> <item>64K</item> <item>256K</item> <item>1M</item> @@ -111,6 +112,7 @@ <!-- Titles for logd limit size lowram selection preference. [CHAR LIMIT=14] --> <string-array name="select_logd_size_lowram_titles"> + <item>Off</item> <item>64K</item> <item>256K</item> <item>1M</item> @@ -118,6 +120,7 @@ <!-- Values for logd limit size selection preference. --> <string-array name="select_logd_size_values" translatable="false" > + <item>32768</item> <item>65536</item> <item>262144</item> <item>1048576</item> @@ -127,6 +130,7 @@ <!-- Summaries for logd limit size selection preference. [CHAR LIMIT=30]--> <string-array name="select_logd_size_summaries" > + <item>Off</item> <item>64K per log buffer</item> <item>256K per log buffer</item> <item>1M per log buffer</item> diff --git a/packages/Shell/AndroidManifest.xml b/packages/Shell/AndroidManifest.xml index 1c4c0123e601..c6d9e98774d0 100644 --- a/packages/Shell/AndroidManifest.xml +++ b/packages/Shell/AndroidManifest.xml @@ -108,6 +108,7 @@ <uses-permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION" /> <uses-permission android:name="android.permission.GET_APP_OPS_STATS" /> <uses-permission android:name="android.permission.VIBRATE" /> + <uses-permission android:name="android.permission.MANAGE_ACTIVITY_STACKS" /> <application android:label="@string/app_label" android:forceDeviceEncrypted="true" diff --git a/packages/Shell/res/values-af/strings.xml b/packages/Shell/res/values-af/strings.xml index e01252ee7537..247ccfc3bd63 100644 --- a/packages/Shell/res/values-af/strings.xml +++ b/packages/Shell/res/values-af/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Foutverslaglêer kon nie gelees word nie"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"naamloos"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Besonderhede"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Skermkiekie"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Skermkiekie suksesvol geneem."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Kon nie skermkiekie neem nie."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Foutverslagbesonderhede"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Kort naam"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1-reëlopsomming"</string> diff --git a/packages/Shell/res/values-am/strings.xml b/packages/Shell/res/values-am/strings.xml index a1c926d9a584..9f3615a1cc9b 100644 --- a/packages/Shell/res/values-am/strings.xml +++ b/packages/Shell/res/values-am/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"የሳንካ ሪá–áˆá‰µ á‹á‹áˆ ሊáŠá‰ ብ አáˆá‰°á‰»áˆˆáˆ"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"á‹«áˆá‰°áˆ°á‹¨áˆ˜"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"á‹áˆá‹áˆ®á‰½"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"ቅጽበታዊ ገጽ እá‹á‰³"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"ቅጽበታዊ ገጽ እá‹á‰³ በስኬት ተáŠáˆµá‰·áˆá¢"</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"ቅጽበታዊ ገጽ እá‹á‰³ ሊáŠáˆ³ አá‹á‰½áˆáˆ"</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"የሳንካ ሪá–áˆá‰µ á‹áˆá‹áˆ®á‰½"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"አáŒáˆ ስáˆ"</string> <string name="bugreport_info_title" msgid="127167853370557175">"የ1 መስመሠማጠቃለያ"</string> diff --git a/packages/Shell/res/values-ar/strings.xml b/packages/Shell/res/values-ar/strings.xml index 069e5cae3120..b670e373e46a 100644 --- a/packages/Shell/res/values-ar/strings.xml +++ b/packages/Shell/res/values-ar/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"تعذرت قراءة مل٠تقرير الخطأ."</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"بدون اسم"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Ø§Ù„ØªÙØ§ØµÙŠÙ„"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"لقطة شاشة"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"تم التقاط لقطة الشاشة بنجاØ."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"تعذر التقاط لقطة الشاشة."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"ØªÙØ§ØµÙŠÙ„ تقرير الخطأ"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"اسم مختصر"</string> <string name="bugreport_info_title" msgid="127167853370557175">"سطر الملخص الأول"</string> diff --git a/packages/Shell/res/values-az-rAZ/strings.xml b/packages/Shell/res/values-az-rAZ/strings.xml index b289776ce049..634d12338e07 100644 --- a/packages/Shell/res/values-az-rAZ/strings.xml +++ b/packages/Shell/res/values-az-rAZ/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Baq hesabat faylı oxunmur"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"adsız"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Detallar"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"displey görüntüsü"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Displey görüntüsü uÄŸurla çəkildi."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Displey görüntüsü É™lçatan deyil."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Baq hesabat detalları"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Qısa ad"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1-sÉ™trlik xülasÉ™"</string> diff --git a/packages/Shell/res/values-b+sr+Latn/strings.xml b/packages/Shell/res/values-b+sr+Latn/strings.xml index dac1b7ab2921..41acb89ca455 100644 --- a/packages/Shell/res/values-b+sr+Latn/strings.xml +++ b/packages/Shell/res/values-b+sr+Latn/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Datoteka izveÅ¡taja o greÅ¡ci ne može da se proÄita"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"neimenovano"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Detalji"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Snimci ekrana"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Snimanje ekrana je uspelo."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Snimanje ekrana nije uspelo."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Detalji izveÅ¡taja o greÅ¡ci"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Kratki naziv"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Rezime u jednom redu"</string> diff --git a/packages/Shell/res/values-bg/strings.xml b/packages/Shell/res/values-bg/strings.xml index 376360b0b409..661a0b65fc47 100644 --- a/packages/Shell/res/values-bg/strings.xml +++ b/packages/Shell/res/values-bg/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Файлът ÑÑŠÑ Ñигнал за програмна грешка не можа да бъде прочетен"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"без име"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"ПодробноÑти"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Екранна Ñнимка"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Екранната Ñнимка бе направена уÑпешно."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Екранната Ñнимка не можа да бъде направена."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"ПодробноÑти за Ñигнала за програмна грешка"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Кратко име"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Едноредово обобщение"</string> diff --git a/packages/Shell/res/values-bn-rBD/strings.xml b/packages/Shell/res/values-bn-rBD/strings.xml index 96098f22341b..e7256caef00a 100644 --- a/packages/Shell/res/values-bn-rBD/strings.xml +++ b/packages/Shell/res/values-bn-rBD/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"তà§à¦°à§à¦Ÿà¦¿à¦° পà§à¦°à¦¤à¦¿à¦¬à§‡à¦¦à¦¨à§‡à¦° ফাইলটি পড়া যায়নি"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"নামবিহীন"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"বিশদ বিবরণ"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"সà§à¦•à§à¦°à§€à¦¨à¦¶à¦Ÿ"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"সà§à¦•à§à¦°à§€à¦¨à¦¶à¦Ÿ সফলà¦à¦¾à¦¬à§‡ নেওয়া হয়েছে৷"</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"সà§à¦•à§à¦°à§€à¦¨à¦¶à¦Ÿ নেওয়া যায়নি৷"</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"তà§à¦°à§à¦Ÿà¦¿ পà§à¦°à¦¤à¦¿à¦¬à§‡à¦¦à¦¨à§‡à¦° বিবরণ"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"ছোট নাম"</string> <string name="bugreport_info_title" msgid="127167853370557175">"à§§-লাইনের সারসংকà§à¦·à§‡à¦ª"</string> diff --git a/packages/Shell/res/values-ca/strings.xml b/packages/Shell/res/values-ca/strings.xml index e82f319e7b2b..a8c95536d599 100644 --- a/packages/Shell/res/values-ca/strings.xml +++ b/packages/Shell/res/values-ca/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"No s\'ha pogut llegir el fitxer de l\'informe d\'errors"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"sense nom"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Detalls"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Captura de pantalla"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"La captura de pantalla s\'ha fet correctament."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"No s\'ha pogut fer la captura de pantalla."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Detalls de l\'informe d\'errors"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Nom curt"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Resum d\'una lÃnia"</string> diff --git a/packages/Shell/res/values-cs/strings.xml b/packages/Shell/res/values-cs/strings.xml index fc3c9b6d11d4..193501e27350 100644 --- a/packages/Shell/res/values-cs/strings.xml +++ b/packages/Shell/res/values-cs/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Soubor chybové zprávy nelze naÄÃst"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"bez názvu"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Podrobnosti"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"SnÃmek obrazovky"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"SnÃmek obrazovky byl úspěšnÄ› poÅ™Ãzen."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"SnÃmek obrazovky se nepodaÅ™ilo poÅ™Ãdit."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Podrobnosti zprávy o chybÄ›"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Krátký název"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Shrnutà na jeden řádek"</string> diff --git a/packages/Shell/res/values-da/strings.xml b/packages/Shell/res/values-da/strings.xml index ec64efa10124..39758004c6ba 100644 --- a/packages/Shell/res/values-da/strings.xml +++ b/packages/Shell/res/values-da/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Fejlrapportfilen kunne ikke læses"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"ikke navngivet"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Oplysninger"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Skærmbillede"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Der blev taget et skærmbillede."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Der kunne ikke tages et skærmbillede."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Fejlrapportoplysninger"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Kort navn"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Sammenfatning pÃ¥ én linje"</string> diff --git a/packages/Shell/res/values-de/strings.xml b/packages/Shell/res/values-de/strings.xml index d65d8cbfcbcd..b0450ddb34db 100644 --- a/packages/Shell/res/values-de/strings.xml +++ b/packages/Shell/res/values-de/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Fehlerberichtdatei konnte nicht gelesen werden."</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"Unbenannt"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Details"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Screenshot"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Screenshot wurde aufgenommen."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Screenshot konnte nicht aufgenommen werden."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Details des Fehlerberichts"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Kurzname"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Zusammenfassung in einer Zeile"</string> diff --git a/packages/Shell/res/values-el/strings.xml b/packages/Shell/res/values-el/strings.xml index 504944431cf7..ec5f3ac761e8 100644 --- a/packages/Shell/res/values-el/strings.xml +++ b/packages/Shell/res/values-el/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Δεν ήταν δυνατή η ανάγνωση του αÏχείου της αναφοÏάς σφαλμάτων"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"ανώνυμη"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"ΛεπτομÎÏειες"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Στιγμιότυπο οθόνης"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Η λήψη του στιγμιότυπου οθόνης ολοκληÏώθηκε με επιτυχία."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Δεν ήταν δυνατή η λήψη του στιγμιότυπου οθόνης."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"ΛεπτομÎÏειες αναφοÏάς σφαλμάτων"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"ΥποκοÏιστικό"</string> <string name="bugreport_info_title" msgid="127167853370557175">"ΣÏνοψη μίας σειÏάς"</string> diff --git a/packages/Shell/res/values-en-rAU/strings.xml b/packages/Shell/res/values-en-rAU/strings.xml index ee1ae6fecc3a..26a3d382b180 100644 --- a/packages/Shell/res/values-en-rAU/strings.xml +++ b/packages/Shell/res/values-en-rAU/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Bug report file could not be read"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"unnamed"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Details"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Screenshot"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Screenshot taken successfully."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Screenshot could not be taken."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Bug report details"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Short name"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1-line summary"</string> diff --git a/packages/Shell/res/values-en-rGB/strings.xml b/packages/Shell/res/values-en-rGB/strings.xml index ee1ae6fecc3a..26a3d382b180 100644 --- a/packages/Shell/res/values-en-rGB/strings.xml +++ b/packages/Shell/res/values-en-rGB/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Bug report file could not be read"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"unnamed"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Details"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Screenshot"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Screenshot taken successfully."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Screenshot could not be taken."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Bug report details"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Short name"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1-line summary"</string> diff --git a/packages/Shell/res/values-en-rIN/strings.xml b/packages/Shell/res/values-en-rIN/strings.xml index ee1ae6fecc3a..26a3d382b180 100644 --- a/packages/Shell/res/values-en-rIN/strings.xml +++ b/packages/Shell/res/values-en-rIN/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Bug report file could not be read"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"unnamed"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Details"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Screenshot"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Screenshot taken successfully."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Screenshot could not be taken."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Bug report details"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Short name"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1-line summary"</string> diff --git a/packages/Shell/res/values-es-rUS/strings.xml b/packages/Shell/res/values-es-rUS/strings.xml index 23704df8f07f..7f70feb1a83b 100644 --- a/packages/Shell/res/values-es-rUS/strings.xml +++ b/packages/Shell/res/values-es-rUS/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"No se pudo leer el archivo de informe de errores"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"sin nombre"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Detalles"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Captura de pantalla"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Se tomó la captura de pantalla correctamente."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"No se pudo tomar la captura de pantalla."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Detalles del informe de errores"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Nombre corto"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Resumen de una lÃnea"</string> diff --git a/packages/Shell/res/values-es/strings.xml b/packages/Shell/res/values-es/strings.xml index fbaeab4b79e5..df080d23a4e1 100644 --- a/packages/Shell/res/values-es/strings.xml +++ b/packages/Shell/res/values-es/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"No se ha podido leer el archivo del informe de errores"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"sin nombre"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Detalles"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Captura de pantalla"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"La captura de pantalla se ha realizado correctamente."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"No se puede realizar la captura de pantalla."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Detalles del informe de errores"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Nombre corto"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Resumen de 1 lÃnea"</string> diff --git a/packages/Shell/res/values-et-rEE/strings.xml b/packages/Shell/res/values-et-rEE/strings.xml index 3b4aead6e409..94b4b89f46b8 100644 --- a/packages/Shell/res/values-et-rEE/strings.xml +++ b/packages/Shell/res/values-et-rEE/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Veaaruande faili ei õnnestunud lugeda"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"nimeta"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Üksikasjad"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Ekraanipilt"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Ekraanipildi tegemine õnnestus."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Ekraanipilti ei saanud teha."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Veaaruande üksikasjad"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Lühike nimi"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1-realine kokkuvõte"</string> diff --git a/packages/Shell/res/values-eu-rES/strings.xml b/packages/Shell/res/values-eu-rES/strings.xml index 8852f9bca62a..cad55fc65498 100644 --- a/packages/Shell/res/values-eu-rES/strings.xml +++ b/packages/Shell/res/values-eu-rES/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Ezin izan da irakurri akatsen txostena"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"izengabea"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Xehetasunak"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Pantaila-argazkia"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Atera da pantaila-argazkia."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Ezin izan da atera pantaila-argazkia."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Akatsen txostenaren xehetasunak"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Izen laburra"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Lerro bakarreko laburpena"</string> diff --git a/packages/Shell/res/values-fa/strings.xml b/packages/Shell/res/values-fa/strings.xml index 73e91486ca7b..b619f105f7d7 100644 --- a/packages/Shell/res/values-fa/strings.xml +++ b/packages/Shell/res/values-fa/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"ÙØ§ÛŒÙ„ گزارش اشکال خوانده نشد"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"بی‌نام"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"جزئیات"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"عکس ØµÙØÙ‡â€ŒÙ†Ù…Ø§ÛŒØ´"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"عکس ØµÙØÙ‡â€ŒÙ†Ù…Ø§ÛŒØ´ با موÙقیت Ú¯Ø±ÙØªÙ‡ شد."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"نمی‌توان عکس ØµÙØÙ‡â€ŒÙ†Ù…Ø§ÛŒØ´ Ú¯Ø±ÙØª."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"جزئیات گزارش اشکال"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"نام مخÙÙ"</string> <string name="bugreport_info_title" msgid="127167853370557175">"خلاصه یک خطی"</string> diff --git a/packages/Shell/res/values-fi/strings.xml b/packages/Shell/res/values-fi/strings.xml index 5376b8003493..a90ffb554f47 100644 --- a/packages/Shell/res/values-fi/strings.xml +++ b/packages/Shell/res/values-fi/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Virheraporttitiedostoa ei voi lukea."</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"nimetön"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Tietoja"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Kuvakaappaus"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Kuvakaappaus tallennettu."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Kuvakaappauksen tallentaminen epäonnistui."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Virheraportin tiedot"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Lyhyt nimi"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Lyhyt tiivistelmä"</string> diff --git a/packages/Shell/res/values-fr-rCA/strings.xml b/packages/Shell/res/values-fr-rCA/strings.xml index 7a986b4ae161..52be99db58ca 100644 --- a/packages/Shell/res/values-fr-rCA/strings.xml +++ b/packages/Shell/res/values-fr-rCA/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Impossible de lire le fichier du rapport de bogue"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"sans nom"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Détails"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Saisie d\'écran"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"La saisie d\'écran a réussi."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Une erreur s\'est produite lors de la saisie d\'écran."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Détails du rapport de bogue"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Nom abrégé"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Résumé d\'une ligne"</string> diff --git a/packages/Shell/res/values-fr/strings.xml b/packages/Shell/res/values-fr/strings.xml index 8446f6fdf080..e10e28e05a5b 100644 --- a/packages/Shell/res/values-fr/strings.xml +++ b/packages/Shell/res/values-fr/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Impossible de lire le fichier de rapport de bug."</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"sans nom"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Détails"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Captures d\'écran"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"La capture d\'écran a bien été effectuée."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Impossible d\'effectuer une capture d\'écran."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Détails du rapport de bug"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Nom court"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Résumé d\'une ligne"</string> diff --git a/packages/Shell/res/values-gl-rES/strings.xml b/packages/Shell/res/values-gl-rES/strings.xml index 2a1a93b2d00f..20f8cdaab157 100644 --- a/packages/Shell/res/values-gl-rES/strings.xml +++ b/packages/Shell/res/values-gl-rES/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Non se puido ler o ficheiro de informe de erros"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"sen nome"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Detalles"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Captura de pantalla"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"A captura de pantalla realizouse correctamente."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Non se puido realizar a captura de pantalla."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Detalles do informe de erros"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Nome abreviado"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Resumo de 1 liña"</string> diff --git a/packages/Shell/res/values-gu-rIN/strings.xml b/packages/Shell/res/values-gu-rIN/strings.xml index f525b65d29f1..967d255126bc 100644 --- a/packages/Shell/res/values-gu-rIN/strings.xml +++ b/packages/Shell/res/values-gu-rIN/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"બગ રીપોરà«àªŸ ફાઇલ વાંચી શકાઇ નથી"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"અનામાંકિત"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"વિગતો"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"સà«àª•à«àª°à«€àª¨àª¶à«‹àªŸ"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"સà«àª•à«àª°à«€àª¨àª¶à«‹àªŸ સફળતાપૂરà«àªµàª• લેવાયો."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"સà«àª•à«àª°à«€àª¨àª¶à«‹àªŸ લઇ શકાયો નથી."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"બગ રિપોરà«àªŸàª¨à«€ વિગતો"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"નાનà«àª‚ નામ"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1-રેખાનો સારાંશ"</string> diff --git a/packages/Shell/res/values-hi/strings.xml b/packages/Shell/res/values-hi/strings.xml index 26f975719024..70e4f38b8f44 100644 --- a/packages/Shell/res/values-hi/strings.xml +++ b/packages/Shell/res/values-hi/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"बग रिपोरà¥à¤Ÿ फ़ाइल नहीं पढ़ी जा सकी"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"अनामांकित"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"विवरण"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"सà¥à¤•à¥à¤°à¥€à¤¨à¤¶à¥‰à¤Ÿ"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"सà¥à¤•à¥à¤°à¥€à¤¨à¤¶à¥‰à¤Ÿ सफलतापूरà¥à¤µà¤• लिया गया."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"सà¥à¤•à¥à¤°à¥€à¤¨à¤¶à¥‰à¤Ÿ नहीं लिया जा सका."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"बग रिपोरà¥à¤Ÿ के विवरण"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"संकà¥à¤·à¤¿à¤ªà¥à¤¤ नाम"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1-पंकà¥à¤¤à¤¿ में सारांश"</string> diff --git a/packages/Shell/res/values-hr/strings.xml b/packages/Shell/res/values-hr/strings.xml index 606f46bced90..f38a281af377 100644 --- a/packages/Shell/res/values-hr/strings.xml +++ b/packages/Shell/res/values-hr/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Izvješće o programskoj pogreÅ¡ci nije proÄitano"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"bez naziva"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Pojedinosti"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Snimka zaslona"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Zaslon je snimljen."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Snimanje zaslona nije uspjelo."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Pojedinosti izvješća o programskoj pogreÅ¡ci"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Kratko ime"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Sažetak u jednom retku"</string> diff --git a/packages/Shell/res/values-hu/strings.xml b/packages/Shell/res/values-hu/strings.xml index 521c87c3321a..544c11773443 100644 --- a/packages/Shell/res/values-hu/strings.xml +++ b/packages/Shell/res/values-hu/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"A hibajelentési fájlt nem sikerült beolvasni"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"névtelen"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Részletek"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"KépernyÅ‘kép"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Sikerült elkészÃteni a képernyÅ‘képet."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Nem sikerült elkészÃteni a képernyÅ‘képet."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Hibajelentés részletei"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Rövid név"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Egysoros összefoglalás"</string> diff --git a/packages/Shell/res/values-hy-rAM/strings.xml b/packages/Shell/res/values-hy-rAM/strings.xml index 2c0fe234e621..625994d89085 100644 --- a/packages/Shell/res/values-hy-rAM/strings.xml +++ b/packages/Shell/res/values-hy-rAM/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Õ€Õ¶Õ¡Ö€Õ¡Õ¾Õ¸Ö€ Õ¹Õ§ Õ¯Õ¡Ö€Õ¤Õ¡Õ¬ Õ¾Ö€Õ«ÕºÕ¡Õ¯Õ¶Õ¥Ö€Õ« Õ¦Õ¥Õ¯Õ¸Ö‚ÕµÖÕ« Ö†Õ¡ÕµÕ¬Õ¨"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"Õ¡Õ¶Õ¡Õ¶Õ¸Ö‚Õ¶"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Õ„Õ¡Õ¶Ö€Õ¡Õ´Õ¡Õ½Õ¶Õ¥Ö€"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Ô·Õ¯Ö€Õ¡Õ¶Õ« ÕºÕ¡Õ¿Õ¯Õ¥Ö€"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Ô·Õ¯Ö€Õ¡Õ¶Õ« ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¨ Õ°Õ¡Õ»Õ¸Õ²Õ¸Ö‚Õ©ÕµÕ¡Õ´Õ¢ Õ½Õ¿Õ¡ÖÕ¾Õ¥Ö:"</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Õ‰Õ°Õ¡Õ»Õ¸Õ²Õ¾Õ¥Ö Õ½Õ¿Õ¡Õ¶Õ¡Õ¬ Õ§Õ¯Ö€Õ¡Õ¶Õ« ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¨:"</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"ÕŽÖ€Õ«ÕºÕ¡Õ¯Õ« Õ¦Õ¥Õ¯Õ¸Ö‚ÕµÖÕ« Õ´Õ¡Õ¶Ö€Õ¡Õ´Õ¡Õ½Õ¶Õ¥Ö€Õ¨"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Ô¿Ö€Õ³Õ¡Õ¿ Õ¡Õ¶Õ¸Ö‚Õ¶"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Ô±Õ´ÖƒÕ¸ÖƒÕ¡Õ£Õ«Ö€ Õ´Õ¥Õ¯ Õ¿Õ¸Õ²Õ¸Õ¾"</string> diff --git a/packages/Shell/res/values-in/strings.xml b/packages/Shell/res/values-in/strings.xml index 928629486cba..747fecddaf6a 100644 --- a/packages/Shell/res/values-in/strings.xml +++ b/packages/Shell/res/values-in/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"File laporan bug tidak dapat dibaca"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"tanpa nama"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Detail"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Tangkapan layar"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Tangkapan layar berhasil diambil."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Tangkapan layar tidak dapat diambil."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Detail laporan bug"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Nama pendek"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Ringkasan 1 baris"</string> diff --git a/packages/Shell/res/values-is-rIS/strings.xml b/packages/Shell/res/values-is-rIS/strings.xml index 62f630245435..d0d3e6043c3a 100644 --- a/packages/Shell/res/values-is-rIS/strings.xml +++ b/packages/Shell/res/values-is-rIS/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Ekki var hægt að lesa úr villuskýrslunni"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"án heitis"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Nánar"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Skjámynd"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Tókst að taka skjámynd."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Ekki tókst að taka skjámynd."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Upplýsingar um villutilkynningu"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Stutt heiti"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Einnar lÃnu samantekt"</string> diff --git a/packages/Shell/res/values-it/strings.xml b/packages/Shell/res/values-it/strings.xml index cee41b6dc5e7..0511c5850f2d 100644 --- a/packages/Shell/res/values-it/strings.xml +++ b/packages/Shell/res/values-it/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Impossibile leggere il file relativo alla segnalazione di bug"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"senza nome"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Dettagli"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Screenshot"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Screenshot acquisito."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Impossibile acquisire lo screenshot."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Dettagli della segnalazione di bug"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Nome breve"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Sintesi su una riga"</string> diff --git a/packages/Shell/res/values-iw/strings.xml b/packages/Shell/res/values-iw/strings.xml index 906e233f0322..b9bcaf986f87 100644 --- a/packages/Shell/res/values-iw/strings.xml +++ b/packages/Shell/res/values-iw/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"×œ× × ×™×ª×Ÿ ×”×™×” ×œ×§×¨×•× ×ת קובץ הדוח על הב××’"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"×œ×œ× ×©×"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"פרטי×"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"×¦×™×œ×•× ×ž×¡×š"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"×¦×™×œ×•× ×”×ž×¡×š בוצע בהצלחה."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"×œ× × ×™×ª×Ÿ ×”×™×” ×œ×¦×œ× ×ž×¡×š."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"פרטי דוח על ב××’"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"×›×™× ×•×™"</string> <string name="bugreport_info_title" msgid="127167853370557175">"×¡×™×›×•× ×‘×©×•×¨×” ×חת"</string> diff --git a/packages/Shell/res/values-ja/strings.xml b/packages/Shell/res/values-ja/strings.xml index 2facb57d308c..05b95eb4e261 100644 --- a/packages/Shell/res/values-ja/strings.xml +++ b/packages/Shell/res/values-ja/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆ ファイルをèªã¿å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸ"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"åå‰ãªã—"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"詳細"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"スクリーンショット"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"スクリーンショットを撮影ã—ã¾ã—ãŸã€‚"</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"スクリーンショットを撮影ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã®è©³ç´°"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"çœç•¥å"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1 è¡Œã®æ¦‚è¦"</string> diff --git a/packages/Shell/res/values-ka-rGE/strings.xml b/packages/Shell/res/values-ka-rGE/strings.xml index 7c67cc5fda3a..2cfd80accd4f 100644 --- a/packages/Shell/res/values-ka-rGE/strings.xml +++ b/packages/Shell/res/values-ka-rGE/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"ხáƒáƒ ვეზების შესáƒáƒ®áƒ”ბ áƒáƒœáƒ’áƒáƒ იშის წáƒáƒ™áƒ˜áƒ—ხვრვერმáƒáƒ®áƒ”რხდáƒ"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"უსáƒáƒ®áƒ”ლáƒ"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"დეტáƒáƒšáƒ”ბი"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"ეკრáƒáƒœáƒ˜áƒ¡ áƒáƒœáƒáƒ‘ეáƒáƒ“ი"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"ეკრáƒáƒœáƒ˜áƒ¡ áƒáƒœáƒáƒ‘ეáƒáƒ“ი გáƒáƒ“áƒáƒ¦áƒ”ბულირწáƒáƒ მáƒáƒ¢áƒ”ბით."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"ეკრáƒáƒœáƒ˜áƒ¡ áƒáƒœáƒáƒ‘ეáƒáƒ“ის გáƒáƒ“áƒáƒ¦áƒ”ბრვერმáƒáƒ®áƒ”რხდáƒ."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"ხáƒáƒ ვეზის შესáƒáƒ®áƒ”ბ áƒáƒœáƒ’áƒáƒ იშის დეტáƒáƒšáƒ”ბი"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"მáƒáƒ™áƒšáƒ” სáƒáƒ®áƒ”ლი"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1-ხáƒáƒ–იáƒáƒœáƒ˜ რეზიუმე"</string> diff --git a/packages/Shell/res/values-kk-rKZ/strings.xml b/packages/Shell/res/values-kk-rKZ/strings.xml index 73092a6972f1..2829b9b2a449 100644 --- a/packages/Shell/res/values-kk-rKZ/strings.xml +++ b/packages/Shell/res/values-kk-rKZ/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Қате туралы еÑеп файлын оқу мүмкін болмады"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"атауÑыз"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Мәліметтер"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Скриншот"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Скриншот Ñәтті түÑірілді."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Скриншот түÑіру мүмкін болмады."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Қате туралы еÑептің мәліметтері"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"ҚыÑқа аты"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1 жолдық жиынтық мәліметтер"</string> diff --git a/packages/Shell/res/values-km-rKH/strings.xml b/packages/Shell/res/values-km-rKH/strings.xml index d4dd08d5d113..3573588b1277 100644 --- a/packages/Shell/res/values-km-rKH/strings.xml +++ b/packages/Shell/res/values-km-rKH/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"មិនអាចអានឯកសាររបាយកាណáŸáž€áŸ†áž ុសបានទáŸ"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"គ្មានឈ្មោះ"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"áž–áŸážáŸŒáž˜áž¶áž“លម្អិáž"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"រូបážážáž¢áŸáž€áŸ’រង់"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"បានážážážšáž¼áž”ážážáž¢áŸáž€áŸ’រង់ដោយជោគជáŸáž™"</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"មិនអាចážážážšáž¼áž”ážážáž¢áŸáž€áŸ’រង់បានទáŸ"</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"áž–áŸážáŸŒáž˜áž¶áž“លម្អិážáž–ីរបាយការណáŸáž€áŸ†áž ុស"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"ឈ្មោះ​ážáŸ’លី"</string> <string name="bugreport_info_title" msgid="127167853370557175">"ការសង្ážáŸáž”មួយជួរ"</string> diff --git a/packages/Shell/res/values-kn-rIN/strings.xml b/packages/Shell/res/values-kn-rIN/strings.xml index 27e858211950..70712644840c 100644 --- a/packages/Shell/res/values-kn-rIN/strings.xml +++ b/packages/Shell/res/values-kn-rIN/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"ಬಗà³â€Œ ವರದಿ ಫೈಲà³â€Œâ€Œ ಅನà³à²¨à³ ಓದಲೠಸಾಧà³à²¯à²µà²¾à²—à³à²¤à³à²¤à²¿à²²à³à²²"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"ಹೆಸರಿಸದಿರà³à²µà³à²¦à³"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"ವಿವರಗಳà³"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"ಸà³à²•à³à²°à³€à²¨à³â€Œà²¶à²¾à²Ÿà³"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"ಸà³à²•à³à²°à³€à²¨à³â€Œà²¶à²¾à²Ÿà³â€Œ ಯಶಸà³à²µà²¿à²¯à²¾à²—ಿ ತೆಗೆದà³à²•ೊಳà³à²³à²²à²¾à²—ಿದೆ."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"ಸà³à²•à³à²°à³€à²¨à³â€Œà²¶à²¾à²Ÿà³â€Œ ತೆಗೆದà³à²•ೊಳà³à²³à²²à³ ಸಾಧà³à²¯à²µà²¾à²—à³à²µà³à²¦à²¿à²²à³à²²."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"ಬಗೠವರದಿ ವಿವರಗಳà³"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"ಚಿಕà³à²• ಹೆಸರà³"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1-ಸಾಲಿನ ಸಾರಾಂಶ"</string> diff --git a/packages/Shell/res/values-ko/strings.xml b/packages/Shell/res/values-ko/strings.xml index 7e978e0f522b..4e3c3f446eb5 100644 --- a/packages/Shell/res/values-ko/strings.xml +++ b/packages/Shell/res/values-ko/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"버그 ì‹ ê³ íŒŒì¼ì„ ì½ì„ 수 없습니다."</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"ì´ë¦„ ì—†ìŒ"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"ì„¸ë¶€ì •ë³´"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"스í¬ë¦°ìƒ·"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"스í¬ë¦°ìƒ·ì„ ì°ì—ˆìŠµë‹ˆë‹¤."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"스í¬ë¦°ìƒ·ì„ ì°ì„ 수 없습니다."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"버그 ì‹ ê³ ì„¸ë¶€ì •ë³´"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"ì§§ì€ ì´ë¦„"</string> <string name="bugreport_info_title" msgid="127167853370557175">"한 줄 요약"</string> diff --git a/packages/Shell/res/values-ky-rKG/strings.xml b/packages/Shell/res/values-ky-rKG/strings.xml index f2a688b2d255..051be3833833 100644 --- a/packages/Shell/res/values-ky-rKG/strings.xml +++ b/packages/Shell/res/values-ky-rKG/strings.xml @@ -27,8 +27,11 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Мүчүлүштүк тууралуу кабарлаган файл окулбай койду"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"аталышы жок"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Чоо-жайы"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Скриншот"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Скриншот ийгиликтүү тартылды."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Скриншот тартылбай койду."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Мүчүлүштүктөр жөнүндө кабардын чоо-жайы"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"КыÑка аталышы"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1 Ñаптык корутунду"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Кенен ÑүрөттөмөÑÒ¯"</string> + <string name="bugreport_info_description" msgid="4117088998733546784">"КененирÑÑк маалымат"</string> </resources> diff --git a/packages/Shell/res/values-lo-rLA/strings.xml b/packages/Shell/res/values-lo-rLA/strings.xml index e3b66dfa800e..a04a35563e45 100644 --- a/packages/Shell/res/values-lo-rLA/strings.xml +++ b/packages/Shell/res/values-lo-rLA/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"ບà»à»ˆàºªàº²àº¡àº²àº”àºà»ˆàº²àº™à»„ຟລ໌ລາàºàº‡àº²àº™àº‚à»à»‰àºœàº´àº”ພາດໄດ້"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"ບà»à»ˆàº¡àºµàºŠàº·à»ˆ"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"ລາàºàº¥àº°àºàº½àº”"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"ພາບໜ້າຈà»"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"ຖ່າàºàºžàº²àºšà»œà»‰àº²àºˆà»àºªàº³à»€àº¥àº±àº”à»àº¥à»‰àº§."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"ບà»à»ˆàºªàº²àº¡àº²àº”ຖ່າàºàºžàº²àºšà»œà»‰àº²àºˆà»à»„ດ້."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"ລາàºâ€‹àº¥àº°â€‹àºàº½àº”​àºàº²àº™àº¥àº²àºàº‡àº²àº™àºšàº±àº™àº«àº²"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"ຊື່ສັ້ນ"</string> <string name="bugreport_info_title" msgid="127167853370557175">"ສະຫຼຸບ 1 à»àº–ວ"</string> diff --git a/packages/Shell/res/values-lt/strings.xml b/packages/Shell/res/values-lt/strings.xml index a8f0f2bfc750..8d8d31e58a65 100644 --- a/packages/Shell/res/values-lt/strings.xml +++ b/packages/Shell/res/values-lt/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Nepavyko sukurti praneÅ¡imo apie riktÄ… failo"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"be pavadinimo"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Informacija"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Ekrano kopija"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Ekrano kopija sÄ—kmingai padaryta."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Nepavyko padaryti ekrano kopijos."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"IÅ¡sami praneÅ¡imo apie riktÄ… informacija"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Trumpasis pavadinimas"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1 eilutÄ—s suvestinÄ—"</string> diff --git a/packages/Shell/res/values-lv/strings.xml b/packages/Shell/res/values-lv/strings.xml index 87380b122524..dba1ad322f4e 100644 --- a/packages/Shell/res/values-lv/strings.xml +++ b/packages/Shell/res/values-lv/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"NevarÄ“ja nolasÄ«t kļūdas pÄrskata failu."</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"bez nosaukuma"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"DetalizÄ“ta informÄcija"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"EkrÄnuzņēmums"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"EkrÄnuzņēmums ir veikts sekmÄ«gi."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"NevarÄ“ja veikt ekrÄnuzņēmumu."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Kļūdas pÄrskata informÄcija"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"SaÄ«sinÄts nosaukums"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Kopsavilkums 1 rindiņÄ"</string> diff --git a/packages/Shell/res/values-mk-rMK/strings.xml b/packages/Shell/res/values-mk-rMK/strings.xml index 25fdf1fff0cc..6e23ad8395bc 100644 --- a/packages/Shell/res/values-mk-rMK/strings.xml +++ b/packages/Shell/res/values-mk-rMK/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Датотеката Ñо извештај за грешка не можеше да Ñе прочита"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"неименувани"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Детали"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Слика од екранот"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"УÑпешно е направена Ñлика од екранот."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Ðе може да Ñе направи Ñлика од екранот."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Детали на извештајот за грешка"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Кратко име"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Резиме во 1 ред"</string> diff --git a/packages/Shell/res/values-ml-rIN/strings.xml b/packages/Shell/res/values-ml-rIN/strings.xml index 8a29f69ac6ea..73a4fff0eb7c 100644 --- a/packages/Shell/res/values-ml-rIN/strings.xml +++ b/packages/Shell/res/values-ml-rIN/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"ബഗൠറിപàµà´ªàµ‹àµ¼à´Ÿàµà´Ÿàµ ഫയൽ വായികàµà´•ാനായിലàµà´²"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"പേരിലàµà´²à´¾à´¤àµà´¤à´µàµ¼"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"വിശദാംശങàµà´™àµ¾"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"à´¸àµâ€Œà´•àµà´°àµ€àµ»à´·àµ‹à´Ÿàµà´Ÿàµ"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"à´¸àµà´•àµà´°àµ€àµ»à´·àµ‹à´Ÿàµà´Ÿàµ à´Žà´Ÿàµà´¤àµà´¤àµ."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"à´¸àµà´•àµà´°àµ€àµ»à´·àµ‹à´Ÿàµà´Ÿàµ à´Žà´Ÿàµà´•àµà´•ാൻ à´•à´´à´¿à´žàµà´žà´¿à´²àµà´²."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"ബഗൠറിപàµà´ªàµ‹àµ¼à´Ÿàµà´Ÿàµ വിശദാംശങàµà´™àµ¾"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"à´¹àµà´°à´¸àµà´µ നാമം"</string> <string name="bugreport_info_title" msgid="127167853370557175">"ഒരൠവരി സംഗàµà´°à´¹à´‚"</string> diff --git a/packages/Shell/res/values-mn-rMN/strings.xml b/packages/Shell/res/values-mn-rMN/strings.xml index 2a9127670ea5..1f4be4ab5845 100644 --- a/packages/Shell/res/values-mn-rMN/strings.xml +++ b/packages/Shell/res/values-mn-rMN/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Ðлдааны тайлангийн файлыг уншиж чадахгүй байна"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"нÑÑ€ байхгүй"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"ДÑлгÑÑ€Ñнгүй"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"ДÑлгÑцийн зураг"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"ДÑлгÑцийн зургийг амжилттай авлаа."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"ДÑлгÑцийн зураг авах боломжгүй."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Ðлдааны дÑлгÑÑ€Ñнгүй тайлан"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Богино нÑÑ€"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1-Ñ€ шугамын хураангуй"</string> diff --git a/packages/Shell/res/values-mr-rIN/strings.xml b/packages/Shell/res/values-mr-rIN/strings.xml index 476a8870774e..6b06cf5fcd5d 100644 --- a/packages/Shell/res/values-mr-rIN/strings.xml +++ b/packages/Shell/res/values-mr-rIN/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"दोष अहवाल फाईल वाचणे शकà¥à¤¯ à¤à¤¾à¤²à¥‡ नाही"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"अनामित"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"तपशील"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"सà¥à¤•à¥à¤°à¥€à¤¨à¤¶à¥‰à¤Ÿ"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"सà¥à¤•à¥à¤°à¥€à¤¨à¤¶à¥‰à¤Ÿ यशसà¥à¤µà¥€à¤ªà¤£à¥‡ घेतला."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"सà¥à¤•à¥à¤°à¥€à¤¨à¤¶à¥‰à¤Ÿ घेणे शकà¥à¤¯ à¤à¤¾à¤²à¥‡ नाही."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"दोष अहवाल तपशील"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"लघॠनाव"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1-ओळीचा सारांश"</string> diff --git a/packages/Shell/res/values-ms-rMY/strings.xml b/packages/Shell/res/values-ms-rMY/strings.xml index c7cf3ac7fcc2..e22f880b60df 100644 --- a/packages/Shell/res/values-ms-rMY/strings.xml +++ b/packages/Shell/res/values-ms-rMY/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Fail laporan pepijat tidak dapat dibaca"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"tidak bernama"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Butiran"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Tangkapan skrin"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Tangkapan skrin berjaya diambil."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Tangkapan skrin tidak dapat diambil."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Butiran laporan pepijat"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Nama pendek"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Ringkasan 1 baris"</string> diff --git a/packages/Shell/res/values-my-rMM/strings.xml b/packages/Shell/res/values-my-rMM/strings.xml index e525cc4de216..727cdc9c33bc 100644 --- a/packages/Shell/res/values-my-rMM/strings.xml +++ b/packages/Shell/res/values-my-rMM/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"á€á€»á€½á€á€ºá€šá€½á€„်းá€á€»á€€á€º အစီရင်á€á€¶á€…ာကá€á€¯ ဖá€á€ºáမရပါ"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"အမည်မဲ့"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"အသေးစá€á€á€ºá€™á€»á€¬á€¸"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"မျက်နှာပြင် လျှပ်á€á€…်ပြက်ပုံ"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"မျက်နှာပြင် လျှပ်á€á€…်ပြက်ပုံကá€á€¯ အောင်မြင်စွာ ရá€á€¯á€€á€ºá€•ြီးပြီá‹"</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"မျက်နှာပြင် လျှပ်á€á€…်ပြက်ပုံ မရá€á€¯á€€á€ºá€”á€á€¯á€„်ပါ"</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"á€á€»á€½á€á€ºá€šá€½á€„်းá€á€»á€€á€ºá€¡á€…ီရင်á€á€¶á€…ာ အသေးစá€á€á€ºá€™á€»á€¬á€¸"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"အမည်အá€á€á€¯á€€á€±á€¬á€€á€º"</string> <string name="bugreport_info_title" msgid="127167853370557175">"လá€á€¯á€„်း á လá€á€¯á€„်းအကျဉ်းá€á€»á€¯á€•်"</string> diff --git a/packages/Shell/res/values-nb/strings.xml b/packages/Shell/res/values-nb/strings.xml index 2f04d32be7ef..c7702ef8af4a 100644 --- a/packages/Shell/res/values-nb/strings.xml +++ b/packages/Shell/res/values-nb/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Feilrapportfilen kunne ikke leses"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"uten navn"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Detaljer"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Skjermdump"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Skjermdumpen er tatt."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Skjermdumpen kunne ikke tas."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Detaljer om feilrapporten"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Kallenavn"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Sammendrag pÃ¥ én linje"</string> diff --git a/packages/Shell/res/values-ne-rNP/strings.xml b/packages/Shell/res/values-ne-rNP/strings.xml index 74e472af37da..732f39851fd2 100644 --- a/packages/Shell/res/values-ne-rNP/strings.xml +++ b/packages/Shell/res/values-ne-rNP/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"बग रिपोरà¥à¤Ÿ फाइल पढà¥à¤¨ सकिà¤à¤¨"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"(नामविहीन)"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"विवरण"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"सà¥à¤•à¥à¤°à¤¿à¤¨à¤¶à¤Ÿ"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"सà¥à¤•à¥à¤°à¤¿à¤¨à¤¶à¤Ÿ सफलतापूरà¥à¤µà¤• लिइयो।"</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"सà¥à¤•à¥à¤°à¤¿à¤¨à¤¶à¤Ÿ लिन सकिà¤à¤¨à¥¤"</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"बग रिपोरà¥à¤Ÿà¤•ो विवरण"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"छोटो नाम"</string> <string name="bugreport_info_title" msgid="127167853370557175">"१ लाइनको सारांश"</string> diff --git a/packages/Shell/res/values-nl/strings.xml b/packages/Shell/res/values-nl/strings.xml index f5ac17b0a3ea..0378ca4ae1e3 100644 --- a/packages/Shell/res/values-nl/strings.xml +++ b/packages/Shell/res/values-nl/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Bestand met bugrapport kan niet worden gelezen"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"naamloos"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Details"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Screenshot"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Screenshot is gemaakt."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Screenshot kan niet worden gemaakt."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Details van bugrapport"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Korte naam"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Samenvatting van één regel"</string> diff --git a/packages/Shell/res/values-pa-rIN/strings.xml b/packages/Shell/res/values-pa-rIN/strings.xml index 89d6c608cf0d..720bde04c744 100644 --- a/packages/Shell/res/values-pa-rIN/strings.xml +++ b/packages/Shell/res/values-pa-rIN/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"ਬਗ ਰਿਪੋਰਟ ਫ਼ਾਈਲ ਪੜà©à¨¹à©€ ਨਹੀਂ ਜਾ ਸਕੀ"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"ਬਿਨਾਂ-ਨਾਮ"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"ਵੇਰਵੇ"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"ਸਕà©à¨°à©€à¨¨à¨¸à¨¼à¨¾à¨Ÿ"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"ਸਕà©à¨°à©€à¨¨à¨¸à¨¼à¨¾à¨Ÿ ਸਫਲਤਾਪੂਰਵਕ ਲਿਆ ਗਿਆ।"</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"ਸਕà©à¨°à©€à¨¨à¨¸à¨¼à¨¾à¨Ÿ ਨਹੀਂ ਲਿਆ ਜਾ ਸਕਿਆ।"</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"ਬੱਗ ਰਿਪੋਰਟ ਵੇਰਵੇ"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"ਛੋਟਾ ਨਾਮ"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1-ਲਾਈਨ ਸਾਰਾਂਸ਼"</string> diff --git a/packages/Shell/res/values-pl/strings.xml b/packages/Shell/res/values-pl/strings.xml index 9498428b76c7..d6715a52f4bd 100644 --- a/packages/Shell/res/values-pl/strings.xml +++ b/packages/Shell/res/values-pl/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Nie można odczytać raportu o błędzie"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"bez nazwy"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Szczegóły"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Zrzut ekranu"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Zrobiono zrzut ekranu."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Nie udaÅ‚o siÄ™ zrobić zrzutu ekranu."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Szczegóły zgÅ‚oszenia błędu"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Krótka nazwa"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Jednowierszowe podsumowanie"</string> diff --git a/packages/Shell/res/values-pt-rBR/strings.xml b/packages/Shell/res/values-pt-rBR/strings.xml index d588ef7186ec..fb16dd8c9c68 100644 --- a/packages/Shell/res/values-pt-rBR/strings.xml +++ b/packages/Shell/res/values-pt-rBR/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Não foi possÃvel ler o arquivo de relatório de bug"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"sem nome"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Detalhes"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Capturas de tela"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Captura de tela concluÃda."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Não foi possÃvel fazer a captura de tela."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Detalhes do relatório do bug"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Apelido"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Resumo de uma linha"</string> diff --git a/packages/Shell/res/values-pt-rPT/strings.xml b/packages/Shell/res/values-pt-rPT/strings.xml index c0472d0e671b..07d319ec76cd 100644 --- a/packages/Shell/res/values-pt-rPT/strings.xml +++ b/packages/Shell/res/values-pt-rPT/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Não foi possÃvel ler o ficheiro de relatório de erro"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"sem nome"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Detalhes"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Captura de ecrã"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Captura de ecrã tirada com êxito."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Não foi possÃvel tirar a captura de ecrã."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Detalhes do relatório de erro"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Nome abreviado"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Resumo de 1 linha"</string> diff --git a/packages/Shell/res/values-pt/strings.xml b/packages/Shell/res/values-pt/strings.xml index d588ef7186ec..fb16dd8c9c68 100644 --- a/packages/Shell/res/values-pt/strings.xml +++ b/packages/Shell/res/values-pt/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Não foi possÃvel ler o arquivo de relatório de bug"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"sem nome"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Detalhes"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Capturas de tela"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Captura de tela concluÃda."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Não foi possÃvel fazer a captura de tela."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Detalhes do relatório do bug"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Apelido"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Resumo de uma linha"</string> diff --git a/packages/Shell/res/values-ro/strings.xml b/packages/Shell/res/values-ro/strings.xml index 40eac80f62f3..064dfaf7e648 100644 --- a/packages/Shell/res/values-ro/strings.xml +++ b/packages/Shell/res/values-ro/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"FiÈ™ierul cu raportul de eroare nu a putut fi citit"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"fără nume"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Detalii"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Captură de ecran"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Captura de ecran a fost făcută."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Captura de ecran nu a putut fi făcută."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Detalii privind raportul de eroare"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Nume scurt"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Rezumat de un rând"</string> diff --git a/packages/Shell/res/values-ru/strings.xml b/packages/Shell/res/values-ru/strings.xml index fd9fdf33da33..3350740cb670 100644 --- a/packages/Shell/res/values-ru/strings.xml +++ b/packages/Shell/res/values-ru/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Ðе удалоÑÑŒ открыть отчет об ошибке"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"без названиÑ"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Детали"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Скриншоты"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Скриншот готов"</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Ðе удалоÑÑŒ Ñделать Ñкриншот"</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Детали отчета об ошибке"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Краткое название"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Краткое опиÑание ошибки"</string> diff --git a/packages/Shell/res/values-si-rLK/strings.xml b/packages/Shell/res/values-si-rLK/strings.xml index 83f04fb5b5da..d915109283ad 100644 --- a/packages/Shell/res/values-si-rLK/strings.xml +++ b/packages/Shell/res/values-si-rLK/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"දà·à·‚ à·€à·à¶»à·Šà¶à· ගොනුව කියවීමට නොහà·à¶šà·’ විය"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"නම් නොකළ"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"විස්à¶à¶»"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"à¶à·’à¶» රුව"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"à·ƒà·à¶»à·Šà¶®à¶šà·€ à¶à·’à¶» රුවක් ගන්න෠ලදී."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"à¶à·’à¶» රුවක් ගචනොහà·à¶šà·’ විය."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"දà·à·‚ à·€à·à¶»à·Šà¶à· විස්à¶à¶»"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"කෙටි නම"</string> <string name="bugreport_info_title" msgid="127167853370557175">"à¶´à·šà·…à·’-1 à·ƒà·à¶»à·à¶‚à·à¶º"</string> diff --git a/packages/Shell/res/values-sk/strings.xml b/packages/Shell/res/values-sk/strings.xml index 46a6cea654a2..ec9003d88bbe 100644 --- a/packages/Shell/res/values-sk/strings.xml +++ b/packages/Shell/res/values-sk/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Súbor s hlásenÃm chyby sa nepodarilo preÄÃtaÅ¥"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"bez názvu"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Podrobnosti"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"SnÃmka obrazovky"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"SnÃmka obrazovky bola zaznamenaná."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"SnÃmku obrazovky sa nepodarilo zaznamenaÅ¥."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Podrobnosti hlásenia chyby"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Skrátený názov"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Jednoriadkové zhrnutie"</string> diff --git a/packages/Shell/res/values-sl/strings.xml b/packages/Shell/res/values-sl/strings.xml index fb28bd21cf70..aa66ce94b8d4 100644 --- a/packages/Shell/res/values-sl/strings.xml +++ b/packages/Shell/res/values-sl/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Datoteke s poroÄilom o napakah ni bilo mogoÄe prebrati"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"neimenovano"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Podrobnosti"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Posnetek zaslona"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Posnetek zaslon je bil uspeÅ¡no ustvarjen."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Posnetka zaslon ni bilo mogoÄe ustvariti."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Podrobnosti o poroÄilu o napakah"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Ime"</string> <string name="bugreport_info_title" msgid="127167853370557175">"EnovrstiÄni povzetek"</string> diff --git a/packages/Shell/res/values-sq-rAL/strings.xml b/packages/Shell/res/values-sq-rAL/strings.xml index e5c42c6284d2..dd13f34a46fa 100644 --- a/packages/Shell/res/values-sq-rAL/strings.xml +++ b/packages/Shell/res/values-sq-rAL/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Skedari i raportimit të defektit në kod nuk mund të lexohej."</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"e paemërtuar"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Detajet"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Pamja e ekranit"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Pamja e ekranit u realizua me sukses."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Pamja e ekranit nuk mund të realizohej."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Detajet e raportimit të gabimeve në kod"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Emri shkurt"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Përmbledhje me 1 rresht"</string> diff --git a/packages/Shell/res/values-sr/strings.xml b/packages/Shell/res/values-sr/strings.xml index e46430e83219..1da7ecb03665 100644 --- a/packages/Shell/res/values-sr/strings.xml +++ b/packages/Shell/res/values-sr/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Датотека извештаја о грешци не може да Ñе прочита"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"неименовано"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Детаљи"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Снимци екрана"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Снимање екрана је уÑпело."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Снимање екрана није уÑпело."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Детаљи извештаја о грешци"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Кратки назив"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Резиме у једном реду"</string> diff --git a/packages/Shell/res/values-sv/strings.xml b/packages/Shell/res/values-sv/strings.xml index 6b600ebf23e6..8afa0a535114 100644 --- a/packages/Shell/res/values-sv/strings.xml +++ b/packages/Shell/res/values-sv/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Det gick inte att läsa felrapporten"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"namnlös"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Information"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Skärmdump"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"En skärmdump har tagits."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Det gick inte att ta skrämdump."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Information för felrapporten"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Kortnamn"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Sammanfattning pÃ¥ en rad"</string> diff --git a/packages/Shell/res/values-sw/strings.xml b/packages/Shell/res/values-sw/strings.xml index 2096b3649550..5b7026247abe 100644 --- a/packages/Shell/res/values-sw/strings.xml +++ b/packages/Shell/res/values-sw/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Faili ya ripoti ya hitilafu haikusomwa"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"Isiyo na jina"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Maelezo"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Picha ya skrini"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Imepiga picha ya skrini."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Haikupiga picha ya skrini."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Maelezo kuhusu ripoti ya hitilafu"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Jina fupi"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Muhtasari wa mstari mmoja"</string> diff --git a/packages/Shell/res/values-ta-rIN/strings.xml b/packages/Shell/res/values-ta-rIN/strings.xml index ae97cfe50527..91eb718e09c1 100644 --- a/packages/Shell/res/values-ta-rIN/strings.xml +++ b/packages/Shell/res/values-ta-rIN/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"பிழை அறிகà¯à®•ையைப௠படிகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"பெயரிடபà¯à®ªà®Ÿà®¾à®¤à®¤à¯"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"விவரஙà¯à®•ளà¯"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"ஸà¯à®•ிரீன௠ஷாடà¯"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"ஸà¯à®•ிரீன௠ஷாட௠எடà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"ஸà¯à®•ிரீன௠ஷாடà¯à®Ÿà¯ˆ எடà¯à®•à¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"பிழை அறிகà¯à®•ை விவரஙà¯à®•ளà¯"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"சà¯à®°à¯à®•à¯à®•ப௠பெயரà¯"</string> <string name="bugreport_info_title" msgid="127167853370557175">"சà¯à®°à¯à®•à¯à®•விவரம௠(ஒர௠வரியிலà¯)"</string> diff --git a/packages/Shell/res/values-te-rIN/strings.xml b/packages/Shell/res/values-te-rIN/strings.xml index 7dd344c31e77..517dd5e8b2c1 100644 --- a/packages/Shell/res/values-te-rIN/strings.xml +++ b/packages/Shell/res/values-te-rIN/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"బగౠనివేదిక ఫైలà±â€Œà°¨à± చదవడం సాధà±à°¯à°ªà°¡à°²à±‡à°¦à±"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"పేరౠలేనివి"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"వివరాలà±"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"à°¸à±à°•à±à°°à±€à°¨à±â€Œà°·à°¾à°Ÿà±"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"à°¸à±à°•à±à°°à±€à°¨à±â€Œà°·à°¾à°Ÿà± విజయవంతంగా తీయబడింది."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"à°¸à±à°•à±à°°à±€à°¨à±â€Œà°·à°¾à°Ÿà±â€Œà°¨à± తీయడం సాధà±à°¯à°ªà°¡à°²à±‡à°¦à±."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"బగౠనివేదిక వివరాలà±"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"à°šà°¿à°¨à±à°¨ పేరà±"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1-పంకà±à°¤à°¿ సారాంశం"</string> diff --git a/packages/Shell/res/values-th/strings.xml b/packages/Shell/res/values-th/strings.xml index af3fa3e64aab..b7340955dc7c 100644 --- a/packages/Shell/res/values-th/strings.xml +++ b/packages/Shell/res/values-th/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"ไม่สามารถà¸à¹ˆà¸²à¸™à¹„ฟล์รายงานข้à¸à¸šà¸à¸žà¸£à¹ˆà¸à¸‡"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"ไม่มีชื่à¸"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"รายละเà¸à¸µà¸¢à¸”"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"ภาพหน้าจà¸"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"จับภาพหน้าจà¸à¸ªà¸³à¹€à¸£à¹‡à¸ˆà¹à¸¥à¹‰à¸§"</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"ไม่สามารถจับภาพหน้าจà¸à¹„ด้"</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"รายละเà¸à¸µà¸¢à¸”รายงานข้à¸à¸šà¸à¸žà¸£à¹ˆà¸à¸‡"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"ชื่à¸à¸¢à¹ˆà¸"</string> <string name="bugreport_info_title" msgid="127167853370557175">"สรุป 1 บรรทัด"</string> diff --git a/packages/Shell/res/values-tl/strings.xml b/packages/Shell/res/values-tl/strings.xml index e93e399f69a4..bcce1db30ecd 100644 --- a/packages/Shell/res/values-tl/strings.xml +++ b/packages/Shell/res/values-tl/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Hindi mabasa ang file ng pag-uulat ng bug"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"walang pangalan"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Mga Detalye"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Screenshot"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Nakunan ng screenshot."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Hindi makunan ng screenshot."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Mga detalye ng ulat ng bug"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Maikling pangalan"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Buod na may 1 linya"</string> diff --git a/packages/Shell/res/values-tr/strings.xml b/packages/Shell/res/values-tr/strings.xml index 7ea3c77b6d2f..e1fdf10f966d 100644 --- a/packages/Shell/res/values-tr/strings.xml +++ b/packages/Shell/res/values-tr/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Hata raporu dosyası okunamadı"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"adsız"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Ayrıntılar"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Ekran görüntüsü"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Ekran görüntüsü baÅŸarıyla alındı."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Ekran görüntüsü alınamadı."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Hata raporu ayrıntıları"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Kısa ad"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1 satırlık özet"</string> diff --git a/packages/Shell/res/values-uk/strings.xml b/packages/Shell/res/values-uk/strings.xml index 4127deb9657f..dd43c4c32173 100644 --- a/packages/Shell/res/values-uk/strings.xml +++ b/packages/Shell/res/values-uk/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Ðе вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ звіт про помилки"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"без назви"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Деталі"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Знімок екрана"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Знімок екрана зроблено."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Ðе вдалоÑÑ Ð·Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ знімок екрана."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Деталі Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Коротка назва"</string> <string name="bugreport_info_title" msgid="127167853370557175">"ПідÑумок одним Ñ€Ñдком"</string> diff --git a/packages/Shell/res/values-ur-rPK/strings.xml b/packages/Shell/res/values-ur-rPK/strings.xml index d8cb00b7a2c6..b97c8b5fc66f 100644 --- a/packages/Shell/res/values-ur-rPK/strings.xml +++ b/packages/Shell/res/values-ur-rPK/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"بگ رپورٹ ÙØ§Ø¦Ù„ Ù¾Ú‘Ú¾ÛŒ Ù†Ûیں جا سکی"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"بغیر نام"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"ØªÙØµÛŒÙ„ات"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"اسکرین شاٹ"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"اسکرین شاٹ کامیابی سے Ù„Û’ لیا گیا۔"</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"سکرین شاٹ Ù†Ûیں لیا جا سکا۔"</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"بگ رپورٹ Ú©ÛŒ ØªÙØµÛŒÙ„ات"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"مختصر نام"</string> <string name="bugreport_info_title" msgid="127167853370557175">"1 لائن کا خلاصÛ"</string> diff --git a/packages/Shell/res/values-uz-rUZ/strings.xml b/packages/Shell/res/values-uz-rUZ/strings.xml index 8e1f24f2c519..279c876dfedc 100644 --- a/packages/Shell/res/values-uz-rUZ/strings.xml +++ b/packages/Shell/res/values-uz-rUZ/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Xatoliklar hisoboti faylini o‘qib bo‘lmadi"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"nomsiz"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Tafsilotlar"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Skrinshot"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Skrinshot tayyor."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Skrinshot olib bo‘lmadi."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Xatoliklar hisoboti tafsilotlari"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Qisqa nomi"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Xatolikning qisqacha ta’rifi"</string> diff --git a/packages/Shell/res/values-vi/strings.xml b/packages/Shell/res/values-vi/strings.xml index 03d40cf7e235..4e1ebc7d9df2 100644 --- a/packages/Shell/res/values-vi/strings.xml +++ b/packages/Shell/res/values-vi/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Không thể Ä‘á»c tệp báo cáo lá»—i"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"chưa được đặt tên"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Chi tiết"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Ảnh chụp mà n hình"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Äã chụp ảnh mà n hình thà nh công."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Không thể chụp ảnh mà n hình."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Chi tiết báo cáo lá»—i"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Tên ngắn"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Tóm tắt 1 dòng"</string> diff --git a/packages/Shell/res/values-zh-rCN/strings.xml b/packages/Shell/res/values-zh-rCN/strings.xml index 130a0ade2743..b5ba7a927c52 100644 --- a/packages/Shell/res/values-zh-rCN/strings.xml +++ b/packages/Shell/res/values-zh-rCN/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"æ— æ³•è¯»å–错误报告文件"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"未命å"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"详细信æ¯"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"å±å¹•截图"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"å·²æˆåŠŸæˆªå›¾ã€‚"</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"æ— æ³•æˆªå›¾ã€‚"</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"错误报告详细信æ¯"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"简称"</string> <string name="bugreport_info_title" msgid="127167853370557175">"ç®€çŸæ‘˜è¦ï¼ˆ1 行)"</string> diff --git a/packages/Shell/res/values-zh-rHK/strings.xml b/packages/Shell/res/values-zh-rHK/strings.xml index b4345f6201b0..896a920f2bb3 100644 --- a/packages/Shell/res/values-zh-rHK/strings.xml +++ b/packages/Shell/res/values-zh-rHK/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"無法讀å–éŒ¯èª¤å ±å‘Šæª”æ¡ˆ"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"未命å"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"詳細資訊"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"螢幕擷å–ç•«é¢"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"æˆåŠŸæ‹æ”螢幕擷å–ç•«é¢ã€‚"</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"無法擷å–螢幕畫é¢ã€‚"</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"éŒ¯èª¤å ±å‘Šè©³æƒ…"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"簡稱"</string> <string name="bugreport_info_title" msgid="127167853370557175">"ç°¡çŸæ‘˜è¦ (1 行)"</string> diff --git a/packages/Shell/res/values-zh-rTW/strings.xml b/packages/Shell/res/values-zh-rTW/strings.xml index 6b89ad9bd560..2bdf56186a05 100644 --- a/packages/Shell/res/values-zh-rTW/strings.xml +++ b/packages/Shell/res/values-zh-rTW/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"無法讀å–éŒ¯èª¤å ±å‘Šæª”æ¡ˆ"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"未命å"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"詳細資料"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"螢幕擷å–ç•«é¢"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"å·²æˆåŠŸæ‹æ”螢幕擷å–ç•«é¢ã€‚"</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"ç„¡æ³•æ‹æ”螢幕擷å–ç•«é¢ã€‚"</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"éŒ¯èª¤å ±å‘Šè©³ç´°è³‡æ–™"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"簡稱"</string> <string name="bugreport_info_title" msgid="127167853370557175">"ç°¡çŸæ‘˜è¦"</string> diff --git a/packages/Shell/res/values-zu/strings.xml b/packages/Shell/res/values-zu/strings.xml index f30c4f6aecfe..652105a9659e 100644 --- a/packages/Shell/res/values-zu/strings.xml +++ b/packages/Shell/res/values-zu/strings.xml @@ -27,6 +27,9 @@ <string name="bugreport_unreadable_text" msgid="586517851044535486">"Ifayela lombiko wesiphazamso alikwazanga ukufundwa"</string> <string name="bugreport_unnamed" msgid="2800582406842092709">"awunikiwe igama"</string> <string name="bugreport_info_action" msgid="2158204228510576227">"Imininingwane"</string> + <string name="bugreport_screenshot_action" msgid="8677781721940614995">"Isithombe-skrini"</string> + <string name="bugreport_screenshot_taken" msgid="7175343181767429088">"Isithombe-skrini sithathwe ngempumelelo."</string> + <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Isithombe-skrini asikwazanga ukuthathwa."</string> <string name="bugreport_info_dialog_title" msgid="3113549839798564645">"Imininingwane yombiko wesiphazamisi"</string> <string name="bugreport_info_name" msgid="5089191832271852826">"Igama elifishane"</string> <string name="bugreport_info_title" msgid="127167853370557175">"Isifinyezo somugqa ongu-1"</string> diff --git a/packages/SystemUI/res/layout/quick_status_bar_expanded_header.xml b/packages/SystemUI/res/layout/quick_status_bar_expanded_header.xml index a995ec778972..237768422e2a 100644 --- a/packages/SystemUI/res/layout/quick_status_bar_expanded_header.xml +++ b/packages/SystemUI/res/layout/quick_status_bar_expanded_header.xml @@ -96,14 +96,14 @@ <LinearLayout android:id="@+id/date_time_group" android:layout_width="wrap_content" - android:layout_height="wrap_content" + android:layout_height="28dp" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:orientation="horizontal"> <include layout="@layout/split_clock_view" android:layout_width="wrap_content" - android:layout_height="wrap_content" + android:layout_height="match_parent" android:layout_marginStart="16dp" android:layout_marginTop="2dp" android:id="@+id/clock" /> @@ -111,28 +111,28 @@ <com.android.systemui.statusbar.policy.DateView android:id="@+id/date" android:layout_width="wrap_content" - android:layout_height="wrap_content" + android:layout_height="match_parent" android:layout_marginStart="6dp" android:layout_marginTop="8dp" - android:layout_alignParentTop="true" android:drawableStart="@drawable/header_dot" android:drawablePadding="6dp" android:singleLine="true" android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock" android:textSize="@dimen/qs_time_collapsed_size" + android:gravity="top" systemui:datePattern="@string/abbrev_wday_month_day_no_year_alarm" /> <com.android.systemui.statusbar.AlphaOptimizedButton android:id="@+id/alarm_status" android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentTop="true" + android:layout_height="match_parent" + android:layout_marginTop="8dp" android:drawablePadding="6dp" android:drawableStart="@drawable/ic_access_alarms_small" android:textColor="#64ffffff" android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date" - android:minHeight="36dp" android:paddingStart="6dp" + android:gravity="top" android:background="?android:attr/selectableItemBackground" android:visibility="gone" /> </LinearLayout> diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml index f126ba8b4578..f81bf23dec47 100644 --- a/packages/SystemUI/res/values-af/strings.xml +++ b/packages/SystemUI/res/values-af/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Wys hierdie kennisgewings sonder geluide"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Wys boaan die kennisgewinglys en maak \'n geluid"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Verskyn vlugtig op die skerm en maak \'n geluid"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Normale kleure"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Aandkleure"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Gepasmaakte kleure"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Onbekende kleure"</string> + <string name="color_transform" msgid="6985460408079086090">"Kleurverandering"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Wys kitsinstellings-teël"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Aktiveer gepasmaakte omskepping"</string> + <string name="color_apply" msgid="9212602012641034283">"Pas toe"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Bevestig instellings"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Sommige kleurinstellings kan hierdie toestel onbruikbaar maak. Klik OK om hierdie kleurinstellings te bevestig; andersins sal hierdie instellings ná 10 sekondes teruggestel word."</string> </resources> diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml index 6910dd422292..d96e7906e032 100644 --- a/packages/SystemUI/res/values-am/strings.xml +++ b/packages/SystemUI/res/values-am/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"እáŠá‹šáˆ…ን ማሳወቂያዎች በጸጥታ አሳá‹"</string> <string name="notification_importance_high" msgid="3222680136612408223">"በማሳወቂያዎች á‹áˆá‹áˆ ላá‹áŠ›á‹ áŠáሠላዠአሳá‹áŠ“ ድáˆá… አሰማ"</string> <string name="notification_importance_max" msgid="5236987171904756134">"ወደ ገጸ ማያዠá‹áˆ˜áˆáŠ¨á‰±áŠ“ ድáˆá… á‹á‰…ረጹ"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"መደበኛ ቀለሞች"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"የለሊት ቀለሞች"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"ብጠቀለሞች"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"የማá‹á‰³á‹ˆá‰ ቀለሞች"</string> + <string name="color_transform" msgid="6985460408079086090">"የቀለሠማሻሻያ"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"የáˆáŒ£áŠ• ቅንብሮች ሰቅን አሳá‹"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"ብጠቅየራን አንቃ"</string> + <string name="color_apply" msgid="9212602012641034283">"ተáŒá‰¥áˆ"</string> + <string name="color_revert_title" msgid="4746666545480534663">"ቅንብሮችን ያረጋáŒáŒ¡"</string> + <string name="color_revert_message" msgid="9116001069397996691">"አንዳንድ የቀለሠቅንብሮች á‹áˆ…ን መሣሪያ የማá‹áŒ ቅሠሊያደáˆáŒ‰á‰µ á‹á‰½áˆ‹áˆ‰á¢ እáŠá‹šáˆ…ን የቀለሠቅንብሮች ለማረጋገጥ እሺ የሚለá‹áŠ• ጠቅ ያድáˆáŒ‰á£ አለበለዚያ እáŠá‹šáˆ… ቅንብሮች ከ10 ሰከንዶች በኋላ ዳáŒáˆ á‹áŒ€áˆáˆ«áˆ‰á¢"</string> </resources> diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml index 40e3d6ae82d0..b3e494c72ead 100644 --- a/packages/SystemUI/res/values-ar/strings.xml +++ b/packages/SystemUI/res/values-ar/strings.xml @@ -464,4 +464,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"عرض هذه الإشعارات بدون تنبيه صوتي"</string> <string name="notification_importance_high" msgid="3222680136612408223">"العرض أعلى قائمة الإشعارات مع تنبيه صوتي"</string> <string name="notification_importance_max" msgid="5236987171904756134">"الظهور سريعًا على الشاشة مع تنبيه صوتي"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"ألوان عادية"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"ألوان ليلية"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"ألوان مخصصة"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"ألوان غير Ù…Ø¹Ø±ÙˆÙØ©"</string> + <string name="color_transform" msgid="6985460408079086090">"إشعار الألوان"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"إظهار قسم الإعدادات السريعة"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"تمكين التØÙˆÙŠÙ„ المخصص"</string> + <string name="color_apply" msgid="9212602012641034283">"تطبيق"</string> + <string name="color_revert_title" msgid="4746666545480534663">"تأكيد الإعدادات"</string> + <string name="color_revert_message" msgid="9116001069397996691">"يمكن أن تتسبب بعض إعدادات الألوان ÙÙŠ تعطيل إمكانية استخدام الجهاز. يمكنك النقر على \"مواÙÙ‚\" لتأكيد إعدادات الألوان هذه، وإلا ÙØ³ØªØªÙ… إعادة تعيين هذه الإعدادات بعد 10 ثوانÙ."</string> </resources> diff --git a/packages/SystemUI/res/values-az-rAZ/strings.xml b/packages/SystemUI/res/values-az-rAZ/strings.xml index a202ab69748a..4efc5df78f4c 100644 --- a/packages/SystemUI/res/values-az-rAZ/strings.xml +++ b/packages/SystemUI/res/values-az-rAZ/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Bu bildiÅŸlÉ™ri sÉ™ssiz göstÉ™rin"</string> <string name="notification_importance_high" msgid="3222680136612408223">"BildiriÅŸlÉ™r siyahısında yuxarıda göstÉ™rin vÉ™ sÉ™sli edin"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Ekranda nÉ™zÉ™r salın vÉ™ sÉ™sli edin"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Normal rÉ™nglÉ™r"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"GecÉ™ rÉ™nglÉ™ri"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Xüsusi rÉ™nglÉ™r"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"NamÉ™lum rÉ™ng"</string> + <string name="color_transform" msgid="6985460408079086090">"RÉ™ng modifikasiyası"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"CÉ™ld ayarlar örtüyünü göstÉ™rin"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Xüsusi dÉ™yiÅŸikliyi aktiv edin"</string> + <string name="color_apply" msgid="9212602012641034283">"TÉ™tbiq edin"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Ayarları tÉ™sdiq edin"</string> + <string name="color_revert_message" msgid="9116001069397996691">"BÉ™zi renk ayarları bu cihazı yararsız edÉ™ bilÉ™r. Bu rÉ™nk ayarlarını tÉ™sdiq etmÉ™k üçün OK basın, É™ks halda bu ayarlar 10 saniyÉ™ sonra sıfırlanacaq."</string> </resources> diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml index 31608e000494..f482e9666dcc 100644 --- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml +++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml @@ -461,4 +461,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Ova obaveÅ¡tenja se prikazuju bez zvuka"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Prikazuju se u vrhu liste obaveÅ¡tenja i emituje se zvuk"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Nakratko se prikazuju na ekranu i emituje se zvuk"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Normalne boje"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Noćne boje"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"PrilagoÄ‘ene boje"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Nepoznate boje"</string> + <string name="color_transform" msgid="6985460408079086090">"Izmena boja"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Prikaži ploÄicu Brza podeÅ¡avanja"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Omogući prilagoÄ‘enu transformaciju"</string> + <string name="color_apply" msgid="9212602012641034283">"Primeni"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Potvrdite podeÅ¡avanja"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Neka podeÅ¡avanja boja mogu da uÄine ureÄ‘aj neupotrebljivim. Kliknite na Potvrdi da biste potvrdili ova podeÅ¡avanja boja, poÅ¡to će se u suprotnom ova podeÅ¡avanja resetovati nakon 10 sekundi."</string> </resources> diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml index a9d596f9dfbf..95c4a2243ba4 100644 --- a/packages/SystemUI/res/values-bg/strings.xml +++ b/packages/SystemUI/res/values-bg/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Тези извеÑÑ‚Ð¸Ñ Ñе показват без звук"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Показване най-горе в ÑпиÑъка Ñ Ð¸Ð·Ð²ÐµÑÑ‚Ð¸Ñ Ð¸ издаване на звуков Ñигнал"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Показване на екрана и издаване на звуков Ñигнал"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Ðормални цветове"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Ðощни цветове"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"ПерÑонализирани цветове"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"ÐеизвеÑтни цветове"</string> + <string name="color_transform" msgid="6985460408079086090">"ПромÑна на цветовете"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Показване на плочката за бързи наÑтройки"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Ðктивиране на перÑонализираното транÑформиране"</string> + <string name="color_apply" msgid="9212602012641034283">"Прилагане"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Потвърждаване на наÑтройките"</string> + <string name="color_revert_message" msgid="9116001069397996691">"ÐÑкои наÑтройки за цветовете могат да направÑÑ‚ това уÑтройÑтво неизползваемо. За да ги потвърдите, кликнете върху „OK“. Ð’ противен Ñлучай те ще бъдат нулирани Ñлед 10 Ñекунди."</string> </resources> diff --git a/packages/SystemUI/res/values-bn-rBD/strings.xml b/packages/SystemUI/res/values-bn-rBD/strings.xml index d535bdcb7354..38885d56678d 100644 --- a/packages/SystemUI/res/values-bn-rBD/strings.xml +++ b/packages/SystemUI/res/values-bn-rBD/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"নিঃশবà§à¦¦à§‡ à¦à¦‡ বিজà§à¦žà¦ªà§à¦¤à¦¿à¦—à§à¦²à¦¿ দেখানো হয়"</string> <string name="notification_importance_high" msgid="3222680136612408223">"বিজà§à¦žà¦ªà§à¦¤à¦¿ তালিকার শীরà§à¦·à§‡ দেখানো হয় à¦à¦¬à¦‚ শবà§à¦¦ করে"</string> <string name="notification_importance_max" msgid="5236987171904756134">"সà§à¦•à§à¦°à§€à¦¨à§‡à¦° উপরে দেখানো হয় à¦à¦¬à¦‚ শবà§à¦¦ করে"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"সà§à¦¬à¦¾à¦à¦¾à¦¬à¦¿à¦• রঙ"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"রাতের রঙ"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"কাসà§à¦Ÿà¦® রঙ"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"অজানা রঙ"</string> + <string name="color_transform" msgid="6985460408079086090">"রঙ সংশোধন"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"দà§à¦°à§à¦¤ সেটিংস টাইল দেখান"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"কাসà§à¦Ÿà¦® রূপানà§à¦¤à¦° সকà§à¦·à¦® করà§à¦¨"</string> + <string name="color_apply" msgid="9212602012641034283">"পà§à¦°à¦¯à¦¼à§‹à¦— করà§à¦¨"</string> + <string name="color_revert_title" msgid="4746666545480534663">"সেটিংস নিশà§à¦šà¦¿à¦¤ করà§à¦¨"</string> + <string name="color_revert_message" msgid="9116001069397996691">"কিছৠরঙের সেটিংস à¦à¦‡ ডিà¦à¦¾à¦‡à¦¸à¦•ে বà§à¦¯à¦¬à¦¹à¦¾à¦°à§‡à¦° অযোগà§à¦¯ করে দিতে পারে৷ à¦à¦‡ রঙের সেটিংস নিশà§à¦šà¦¿à¦¤ করতে ওকে ঠকà§à¦²à¦¿à¦• করà§à¦¨, অনà§à¦¯à¦¥à¦¾à¦¯à¦¼ ১০ সেকেনà§à¦¡ পরে à¦à¦‡ সেটিংস পà§à¦¨à¦°à¦¾à¦¯à¦¼ সেট হবে৷"</string> </resources> diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml index 2b38473716cd..d27c3ee31d99 100644 --- a/packages/SystemUI/res/values-ca/strings.xml +++ b/packages/SystemUI/res/values-ca/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Mostra aquestes notificacions de manera silenciosa"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Mostra a la part superior de la llista de notificacions i emet un so"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Mostra a la pantalla i emet un so"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Colors normals"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Colors nocturns"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Colors personalitzats"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Colors desconeguts"</string> + <string name="color_transform" msgid="6985460408079086090">"Modificació del color"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Mostra el mosaic de Configuració rà pida"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Activa la transformació personalitzada"</string> + <string name="color_apply" msgid="9212602012641034283">"Aplica"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Confirma la configuració"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Algunes opcions de configuració de color poden deixar el dispositiu inservible. Fes clic a D\'acord per confirmar la configuració de color; en cas contrari, la configuració es restablirà al cap de 10 segons."</string> </resources> diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml index 4bf573079b43..4f26dc118225 100644 --- a/packages/SystemUI/res/values-cs/strings.xml +++ b/packages/SystemUI/res/values-cs/strings.xml @@ -462,4 +462,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Tato oznámenà zobrazovat bez zvukového upozornÄ›nÃ"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Tato oznámenà zobrazovat na zaÄátku seznamu a upozornit na nÄ› zvukem"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Tato oznámenà zobrazovat pÅ™Ãmo na obrazovce a upozornit na nÄ› zvukem"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Normálnà barvy"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"NoÄnà barvy"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Vlastnà barvy"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Neznámé barvy"</string> + <string name="color_transform" msgid="6985460408079086090">"ZmÄ›na barev"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Zobrazit dlaždici Rychlé nastavenÃ"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Umožnit pÅ™evod na vlastnà barvy"</string> + <string name="color_apply" msgid="9212602012641034283">"PoužÃt"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Ověřenà nastavenÃ"</string> + <string name="color_revert_message" msgid="9116001069397996691">"NÄ›která nastavenà barev mohou způsobit, že zaÅ™Ãzenà nebude použitelné. KliknutÃm na OK toto nastavenà barev potvrdÃte, v opaÄném pÅ™ÃpadÄ› se nastavenà po 10 sekundách resetuje."</string> </resources> diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml index 2b0998f2c4b5..3f868a89d305 100644 --- a/packages/SystemUI/res/values-da/strings.xml +++ b/packages/SystemUI/res/values-da/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Vis disse underretninger lydløst"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Vis øverst pÃ¥ listen over underretninger, og giv lyd"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Vis pÃ¥ skærmen, og giv lyd"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Almindelige farver"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Nattefarver"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Tilpassede farver"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Ukendte farver"</string> + <string name="color_transform" msgid="6985460408079086090">"Farveændring"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Vis feltet Hurtige indstillinger"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Aktivér tilpasset farveændring"</string> + <string name="color_apply" msgid="9212602012641034283">"Anvend"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Bekræft indstillingerne"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Nogle farveindstillinger kan medføre, at du ikke kan bruge enheden. Klik pÃ¥ OK for at bekræfte disse farveindstillinger. Ellers nulstilles disse indstillinger efter ti sekunder."</string> </resources> diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml index 1bce9fe897cb..4c87758b10a3 100644 --- a/packages/SystemUI/res/values-de/strings.xml +++ b/packages/SystemUI/res/values-de/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Diese Benachrichtigungen ohne Ton anzeigen"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Mit Ton ganz oben in der Benachrichtigungsliste anzeigen"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Mit Ton auf dem Display einblenden"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Standardfarben"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Nachtfarben"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Benutzerdefinierte Farben"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Unbekannte Farben"</string> + <string name="color_transform" msgid="6985460408079086090">"Farben ändern"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Kachel \"Schnelleinstellungen\" anzeigen"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Benutzerdefinierte Anpassung aktivieren"</string> + <string name="color_apply" msgid="9212602012641034283">"Übernehmen"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Einstellungen bestätigen"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Einige Farbeinstellungen können dazu führen, dass das Gerät nicht mehr genutzt werden kann. Klicke auf \"OK\", um diese Farbeinstellungen zu bestätigen. Anderenfalls werden diese Einstellungen in 10 Sekunden zurückgesetzt."</string> </resources> diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml index eebb78c6e944..21e1eeec60fa 100644 --- a/packages/SystemUI/res/values-el/strings.xml +++ b/packages/SystemUI/res/values-el/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Îα εμφανίζονται αυτÎÏ‚ οι ειδοποιήσεις χωÏίς ήχο"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Îα εμφανίζονται στην κοÏυφή της λίστας ειδοποιήσεων με ήχο"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Îα Ï€Ïοβάλλονται στην οθόνη και να συνοδεÏονται από κάποιον ήχο"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Κανονικά χÏώματα"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"ÎυχτεÏινά χÏώματα"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Î ÏοσαÏμοσμÎνα χÏώματα"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Άγνωστα χÏώματα"</string> + <string name="color_transform" msgid="6985460408079086090">"ΤÏοποποίηση χÏωμάτων"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Εμφάνιση πλακιδίου ΓÏήγοÏων Ïυθμίσεων"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"ΕνεÏγοποίηση Ï€ÏοσαÏμοσμÎνου μετασχηματισμοÏ"</string> + <string name="color_apply" msgid="9212602012641034283">"ΕφαÏμογή"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Επιβεβαίωση Ïυθμίσεων"</string> + <string name="color_revert_message" msgid="9116001069397996691">"ΟÏισμÎνες Ïυθμίσεις χÏωμάτων μποÏεί να μην επιτÏÎπουν τη χÏήση αυτής της συσκευής. Κάντε κλικ στην επιλογή OK για να επιβεβαιώσετε αυτÎÏ‚ τις Ïυθμίσεις χÏωμάτων, διαφοÏετικά θα γίνει επαναφοÏά αυτών των Ïυθμίσεων μετά από 10 δευτεÏόλεπτα."</string> </resources> diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml index 79e95fa0244c..fa8b6c3312ee 100644 --- a/packages/SystemUI/res/values-en-rAU/strings.xml +++ b/packages/SystemUI/res/values-en-rAU/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Silently show these notifications"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Show at the top of the notifications list and make sound"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Peek onto the screen and make sound"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Normal colours"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Night colours"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Customised colours"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Unknown colours"</string> + <string name="color_transform" msgid="6985460408079086090">"Colour modification"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Show Quick Settings tile"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Enable customised transform"</string> + <string name="color_apply" msgid="9212602012641034283">"Apply"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Confirm Settings"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Some colour settings can make this device unusable. Click OK to confirm these colour settings, otherwise these settings will reset after 10 seconds."</string> </resources> diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml index 79e95fa0244c..fa8b6c3312ee 100644 --- a/packages/SystemUI/res/values-en-rGB/strings.xml +++ b/packages/SystemUI/res/values-en-rGB/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Silently show these notifications"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Show at the top of the notifications list and make sound"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Peek onto the screen and make sound"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Normal colours"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Night colours"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Customised colours"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Unknown colours"</string> + <string name="color_transform" msgid="6985460408079086090">"Colour modification"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Show Quick Settings tile"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Enable customised transform"</string> + <string name="color_apply" msgid="9212602012641034283">"Apply"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Confirm Settings"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Some colour settings can make this device unusable. Click OK to confirm these colour settings, otherwise these settings will reset after 10 seconds."</string> </resources> diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml index 79e95fa0244c..fa8b6c3312ee 100644 --- a/packages/SystemUI/res/values-en-rIN/strings.xml +++ b/packages/SystemUI/res/values-en-rIN/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Silently show these notifications"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Show at the top of the notifications list and make sound"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Peek onto the screen and make sound"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Normal colours"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Night colours"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Customised colours"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Unknown colours"</string> + <string name="color_transform" msgid="6985460408079086090">"Colour modification"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Show Quick Settings tile"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Enable customised transform"</string> + <string name="color_apply" msgid="9212602012641034283">"Apply"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Confirm Settings"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Some colour settings can make this device unusable. Click OK to confirm these colour settings, otherwise these settings will reset after 10 seconds."</string> </resources> diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml index df467fbf24c5..54850f0816f7 100644 --- a/packages/SystemUI/res/values-es-rUS/strings.xml +++ b/packages/SystemUI/res/values-es-rUS/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Mostrar estas notificaciones de manera silenciosa"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Mostrar en la parte superior de la lista de notificaciones y emitir sonido"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Mostrar en la pantalla y emitir sonido"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Colores normales"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Colores nocturnos"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Colores personalizados"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Colores desconocidos"</string> + <string name="color_transform" msgid="6985460408079086090">"Modificación del color"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Mostrar el mosaico de Configuración rápida"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Habilitar la transformación personalizada"</string> + <string name="color_apply" msgid="9212602012641034283">"Aplicar"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Confirmar la configuración"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Algunas opciones de configuración de color pueden provocar que el dispositivo quede inutilizable. Haz clic en Aceptar para confirmar estos parámetros de color. De lo contrario, la configuración se restablecerá en diez segundos."</string> </resources> diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml index a35809b5ba2c..41d83dc8fdff 100644 --- a/packages/SystemUI/res/values-es/strings.xml +++ b/packages/SystemUI/res/values-es/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Mostrar estas notificaciones de forma silenciosa"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Mostrar en la parte superior de la lista de notificaciones y emitir sonido"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Mostrar en la pantalla y emitir sonido"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Colores normales"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Colores nocturnos"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Colores personalizados"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Colores desconocidos"</string> + <string name="color_transform" msgid="6985460408079086090">"Modificación de colores"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Mostrar mosaico de Ajustes rápidos"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Habilitar transformación personalizada"</string> + <string name="color_apply" msgid="9212602012641034283">"Aplicar"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Confirmar configuración"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Algunas opciones de configuración de color pueden hacer que el dispositivo no se pueda utilizar. Haz clic en Aceptar para confirmar esta configuración. Si no lo haces, se restablecerá esta configuración cuando transcurran 10 segundos."</string> </resources> diff --git a/packages/SystemUI/res/values-et-rEE/strings.xml b/packages/SystemUI/res/values-et-rEE/strings.xml index a08d06b968aa..9bb78981a4fa 100644 --- a/packages/SystemUI/res/values-et-rEE/strings.xml +++ b/packages/SystemUI/res/values-et-rEE/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Kuva need märguanded vaikselt"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Kuva märguannete loendi ülaosas koos heliga"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Kuva ekraani servas koos heliga"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Tavalised värvid"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Öised värvid"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Kohandatud värvid"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Värvid on teadmata"</string> + <string name="color_transform" msgid="6985460408079086090">"Värvi muutmine"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Kuva paan Kiirseaded"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Luba kohandatud teisendamine"</string> + <string name="color_apply" msgid="9212602012641034283">"Rakenda"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Seadete kinnitamine"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Mõni värviseade ei saa seadet võib-olla kasutada. Nende värviseadete kinnitamiseks klõpsake OK, muidu lähtestatakse need seaded 10 sekundi pärast."</string> </resources> diff --git a/packages/SystemUI/res/values-eu-rES/strings.xml b/packages/SystemUI/res/values-eu-rES/strings.xml index d9c74898dbb5..e62303a175db 100644 --- a/packages/SystemUI/res/values-eu-rES/strings.xml +++ b/packages/SystemUI/res/values-eu-rES/strings.xml @@ -456,8 +456,18 @@ <string name="high_importance" msgid="1527066195614050263">"Garrantzi handia"</string> <string name="max_importance" msgid="5089005872719563894">"Premiazkoa"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Ez erakutsi jakinarazpen hauek inoiz"</string> - <string name="notification_importance_low" msgid="4383563267370859725">"Erakutsi jakinarazpen hauek zerrendaren behealdean"</string> + <string name="notification_importance_low" msgid="4383563267370859725">"Erakutsi jakinarazpen hauek zerrendaren behealdean, baina soinurik egin gabe"</string> <string name="notification_importance_default" msgid="4926529615920610817">"Erakutsi jakinarazpen hauek, baina soinurik egin gabe"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Erakutsi jakinarazpen hauek zerrendaren goialdean eta egin soinua"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Agerrarazi jakinarazpen hauek pantailan eta egin soinua"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Kolore normalak"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Gaueko koloreak"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Kolore pertsonalizatuak"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Kolore ezezagunak"</string> + <string name="color_transform" msgid="6985460408079086090">"Kolore-aldaketa"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Erakutsi ezarpen bizkorren lauza"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Gaitu itxuraldaketa pertsonalizatua"</string> + <string name="color_apply" msgid="9212602012641034283">"Aplikatu"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Berretsi ezarpenak"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Baliteke gailua kolore-ezarpen batzuekin ezin erabili izatea. Kolore-ezarpenak berresteko, sakatu Ados. Bestela, hamar segundoren buruan berrezarriko dira ezarpenak."</string> </resources> diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml index 170acddc5e4e..f45c01b8ad3f 100644 --- a/packages/SystemUI/res/values-fa/strings.xml +++ b/packages/SystemUI/res/values-fa/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"این اعلان‌ها بی‌صدا نشان داده شوند"</string> <string name="notification_importance_high" msgid="3222680136612408223">"در بالای Ùهرست اعلان‌ها Ùˆ به همراه صدا نشان داده شود"</string> <string name="notification_importance_max" msgid="5236987171904756134">"در جلوی ØµÙØÙ‡ به همراه صدا نشان داده شود"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"رنگ‌های عادی"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"رنگ‌های شب"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"رنگ‌های Ø³ÙØ§Ø±Ø´ÛŒ"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"رنگ‌های نامشخص"</string> + <string name="color_transform" msgid="6985460408079086090">"Ø§ØµÙ„Ø§Ø Ø±Ù†Ú¯"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"نمایش کاشی تنظیمات سریع"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"ÙØ¹Ø§Ù„ کردن تبدیل Ø³ÙØ§Ø±Ø´ÛŒ"</string> + <string name="color_apply" msgid="9212602012641034283">"اعمال‌ کردن"</string> + <string name="color_revert_title" msgid="4746666545480534663">"تأیید تنظیمات"</string> + <string name="color_revert_message" msgid="9116001069397996691">"بعضی از تنظیمات رنگ می‌توانند این دستگاه را غیرقابل Ø§Ø³ØªÙØ§Ø¯Ù‡ کنند. برای تأیید این تنظیمات رنگ روی «تأیید» کلیک کنید، در غیر این صورت این تغییرات بعد از Û±Û° ثانیه بازنشانی می‌شوند."</string> </resources> diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml index a47253f7fe88..af1a1e57a5b4 100644 --- a/packages/SystemUI/res/values-fi/strings.xml +++ b/packages/SystemUI/res/values-fi/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Näytä nämä ilmoitukset huomaamattomasti"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Näytä ilmoitukset luettelon kärjessä ja toista merkkiääni"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Näytä ilmoitus näytöllä ja toista äänimerkki"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Tavalliset värit"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Yövärit"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Muokatut värit"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Tuntemattomat värit"</string> + <string name="color_transform" msgid="6985460408079086090">"Muokatut värit"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Näytä pika-asetusruutu"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Ota muokatut värit käyttöön"</string> + <string name="color_apply" msgid="9212602012641034283">"Käytä"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Vahvista asetukset"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Jotkin väriasetukset voivat häiritä laitteen käyttöä. Vahvista uudet väriasetukset valitsemalla OK. Muussa tapauksessa aiemmat asetukset palautetaan 10 sekunnin kuluttua."</string> </resources> diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml index 705f335518f6..20a8bdc1d2a8 100644 --- a/packages/SystemUI/res/values-fr-rCA/strings.xml +++ b/packages/SystemUI/res/values-fr-rCA/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Afficher ces notifications en mode silencieux"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Afficher en haut de la liste des notifications et émettre un son"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Afficher sur l\'écran et émettre un son"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Couleurs normales"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Couleurs nocturnes"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Couleurs personnalisées"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Couleurs inconnues"</string> + <string name="color_transform" msgid="6985460408079086090">"Modifier la couleur"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Afficher la tuile de configuration rapide"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Activer la transformation personnalisée"</string> + <string name="color_apply" msgid="9212602012641034283">"Appliquer"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Confirmer les paramètres"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Certains paramètres de couleurs peuvent rendre cet appareil inutilisable. Cliquez sur « OK » pour valider ces paramètres, sinon ils seront réinitialisés après 10 secondes."</string> </resources> diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml index 3cfddf5f8c97..8e76ee8452ab 100644 --- a/packages/SystemUI/res/values-fr/strings.xml +++ b/packages/SystemUI/res/values-fr/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Afficher ces notifications en mode silencieux"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Afficher en haut de la liste des notifications et émettre un son"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Afficher sur l\'écran et émettre un son"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Couleurs normales"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Couleurs nocturnes"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Couleurs personnalisées"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Couleurs inconnues"</string> + <string name="color_transform" msgid="6985460408079086090">"Modification des couleurs"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Afficher la tuile de configuration rapide"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Activer la transformation personnalisée"</string> + <string name="color_apply" msgid="9212602012641034283">"Appliquer"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Vérifier les paramètres"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Certains paramètres de couleurs peuvent rendre cet appareil inutilisable. Cliquez sur \"OK\" pour valider ces paramètres, sans quoi ils seront réinitialisés après 10 secondes."</string> </resources> diff --git a/packages/SystemUI/res/values-gl-rES/strings.xml b/packages/SystemUI/res/values-gl-rES/strings.xml index 55b65654923a..4562d89bc8c7 100644 --- a/packages/SystemUI/res/values-gl-rES/strings.xml +++ b/packages/SystemUI/res/values-gl-rES/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Mostrar estas notificacións de forma silenciosa"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Mostrar na parte superior da lista de notificacións e emitir son"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Mostrar na pantalla e emitir son"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Cores normais"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Cores nocturnas"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Cores personalizadas"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Cores descoñecidas"</string> + <string name="color_transform" msgid="6985460408079086090">"Modificación de cor"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Mostrar mosaico de configuración rápida"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Activar transformación personalizada"</string> + <string name="color_apply" msgid="9212602012641034283">"Aplicar"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Confirmar configuración"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Algunhas opcións de configuración de cor poden facer que este dispositivo sexa inutilizable. Fai clic en Aceptar para confirmar esta configuración de cor; en caso contrario, a configuración restablecerase tras 10 segundos."</string> </resources> diff --git a/packages/SystemUI/res/values-gu-rIN/strings.xml b/packages/SystemUI/res/values-gu-rIN/strings.xml index 3e9f2c23d47e..69174efccee3 100644 --- a/packages/SystemUI/res/values-gu-rIN/strings.xml +++ b/packages/SystemUI/res/values-gu-rIN/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"આ સૂચનાઓ ચà«àªªàªšàª¾àªª બતાવો"</string> <string name="notification_importance_high" msgid="3222680136612408223">"સૂચનાઓની સૂચિની ટોચ પર બતાવો અને અવાજ કરો"</string> <string name="notification_importance_max" msgid="5236987171904756134">"સà«àª•à«àª°à«€àª¨ પર તà«àªµàª°àª¿àª¤ દà«àª°àª·à«àªŸàª¿ કરો અને અવાજ કરો"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"સામાનà«àª¯ રંગો"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"રાતà«àª°àª¿ રંગો"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"કસà«àªŸàª® રંગો"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"અજાણà«àª¯àª¾ રંગો"</string> + <string name="color_transform" msgid="6985460408079086090">"રંગ સંશોધન"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"àªàª¡àªªà«€ સેટિંગà«àª¸ ટાઇલ બતાવો"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"કસà«àªŸàª® રૂપાંતરણને સકà«àª·àª® કરો"</string> + <string name="color_apply" msgid="9212602012641034283">"લાગૠકરો"</string> + <string name="color_revert_title" msgid="4746666545480534663">"સેટિંગà«àª¸àª¨à«€ પà«àª·à«àªŸàª¿ કરો"</string> + <string name="color_revert_message" msgid="9116001069397996691">"કેટલીક રંગ સેટિંગà«àª¸ આ ઉપકરણને બિનઉપયોગી બનાવી શકે છે. આ રંગ સેટિંગà«àª¸àª¨à«€ પà«àª·à«àªŸàª¿ કરવા માટે ઑકે કà«àª²àª¿àª• કરો, અનà«àª¯àª¥àª¾ 10 સેકંડ પછી આ સેટિંગà«àª¸ ફરીથી સેટ થશે."</string> </resources> diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml index bf0a30580e93..1ab7f71b4b02 100644 --- a/packages/SystemUI/res/values-hi/strings.xml +++ b/packages/SystemUI/res/values-hi/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"ये नोटिफिकेशन मौन रूप से दिखाà¤à¤‚"</string> <string name="notification_importance_high" msgid="3222680136612408223">"नोटिफिकेशन सूची में सबसे ऊपर दिखाà¤à¤‚ और धà¥à¤µà¤¨à¤¿ चलाà¤à¤‚"</string> <string name="notification_importance_max" msgid="5236987171904756134">"सà¥â€à¤•à¥à¤°à¥€à¤¨ पर à¤à¤• à¤à¤²à¤• दिखाà¤à¤‚ और धà¥â€à¤µà¤¨à¤¿ चलाà¤à¤‚"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"सामानà¥à¤¯ रंग"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"रातà¥à¤°à¤¿ के रंग"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"कसà¥à¤Ÿà¤® रंग"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"अजà¥à¤žà¤¾à¤¤ रंग"</string> + <string name="color_transform" msgid="6985460408079086090">"रंग परिवरà¥à¤¤à¤¨"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"तà¥â€à¤µà¤°à¤¿à¤¤-सेटिंग टाइल दिखाà¤à¤‚"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"कसà¥à¤Ÿà¤® रूपांतरण सकà¥à¤·à¤® करें"</string> + <string name="color_apply" msgid="9212602012641034283">"लागू करें"</string> + <string name="color_revert_title" msgid="4746666545480534663">"सेâ€à¥‡à¤Ÿà¤¿à¤‚ग की पà¥à¤·à¥à¤Ÿà¤¿ करें"</string> + <string name="color_revert_message" msgid="9116001069397996691">"कà¥à¤› रंग सेटिंग इस डिवाइस को अनà¥à¤ªà¤¯à¥‹à¤—ी बना सकती हैं. इन रंग सेटिंग की पà¥à¤·à¥à¤Ÿà¤¿ करने के लिठठीक कà¥à¤²à¤¿à¤• करें, अनà¥à¤¯à¤¥à¤¾ 10 सेकंड के बाद ये सेटिंग रीसेट हो जाà¤à¤‚गी."</string> </resources> diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml index cb9e6c65c56c..a67258c3f2e0 100644 --- a/packages/SystemUI/res/values-hr/strings.xml +++ b/packages/SystemUI/res/values-hr/strings.xml @@ -461,4 +461,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Prikaži te obavijesti tiho"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Prikaži na vrhu popisa obavijesti i emitiraj zvuÄni signal"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Prikaži na zaslonu i emitiraj zvuÄni signal"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"UobiÄajene boje"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Noćne boje"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"PrilagoÄ‘ene boje"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Nepoznate boje"</string> + <string name="color_transform" msgid="6985460408079086090">"Izmjena boja"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Prikaži ploÄicu s brzim postavkama"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Omogući prilagoÄ‘enu preobrazbu"</string> + <string name="color_apply" msgid="9212602012641034283">"Primijeni"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Potvrdite postavke"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Neke postavke boja mogu uÄiniti ureÄ‘aj neupotrebljivim. Kliknite U redu da biste potvrdili postavke boja jer će se u suprotnom poniÅ¡titi za 10 sekundi."</string> </resources> diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml index 9defa3167520..8589e954cebf 100644 --- a/packages/SystemUI/res/values-hu/strings.xml +++ b/packages/SystemUI/res/values-hu/strings.xml @@ -451,13 +451,23 @@ <string name="apply_to_topic" msgid="3641403489318659666">"A következÅ‘ értesÃtések esetén: <xliff:g id="TOPIC_NAME">%1$s</xliff:g>"</string> <string name="apply_to_app" msgid="363016783939815960">"Az alkalmazás minden értesÃtése esetén"</string> <string name="blocked_importance" msgid="5198578988978234161">"Letiltva"</string> - <string name="low_importance" msgid="4109929986107147930">"Alacsony fontossági szint"</string> - <string name="default_importance" msgid="8192107689995742653">"Normál fontossági szint"</string> - <string name="high_importance" msgid="1527066195614050263">"Magas fontossági szint"</string> - <string name="max_importance" msgid="5089005872719563894">"SürgÅ‘s értesÃtés"</string> + <string name="low_importance" msgid="4109929986107147930">"Kevésbé fontos"</string> + <string name="default_importance" msgid="8192107689995742653">"Normál"</string> + <string name="high_importance" msgid="1527066195614050263">"Fontos"</string> + <string name="max_importance" msgid="5089005872719563894">"SürgÅ‘s"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Soha nem jelennek meg ezek az értesÃtések"</string> <string name="notification_importance_low" msgid="4383563267370859725">"Hangjelzés nélkül jelennek meg az értesÃtési lista alján"</string> <string name="notification_importance_default" msgid="4926529615920610817">"Hang nélkül jelennek meg ezek az értesÃtések"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Az értesÃtési lista tetején jelennek meg hangjelzéssel"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Az értesÃtések felugranak a képernyÅ‘n hangjelzéssel"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Hagyományos szÃnek"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Esti szÃnek"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Egyéni szÃnek"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Ismeretlen szÃnek"</string> + <string name="color_transform" msgid="6985460408079086090">"SzÃnmódosÃtás"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"GyorsbeállÃtások mozaikjának megjelenÃtése"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Egyéni átalakÃtás engedélyezése"</string> + <string name="color_apply" msgid="9212602012641034283">"Alkalmaz"</string> + <string name="color_revert_title" msgid="4746666545480534663">"BeállÃtások megerÅ‘sÃtése"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Bizonyos szÃnbeállÃtások használhatatlanná tehetik ezt az eszközt. A szÃnbeállÃtás megerÅ‘sÃtéséhez kattintson az OK lehetÅ‘ségre, máskülönben a rendszer 10 másodpercen belül visszaáll a korábbira."</string> </resources> diff --git a/packages/SystemUI/res/values-hy-rAM/strings.xml b/packages/SystemUI/res/values-hy-rAM/strings.xml index f8b7c211e162..1b8de045425c 100644 --- a/packages/SystemUI/res/values-hy-rAM/strings.xml +++ b/packages/SystemUI/res/values-hy-rAM/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ¡ÕµÕ½ Õ®Õ¡Õ¶Õ¸Ö‚ÖÕ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¶ Õ¡Õ¼Õ¡Õ¶Ö Õ±Õ¡ÕµÕ¶Õ¡ÕµÕ«Õ¶ Õ¡Õ¦Õ¤Õ¡Õ¶Õ·Õ¡Õ¶Õ«"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ®Õ¡Õ¶Õ¸Ö‚ÖÕ¸Ö‚Õ´Õ¶Õ¥Ö€Õ« ÖÕ¡Õ¶Õ¯Õ« Õ¾Õ¥Ö€Ö‡Õ¸Ö‚Õ´ Ö‡ Õ°Õ¶Õ¹Õ¥ÖÕ¶Õ¥Õ¬ Õ±Õ¡ÕµÕ¶Õ¡ÕµÕ«Õ¶ Õ¡Õ¦Õ¤Õ¡Õ¶Õ·Õ¡Õ¶"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ§Õ¯Ö€Õ¡Õ¶Õ«Õ¶ Ö‡ Õ°Õ¶Õ¹Õ¥ÖÕ¶Õ¥Õ¬ Õ±Õ¡ÕµÕ¶Õ¡ÕµÕ«Õ¶ Õ¡Õ¦Õ¤Õ¡Õ¶Õ·Õ¡Õ¶"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"ÕÕ¸Õ¾Õ¸Ö€Õ¡Õ¯Õ¡Õ¶ Õ£Õ¸Ö‚ÕµÕ¶Õ¥Ö€"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Ô³Õ«Õ·Õ¥Ö€Õ¡ÕµÕ«Õ¶ Õ£Õ¸Ö‚ÕµÕ¶Õ¥Ö€"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Õ€Õ¡Õ¿Õ¸Ö‚Õ¯ Õ£Õ¸Ö‚ÕµÕ¶Õ¥Ö€"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Ô±Õ¶Õ°Õ¡ÕµÕ¿ Õ£Õ¸Ö‚ÕµÕ¶Õ¥Ö€"</string> + <string name="color_transform" msgid="6985460408079086090">"Ô³Õ¸Ö‚ÕµÕ¶Õ« ÖƒÕ¸ÖƒÕ¸ÕÕ¸Ö‚Õ´"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Õ‘Õ¸Ö‚ÕµÖ Õ¿Õ¡Õ¬ Ô±Ö€Õ¡Õ£ Õ¯Õ¡Ö€Õ£Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ« Õ½Õ¡Õ¬Õ«Õ¯Õ¨"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Õ„Õ«Õ¡ÖÕ¶Õ¥Õ¬ Õ°Õ¡Õ¿Õ¸Ö‚Õ¯ Õ£Õ¸Ö‚Õ¶Õ¡ÕµÕ«Õ¶ Õ¡Õ¶ÖÕ¸Ö‚Õ´Õ¨"</string> + <string name="color_apply" msgid="9212602012641034283">"Ô¿Õ«Ö€Õ¡Õ¼Õ¥Õ¬"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Õ€Õ¡Õ½Õ¿Õ¡Õ¿Õ¥Õ¬ Õ¯Õ¡Ö€Õ£Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Ô³Õ¸Ö‚Õ¶Õ¡ÕµÕ«Õ¶ Õ¸Ö€Õ¸Õ· Õ¯Õ¡Ö€Õ£Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨ Õ¯Õ¡Ö€Õ¸Õ² Õ¥Õ¶ Õ¡ÕµÕ½ Õ½Õ¡Ö€Ö„Õ¨ Ö…Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ´Õ¡Õ¶ Õ°Õ¡Õ´Õ¡Ö€ Õ¸Õ¹ ÕºÕ«Õ¿Õ¡Õ¶Õ« Õ¤Õ¡Ö€Õ±Õ¶Õ¥Õ¬: ÕÕ¥Õ²Õ´Õ¥Ö„ Ô¼Õ¡Õ¾ Õ¯Õ¸Õ³Õ¡Õ¯Õ¨Õ Õ£Õ¸Ö‚Õ¶Õ¡ÕµÕ«Õ¶ Õ¡ÕµÕ½ Õ¯Õ¡Ö€Õ£Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨ Õ°Õ¡Õ½Õ¿Õ¡Õ¿Õ¥Õ¬Õ¸Ö‚ Õ°Õ¡Õ´Õ¡Ö€: Õ€Õ¡Õ¯Õ¡Õ¼Õ¡Õ¯ Õ¤Õ¥ÕºÖ„Õ¸Ö‚Õ´ Õ¡ÕµÕ½ Õ¯Õ¡Ö€Õ£Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨ Õ¯Õ¾Õ¥Ö€Õ¡Õ¯Õ¡ÕµÕ¾Õ¥Õ¶ 10 Õ¾Õ¡ÕµÖ€Õ¯ÕµÕ¡Õ¶ Õ°Õ¥Õ¿Õ¸:"</string> </resources> diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml index f4df6855a535..9075484169fe 100644 --- a/packages/SystemUI/res/values-in/strings.xml +++ b/packages/SystemUI/res/values-in/strings.xml @@ -448,16 +448,26 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Aktifkan Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Untuk menghubungkan keyboard dengan tablet, terlebih dahulu aktifkan Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Aktifkan"</string> - <string name="apply_to_topic" msgid="3641403489318659666">"Terapkan ke <xliff:g id="TOPIC_NAME">%1$s</xliff:g> notifikasi"</string> + <string name="apply_to_topic" msgid="3641403489318659666">"Terapkan ke notifikasi <xliff:g id="TOPIC_NAME">%1$s</xliff:g>"</string> <string name="apply_to_app" msgid="363016783939815960">"Terapkan untuk semua notifikasi dari aplikasi ini"</string> - <string name="blocked_importance" msgid="5198578988978234161">"Dicekal"</string> - <string name="low_importance" msgid="4109929986107147930">"Kepentingan rendah"</string> - <string name="default_importance" msgid="8192107689995742653">"Kepentingan normal"</string> - <string name="high_importance" msgid="1527066195614050263">"Kepentingan tinggi"</string> - <string name="max_importance" msgid="5089005872719563894">"Kepentingan darurat"</string> - <string name="notification_importance_blocked" msgid="2397192642657872872">"Jangan pernah menunjukkan notifikasi ini"</string> + <string name="blocked_importance" msgid="5198578988978234161">"Diblokir"</string> + <string name="low_importance" msgid="4109929986107147930">"Tingkat kepentingan: rendah"</string> + <string name="default_importance" msgid="8192107689995742653">"Tingkat kepentingan: normal"</string> + <string name="high_importance" msgid="1527066195614050263">"Tingkat kepentingan: tinggi"</string> + <string name="max_importance" msgid="5089005872719563894">"Tingkat kepentingan: darurat"</string> + <string name="notification_importance_blocked" msgid="2397192642657872872">"Jangan pernah tunjukkan notifikasi ini"</string> <string name="notification_importance_low" msgid="4383563267370859725">"Tunjukkan di bawah daftar notifikasi tanpa suara"</string> <string name="notification_importance_default" msgid="4926529615920610817">"Tunjukkan notifikasi ini tanpa suara"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Tunjukkan di bagian atas daftar notifikasi dan bunyikan suara"</string> - <string name="notification_importance_max" msgid="5236987171904756134">"Muncul di layar dan membunyikan suara"</string> + <string name="notification_importance_max" msgid="5236987171904756134">"Muncul di layar dan bunyikan suara"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Warna normal"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Warna malam"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Warna khusus"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Warna tidak diketahui"</string> + <string name="color_transform" msgid="6985460408079086090">"Perubahan warna"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Tampilkan ubin Setelan Cepat"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Aktifkan transformasi khusus"</string> + <string name="color_apply" msgid="9212602012641034283">"Terapkan"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Konfirmasi setelan"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Beberapa setelan warna dapat membuat perangkat ini tidak dapat digunakan. Klik OKE untuk mengonfirmasi setelan warna ini. Jika tidak, setelan ini akan disetel ulang setelah 10 detik."</string> </resources> diff --git a/packages/SystemUI/res/values-is-rIS/strings.xml b/packages/SystemUI/res/values-is-rIS/strings.xml index bb8a9015173a..556018c4a143 100644 --- a/packages/SystemUI/res/values-is-rIS/strings.xml +++ b/packages/SystemUI/res/values-is-rIS/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Sýna þessar tilkynningar án hljóðs"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Sýna efst á tilkynningalistanum og spila hljóð"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Birta á skjánum og spila hljóð"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Venjulegir litir"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Næturlitir"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Sérsniðnir litir"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Óþekktir litir"</string> + <string name="color_transform" msgid="6985460408079086090">"Litabreytingar"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Sýna flÃsar à flýtistillingum"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Kveikja á sérsniðinni umbreytingu"</string> + <string name="color_apply" msgid="9212602012641034283">"Nota"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Staðfesta stillingar"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Sumar litastillingar kunna að bitna á notagildi tækisins. Veldu „à lagi“ til að staðfesta þessar litastillingar, að öðrum kosti verða litirnir endurstilltir eftir tÃu sekúndur."</string> </resources> diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml index 9006d626742a..b49c3871d5b8 100644 --- a/packages/SystemUI/res/values-it/strings.xml +++ b/packages/SystemUI/res/values-it/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Mostra silenziosamente queste notifiche"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Mostra nella parte superiore dell\'elenco delle notifiche e riproduci suono"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Apri sullo schermo e riproduci suono"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Colori normali"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Colori per la notte"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Colori personalizzati"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Colori sconosciuti"</string> + <string name="color_transform" msgid="6985460408079086090">"Modifica del colore"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Mostra il riquadro Impostazioni rapide"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Attiva la trasformazione personalizzata"</string> + <string name="color_apply" msgid="9212602012641034283">"Applica"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Conferma le impostazioni"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Alcune impostazioni relative ai colori potrebbero rendere inutilizzabile il dispositivo. Fai clic su OK per confermare queste impostazioni; in caso contrario, le impostazioni verranno reimpostate dopo 10 secondi."</string> </resources> diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml index 8394d1c97763..e6ac5af1db40 100644 --- a/packages/SystemUI/res/values-iw/strings.xml +++ b/packages/SystemUI/res/values-iw/strings.xml @@ -462,4 +462,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"הצג ×ת ההודעות ×”×לה בלי להשמיע צליל"</string> <string name="notification_importance_high" msgid="3222680136612408223">"הצג בחלק העליון של רשימת ההודעות והשמע צליל"</string> <string name="notification_importance_max" msgid="5236987171904756134">"הצג לרגע על המסך והשמע צליל"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"×¦×‘×¢×™× ×¨×’×™×œ×™×"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"צבעי לילה"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"×¦×‘×¢×™× ×ž×•×ª××ž×™× ×ישית"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"×¦×‘×¢×™× ×œ× ×™×“×•×¢×™×"</string> + <string name="color_transform" msgid="6985460408079086090">"×©×™× ×•×™ צבע"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"הצגת ×ריח של הגדרות מהירות"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"הפעל ×˜×¨× ×¡×¤×•×¨×ž×¦×™×” מות×מת ×ישית"</string> + <string name="color_apply" msgid="9212602012641034283">"החל"</string> + <string name="color_revert_title" msgid="4746666545480534663">"×ישור הגדרות"</string> + <string name="color_revert_message" msgid="9116001069397996691">"הגדרות צבע מסוימות עלולות להפוך ×ת המכשיר ×”×–×” לבלתי שמיש. לחץ על ×ישור כדי ל×שר ×ת הגדרות הצבע ×”×לה, ×חרת הגדרות ×לה ית×פסו ל×חר 10 ×©× ×™×•×ª."</string> </resources> diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml index 6f9a00dfbe52..e7e3a86ca5bc 100644 --- a/packages/SystemUI/res/values-ja/strings.xml +++ b/packages/SystemUI/res/values-ja/strings.xml @@ -456,8 +456,18 @@ <string name="high_importance" msgid="1527066195614050263">"é‡è¦åº¦: 高"</string> <string name="max_importance" msgid="5089005872719563894">"é‡è¦åº¦: 緊急"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"今後ã¯ã“ã®é€šçŸ¥ã‚’表示ã—ãªã„"</string> - <string name="notification_importance_low" msgid="4383563267370859725">"通知リストã®ä¸‹ã«ãƒžãƒŠãƒ¼ãƒ¢ãƒ¼ãƒ‰ã§è¡¨ç¤ºã™ã‚‹"</string> + <string name="notification_importance_low" msgid="4383563267370859725">"é€šçŸ¥ãƒªã‚¹ãƒˆã®æœ«å°¾ã«ãƒžãƒŠãƒ¼ãƒ¢ãƒ¼ãƒ‰ã§è¡¨ç¤ºã™ã‚‹"</string> <string name="notification_importance_default" msgid="4926529615920610817">"ã“ã®é€šçŸ¥ã‚’マナーモードã§è¡¨ç¤ºã™ã‚‹"</string> - <string name="notification_importance_high" msgid="3222680136612408223">"通知リストã®ä¸Šã«è¡¨ç¤ºã—ã€éŸ³å£°ã§ã‚‚知らã›ã‚‹"</string> - <string name="notification_importance_max" msgid="5236987171904756134">"ç”»é¢ã«ãƒ—レビューを表示ã—ã€éŸ³å£°ã§ã‚‚知らã›ã‚‹"</string> + <string name="notification_importance_high" msgid="3222680136612408223">"通知リストã®å…ˆé ã«è¡¨ç¤ºã—ã€éŸ³å£°ã§ã‚‚知らã›ã‚‹"</string> + <string name="notification_importance_max" msgid="5236987171904756134">"ç”»é¢ã«æ•°ç§’間表示ã—ã€éŸ³å£°ã§ã‚‚知らã›ã‚‹"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"標準ã®è‰²"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"夜間ã®è‰²"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"カスタムã®è‰²"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"䏿˜Žãªè‰²"</string> + <string name="color_transform" msgid="6985460408079086090">"色ã®å¤‰æ›´"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"[クイックè¨å®š] タイルã®è¡¨ç¤º"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"カスタム変æ›ã®æœ‰åŠ¹åŒ–"</string> + <string name="color_apply" msgid="9212602012641034283">"é©ç”¨"</string> + <string name="color_revert_title" msgid="4746666545480534663">"è¨å®šã®ç¢ºèª"</string> + <string name="color_revert_message" msgid="9116001069397996691">"一部ã®è‰²è¨å®šã‚’é©ç”¨ã™ã‚‹ã¨ã€ã“ã®ç«¯æœ«ã‚’使用ã§ããªããªã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚ã“ã®è‰²è¨å®šã‚’確èªã™ã‚‹ã«ã¯ã€[OK] をクリックã—ã¦ãã ã•ã„。確èªã—ãªã„å ´åˆã€10 秒後ã«è¨å®šã¯ãƒªã‚»ãƒƒãƒˆã•れã¾ã™ã€‚"</string> </resources> diff --git a/packages/SystemUI/res/values-ka-rGE/strings.xml b/packages/SystemUI/res/values-ka-rGE/strings.xml index d3497552ecdf..79e0f4fea84d 100644 --- a/packages/SystemUI/res/values-ka-rGE/strings.xml +++ b/packages/SystemUI/res/values-ka-rGE/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"áƒáƒ› შეტყáƒáƒ‘ინებების უხმáƒáƒ“ ჩვენებáƒ"</string> <string name="notification_importance_high" msgid="3222680136612408223">"áƒáƒ› შეტყáƒáƒ‘ინებების სიის თáƒáƒ•ში, ხმáƒáƒ•áƒáƒœ სიგნáƒáƒšáƒ—áƒáƒœ ერთáƒáƒ“ ჩვენებáƒ"</string> <string name="notification_importance_max" msgid="5236987171904756134">"áƒáƒ› შეტყáƒáƒ‘ინებების პირდáƒáƒžáƒ˜áƒ ეკრáƒáƒœáƒ–ე, ხმáƒáƒ•áƒáƒœ სიგნáƒáƒšáƒ—áƒáƒœ ერთáƒáƒ“ ჩვენებáƒ"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"ჩვეულებრივი ფერები"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"ღáƒáƒ›áƒ˜áƒ¡ ფერები"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"მáƒáƒ გებული ფერები"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"უცნáƒáƒ‘ი ფერები"</string> + <string name="color_transform" msgid="6985460408079086090">"ფერების შეცვლáƒ"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"სწრáƒáƒ¤áƒ˜ პáƒáƒ áƒáƒ›áƒ”ტრების მáƒáƒ–áƒáƒ˜áƒ™áƒ˜áƒ¡ ჩვენებáƒ"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"მáƒáƒ გებული გáƒáƒ დáƒáƒ¥áƒ›áƒœáƒ˜áƒ¡ ჩáƒáƒ თვáƒ"</string> + <string name="color_apply" msgid="9212602012641034283">"გáƒáƒ›áƒáƒ§áƒ”ნებáƒ"</string> + <string name="color_revert_title" msgid="4746666545480534663">"პáƒáƒ áƒáƒ›áƒ”ტრების დáƒáƒ“áƒáƒ¡áƒ¢áƒ£áƒ ებáƒ"</string> + <string name="color_revert_message" msgid="9116001069397996691">"ფერთრზáƒáƒ’იერთ პáƒáƒ áƒáƒ›áƒ”ტრს áƒáƒ› მáƒáƒ¬áƒ§áƒáƒ‘ილáƒáƒ‘áƒáƒ¡áƒ—áƒáƒœ მუშáƒáƒáƒ‘ის გáƒáƒ თულებრშეუძლიáƒ. ფერთრáƒáƒ›áƒŸáƒáƒ›áƒ˜áƒœáƒ“ელი პáƒáƒ áƒáƒ›áƒ”ტრების დáƒáƒ¡áƒáƒ“áƒáƒ¡áƒ¢áƒ£áƒ ებლáƒáƒ“, დáƒáƒáƒ¬áƒ™áƒáƒžáƒ£áƒœáƒ”თ „კáƒáƒ გი“-ზე. წინáƒáƒáƒ¦áƒ›áƒ“ეგ შემთხვევáƒáƒ¨áƒ˜, პáƒáƒ áƒáƒ›áƒ”ტრები 10 წáƒáƒ›áƒ˜áƒ¡ შემდეგ ჩáƒáƒ›áƒáƒ˜áƒ§áƒ ებáƒ."</string> </resources> diff --git a/packages/SystemUI/res/values-kk-rKZ/strings.xml b/packages/SystemUI/res/values-kk-rKZ/strings.xml index b692f787e418..5187b5410daf 100644 --- a/packages/SystemUI/res/values-kk-rKZ/strings.xml +++ b/packages/SystemUI/res/values-kk-rKZ/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"ОÑÑ‹ хабарландыруларды үнÑіз көрÑету"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Хабарландыруларды тізімінің жоғарғы жағында көрÑету және Ð´Ñ‹Ð±Ñ‹Ñ ÑˆÑ‹Ò“Ð°Ñ€Ñƒ"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Ðкранға бекіту және Ð´Ñ‹Ð±Ñ‹Ñ ÑˆÑ‹Ò“Ð°Ñ€Ñƒ"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Қалыпты түÑтер"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Түнгі түÑтер"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Ðрнаулы түÑтер"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"БелгіÑіз түÑтер"</string> + <string name="color_transform" msgid="6985460408079086090">"ТүÑті өзгерту"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Жылдам параметрлер торын көрÑету"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Ðрнаулы түрлендіруді қоÑу"</string> + <string name="color_apply" msgid="9212602012641034283">"Қолдану"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Параметрлерді раÑтау"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Кейбір Ñ‚Ò¯Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð»ÐµÑ€Ñ– бұл құрылғыны пайдалану мүмкін ÐµÐ¼ÐµÑ ÐµÑ‚ÑƒÑ– мүмкін. Бұл Ñ‚Ò¯Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð»ÐµÑ€Ñ–Ð½ раÑтау үшін OK түймеÑін баÑыңыз, әйтпеÑе параметрлер 10 Ñекундтан кейін Ñ‹Ñырылады."</string> </resources> diff --git a/packages/SystemUI/res/values-km-rKH/strings.xml b/packages/SystemUI/res/values-km-rKH/strings.xml index 637cdddcd6e1..5665a901992c 100644 --- a/packages/SystemUI/res/values-km-rKH/strings.xml +++ b/packages/SystemUI/res/values-km-rKH/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"បង្ហាញការជូនដំណឹងទាំងនáŸáŸ‡ážŸáŸ’ងាážáŸ‹áŸ—"</string> <string name="notification_importance_high" msgid="3222680136612408223">"បង្ហាញនៅផ្នែកážáž¶áž„លើបញ្ជីនៃការជូនដំណឹង និងបន្លឺសំឡáŸáž„"</string> <string name="notification_importance_max" msgid="5236987171904756134">"លោážáž”ង្ហាញនៅលើអáŸáž€áŸ’រង់ និងបន្លឺសំឡáŸáž„"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"ពណ៌ធម្មážáž¶"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"ពណ៌ពáŸáž›áž™áž”់"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"ពណ៌ផ្ទាល់ážáŸ’លួន"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"ពណ៌មិនស្គាល់"</string> + <string name="color_transform" msgid="6985460408079086090">"ការកែសម្រួលពណ៌"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"បង្ហាញផ្ទាំងប្រអប់ការកំណážáŸ‹ážšáž áŸážŸ"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"បើកដំណើរការផ្លាស់ប្ážáž¼ážšáž•្ទាល់ážáŸ’លួន"</string> + <string name="color_apply" msgid="9212602012641034283">"អនុវážáŸ’áž"</string> + <string name="color_revert_title" msgid="4746666545480534663">"បញ្ជាក់ការកំណážáŸ‹"</string> + <string name="color_revert_message" msgid="9116001069397996691">"ការកំណážáŸ‹áž–ណ៌មួយចំនួនអាចធ្វើឲ្យឧបករណáŸáž“áŸáŸ‡áž˜áž·áž“អាចប្រើបាន។ សូមចុច យល់ព្រម ដើម្បីបញ្ជាក់ការកំណážáŸ‹áž–ណ៌ទាំងនáŸáŸ‡ បើមិនដូច្នáŸáŸ‡áž‘áŸáž€áž¶ážšáž€áŸ†ážŽážáŸ‹áž‘ាំងនáŸáŸ‡áž“ឹងកំណážáŸ‹áž¡áž¾áž„វិញក្នុងរយៈពáŸáž› 10 វិនាទីបន្ទាប់។"</string> </resources> diff --git a/packages/SystemUI/res/values-kn-rIN/strings.xml b/packages/SystemUI/res/values-kn-rIN/strings.xml index d40f160ce0ac..0326a6726462 100644 --- a/packages/SystemUI/res/values-kn-rIN/strings.xml +++ b/packages/SystemUI/res/values-kn-rIN/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"ಈ ಅಧಿಸೂಚನೆಗಳನà³à²¨à³ ಸà³à²¥à²¬à³à²§à²µà²¾à²—ಿ ತೋರಿಸà³"</string> <string name="notification_importance_high" msgid="3222680136612408223">"ಅಧಿಸೂಚನೆಗಳ ಪಟà³à²Ÿà²¿à²¯ ಮೇಲà³à²à²¾à²—ದಲà³à²²à²¿ ತೋರಿಸೠಮತà³à²¤à³ ಧà³à²µà²¨à²¿ ಮಾಡà³"</string> <string name="notification_importance_max" msgid="5236987171904756134">"ಪರದೆಯನà³à²¨à³ ವೀಕà³à²·à²¿à²¸à²¿ ಮತà³à²¤à³ ಧà³à²µà²¨à²¿ ಮಾಡà³"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"ಸಾಮಾನà³à²¯ ಬಣà³à²£à²—ಳà³"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"ರಾತà³à²°à²¿ ಬಣà³à²£à²—ಳà³"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"ಕಸà³à²Ÿà²®à³ ಬಣà³à²£à²—ಳà³"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"ಅಪರಿಚಿತ ಬಣà³à²£à²—ಳà³"</string> + <string name="color_transform" msgid="6985460408079086090">"ಬಣà³à²£ ಬದಲಾವಣೆ"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"ತà³à²µà²°à²¿à²¤ ಸೆಟà³à²Ÿà²¿à²‚ಗà³â€Œà²—ಳ ಟೈಲೠತೋರಿಸà³"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"ಕಸà³à²Ÿà²®à³ ಪರಿವರà³à²¤à²¨à³†à²¯à²¨à³à²¨à³ ಸಕà³à²°à²¿à²¯à²—ೊಳಿಸಿ"</string> + <string name="color_apply" msgid="9212602012641034283">"ಅನà³à²µà²¯à²¿à²¸à³"</string> + <string name="color_revert_title" msgid="4746666545480534663">"ಸೆಟà³à²Ÿà²¿à²‚ಗà³â€Œà²—ಳನà³à²¨à³ ಖಚಿತಪಡಿಸಿ"</string> + <string name="color_revert_message" msgid="9116001069397996691">"ಕೆಲವೠಬಣà³à²£ ಸೆಟà³à²Ÿà²¿à²‚ಗà³â€Œà²—ಳೠಈ ಸಾಧನವನà³à²¨à³ ಅನà³à²ªà²¯à³à²•à³à²¤à²—ೊಳಿಸಬಹà³à²¦à³. ಈ ಬಣà³à²£ ಸೆಟà³à²Ÿà²¿à²‚ಗà³â€Œà²—ಳನà³à²¨à³ ಖಚಿತಪಡಿಸಲೠಸರಿ ಕà³à²²à²¿à²•ೠಮಾಡಿ, ಇಲà³à²²à²µà²¾à²¦à²°à³† ಈ ಸೆಟà³à²Ÿà²¿à²‚ಗà³â€Œà²—ಳನà³à²¨à³ 10 ಸೆಕೆಂಡà³à²—ಳ ನಂತರ ಮರà³à²¹à³Šà²‚ದಿಸಿ."</string> </resources> diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml index ec34677743a2..b910c0486e10 100644 --- a/packages/SystemUI/res/values-ko/strings.xml +++ b/packages/SystemUI/res/values-ko/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"무ìŒìœ¼ë¡œ 알림 표시"</string> <string name="notification_importance_high" msgid="3222680136612408223">"알림 ëª©ë¡ ìƒë‹¨ì— í‘œì‹œí•˜ê³ ì†Œë¦¬ë¡œ 알림"</string> <string name="notification_importance_max" msgid="5236987171904756134">"í™”ë©´ì— í‘œì‹œí•˜ê³ ì†Œë¦¬ë¡œ 알림"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"ì¼ë°˜ 색ìƒ"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"야간 색ìƒ"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"맞춤 색ìƒ"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"알 수 없는 색ìƒ"</string> + <string name="color_transform" msgid="6985460408079086090">"ìƒ‰ìƒ ìˆ˜ì •"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"ë¹ ë¥¸ ì„¤ì • íƒ€ì¼ í‘œì‹œ"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"맞춤 변환 사용"</string> + <string name="color_apply" msgid="9212602012641034283">"ì ìš©"</string> + <string name="color_revert_title" msgid="4746666545480534663">"ì„¤ì • 확ì¸"</string> + <string name="color_revert_message" msgid="9116001069397996691">"ì¼ë¶€ ìƒ‰ìƒ ì„¤ì •ìœ¼ë¡œ ì¸í•´ ì´ ê¸°ê¸°ë¥¼ 사용하지 ëª»í• ìˆ˜ 있습니다. 확ì¸ì„ í´ë¦í•˜ì—¬ ì´ëŸ¬í•œ ìƒ‰ìƒ ì„¤ì •ì„ í™•ì¸í•˜ì§€ 않으면 10ì´ˆ í›„ì— ì„¤ì •ì´ ì´ˆê¸°í™”ë©ë‹ˆë‹¤."</string> </resources> diff --git a/packages/SystemUI/res/values-ky-rKG/strings.xml b/packages/SystemUI/res/values-ky-rKG/strings.xml index c0e63079e01b..e703e0093372 100644 --- a/packages/SystemUI/res/values-ky-rKG/strings.xml +++ b/packages/SystemUI/res/values-ky-rKG/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Бул ÑÑкертмелер үнÑүз көрÑөтүлÑүн"</string> <string name="notification_importance_high" msgid="3222680136612408223">"ÐÑкертмелер тизмеÑинин ÑÒ£ жогоруÑунда үн чыгарып көрÑөтүлÑүн"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Үн менен коштолуп, Ñкранга чыгарылÑын"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Кадимки түÑтөр"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Түнкү түÑтөр"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Ыңгайлаштырылган түÑтөр"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"БелгиÑиз түÑтөр"</string> + <string name="color_transform" msgid="6985460408079086090">"ТүÑүн өзгөртүү"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Ыкчам жөндөөлөр тактаÑын көрÑөтүү"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Ыңгайлаштырылган өзгөртүүнү иштетүү"</string> + <string name="color_apply" msgid="9212602012641034283">"Колдонуу"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Жөндөөлөрдү ыраÑтоо"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Ðйрым Ñ‚Ò¯Ñ Ð¶Ó©Ð½Ð´Ó©Ó©Ð»Ó©Ñ€Ò¯ бул түзмөктү ÐºÐ¾Ð»Ð´Ð¾Ð½ÑƒÐ»Ð³ÑƒÑ ÐºÑ‹Ð»Ñ‹Ð¿ коюшу мүмкүн. Бул Ñ‚Ò¯Ñ Ð¶Ó©Ð½Ð´Ó©Ó©Ð»Ó©Ñ€Ò¯Ð½ ыраÑтоо үчүн OK баÑкычын чыкылдатыңыз, болбоÑо бул жөндөөлөр 10 Ñекунддан кийин баштапкы абалына келтирилет."</string> </resources> diff --git a/packages/SystemUI/res/values-land/dimens.xml b/packages/SystemUI/res/values-land/dimens.xml index 456391d61216..c75a89fa4b31 100644 --- a/packages/SystemUI/res/values-land/dimens.xml +++ b/packages/SystemUI/res/values-land/dimens.xml @@ -24,5 +24,5 @@ <integer name="notification_panel_layout_gravity">@integer/standard_notification_panel_layout_gravity</integer> <dimen name="docked_divider_handle_width">2dp</dimen> - <dimen name="docked_divider_handle_height">24dp</dimen> + <dimen name="docked_divider_handle_height">16dp</dimen> </resources> diff --git a/packages/SystemUI/res/values-land/styles.xml b/packages/SystemUI/res/values-land/styles.xml index 96d8fb8a02dd..b711faa30280 100644 --- a/packages/SystemUI/res/values-land/styles.xml +++ b/packages/SystemUI/res/values-land/styles.xml @@ -20,7 +20,7 @@ </style> <style name="DockedDividerBackground"> - <item name="android:layout_width">12dp</item> + <item name="android:layout_width">10dp</item> <item name="android:layout_height">match_parent</item> <item name="android:layout_gravity">center_horizontal</item> </style> @@ -28,7 +28,7 @@ <style name="DockedDividerHandle"> <item name="android:layout_gravity">center_vertical</item> <item name="android:layout_width">48dp</item> - <item name="android:layout_height">64dp</item> + <item name="android:layout_height">96dp</item> </style> </resources> diff --git a/packages/SystemUI/res/values-lo-rLA/strings.xml b/packages/SystemUI/res/values-lo-rLA/strings.xml index a2cf6fc3e954..8e4340818f0c 100644 --- a/packages/SystemUI/res/values-lo-rLA/strings.xml +++ b/packages/SystemUI/res/values-lo-rLA/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"ສະà»àº”ງàºàº²àº™à»àºˆà»‰àº‡à»€àº•ືàºàº™à»€àº«àº¼àº»à»ˆàº²àº™àºµà»‰à»àºšàºšàºšà»à»ˆàº¡àºµàºªàº½àº‡"</string> <string name="notification_importance_high" msgid="3222680136612408223">"ສະà»àº”ງຢູ່ສ່ວນເທິງຂàºàº‡àº¥àº²àºàºàº²àº™à»àºˆà»‰àº‡à»€àº•ືàºàº™ à»àº¥àº°àºªàº»à»ˆàº‡àºªàº½àº‡àº”ັງ"</string> <string name="notification_importance_max" msgid="5236987171904756134">"ເດັ້ງຂຶ້ນເທິງຫນ້າຈ໠à»àº¥àº°àºªàº»à»ˆàº‡àºªàº½àº‡àº”ັງ"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"ສີ​ປົàºâ€‹àºàº°â€‹àº•ິ"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"ສີ​ຕàºàº™â€‹àºàº²àº‡â€‹àº„ືນ"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"ສີà»àºšàºšàºàº³àº™àº»àº”ເàºàº‡"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"ສີທີ່ບà»à»ˆàº®àº¹à»‰àºˆàº±àº"</string> + <string name="color_transform" msgid="6985460408079086090">"àºàº²àº™â€‹àº”ັດ​à»àº›àº‡àºªàºµ"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"ສະà»àº”ງໄທລ໌àºàº²àº™àº•ັ້ງຄ່າດ່ວນ"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"ເປີດໃຊ້àºàº²àº™àº›à»ˆàº½àº™àºªàºµà»àºšàºšàºàº³àº™àº»àº”ເàºàº‡"</string> + <string name="color_apply" msgid="9212602012641034283">"ນຳໃຊ້"</string> + <string name="color_revert_title" msgid="4746666545480534663">"ຢືນ​ຢັນ​àºàº²àº™â€‹àº•ັ້ງ​ຄ່າ"</string> + <string name="color_revert_message" msgid="9116001069397996691">"ບາງàºàº²àº™àº•ັ້ງຄ່າສີສາມາດເຮັດໃຫ້àºàº¸àº›àº°àºàºàº™àº™àºµà»‰àºšà»à»ˆàºªàº²àº¡àº²àº”ໃຊ້ໄດ້. ຄລິຠຕົàºàº¥àº»àº‡ ເພື່àºàº¢àº·àº™àº¢àº±àº™àºàº²àº™àº•ັ້ງຄ່າສີເຫຼົ່ານີ້, ຖ້າບà»à»ˆàº”ັ່ງນັ້ນ àºàº²àº™àº•ັ້ງຄ່າເຫຼົ່ານີ້ຈະຕັ້ງຄືນໃà»à»ˆ ຫຼັງຈາຠ10 ວິນາທີ."</string> </resources> diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml index aa5699a15869..04066a71e7a3 100644 --- a/packages/SystemUI/res/values-lt/strings.xml +++ b/packages/SystemUI/res/values-lt/strings.xml @@ -462,4 +462,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Tyliai rodyti Å¡iuos praneÅ¡imus"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Rodyti praneÅ¡imų sÄ…raÅ¡o virÅ¡uje ir skambÄ—ti"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Rodyti ekrane ir skambÄ—ti"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Ä®prastos spalvos"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Nakties spalvos"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Tinkintos spalvos"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Nežinomos spalvos"</string> + <string name="color_transform" msgid="6985460408079086090">"Spalvų keitimas"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Rodyti SparÄiųjų nustatymų iÅ¡klotinÄ—s elementÄ…"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Ä®galinti tinkintÄ… transformavimÄ…"</string> + <string name="color_apply" msgid="9212602012641034283">"Taikyti"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Nustatymų patvirtinimas"</string> + <string name="color_revert_message" msgid="9116001069397996691">"DÄ—l kai kurių spalvų nustatymų įrenginys gali bÅ«ti netinkamas naudoti. SpustelÄ—kite „Gerai“, kad patvirtintumÄ—te Å¡iuos spalvų nustatymus. Kitaip Å¡ie nustatymai bus nustatyti iÅ¡ naujo po 10 sekundžių."</string> </resources> diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml index 98761b0f7395..649d07b93515 100644 --- a/packages/SystemUI/res/values-lv/strings.xml +++ b/packages/SystemUI/res/values-lv/strings.xml @@ -461,4 +461,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"RÄdÄ«t Å¡os paziņojumus bez skaņas signÄla"</string> <string name="notification_importance_high" msgid="3222680136612408223">"RÄdÄ«t paziņojumu saraksta augÅ¡daÄ¼Ä un ar skaņas signÄlu"</string> <string name="notification_importance_max" msgid="5236987171904756134">"RÄdÄ«t ekrÄnÄ ar skaņas signÄlu"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Parastas krÄsas"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Nakts krÄsas"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"PielÄgotas krÄsas"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"NezinÄmas krÄsas"</string> + <string name="color_transform" msgid="6985460408079086090">"KrÄsu pÄrveidoÅ¡ana"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Ä€tro iestatÄ«jumu elementa rÄdīšana"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"PielÄgotÄs pÄrveidoÅ¡anas iespÄ“joÅ¡ana"</string> + <string name="color_apply" msgid="9212602012641034283">"Lietot"</string> + <string name="color_revert_title" msgid="4746666545480534663">"IestatÄ«jumu apstiprinÄÅ¡ana"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Noteiktu krÄsu iestatÄ«jumu dēļ šī ierÄ«ce var kļūt nelietojama. Lai apstiprinÄtu Å¡os krÄsu iestatÄ«jumus, noklikšķiniet uz Labi. Ja to neizdarÄ«siet, pÄ“c 10 sekundÄ“m Å¡ie iestatÄ«jumi tiks atiestatÄ«ti."</string> </resources> diff --git a/packages/SystemUI/res/values-mk-rMK/strings.xml b/packages/SystemUI/res/values-mk-rMK/strings.xml index 023792bff158..928bbcd556cb 100644 --- a/packages/SystemUI/res/values-mk-rMK/strings.xml +++ b/packages/SystemUI/res/values-mk-rMK/strings.xml @@ -42,7 +42,7 @@ <string name="battery_saver_confirmation_title" msgid="5299585433050361634">"Дали да Ñе вклучи штедачот на батерија?"</string> <string name="battery_saver_confirmation_ok" msgid="7507968430447930257">"Вклучи"</string> <string name="battery_saver_start_action" msgid="5576697451677486320">"Вклучете го штедачот на батерија"</string> - <string name="status_bar_settings_settings_button" msgid="3023889916699270224">"ПодеÑувања"</string> + <string name="status_bar_settings_settings_button" msgid="3023889916699270224">"ПоÑтавки"</string> <string name="status_bar_settings_wifi_button" msgid="1733928151698311923">"Wi-Fi"</string> <string name="status_bar_settings_auto_rotation" msgid="3790482541357798421">"ÐвтоматÑко ротирање на екранот"</string> <string name="status_bar_settings_mute_label" msgid="554682549917429396">"ИСКЛ."</string> @@ -151,7 +151,7 @@ <string name="accessibility_no_sims" msgid="3957997018324995781">"Ðема СИМ-картичка"</string> <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Променување на мрежата на операторот."</string> <string name="accessibility_battery_level" msgid="7451474187113371965">"Батерија <xliff:g id="NUMBER">%d</xliff:g> проценти."</string> - <string name="accessibility_settings_button" msgid="799583911231893380">"ПодеÑувања на ÑиÑтем."</string> + <string name="accessibility_settings_button" msgid="799583911231893380">"ПоÑтавки на ÑиÑтем."</string> <string name="accessibility_notifications_button" msgid="4498000369779421892">"ИзвеÑтувања"</string> <string name="accessibility_remove_notification" msgid="3603099514902182350">"Избриши извеÑтување."</string> <string name="accessibility_gps_enabled" msgid="3511469499240123019">"ГПС е овозможен."</string> @@ -260,7 +260,7 @@ <string name="quick_settings_media_device_label" msgid="1302906836372603762">"МедиумÑки уред"</string> <string name="quick_settings_rssi_label" msgid="7725671335550695589">"RSSI"</string> <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"Само итни повици"</string> - <string name="quick_settings_settings_label" msgid="5326556592578065401">"ПодеÑувања"</string> + <string name="quick_settings_settings_label" msgid="5326556592578065401">"ПоÑтавки"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Време"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"ЈаÑ"</string> <string name="quick_settings_user_title" msgid="4467690427642392403">"КориÑник"</string> @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Тивко прикажувај ги извеÑтувањава"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Прикажувај ги на врвот на ÑпиÑокот Ñо извеÑтувања и дај звучен Ñигнал"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Појави Ñе на екранот и дај звучен Ñигнал"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Ðормални бои"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Ðоќни бои"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"ПриÑпоÑобени бои"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Ðепознати бои"</string> + <string name="color_transform" msgid="6985460408079086090">"Промена на бојата"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Прикажи плочка Брзи поÑтавки"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Овозможи приÑпоÑобено транÑформирање"</string> + <string name="color_apply" msgid="9212602012641034283">"Примени"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Потврдете ги поÑтавките"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Ðекои поÑтавки на боите може да го направат уредот неупотреблив. Кликнете на Во ред за да ги потврдите овие поÑтавки на боите, инаку тие поÑтавки ќе Ñе реÑетираат по 10 Ñекунди."</string> </resources> diff --git a/packages/SystemUI/res/values-ml-rIN/strings.xml b/packages/SystemUI/res/values-ml-rIN/strings.xml index 9e0e409a4e93..2f4b81abd1db 100644 --- a/packages/SystemUI/res/values-ml-rIN/strings.xml +++ b/packages/SystemUI/res/values-ml-rIN/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"à´ˆ അറിയിപàµà´ªàµà´•ൾ നിശബàµà´¦à´®à´¾à´¯à´¿ കാണികàµà´•àµà´•"</string> <string name="notification_importance_high" msgid="3222680136612408223">"അറിയിപàµà´ªàµ ലിസàµà´±àµà´±à´¿à´¨àµà´±àµ† à´à´±àµà´±à´µàµà´‚ à´®àµà´•ളിൽ കാണികàµà´•àµà´•, à´¶à´¬àµà´¦à´®àµà´£àµà´Ÿà´¾à´•àµà´•àµà´•"</string> <string name="notification_importance_max" msgid="5236987171904756134">"à´¸àµà´•àµà´°àµ€à´¨à´¿àµ½ ദൃശàµà´¯à´®à´¾à´•àµà´•àµà´•, à´¶à´¬àµà´¦à´®àµà´£àµà´Ÿà´¾à´•àµà´•àµà´•"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"സാധാരണ വരàµâ€à´£àµà´£à´™àµà´™àµ¾"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"രാതàµà´°à´¿ വരàµâ€à´£àµà´£à´™àµà´™àµ¾"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"ഇഷàµà´Ÿà´¾à´¨àµà´¸àµƒà´¤ വരàµâ€à´£àµà´£à´™àµà´™àµ¾"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"തിരിചàµà´šà´±à´¿à´¯à´¾à´¨à´¾à´•ാതàµà´¤ വർണàµà´£à´™àµà´™àµ¾"</string> + <string name="color_transform" msgid="6985460408079086090">"വർണàµà´£ പരിഷàµà´•രണം"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"à´¦àµà´°àµà´¤ à´•àµà´°à´®àµ€à´•à´°à´£ ടൈൽ കാണികàµà´•àµà´•"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"ഇഷàµà´Ÿà´¾à´¨àµà´¸àµƒà´¤ പരിവർതàµà´¤à´¨à´‚ à´ªàµà´°à´µàµ¼à´¤àµà´¤à´¨à´•àµà´·à´®à´®à´¾à´•àµà´•àµà´•"</string> + <string name="color_apply" msgid="9212602012641034283">"ബാധകമാകàµà´•àµà´•"</string> + <string name="color_revert_title" msgid="4746666545480534663">"à´•àµà´°à´®àµ€à´•രണം à´¸àµà´¥à´¿à´°àµ€à´•à´°à´¿à´•àµà´•àµà´•"</string> + <string name="color_revert_message" msgid="9116001069397996691">"à´šà´¿à´² വർണàµà´£ à´•àµà´°à´®àµ€à´•രണതàµà´¤à´¿à´¨àµ à´ˆ ഉപകരണതàµà´¤àµ† ഉപയോഗരഹിതമാകàµà´•ാനാകàµà´‚. à´ˆ വർണàµà´£ à´•àµà´°à´®àµ€à´•രണം à´¸àµà´¥à´¿à´°àµ€à´•à´°à´¿à´•àµà´•àµà´¨àµà´¨à´¤à´¿à´¨àµ à´¶à´°à´¿ à´Žà´¨àµà´¨à´¤à´¿àµ½ à´•àµà´²à´¿à´•àµà´•àµà´šàµ†à´¯àµà´¯àµà´•, à´…à´²àµà´²àµ†à´™àµà´•ിൽ 10 സെകàµà´•ൻഡിനൠശേഷം à´ˆ à´•àµà´°à´®àµ€à´•രണം à´ªàµà´¨à´ƒà´•àµà´°à´®àµ€à´•à´°à´¿à´•àµà´•à´ªàµà´ªàµ†à´Ÿàµà´‚."</string> </resources> diff --git a/packages/SystemUI/res/values-mn-rMN/strings.xml b/packages/SystemUI/res/values-mn-rMN/strings.xml index 445c2fd5c069..3dd084ea64db 100644 --- a/packages/SystemUI/res/values-mn-rMN/strings.xml +++ b/packages/SystemUI/res/values-mn-rMN/strings.xml @@ -455,7 +455,17 @@ <string name="max_importance" msgid="5089005872719563894">"Яаралтай ач холбогдолтой"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"ÐдгÑÑÑ€ мÑдÑгдлийг Ñ…ÑзÑÑ Ñ‡ харуулахгүй"</string> <string name="notification_importance_low" msgid="4383563267370859725">"МÑдÑгдлийг жагÑаалтын доод Ñ…ÑÑÑгт дуугүй харуулах"</string> - <string name="notification_importance_default" msgid="4926529615920610817">"ÐдгÑÑÑ€ мÑдÑгдлийг чимÑÑгүй харуулах"</string> + <string name="notification_importance_default" msgid="4926529615920610817">"ÐдгÑÑÑ€ мÑдÑгдлийг дуугүй харуулах"</string> <string name="notification_importance_high" msgid="3222680136612408223">"МÑдÑгдлийг жагÑаалтын ÑÑ…Ñнд дуутай харуулах"</string> <string name="notification_importance_max" msgid="5236987171904756134">"ДÑлгÑцÑнд Ñаралтайгаар дуутай гаргах"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Ð¥Ñвийн өнгө"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Шөнийн өнгө"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Өгөгдмөл өнгө"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Үл мÑдÑгдÑÑ… өнгө"</string> + <string name="color_transform" msgid="6985460408079086090">"Өнгөний өөрчлөлт"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"ТүргÑн тохиргооны Ñ…ÑÑгийг харуулах"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Өгөгдмөл өөрчлөлтийг идÑвхжүүлÑÑ…"</string> + <string name="color_apply" msgid="9212602012641034283">"Ð¥ÑÑ€ÑгжүүлÑÑ…"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Тохиргоог баталгаажуулах"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Зарим өнгөний тохиргоо ÑÐ½Ñ Ñ‚Ó©Ñ…Ó©Ó©Ñ€Ó©Ð¼Ð¶Ð¸Ð¹Ð³ ашиглах боломжгүй болгож болзошгүй. OK товчлуурыг дарж ÑдгÑÑÑ€ өнгөний тохиргоог зөвшөөрөхгүй бол ÑÐ½Ñ Ñ‚Ð¾Ñ…Ð¸Ñ€Ð³Ð¾Ð¾ нь 10 Ñекундын дараа шинÑчлÑгдÑÑ… болно."</string> </resources> diff --git a/packages/SystemUI/res/values-mr-rIN/strings.xml b/packages/SystemUI/res/values-mr-rIN/strings.xml index 3a45fb90c2ea..59eadf1cadf0 100644 --- a/packages/SystemUI/res/values-mr-rIN/strings.xml +++ b/packages/SystemUI/res/values-mr-rIN/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"या सूचना शांतपणे दरà¥à¤¶à¤µà¤¾"</string> <string name="notification_importance_high" msgid="3222680136612408223">"सूचना सूचीचà¥à¤¯à¤¾ शीरà¥à¤·à¤¸à¥à¤¥à¤¾à¤¨à¥€ दरà¥à¤¶à¤µà¤¾ आणि धà¥à¤µà¤¨à¥€ चालू करा"</string> <string name="notification_importance_max" msgid="5236987171904756134">"सà¥à¤•à¥à¤°à¥€à¤¨à¤µà¤° डोकावून पहा आणि धà¥à¤µà¤¨à¥€ चालू करा"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"सामानà¥à¤¯ रंग"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"रातà¥à¤°à¥€à¤šà¥‡ रंग"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"सानà¥à¤•ूल रंग"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"अजà¥à¤žà¤¾à¤¤ रंग"</string> + <string name="color_transform" msgid="6985460408079086090">"रंग सà¥à¤§à¤¾à¤°à¤£à¤¾"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"दà¥à¤°à¥à¤¤ सेटिंगà¥à¤œ टाइल दरà¥à¤¶à¤µà¤¾"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"सानà¥à¤•ूल रूपांतरण सकà¥à¤·à¤® करा"</string> + <string name="color_apply" msgid="9212602012641034283">"लागू करा"</string> + <string name="color_revert_title" msgid="4746666545480534663">"सेटिंगà¥à¤œà¤šà¥€ पà¥à¤·à¥à¤Ÿà¥€ करा"</string> + <string name="color_revert_message" msgid="9116001069397996691">"काही रंग सेटिंगà¥à¤œ या डिवà¥à¤¹à¤¾à¤‡à¤¸à¤²à¤¾ निरà¥à¤ªà¤¯à¥‹à¤—ी करू शकतात. या रंग सेटिंगà¥à¤œà¤šà¥€ पà¥à¤·à¥à¤Ÿà¥€ करणà¥â€à¤¯à¤¾à¤¸à¤¾à¤ ी ठीक आहे दाबा अनà¥à¤¯à¤¥à¤¾ या सेटिंगà¥à¤œ 10 सेकंदांनंतर रीसेट होतील."</string> </resources> diff --git a/packages/SystemUI/res/values-ms-rMY/strings.xml b/packages/SystemUI/res/values-ms-rMY/strings.xml index e3a68406891e..5dd221ac22ca 100644 --- a/packages/SystemUI/res/values-ms-rMY/strings.xml +++ b/packages/SystemUI/res/values-ms-rMY/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Tunjukkan pemberitahuan ini secara senyap"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Tunjukkan pada bahagian atas senarai pemberitahuan dan bunyikan"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Intai pada skrin dan bunyikan"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Warna biasa"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Warna malam"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Warna tersuai"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Warna tidak diketahui"</string> + <string name="color_transform" msgid="6985460408079086090">"Pengubahsuaian warna"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Tunjukkan jubin Tetapan Pantas"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Dayakan jelmaan tersuai"</string> + <string name="color_apply" msgid="9212602012641034283">"Gunakan"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Sahkan tetapan"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Sesetengah tetapan warna boleh menjadikan peranti ini tidak dapat digunakan. Klik OK untuk mengesahkan tetapan warna ini, jika tidak, tetapan ini akan ditetapkan semula selepas 10 saat."</string> </resources> diff --git a/packages/SystemUI/res/values-my-rMM/strings.xml b/packages/SystemUI/res/values-my-rMM/strings.xml index 0043eb87b110..293e01047114 100644 --- a/packages/SystemUI/res/values-my-rMM/strings.xml +++ b/packages/SystemUI/res/values-my-rMM/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"ဤသá€á€á€•ေးá€á€»á€€á€ºá€™á€»á€¬á€¸á€€á€á€¯ á€á€á€á€ºá€á€†á€á€á€ºá€•ြပါ"</string> <string name="notification_importance_high" msgid="3222680136612408223">"သá€á€á€•ေးá€á€»á€€á€ºá€…ာရင်းများá ထá€á€•်á€á€½á€„်ပြကာ အသံဖွင့်ပါ"</string> <string name="notification_importance_max" msgid="5236987171904756134">"မျက်နှာပြင်ပေါ်သá€á€¯á€· ဖော်ပြကာ အသံဖွင့်ပါ"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"ပုံမှန် အရောင်များ"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"ည အရောင်များ"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"စá€á€á€ºá€€á€¼á€á€¯á€€á€º အရောင်များ"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"မသá€á€žá€Šá€·á€º အရောင်များ"</string> + <string name="color_transform" msgid="6985460408079086090">"အရောင် မွမ်းမံမှု"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"အမြန် ဆက်á€á€„် လေးထောင့်ကွက်ကá€á€¯ ပြပါ"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"စá€á€á€ºá€€á€¼á€á€¯á€€á€º ပြောင်းလဲမှုကá€á€¯ ဖွင့်ပါ"</string> + <string name="color_apply" msgid="9212602012641034283">"အသုံးပြုပါ"</string> + <string name="color_revert_title" msgid="4746666545480534663">"ဆက်á€á€„်များကá€á€¯ အá€á€Šá€ºá€•ြုပါ"</string> + <string name="color_revert_message" msgid="9116001069397996691">"အá€á€»á€á€¯á€·á€žá€±á€¬ အရောင်ဆက်á€á€€á€ºá€™á€»á€¬á€¸á€€ ဤကá€á€›á€á€šá€¬á€€á€á€¯ သုံးမရအောင် လုပ်ပစ်နá€á€¯á€„်ပါသည်ዠဤအရောင် ဆက်á€á€„်များကá€á€¯ အá€á€Šá€ºá€•ြုရန် အá€á€¯á€€á€±á€€á€á€¯ နှá€á€•်ပါአသá€á€¯á€·á€™á€Ÿá€¯á€á€º ဤဆက်á€á€„်များကá€á€¯ áဠစက္ကန့် အကြာá€á€½á€„် ပြန်ညှá€á€œá€á€¯á€€á€ºá€•ါမည်á‹"</string> </resources> diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml index 967388b736c6..ffc2fcf2eff7 100644 --- a/packages/SystemUI/res/values-nb/strings.xml +++ b/packages/SystemUI/res/values-nb/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Vis disse varslene uten lyd"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Vis øverst pÃ¥ varsellisten med lyd"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Vis fort pÃ¥ skjermen med lyd"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Normale farger"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Nattfarger"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Spesialtilpassede farger"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Ukjente farger"</string> + <string name="color_transform" msgid="6985460408079086090">"Fargemodifisering"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Vis ruten for hurtiginnstillinger"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"SlÃ¥ pÃ¥ spesialtilpasset forvandling"</string> + <string name="color_apply" msgid="9212602012641034283">"Bruk"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Bekreft innstillingene"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Noen fargeinnstillinger kan gjøre denne enheten ubrukelig. Klikk pÃ¥ OK for Ã¥ bekrefte disse fargeinnstillingene, ellers blir de tilbakestilt etter ti sekunder."</string> </resources> diff --git a/packages/SystemUI/res/values-ne-rNP/strings.xml b/packages/SystemUI/res/values-ne-rNP/strings.xml index 658ee92de53a..6f40d554f390 100644 --- a/packages/SystemUI/res/values-ne-rNP/strings.xml +++ b/packages/SystemUI/res/values-ne-rNP/strings.xml @@ -449,15 +449,25 @@ <string name="enable_bluetooth_message" msgid="9106595990708985385">"आफà¥à¤¨à¥‹ टà¥à¤¯à¤¾à¤¬à¥à¤²à¥‡à¤Ÿà¤¸à¤à¤— किबोरà¥à¤¡ जोडà¥à¤¨, पहिले तपाईà¤à¤²à¥‡ बà¥à¤²à¥à¤Ÿà¥à¤¥ सकà¥à¤°à¤¿à¤¯ गरà¥à¤¨à¥à¤ªà¤°à¥à¤›à¥¤"</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"सकà¥à¤°à¤¿à¤¯ पारà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> <string name="apply_to_topic" msgid="3641403489318659666">"<xliff:g id="TOPIC_NAME">%1$s</xliff:g> सूचनाहरूमा लागू गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> - <string name="apply_to_app" msgid="363016783939815960">"यो अनà¥à¤ªà¥à¤°à¤¯à¥‹à¤—बाट सबै सूचनाहरूमा लागू गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> + <string name="apply_to_app" msgid="363016783939815960">"यो अनà¥à¤ªà¥à¤°à¤¯à¥‹à¤—का सबै सूचनाहरूमा लागू गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> <string name="blocked_importance" msgid="5198578988978234161">"रोकियो"</string> <string name="low_importance" msgid="4109929986107147930">"नà¥à¤¯à¥‚न महतà¥à¤¤à¥à¤µ"</string> <string name="default_importance" msgid="8192107689995742653">"सामानà¥à¤¯ महतà¥à¤¤à¥à¤µ"</string> <string name="high_importance" msgid="1527066195614050263">"उचà¥à¤š महतà¥à¤¤à¥à¤µ"</string> - <string name="max_importance" msgid="5089005872719563894">"अतà¥à¤¯à¤¾à¤µà¤¶à¥à¤¯à¤• महतà¥à¤¤à¥à¤µ"</string> + <string name="max_importance" msgid="5089005872719563894">"जरूरी महतà¥à¤¤à¥à¤µ"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"यी सूचनाहरू कहिलà¥à¤¯à¥ˆ नदेखाउनà¥à¤¹à¥‹à¤¸à¥"</string> - <string name="notification_importance_low" msgid="4383563267370859725">"बिना आवाज सूचना सूचीको फेदमा देखाउनà¥à¤¹à¥‹à¤¸à¥"</string> - <string name="notification_importance_default" msgid="4926529615920610817">"बिना आवाज यी सूचनाहरू देखाउनà¥à¤¹à¥‹à¤¸à¥"</string> + <string name="notification_importance_low" msgid="4383563267370859725">"सूचीको फेदमा बिना आवाज देखाउनà¥à¤¹à¥‹à¤¸à¥"</string> + <string name="notification_importance_default" msgid="4926529615920610817">"यी सूचनाहरू बिना आवाज देखाउनà¥à¤¹à¥‹à¤¸à¥"</string> <string name="notification_importance_high" msgid="3222680136612408223">"सूचना सूचीको शीरà¥à¤·à¤®à¤¾ देखाउनà¥à¤¹à¥‹à¤¸à¥ र आवाज निकालà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> <string name="notification_importance_max" msgid="5236987171904756134">"सà¥à¤•à¥à¤°à¤¿à¤¨à¤®à¤¾ हेरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ र आवाज निकालà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"सामानà¥à¤¯ रङहरू"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"रातà¥à¤°à¥€ रङहरू"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"अनà¥à¤•ूलन रङहरू"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"अजà¥à¤žà¤¾à¤¤ रङहरू"</string> + <string name="color_transform" msgid="6985460408079086090">"रङ परिमारà¥à¤œà¤¨"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"दà¥à¤°à¥à¤¤ सेटिङ टाइल देखाउनà¥à¤¹à¥‹à¤¸à¥"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"अनà¥à¤•ूलन रूपानà¥à¤¤à¤°à¤£ सकà¥à¤°à¤¿à¤¯ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> + <string name="color_apply" msgid="9212602012641034283">"लागू गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> + <string name="color_revert_title" msgid="4746666545480534663">"सेटिङहरूको पà¥à¤·à¥à¤Ÿà¤¿ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥"</string> + <string name="color_revert_message" msgid="9116001069397996691">"केही रङ सेटिङहरूले यस यनà¥à¤¤à¥à¤°à¤²à¤¾à¤ˆ अनà¥à¤ªà¤¯à¥‹à¤—ी बनाउन सकà¥à¤›à¤¨à¥à¥¤ यी रङ सेटिङहरू पà¥à¤·à¥à¤Ÿà¤¿ गरà¥à¤¨ ठीक छ मा कà¥à¤²à¤¿à¤• गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥, अनà¥à¤¯à¤¥à¤¾ यी सेटिङहरू १० सेकेणà¥à¤¡à¤ªà¤›à¤¿ रिसेट हà¥à¤¨à¥‡à¤›à¤¨à¥à¥¤"</string> </resources> diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml index d5ea047a8fb1..27eb1d11a427 100644 --- a/packages/SystemUI/res/values-nl/strings.xml +++ b/packages/SystemUI/res/values-nl/strings.xml @@ -405,7 +405,7 @@ <string name="quick_settings_reset_confirmation_button" msgid="2660339101868367515">"Verbergen"</string> <string name="volumeui_prompt_message" msgid="918680947433389110">"<xliff:g id="APP_NAME">%1$s</xliff:g> wil het volumedialoogvenster zijn."</string> <string name="volumeui_prompt_allow" msgid="7954396902482228786">"Toestaan"</string> - <string name="volumeui_prompt_deny" msgid="5720663643411696731">"Afwijzen"</string> + <string name="volumeui_prompt_deny" msgid="5720663643411696731">"Weigeren"</string> <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> is het volumedialoogvenster"</string> <string name="volumeui_notification_text" msgid="1826889705095768656">"Tik hierop om het origineel te herstellen."</string> <string name="group_summary_concadenation" msgid="6846402378100148789">", "</string> @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Deze meldingen zonder geluid weergeven"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Boven aan de lijst met meldingen weergeven en geluid laten horen"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Op het scherm weergeven en geluid laten horen"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Normale kleuren"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Nachtkleuren"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Aangepaste kleuren"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Onbekende kleuren"</string> + <string name="color_transform" msgid="6985460408079086090">"Kleuraanpassing"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Tegel voor \'Snelle instellingen\' weergeven"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Aangepast transformeren inschakelen"</string> + <string name="color_apply" msgid="9212602012641034283">"Toepassen"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Instellingen bevestigen"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Bij sommige kleurinstellingen kan het apparaat onbruikbaar worden. Klik op OK om deze kleurinstellingen te bevestigen, anders worden deze instellingen na tien seconden gereset."</string> </resources> diff --git a/packages/SystemUI/res/values-pa-rIN/strings.xml b/packages/SystemUI/res/values-pa-rIN/strings.xml index ad66640b2cb0..2dd91eca3e9b 100644 --- a/packages/SystemUI/res/values-pa-rIN/strings.xml +++ b/packages/SystemUI/res/values-pa-rIN/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"ਇਹਨਾਂ ਸੂਚਨਾਵਾਂ ਨੂੰ ਚà©à©±à¨ªà¨šà¨¾à¨ª ਢੰਗ ਨਾਲ ਵਿਖਾਓ"</string> <string name="notification_importance_high" msgid="3222680136612408223">"ਸੂਚਨਾਵਾਂ ਸੂਚੀ ਦੇ ਸਿਖਰ \'ਤੇ ਵਿਖਾਓ ਅਤੇ ਆਵਾਜ਼ ਕਰੋ"</string> <string name="notification_importance_max" msgid="5236987171904756134">"ਸਕਰੀਨ \'ਤੇ à¨à¨¾à¨¤à©€ ਮਾਰੋ ਅਤੇ ਆਵਾਜ਼ ਕਰੋ"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"ਸਧਾਰਨ ਰੰਗ"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"ਰਾਤ ਦੇ ਰੰਗ"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"ਕਸਟਮ ਰੰਗ"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"ਅਗਿਆਤ ਰੰਗ"</string> + <string name="color_transform" msgid="6985460408079086090">"ਰੰਗ ਸੋਧ"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"ਤਤਕਾਲ ਸੈਟਿੰਗਾਂ ਟਾਇਲ ਵਿਖਾਓ"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"ਕਸਟਮ ਤਬਦੀਲੀ ਯੋਗ ਬਣਾਓ"</string> + <string name="color_apply" msgid="9212602012641034283">"ਲਾਗੂ ਕਰੋ"</string> + <string name="color_revert_title" msgid="4746666545480534663">"ਸੈਟਿੰਗਾਂ ਦੀ ਪà©à¨¸à¨¼à¨Ÿà©€ ਕਰੋ"</string> + <string name="color_revert_message" msgid="9116001069397996691">"ਕà©à¨ ਰੰਗ ਸੈਟਿੰਗਾਂ ਇਸ ਡੀਵਾਈਸ ਨੂੰ ਬੇਕਾਰ ਕਰ ਸਕਦੀਆਂ ਹਨ। ਇਹਨਾਂ ਰੰਗ ਸੈਟਿੰਗਾਂ ਦੀ ਪà©à¨¸à¨¼à¨Ÿà©€ ਕਰਨ ਲਈ ਠੀਕ \'ਤੇ ਕਲਿੱਕ ਕਰੋ, ਨਹੀਂ ਤਾਂ ਇਹ ਸੈਟਿੰਗਾਂ 10 ਸਕਿੰਟ ਬਾਅਦ ਮà©à©œ-ਸੈੱਟ ਹੋ ਜਾਣਗੀਆਂ।"</string> </resources> diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml index 8cf8785494fd..bf222bcd6bdb 100644 --- a/packages/SystemUI/res/values-pl/strings.xml +++ b/packages/SystemUI/res/values-pl/strings.xml @@ -454,7 +454,7 @@ <string name="apply_to_app" msgid="363016783939815960">"Zastosuj do wszystkich powiadomieÅ„ z tej aplikacji"</string> <string name="blocked_importance" msgid="5198578988978234161">"Zablokowane"</string> <string name="low_importance" msgid="4109929986107147930">"MaÅ‚o ważne"</string> - <string name="default_importance" msgid="8192107689995742653">"Mniej ważne"</string> + <string name="default_importance" msgid="8192107689995742653">"Ważne"</string> <string name="high_importance" msgid="1527066195614050263">"Bardzo ważne"</string> <string name="max_importance" msgid="5089005872719563894">"Pilne"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Nigdy nie pokazuj tych powiadomieÅ„"</string> @@ -462,4 +462,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Pokazuj te powiadomienia bez sygnaÅ‚u dźwiÄ™kowego"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Pokazuj na górze listy powiadomieÅ„ i sygnalizuj dźwiÄ™kiem"</string> <string name="notification_importance_max" msgid="5236987171904756134">"WyÅ›wietlaj na ekranie i odtwarzaj dźwiÄ™k"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Kolory standardowe"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Kolory nocne"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Kolory niestandardowe"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Nieznane kolory"</string> + <string name="color_transform" msgid="6985460408079086090">"Zmiana koloru"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Pokazuj kafelek szybkich ustawieÅ„"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Włącz przeksztaÅ‚cenie niestandardowe"</string> + <string name="color_apply" msgid="9212602012641034283">"Zastosuj"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Potwierdź ustawienia"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Niektóre ustawienia kolorów mogÄ… utrudniać korzystanie z urzÄ…dzenia. Kliknij OK, by potwierdzić te ustawienia kolorów. JeÅ›li tego nie zrobisz, zostanÄ… one zresetowane po 10 sekundach."</string> </resources> diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml index 72a93f0fea2e..5d43efa8358e 100644 --- a/packages/SystemUI/res/values-pt-rBR/strings.xml +++ b/packages/SystemUI/res/values-pt-rBR/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Mostrar essas notificações de forma silenciosa"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Mostrar na parte superior da lista de notificações e emitir som"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Mostrar parcialmente na tela e emitir som"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Cores normais"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Cores noturnas"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Cores personalizadas"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Cores desconhecidas"</string> + <string name="color_transform" msgid="6985460408079086090">"Modificação de cor"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Mostrar bloco de configurações rápidas"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Ativar transformação personalizada"</string> + <string name="color_apply" msgid="9212602012641034283">"Aplicar"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Confirmar configurações"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Algumas configurações de cor podem tornar o dispositivo inutilizável. Clique em \"OK\" para confirmar essas configurações de cor; caso contrário, essas configurações serão redefinidas após 10 segundos."</string> </resources> diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml index 9b4b93e6a26d..44ecd41fc763 100644 --- a/packages/SystemUI/res/values-pt-rPT/strings.xml +++ b/packages/SystemUI/res/values-pt-rPT/strings.xml @@ -450,14 +450,24 @@ <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Ativar"</string> <string name="apply_to_topic" msgid="3641403489318659666">"Aplicar a notificações de <xliff:g id="TOPIC_NAME">%1$s</xliff:g>"</string> <string name="apply_to_app" msgid="363016783939815960">"Aplicar a todas as notificações desta aplicação"</string> - <string name="blocked_importance" msgid="5198578988978234161">"Bloqueada"</string> + <string name="blocked_importance" msgid="5198578988978234161">"Bloqueado"</string> <string name="low_importance" msgid="4109929986107147930">"Importância baixa"</string> <string name="default_importance" msgid="8192107689995742653">"Importância normal"</string> <string name="high_importance" msgid="1527066195614050263">"Importância alta"</string> - <string name="max_importance" msgid="5089005872719563894">"Importância urgente"</string> + <string name="max_importance" msgid="5089005872719563894">"Urgente"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Nunca mostrar estas notificações"</string> <string name="notification_importance_low" msgid="4383563267370859725">"Mostrar na parte inferior da lista de notificações sem som"</string> <string name="notification_importance_default" msgid="4926529615920610817">"Mostrar estas notificações sem som"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Mostrar na parte superior da lista de notificações e emitir som"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Mostrar no ecrã e emitir som"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Cores normais"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Cores noturnas"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Cores personalizadas"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Cores desconhecidas"</string> + <string name="color_transform" msgid="6985460408079086090">"Modificação de cor"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Mostrar o mosaico de Definições rápidas"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Ativar transformação personalizada"</string> + <string name="color_apply" msgid="9212602012641034283">"Aplicar"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Confirmar as definições"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Algumas definições de cor podem tornar este dispositivo instável. Clique em OK para confirmar estas definições de cor. Caso contrário, estas definições serão repostas após 10 segundos."</string> </resources> diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml index 72a93f0fea2e..5d43efa8358e 100644 --- a/packages/SystemUI/res/values-pt/strings.xml +++ b/packages/SystemUI/res/values-pt/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Mostrar essas notificações de forma silenciosa"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Mostrar na parte superior da lista de notificações e emitir som"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Mostrar parcialmente na tela e emitir som"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Cores normais"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Cores noturnas"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Cores personalizadas"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Cores desconhecidas"</string> + <string name="color_transform" msgid="6985460408079086090">"Modificação de cor"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Mostrar bloco de configurações rápidas"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Ativar transformação personalizada"</string> + <string name="color_apply" msgid="9212602012641034283">"Aplicar"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Confirmar configurações"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Algumas configurações de cor podem tornar o dispositivo inutilizável. Clique em \"OK\" para confirmar essas configurações de cor; caso contrário, essas configurações serão redefinidas após 10 segundos."</string> </resources> diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml index 3877a4394098..e9e7bdc0d4c5 100644 --- a/packages/SystemUI/res/values-ro/strings.xml +++ b/packages/SystemUI/res/values-ro/strings.xml @@ -461,4 +461,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Aceste notificări se afiÈ™ează fără a se emite un sunet"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Se afiÈ™ează în partea de sus a listei cu notificări È™i se emite un sunet"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Se afiÈ™ează pentru o scurtă durată pe ecran È™i se emite un sunet"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Culori normale"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Culori de noapte"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Culori personalizate"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Culori necunoscute"</string> + <string name="color_transform" msgid="6985460408079086090">"Modificarea culorilor"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"AfiÈ™aÈ›i caseta cu Setările rapide"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"ActivaÈ›i transformarea personalizată"</string> + <string name="color_apply" msgid="9212602012641034283">"AplicaÈ›i"</string> + <string name="color_revert_title" msgid="4746666545480534663">"ConfirmaÈ›i setările"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Unele setări pentru culori pot face dispozitivul să nu mai funcÈ›ioneze. DaÈ›i clic pe OK pentru a confirma aceste setări pentru culori. ÃŽn caz contrar, acestea se vor reseta după 10 secunde."</string> </resources> diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml index 5002ad2e2705..b68b434be016 100644 --- a/packages/SystemUI/res/values-ru/strings.xml +++ b/packages/SystemUI/res/values-ru/strings.xml @@ -462,4 +462,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Показывать ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð±ÐµÐ· звука."</string> <string name="notification_importance_high" msgid="3222680136612408223">"Показывать Ñо звуком в начале ÑпиÑка уведомлений."</string> <string name="notification_importance_max" msgid="5236987171904756134">"Показывать Ñо звуком поверх вÑех окон."</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Обычные цвета"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Ðочные цвета"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"СобÑтвенные цвета"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"ÐеизвеÑтные цвета"</string> + <string name="color_transform" msgid="6985460408079086090">"Цветовые наÑтройки"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Показывать панель быÑтрых наÑтроек"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Включить ÑобÑтвенные наÑтройки"</string> + <string name="color_apply" msgid="9212602012641034283">"Применить"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Подтвердите наÑтройки"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Ðекоторые цветовые наÑтройки могут затруднить работу Ñ ÑƒÑтройÑтвом. Чтобы применить выбранные параметры, нажмите \"ОК\". Ð’ противном Ñлучае они будут Ñброшены через 10 Ñекунд."</string> </resources> diff --git a/packages/SystemUI/res/values-si-rLK/strings.xml b/packages/SystemUI/res/values-si-rLK/strings.xml index cdc749d3807b..b9f7e5364c90 100644 --- a/packages/SystemUI/res/values-si-rLK/strings.xml +++ b/packages/SystemUI/res/values-si-rLK/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"නිà·à·Šà·à¶¶à·Šà¶¯à·€ මෙම දà·à¶±à·”ම්දීම් පෙන්වන්න"</string> <string name="notification_importance_high" msgid="3222680136612408223">"දà·à¶±à·”ම්දීම් à¶½à·à¶ºà·’ස්à¶à·”වෙහි ඉහළින්ම පෙන්වන්න සහ à·à¶¶à·Šà¶¯ කරන්න"</string> <string name="notification_importance_max" msgid="5236987171904756134">"à¶à·’රයට à¶´à·à¶¸à·’à¶« à·à¶¶à·Šà¶¯ කරන්න"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"à·ƒà·à¶¸à·à¶±à·Šâ€à¶º වර්ණ"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"à¶»à·à¶à·Šâ€à¶»à·“ වර්ණ"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"අභිරුචි වර්ණ"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"නොදන්න෠වර්ණ"</string> + <string name="color_transform" msgid="6985460408079086090">"වර්ණ වෙනස් කිරීම"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"ඉක්මන් à·ƒà·à¶šà·ƒà·“ම් ටයිලය පෙන්වන්න"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"අභිරුචි පරිවර්à¶à¶±à¶º සබල කරන්න"</string> + <string name="color_apply" msgid="9212602012641034283">"යොදන්න"</string> + <string name="color_revert_title" msgid="4746666545480534663">"à·ƒà·à¶šà·ƒà·“ම් à¶à·„වුරු කරන්න"</string> + <string name="color_revert_message" msgid="9116001069397996691">"සමහර වර්ණ à·ƒà·à¶šà·ƒà·“ම් මෙම à¶‹à¶´à·à¶‚ගය à¶·à·à·€à·’à¶ à¶šà·… නොහà·à¶šà·’ à¶à¶à·Šà¶à·Šà·€à¶ºà¶§ à¶´à¶à·Š à¶šà·… à·„à·à¶šà·’ය. මෙම වර්ණ à·ƒà·à¶šà·ƒà·“ම් à¶à·„වුරු කිරීමට හරි ක්ලික් කරන්න, à¶±à·à¶à·„à·œà¶à·Š මෙම à·ƒà·à¶šà·ƒà·“ම් à¶à¶à·Šà¶´à¶» 10à¶šà¶§ පසුව යළි සකසනු ඇà¶."</string> </resources> diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml index 1dca386d275f..91a143e58f47 100644 --- a/packages/SystemUI/res/values-sk/strings.xml +++ b/packages/SystemUI/res/values-sk/strings.xml @@ -462,4 +462,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Tieto upozornenia zobrazovaÅ¥ bez zvukového signálu"</string> <string name="notification_importance_high" msgid="3222680136612408223">"ZobrazovaÅ¥ v hornej Äasti zoznamu upozornenà so zvukovým signálom"</string> <string name="notification_importance_max" msgid="5236987171904756134">"ZobrazovaÅ¥ cez obrazovku so zvukovým signálom"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Normálne farby"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"NoÄné farby"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Vlastné farby"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Neznáme farby"</string> + <string name="color_transform" msgid="6985460408079086090">"Úprava farieb"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"ZobraziÅ¥ dlaždicu Rýchle nastavenia"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"PovoliÅ¥ vlastnú transformáciu"</string> + <string name="color_apply" msgid="9212602012641034283">"PoužiÅ¥"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Potvrdenie nastavenÃ"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Niektoré nastavenia farieb môžu toto zariadenie znefunkÄniÅ¥. Tieto nastavenia farieb potvrdÃte kliknutÃm na tlaÄidlo OK, inÃ¡Ä sa tieto nastavenia o 10 sekúnd obnovia."</string> </resources> diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml index a3a868247555..96974ae96dd0 100644 --- a/packages/SystemUI/res/values-sl/strings.xml +++ b/packages/SystemUI/res/values-sl/strings.xml @@ -462,4 +462,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Prikaži ta obvestila brez zvoka"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Prikaži na vrhu seznama obvestil in predvajaj zvok"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Za hip pokaži predogled na zaslonu in predvajaj zvok"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"ObiÄajne barve"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"NoÄne barve"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Barve po meri"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Neznane barve"</string> + <string name="color_transform" msgid="6985460408079086090">"Spreminjanje barv"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Prikaz ploÅ¡Äice s hitrimi nastavitvami"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"OmogoÄanje spremembe po meri"</string> + <string name="color_apply" msgid="9212602012641034283">"Uporabi"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Potrditev nastavitev"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Zaradi nekaterih barvnih nastavitev lahko postane ta naprava neuporabna. Kliknite »V redu«, Äe želite potrditi te barvne nastavitve. V nasprotnem primeru se bodo Äez 10 sekund ponastavile na prvotno vrednost."</string> </resources> diff --git a/packages/SystemUI/res/values-sq-rAL/strings.xml b/packages/SystemUI/res/values-sq-rAL/strings.xml index 1cf34a612f38..b904ae197736 100644 --- a/packages/SystemUI/res/values-sq-rAL/strings.xml +++ b/packages/SystemUI/res/values-sq-rAL/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Shfaqi këto njoftime në heshtje"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Shfaqi në krye të listës së njoftimeve dhe lësho tingull"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Shfaq një vështrim të shpejtë në ekran dhe lësho tingull"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Ngjyrat normale"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Ngjyrat e natës"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Ngjyrat e personalizuara"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Ngjyra të panjohura"</string> + <string name="color_transform" msgid="6985460408079086090">"Modifikimi i ngjyrës"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Pllakëza Shfaq cilësimet e shpejta"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Zbato transformimin e personalizuar"</string> + <string name="color_apply" msgid="9212602012641034283">"Zbato"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Konfirmo cilësimet"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Disa cilësime ngjyrash mund ta bëjnë këtë pajisje të papërdorshme. Kliko OK për të konfirmuar këto cilësime ngjyrash, përndryshe këto cilësime do të rivendosen pas 10 sekondash."</string> </resources> diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml index f429e15d0bb8..6470fcc07265 100644 --- a/packages/SystemUI/res/values-sr/strings.xml +++ b/packages/SystemUI/res/values-sr/strings.xml @@ -461,4 +461,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Ова обавештења Ñе приказују без звука"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Приказују Ñе у врху лиÑте обавештења и емитује Ñе звук"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Ðакратко Ñе приказују на екрану и емитује Ñе звук"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Ðормалне боје"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Ðоћне боје"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Прилагођене боје"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Ðепознате боје"</string> + <string name="color_transform" msgid="6985460408079086090">"Измена боја"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Прикажи плочицу Брза подешавања"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Омогући прилагођену транÑформацију"</string> + <string name="color_apply" msgid="9212602012641034283">"Примени"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Потврдите подешавања"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Ðека подешавања боја могу да учине уређај неупотребљивим. Кликните на Потврди да биÑте потврдили ова подешавања боја, пошто ће Ñе у Ñупротном ова подешавања реÑетовати након 10 Ñекунди."</string> </resources> diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml index 3420f09927a7..5f2b397c772d 100644 --- a/packages/SystemUI/res/values-sv/strings.xml +++ b/packages/SystemUI/res/values-sv/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Visa aviseringarna utan ljud"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Visa högst upp pÃ¥ listan, med ljud"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Visa pÃ¥ skärmen, med ljud"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Normala färger"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Nattfärger"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Anpassade färger"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Okända färger"</string> + <string name="color_transform" msgid="6985460408079086090">"Färgändring"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Visa rutan Snabbinställningar"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Aktivera anpassad omvandling"</string> + <string name="color_apply" msgid="9212602012641034283">"Verkställ"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Bekräfta inställningarna"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Vissa färginställningar kan göra den här enheten oanvändbar. Klicka pÃ¥ OK om du vill bekräfta färginställningarna, annars Ã¥terställs inställningarna efter 10 sekunder."</string> </resources> diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml index 4bc5ba971ef2..8f962dab4f7b 100644 --- a/packages/SystemUI/res/values-sw/strings.xml +++ b/packages/SystemUI/res/values-sw/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Onyesha arifa hizi bila sauti"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Onyesha katika sehemu ya juu ya orodha ya arifa na itoe sauti"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Weka onyesho la kuchungulia kwenye skrini na itoe sauti"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Rangi za kawaida"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Rangi za usiku"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Rangi maalum"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Rangi zisizojulikana"</string> + <string name="color_transform" msgid="6985460408079086090">"Ubadilishaji wa rangi"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Onyesha kigae cha Mipangilio ya Haraka"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Washa ubadilishaji maalum"</string> + <string name="color_apply" msgid="9212602012641034283">"Tumia"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Thibitisha mipangilio"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Baadhi ya mipangilio ya rangi inaweza kufanya kifaa hiki kisitumike. Bofya Sawa ili uthibitishe mipangilio hii ya rangi, vinginevyo, mipangilio hii itajiweka upya baada ya sekunde 10."</string> </resources> diff --git a/packages/SystemUI/res/values-ta-rIN/strings.xml b/packages/SystemUI/res/values-ta-rIN/strings.xml index effcb9dd6115..a625c6fe8239 100644 --- a/packages/SystemUI/res/values-ta-rIN/strings.xml +++ b/packages/SystemUI/res/values-ta-rIN/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"ஒலியினà¯à®±à®¿ இநà¯à®¤ அறிவிபà¯à®ªà¯à®•ளைக௠காடà¯à®Ÿà¯"</string> <string name="notification_importance_high" msgid="3222680136612408223">"அறிவிபà¯à®ªà¯à®•ள௠படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ மேல௠பகà¯à®¤à®¿à®¯à®¿à®²à¯ ஒலியà¯à®Ÿà®©à¯ காடà¯à®Ÿà¯"</string> <string name="notification_importance_max" msgid="5236987171904756134">"ஒலியà¯à®Ÿà®©à¯ திரையில௠காடà¯à®Ÿà¯"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"இயலà¯à®ªà®¾à®© வணà¯à®£à®™à¯à®•ளà¯"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"இரவà¯à®¨à¯‡à®° வணà¯à®£à®™à¯à®•ளà¯"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"தனிபà¯à®ªà®¯à®©à¯ வணà¯à®£à®™à¯à®•ளà¯"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"அறியபà¯à®ªà®Ÿà®¾à®¤ வணà¯à®£à®™à¯à®•ளà¯"</string> + <string name="color_transform" msgid="6985460408079086090">"வணà¯à®£ மாறà¯à®±à®®à¯"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"விரைவ௠அமைபà¯à®ªà¯à®•ள௠டைலைக௠காடà¯à®Ÿà¯"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"தனிபà¯à®ªà®¯à®©à¯ வணà¯à®£ மாறà¯à®±à®¤à¯à®¤à¯ˆ இயகà¯à®•à¯"</string> + <string name="color_apply" msgid="9212602012641034283">"பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯"</string> + <string name="color_revert_title" msgid="4746666545480534663">"அமைபà¯à®ªà¯à®•ளை உறà¯à®¤à®¿à®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯"</string> + <string name="color_revert_message" msgid="9116001069397996691">"சில வணà¯à®£ அமைபà¯à®ªà¯à®•ள௠இநà¯à®¤à®šà¯ சாதனதà¯à®¤à¯ˆà®ªà¯ பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤ à®®à¯à®Ÿà®¿à®¯à®¾à®¤à®ªà®Ÿà®¿ செயà¯à®¯à®²à®¾à®®à¯. இநà¯à®¤ வணà¯à®£ அமைபà¯à®ªà¯à®•ளை உறà¯à®¤à®¿à®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤, சரி எனà¯à®ªà®¤à¯ˆà®•௠கிளிக௠செயà¯à®¯à®µà¯à®®à¯, இலà¯à®²à¯ˆà®¯à¯†à®©à®¿à®²à¯ இநà¯à®¤ அமைபà¯à®ªà¯à®•ள௠10 வினாடிகளà¯à®•à¯à®•à¯à®ªà¯ பின௠மீடà¯à®Ÿà®®à¯ˆà®•à¯à®•பà¯à®ªà®Ÿà¯à®®à¯."</string> </resources> diff --git a/packages/SystemUI/res/values-te-rIN/strings.xml b/packages/SystemUI/res/values-te-rIN/strings.xml index fc7cabe5dda1..9d1403f57473 100644 --- a/packages/SystemUI/res/values-te-rIN/strings.xml +++ b/packages/SystemUI/res/values-te-rIN/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"à°ˆ నోటిఫికేషనà±â€Œà°²à°¨à± à°¶à°¬à±à°¦à°‚ లేకà±à°‚à°¡à°¾ చూపà±à°¤à±à°‚ది"</string> <string name="notification_importance_high" msgid="3222680136612408223">"నోటిఫికేషనà±â€Œà°² జాబితా à°Žà°—à±à°µ à°à°¾à°—ంలో à°¶à°¬à±à°¦à°‚తో చూపà±à°¤à±à°‚ది"</string> <string name="notification_importance_max" msgid="5236987171904756134">"à°¸à±à°•à±à°°à±€à°¨à±â€Œà°ªà±ˆ శీఘà±à°°à°‚à°—à°¾ à°¶à°¬à±à°¦à°‚తో చూపà±à°¤à±à°‚ది"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"సాధారణ à°°à°‚à°—à±à°²à±"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"రాతà±à°°à°¿ à°°à°‚à°—à±à°²à±"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"à°…à°¨à±à°•ూల à°°à°‚à°—à±à°²à±"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"తెలియని à°°à°‚à°—à±à°²à±"</string> + <string name="color_transform" msgid="6985460408079086090">"రంగౠసవరణ"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"శీఘà±à°° సెటà±à°Ÿà°¿à°‚à°—à±â€Œà°² టైలà±â€Œà°¨à± చూపండి"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"à°…à°¨à±à°•ూల పరివరà±à°¤à°¨à°¨à± à°ªà±à°°à°¾à°°à°‚à°à°¿à°‚à°šà°‚à°¡à°¿"</string> + <string name="color_apply" msgid="9212602012641034283">"వరà±à°¤à°¿à°‚పజేయి"</string> + <string name="color_revert_title" msgid="4746666545480534663">"సెటà±à°Ÿà°¿à°‚à°—à±â€Œà°²à°¨à± నిరà±à°§à°¾à°°à°¿à°‚à°šà°‚à°¡à°¿"</string> + <string name="color_revert_message" msgid="9116001069397996691">"కొనà±à°¨à°¿ రంగౠసెటà±à°Ÿà°¿à°‚à°—à±â€Œà°² వలన à°ˆ పరికరం ఉపయోగించలేని విధంగా అయిపోవచà±à°šà±. à°ˆ రంగౠసెటà±à°Ÿà°¿à°‚à°—à±â€Œà°²à°¨à± నిరà±à°§à°¾à°°à°¿à°‚చడానికి సరే à°•à±à°²à°¿à°•ౠచేయండి లేదంటే à°ˆ సెటà±à°Ÿà°¿à°‚à°—à±â€Œà°²à± 10 సెకనà±à°² తరà±à°µà°¾à°¤ రీసెటౠచేయబడతాయి."</string> </resources> diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml index 28e7d681bb84..38e028c55c1d 100644 --- a/packages/SystemUI/res/values-th/strings.xml +++ b/packages/SystemUI/res/values-th/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"à¹à¸ªà¸”งà¸à¸²à¸£à¹à¸ˆà¹‰à¸‡à¹€à¸•ืà¸à¸™à¹€à¸«à¸¥à¹ˆà¸²à¸™à¸µà¹‰à¹‚ดยไม่ส่งเสียง"</string> <string name="notification_importance_high" msgid="3222680136612408223">"à¹à¸ªà¸”งที่ด้านบนขà¸à¸‡à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸ˆà¹‰à¸‡à¹€à¸•ืà¸à¸™à¹à¸¥à¸°à¸ªà¹ˆà¸‡à¹€à¸ªà¸µà¸¢à¸‡"</string> <string name="notification_importance_max" msgid="5236987171904756134">"à¹à¸ªà¸”งบนหน้าจà¸à¹ƒà¸™à¸Šà¹ˆà¸§à¸‡à¹€à¸§à¸¥à¸²à¸ªà¸±à¹‰à¸™à¹† à¹à¸¥à¸°à¸ªà¹ˆà¸‡à¹€à¸ªà¸µà¸¢à¸‡"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"สีปà¸à¸•ิ"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"สียามค่ำคืน"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"สีที่à¸à¸³à¸«à¸™à¸”เà¸à¸‡"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"สีที่ไม่รู้จัà¸"</string> + <string name="color_transform" msgid="6985460408079086090">"à¸à¸²à¸£à¸›à¸£à¸±à¸šà¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¸ªà¸µ"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"à¹à¸ªà¸”งไทล์à¸à¸²à¸£à¸•ั้งค่าด่วน"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"เปิดใช้à¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¸—ี่à¸à¸³à¸«à¸™à¸”เà¸à¸‡"</string> + <string name="color_apply" msgid="9212602012641034283">"ใช้"</string> + <string name="color_revert_title" msgid="4746666545480534663">"ยืนยันà¸à¸²à¸£à¸•ั้งค่า"</string> + <string name="color_revert_message" msgid="9116001069397996691">"à¸à¸²à¸£à¸•ั้งค่าสีบางà¸à¸¢à¹ˆà¸²à¸‡à¸à¸²à¸ˆà¸—ำให้à¸à¸¸à¸›à¸à¸£à¸“์นี้ใช้งานไม่ได้ คลิà¸à¸•à¸à¸¥à¸‡à¹€à¸žà¸·à¹ˆà¸à¸¢à¸·à¸™à¸¢à¸±à¸™à¸à¸²à¸£à¸•ั้งค่าสีเหล่านี้ มิฉะนั้นระบบจะรีเซ็ตà¸à¸²à¸£à¸•ั้งค่าหลังจาภ10 วินาที"</string> </resources> diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml index 9602f300fd7c..5815041cd7c2 100644 --- a/packages/SystemUI/res/values-tl/strings.xml +++ b/packages/SystemUI/res/values-tl/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Tahimik na ipakita ang mga notification na ito"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Ipakita sa itaas ng listahan ng mga notification at mag-play ng tunog"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Ipasilip sa screen at mag-play ng tunog"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Mga karaniwang kulay"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Madidilim na kulay"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Mga custom na kulay"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Mga hindi kilalang kulay"</string> + <string name="color_transform" msgid="6985460408079086090">"Pagbago sa kulay"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Ipakita ang tile ng Mga Mabilisang Setting"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"I-enable ang custom na pagpalit"</string> + <string name="color_apply" msgid="9212602012641034283">"Ilapat"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Kumpirmahin ang mga setting"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Maaaring hindi magamit ang device na ito dahil sa ilang setting ng kulay. I-click ang OK upang kumpirmahin ang mga setting ng kulay na ito, kung hindi ay mare-reset ang mga setting na ito pagkatapos ng 10 segundo."</string> </resources> diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml index dbe450f4130f..6832808d7ffe 100644 --- a/packages/SystemUI/res/values-tr/strings.xml +++ b/packages/SystemUI/res/values-tr/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Bu bildirimleri sessizce göster"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Bildirim listesinin en üstünde göster ve ses çıkar"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Ekrana getir ve ses çıkar"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Normal renkler"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Gece renkleri"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Özel renkler"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Bilinmeyen renkler"</string> + <string name="color_transform" msgid="6985460408079086090">"Renk deÄŸiÅŸikliÄŸi"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Hızlı Ayarlar kutusunu göster"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Özel dönüşümü etkinleÅŸtir"</string> + <string name="color_apply" msgid="9212602012641034283">"Uygula"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Ayarları onaylayın"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Bazı renkler bu cihazı kullanılmaz yapabilir. Bu renkleri onaylamak için Tamam\'ı tıklayın. Tıklamazsanız bu ayarlar 10 saniye sonra sıfırlanacaktır."</string> </resources> diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml index 35d1e5868ae8..973602801af6 100644 --- a/packages/SystemUI/res/values-uk/strings.xml +++ b/packages/SystemUI/res/values-uk/strings.xml @@ -462,4 +462,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Показувати ці ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð±ÐµÐ· звукового Ñигналу"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Показувати ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²Ð³Ð¾Ñ€Ñ– ÑпиÑку зі звуковим Ñигналом"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Показувати ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð½Ð° екрані зі звуковим Ñигналом"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Стандартні кольори"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Ðічні кольори"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"КориÑтувацькі кольори"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Ðевідомі кольори"</string> + <string name="color_transform" msgid="6985460408079086090">"Ð—Ð¼Ñ–Ð½ÐµÐ½Ð½Ñ ÐºÐ¾Ð»ÑŒÐ¾Ñ€Ñ–Ð²"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Показати опцію швидких налаштувань"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Увімкнути кориÑтувацьке перетвореннÑ"</string> + <string name="color_apply" msgid="9212602012641034283">"ЗаÑтоÑувати"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Підтвердити налаштуваннÑ"</string> + <string name="color_revert_message" msgid="9116001069397996691">"ДеÑкі Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð»ÑŒÐ¾Ñ€Ñ–Ð² можуть зробити цей приÑтрій непридатним Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑтаннÑ. ÐатиÑніть OK, щоб підтвердити налаштуваннÑ, інакше Ñ—Ñ… буде Ñкинуто через 10 Ñекунд."</string> </resources> diff --git a/packages/SystemUI/res/values-ur-rPK/strings.xml b/packages/SystemUI/res/values-ur-rPK/strings.xml index 32908facd3ca..28484eb0efd3 100644 --- a/packages/SystemUI/res/values-ur-rPK/strings.xml +++ b/packages/SystemUI/res/values-ur-rPK/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"خاموشی سے ÛŒÛ Ø§Ø·Ù„Ø§Ø¹Ø§Øª دکھائیں"</string> <string name="notification_importance_high" msgid="3222680136612408223">"اطلاعات Ú©ÛŒ ÙÛØ±Ø³Øª پر سب سے اوپر دکھائیں اور آواز چلائیں"</string> <string name="notification_importance_max" msgid="5236987171904756134">"اسکرین پر دکھائیں اور آواز چلائیں"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"عام رنگ"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"رات Ú©Û’ رنگ"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"ØØ³Ø¨ ضرورت رنگ"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"نامعلوم رنگ"</string> + <string name="color_transform" msgid="6985460408079086090">"رنگوں Ú©ÛŒ تبدیلی"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Ùوری ترتیبات والی ٹائل دکھائیں"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"ØØ³Ø¨ ضرورت Ù¹Ø±Ø§Ù†Ø³ÙØ§Ø±Ù… ÙØ¹Ø§Ù„ کریں"</string> + <string name="color_apply" msgid="9212602012641034283">"لاگو کریں"</string> + <string name="color_revert_title" msgid="4746666545480534663">"ترتیبات Ú©ÛŒ توثیق کریں"</string> + <string name="color_revert_message" msgid="9116001069397996691">"رنگوں Ú©ÛŒ Ú©Ú†Ú¾ ترتیبات اس آلے Ú©Ùˆ ناقابل استعمال بنا سکتی Ûیں۔ رنگوں Ú©ÛŒ ان ترتیبات Ú©ÛŒ توثیق کرنے کیلئے ٹھیک ÛÛ’ پر Ú©Ù„Ú© کریں، بصورت دیگر 10 سیکنڈ بعد ÛŒÛ ØªØ±ØªÛŒØ¨Ø§Øª ری سیٹ ÛÙˆ جائیں گی۔"</string> </resources> diff --git a/packages/SystemUI/res/values-uz-rUZ/strings.xml b/packages/SystemUI/res/values-uz-rUZ/strings.xml index 885412fa340b..4bd9dbcdea2a 100644 --- a/packages/SystemUI/res/values-uz-rUZ/strings.xml +++ b/packages/SystemUI/res/values-uz-rUZ/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Bu bildirishnomalar ovozsiz ko‘rsatilsin"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Bildirishnomalar ro‘yxatining boshida ovoz bilan ko‘rsatilsin"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Barcha oynalar ustida signal ovozi bilan ko‘rsatilsin"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Odatiy ranglar"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Qoramtir ranglar"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Foydalanuvchi rangi"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Noma’lum ranglar"</string> + <string name="color_transform" msgid="6985460408079086090">"Rang sozlamalari"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Tezkor sozlamalar panelini ko‘rsatish"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Foydalanuvchi sozlamalarini yoqish"</string> + <string name="color_apply" msgid="9212602012641034283">"Qo‘llash"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Sozlamalarni tasdiqlang"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Ba’zi rang sozlamalari qurilmadan foydalanishni qiyinlashtirish mumkin. Tanlgan parametrlarni tasdiqlash uchun “OK†tugmasini bosing. Aks holda, ular 10 soniyadan so‘ng qayta tiklanadi."</string> </resources> diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml index 3e0f65322c28..c094d5b875d8 100644 --- a/packages/SystemUI/res/values-vi/strings.xml +++ b/packages/SystemUI/res/values-vi/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Hiển thị im lặng các thông báo nà y"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Hiển thị ở đầu danh sách thông báo và phát ra âm thanh"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Hiển thị trên mà n hình và phát ra âm thanh"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Mà u thông thưá»ng"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Mà u tối"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Mà u tùy chỉnh"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Mà u không xác định"</string> + <string name="color_transform" msgid="6985460408079086090">"Sá»a đổi mà u"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Hiển thị ô Cà i đặt nhanh"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Báºt chuyển đổi tùy chỉnh"</string> + <string name="color_apply" msgid="9212602012641034283">"Ãp dụng"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Xác nháºn cà i đặt"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Má»™t số cà i đặt mà u có thể khiến thiết bị nà y không sá» dụng được. Hãy nhấp và o OK để xác nháºn các cà i đặt mà u nà y, nếu không những cà i đặt nà y sẽ được đặt lại sau 10 giây."</string> </resources> diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml index 3eedd49a86eb..3af77c201031 100644 --- a/packages/SystemUI/res/values-zh-rCN/strings.xml +++ b/packages/SystemUI/res/values-zh-rCN/strings.xml @@ -413,7 +413,7 @@ <string name="system_ui_tuner" msgid="708224127392452018">"系统界é¢è°ƒè°å™¨"</string> <string name="show_battery_percentage" msgid="5444136600512968798">"åµŒå…¥å¼æ˜¾ç¤ºç”µæ± 电é‡ç™¾åˆ†æ¯” æ˜¾ç¤ºåµŒå…¥çš„ç”µæ± ç”µé‡ç™¾åˆ†æ¯”"</string> <string name="show_battery_percentage_summary" msgid="3215025775576786037">"æœªå……ç”µæ—¶åœ¨çŠ¶æ€æ å›¾æ ‡å†…æ˜¾ç¤ºç”µæ± ç”µé‡ç™¾åˆ†æ¯”"</string> - <string name="quick_settings" msgid="10042998191725428">"快速设置"</string> + <string name="quick_settings" msgid="10042998191725428">"å¿«æ·è®¾ç½®"</string> <string name="status_bar" msgid="4877645476959324760">"çŠ¶æ€æ "</string> <string name="overview" msgid="4018602013895926956">"概览"</string> <string name="demo_mode" msgid="2389163018533514619">"演示模å¼"</string> @@ -429,7 +429,7 @@ <string name="zen_alarm_warning" msgid="444533119582244293">"您在<xliff:g id="WHEN">%1$s</xliff:g>å°†ä¸ä¼šå¬åˆ°ä¸‹æ¬¡é—¹é’Ÿå“铃"</string> <string name="alarm_template" msgid="3980063409350522735">"<xliff:g id="WHEN">%1$s</xliff:g>"</string> <string name="alarm_template_far" msgid="4242179982586714810">"<xliff:g id="WHEN">%1$s</xliff:g>"</string> - <string name="accessibility_quick_settings_detail" msgid="2579369091672902101">"快速设置,<xliff:g id="TITLE">%s</xliff:g>。"</string> + <string name="accessibility_quick_settings_detail" msgid="2579369091672902101">"å¿«æ·è®¾ç½®ï¼Œ<xliff:g id="TITLE">%s</xliff:g>。"</string> <string name="accessibility_status_bar_hotspot" msgid="4099381329956402865">"çƒç‚¹"</string> <string name="accessibility_managed_profile" msgid="6613641363112584120">"工作资料"</string> <string name="tuner_warning_title" msgid="7094689930793031682">"æ˜¯å¦æœ‰è¶£å®Œå…¨å–决于个人感觉"</string> @@ -442,34 +442,32 @@ <string name="activity_not_found" msgid="348423244327799974">"æ‚¨çš„è®¾å¤‡ä¸æœªå®‰è£…æ¤åº”用"</string> <string name="clock_seconds" msgid="7689554147579179507">"显示时钟的秒数"</string> <string name="clock_seconds_desc" msgid="6282693067130470675">"åœ¨çŠ¶æ€æ 䏿˜¾ç¤ºæ—¶é’Ÿçš„秒数。这å¯èƒ½ä¼šå½±å“ç”µæ± çš„ç»èˆªæ—¶é—´ã€‚"</string> - <string name="qs_rearrange" msgid="8060918697551068765">"釿–°æŽ’列快速设置"</string> - <string name="show_brightness" msgid="6613930842805942519">"åœ¨å¿«é€Ÿè®¾ç½®ä¸æ˜¾ç¤ºäº®åº¦æ "</string> + <string name="qs_rearrange" msgid="8060918697551068765">"釿–°æŽ’列快æ·è®¾ç½®"</string> + <string name="show_brightness" msgid="6613930842805942519">"在快æ·è®¾ç½®ä¸æ˜¾ç¤ºäº®åº¦æ "</string> <string name="experimental" msgid="6198182315536726162">"实验性"</string> <string name="enable_bluetooth_title" msgid="5027037706500635269">"è¦å¼€å¯è“牙å—?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"è¦å°†æ‚¨çš„键盘连接到平æ¿ç”µè„‘,您必须先开å¯è“牙。"</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"å¼€å¯"</string> - <!-- no translation found for apply_to_topic (3641403489318659666) --> - <skip /> - <!-- no translation found for apply_to_app (363016783939815960) --> - <skip /> - <!-- no translation found for blocked_importance (5198578988978234161) --> - <skip /> - <!-- no translation found for low_importance (4109929986107147930) --> - <skip /> - <!-- no translation found for default_importance (8192107689995742653) --> - <skip /> - <!-- no translation found for high_importance (1527066195614050263) --> - <skip /> - <!-- no translation found for max_importance (5089005872719563894) --> - <skip /> - <!-- no translation found for notification_importance_blocked (2397192642657872872) --> - <skip /> - <!-- no translation found for notification_importance_low (4383563267370859725) --> - <skip /> - <!-- no translation found for notification_importance_default (4926529615920610817) --> - <skip /> - <!-- no translation found for notification_importance_high (3222680136612408223) --> - <skip /> - <!-- no translation found for notification_importance_max (5236987171904756134) --> - <skip /> + <string name="apply_to_topic" msgid="3641403489318659666">"应用于<xliff:g id="TOPIC_NAME">%1$s</xliff:g>通知"</string> + <string name="apply_to_app" msgid="363016783939815960">"应用于æ¥è‡ªæ¤åº”用的所有通知"</string> + <string name="blocked_importance" msgid="5198578988978234161">"å±è”½"</string> + <string name="low_importance" msgid="4109929986107147930">"é‡è¦æ€§ï¼šä½Ž"</string> + <string name="default_importance" msgid="8192107689995742653">"é‡è¦æ€§ï¼šä¸€èˆ¬"</string> + <string name="high_importance" msgid="1527066195614050263">"é‡è¦æ€§ï¼šé«˜"</string> + <string name="max_importance" msgid="5089005872719563894">"é‡è¦æ€§ï¼šç´§æ€¥"</string> + <string name="notification_importance_blocked" msgid="2397192642657872872">"䏀律䏿˜¾ç¤ºè¿™äº›é€šçŸ¥"</string> + <string name="notification_importance_low" msgid="4383563267370859725">"在通知列表底部显示,但ä¸å‘出æç¤ºéŸ³"</string> + <string name="notification_importance_default" msgid="4926529615920610817">"显示这些通知,但ä¸å‘出æç¤ºéŸ³"</string> + <string name="notification_importance_high" msgid="3222680136612408223">"在通知列表顶部显示,并å‘出æç¤ºéŸ³"</string> + <string name="notification_importance_max" msgid="5236987171904756134">"在å±å¹•上æŒç»æ˜¾ç¤ºï¼Œå¹¶å‘出æç¤ºéŸ³"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"常规颜色"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"夜间颜色"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"自定义颜色"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"未知颜色"</string> + <string name="color_transform" msgid="6985460408079086090">"颜色修改"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"显示“快æ·è®¾ç½®â€å›¾å—"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"å¯ç”¨è‡ªå®šä¹‰è½¬æ¢"</string> + <string name="color_apply" msgid="9212602012641034283">"应用"</string> + <string name="color_revert_title" msgid="4746666545480534663">"确认设置"</string> + <string name="color_revert_message" msgid="9116001069397996691">"部分颜色设置å¯èƒ½ä¼šå¯¼è‡´æ¤è®¾å¤‡æ— 法使用。请点击“确定â€ç¡®è®¤è¿™äº›é¢œè‰²è®¾ç½®ï¼Œå¦åˆ™ï¼Œç³»ç»Ÿå°†åœ¨ 10 ç§’åŽé‡ç½®è¿™äº›è®¾ç½®ã€‚"</string> </resources> diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml index fc82a709c7dd..8591785632a2 100644 --- a/packages/SystemUI/res/values-zh-rHK/strings.xml +++ b/packages/SystemUI/res/values-zh-rHK/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"顯示這些通知但ä¸ç™¼å‡ºéŸ³æ•ˆ"</string> <string name="notification_importance_high" msgid="3222680136612408223">"é¡¯ç¤ºåœ¨é€šçŸ¥æ¸…å–®é ‚éƒ¨ä¸¦ç™¼å‡ºéŸ³æ•ˆ"</string> <string name="notification_importance_max" msgid="5236987171904756134">"䏿™‚於螢幕出ç¾ä¸¦ç™¼å‡ºéŸ³æ•ˆ"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"一般色系"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"深沉色系"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"自訂é¡è‰²"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"䏿˜Žè‰²ç³»"</string> + <string name="color_transform" msgid="6985460408079086090">"é¡è‰²ä¿®æ”¹"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"顯示「快速è¨å®šã€åœ–塊"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"啟用自訂變色功能"</string> + <string name="color_apply" msgid="9212602012641034283">"套用"</string> + <string name="color_revert_title" msgid="4746666545480534663">"確èªè¨å®š"</string> + <string name="color_revert_message" msgid="9116001069397996691">"部分é¡è‰²è¨å®šæœƒä»¤æ¤è£ç½®ç„¡æ³•使用。請按一下 [確定] åŠ ä»¥ç¢ºèªï¼Œå¦å‰‡é€™äº›é¡è‰²è¨å®šå°‡æ–¼ 10 秒後é‡è¨ã€‚"</string> </resources> diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml index 66ffa0f9d9d1..34fa7aa5f3bc 100644 --- a/packages/SystemUI/res/values-zh-rTW/strings.xml +++ b/packages/SystemUI/res/values-zh-rTW/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"顯示這些通知且ä¸ç™¼å‡ºä»»ä½•音效"</string> <string name="notification_importance_high" msgid="3222680136612408223">"é¡¯ç¤ºåœ¨é€šçŸ¥æ¸…å–®é ‚ç«¯ä¸¦ç™¼å‡ºéŸ³æ•ˆ"</string> <string name="notification_importance_max" msgid="5236987171904756134">"çŸæš«é¡¯ç¤ºåœ¨èž¢å¹•上並發出音效"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"一般é¡è‰²"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"夜間é¡è‰²"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"自訂é¡è‰²"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"䏿˜Žé¡è‰²"</string> + <string name="color_transform" msgid="6985460408079086090">"é¡è‰²ä¿®æ”¹"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"顯示快速è¨å®šåœ–塊"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"啟用自訂é¡è‰²è®Šæ›"</string> + <string name="color_apply" msgid="9212602012641034283">"套用"</string> + <string name="color_revert_title" msgid="4746666545480534663">"確èªè¨å®š"</string> + <string name="color_revert_message" msgid="9116001069397996691">"部分é¡è‰²è¨å®šå¯èƒ½æœƒé€ æˆé€™éƒ¨è£ç½®ç„¡æ³•使用。請按一下 [確定] ä¾†ç¢ºèªæ‚¨è¦ä½¿ç”¨é€™é¡žé¡è‰²è¨å®šï¼Œå¦å‰‡ç³»çµ±å°‡åœ¨ 10 秒後é‡è¨é€™äº›è¨å®šã€‚"</string> </resources> diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml index 279f76502815..ebd857cc9a8e 100644 --- a/packages/SystemUI/res/values-zu/strings.xml +++ b/packages/SystemUI/res/values-zu/strings.xml @@ -460,4 +460,14 @@ <string name="notification_importance_default" msgid="4926529615920610817">"Bonisa ngokuthulile lezi zaziso"</string> <string name="notification_importance_high" msgid="3222680136612408223">"Bonisa ngaphezulu kohlu lwezaziso uphinde wenze umsindo"</string> <string name="notification_importance_max" msgid="5236987171904756134">"Bheka kusikrini uphinde wenze umsindo"</string> + <string name="color_matrix_none" msgid="2121957926040543148">"Imibala ejwayelekile"</string> + <string name="color_matrix_night" msgid="5943817622105307072">"Imibala yasebusuku"</string> + <string name="color_matrix_custom" msgid="3655576492322298713">"Imibala yangokwezifiso"</string> + <string name="color_matrix_unknown" msgid="2709202104256265107">"Imibala engaziwa"</string> + <string name="color_transform" msgid="6985460408079086090">"Ukulungiswa kombala"</string> + <string name="color_matrix_show_qs" msgid="1763244354399276679">"Bonisa ithayili lezilungiselelo ezisheshayo"</string> + <string name="color_enable_custom" msgid="6729001308217347501">"Nika amandla ukuguqulwa kwangokwezifiso"</string> + <string name="color_apply" msgid="9212602012641034283">"Sebenzisa"</string> + <string name="color_revert_title" msgid="4746666545480534663">"Qinisekisa izilungiselelo"</string> + <string name="color_revert_message" msgid="9116001069397996691">"Ezinye izilungiselelo zombala zingenza le divayisi ingasebenziseki. Chofoza ku-KULUNGILE ukuze uqinisekise lezi zilungiselelo zombala, uma kungenjalo lezi zilungiselelo zizosethwa kabusha ngemuva kwamasekhondi angu-10."</string> </resources> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index 24cc6bf1589a..035f56485287 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -583,9 +583,9 @@ <dimen name="qs_header_neg_padding">-8dp</dimen> <!-- How high we lift the divider when touching --> - <dimen name="docked_stack_divider_lift_elevation">6dp</dimen> + <dimen name="docked_stack_divider_lift_elevation">4dp</dimen> - <dimen name="docked_divider_handle_width">24dp</dimen> + <dimen name="docked_divider_handle_width">16dp</dimen> <dimen name="docked_divider_handle_height">2dp</dimen> </resources> diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml index a9176e0c393c..3b0ab791f03c 100644 --- a/packages/SystemUI/res/values/styles.xml +++ b/packages/SystemUI/res/values/styles.xml @@ -299,13 +299,13 @@ <style name="DockedDividerBackground"> <item name="android:layout_width">match_parent</item> - <item name="android:layout_height">12dp</item> + <item name="android:layout_height">10dp</item> <item name="android:layout_gravity">center_vertical</item> </style> <style name="DockedDividerHandle"> <item name="android:layout_gravity">center_horizontal</item> - <item name="android:layout_width">64dp</item> + <item name="android:layout_width">96dp</item> <item name="android:layout_height">48dp</item> </style> diff --git a/packages/SystemUI/src/com/android/systemui/keyboard/KeyboardUI.java b/packages/SystemUI/src/com/android/systemui/keyboard/KeyboardUI.java index d931856a822b..481b91805108 100644 --- a/packages/SystemUI/src/com/android/systemui/keyboard/KeyboardUI.java +++ b/packages/SystemUI/src/com/android/systemui/keyboard/KeyboardUI.java @@ -70,17 +70,19 @@ public class KeyboardUI extends SystemUI implements InputManager.OnTabletModeCha // time for us to receive the signal that it's starting. private static final long BLUETOOTH_START_DELAY_MILLIS = 10 * 1000; + // We will be scanning up to 30 seconds, after which we'll stop. + private static final long BLUETOOTH_SCAN_TIMEOUT_MILLIS = 30 * 1000; + private static final int STATE_NOT_ENABLED = -1; private static final int STATE_UNKNOWN = 0; private static final int STATE_WAITING_FOR_BOOT_COMPLETED = 1; private static final int STATE_WAITING_FOR_TABLET_MODE_EXIT = 2; private static final int STATE_WAITING_FOR_DEVICE_DISCOVERY = 3; private static final int STATE_WAITING_FOR_BLUETOOTH = 4; - private static final int STATE_WAITING_FOR_STATE_PAIRED = 5; - private static final int STATE_PAIRING = 6; - private static final int STATE_PAIRED = 7; - private static final int STATE_USER_CANCELLED = 8; - private static final int STATE_DEVICE_NOT_FOUND = 9; + private static final int STATE_PAIRING = 5; + private static final int STATE_PAIRED = 6; + private static final int STATE_USER_CANCELLED = 7; + private static final int STATE_DEVICE_NOT_FOUND = 8; private static final int MSG_INIT = 0; private static final int MSG_ON_BOOT_COMPLETED = 1; @@ -92,6 +94,7 @@ public class KeyboardUI extends SystemUI implements InputManager.OnTabletModeCha private static final int MSG_ON_BLE_SCAN_FAILED = 7; private static final int MSG_SHOW_BLUETOOTH_DIALOG = 8; private static final int MSG_DISMISS_BLUETOOTH_DIALOG = 9; + private static final int MSG_BLE_ABORT_SCAN = 10; private volatile KeyboardHandler mHandler; private volatile KeyboardUIHandler mUIHandler; @@ -107,6 +110,7 @@ public class KeyboardUI extends SystemUI implements InputManager.OnTabletModeCha private long mBootCompletedTime; private int mInTabletMode = InputManager.SWITCH_STATE_UNKNOWN; + private int mScanAttempt = 0; private ScanCallback mScanCallback; private BluetoothDialog mDialog; @@ -328,6 +332,9 @@ public class KeyboardUI extends SystemUI implements InputManager.OnTabletModeCha .build(); mScanCallback = new KeyboardScanCallback(); scanner.startScan(Arrays.asList(filter), settings, mScanCallback); + + Message abortMsg = mHandler.obtainMessage(MSG_BLE_ABORT_SCAN, ++mScanAttempt, 0); + mHandler.sendMessageDelayed(abortMsg, BLUETOOTH_SCAN_TIMEOUT_MILLIS); } private void stopScanning() { @@ -338,6 +345,19 @@ public class KeyboardUI extends SystemUI implements InputManager.OnTabletModeCha } // Should only be called on the handler thread + private void bleAbortScanInternal(int scanAttempt) { + if (mState == STATE_WAITING_FOR_DEVICE_DISCOVERY && scanAttempt == mScanAttempt) { + if (DEBUG) { + Slog.d(TAG, "Bluetooth scan timed out"); + } + stopScanning(); + // FIXME: should we also try shutting off bluetooth if we enabled + // it in the first place? + mState = STATE_DEVICE_NOT_FOUND; + } + } + + // Should only be called on the handler thread private void onDeviceAddedInternal(CachedBluetoothDevice d) { if (mState == STATE_WAITING_FOR_DEVICE_DISCOVERY && d.getName().equals(mKeyboardName)) { stopScanning(); @@ -425,6 +445,12 @@ public class KeyboardUI extends SystemUI implements InputManager.OnTabletModeCha } else { mState = STATE_USER_CANCELLED; } + break; + } + case MSG_BLE_ABORT_SCAN: { + int scanAttempt = msg.arg1; + bleAbortScanInternal(scanAttempt); + break; } case MSG_ON_BLUETOOTH_STATE_CHANGED: { int bluetoothState = msg.arg1; @@ -555,8 +581,6 @@ public class KeyboardUI extends SystemUI implements InputManager.OnTabletModeCha return "STATE_WAITING_FOR_DEVICE_DISCOVERY"; case STATE_WAITING_FOR_BLUETOOTH: return "STATE_WAITING_FOR_BLUETOOTH"; - case STATE_WAITING_FOR_STATE_PAIRED: - return "STATE_WAITING_FOR_STATE_PAIRED"; case STATE_PAIRING: return "STATE_PAIRING"; case STATE_PAIRED: diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerSnapAlgorithm.java b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerSnapAlgorithm.java index 69e90cc724f3..5af172c7e59a 100644 --- a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerSnapAlgorithm.java +++ b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerSnapAlgorithm.java @@ -98,10 +98,10 @@ public class DividerSnapAlgorithm { // TODO: Better calculation targets.add(new SnapTarget(-mDividerSize, SnapTarget.FLAG_DISMISS_START)); - targets.add(new SnapTarget((int) (0.38f * dividerMax) - mDividerSize / 2, + targets.add(new SnapTarget((int) (0.3415f * dividerMax) - mDividerSize / 2, SnapTarget.FLAG_NONE)); targets.add(new SnapTarget(dividerMax / 2 - mDividerSize / 2, SnapTarget.FLAG_NONE)); - targets.add(new SnapTarget((int) (0.62f * dividerMax) - mDividerSize / 2, + targets.add(new SnapTarget((int) (0.6585f * dividerMax) - mDividerSize / 2, SnapTarget.FLAG_NONE)); targets.add(new SnapTarget(dividerMax, SnapTarget.FLAG_DISMISS_END)); return targets; diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java index c01f1703dab6..13642ebddb17 100644 --- a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java +++ b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java @@ -240,9 +240,9 @@ public class DividerView extends FrameLayout implements OnTouchListener, private void liftBackground() { if (isHorizontalDivision()) { - mBackground.animate().scaleY(1.5f); + mBackground.animate().scaleY(1.4f); } else { - mBackground.animate().scaleX(1.5f); + mBackground.animate().scaleX(1.4f); } mBackground.animate() .setInterpolator(mTouchResponseInterpolator) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java index 3537d3e04504..1d7651c462e8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java @@ -1990,7 +1990,8 @@ public abstract class BaseStatusBar extends SystemUI implements } catch (RuntimeException e) { // It failed to apply cleanly. - Log.w(TAG, "Couldn't reapply views for package " + n.contentView.getPackage(), e); + Log.w(TAG, "Couldn't reapply views for package " + + notification.getPackageName(), e); } } if (!updateSuccessful) { diff --git a/services/core/java/com/android/server/MountService.java b/services/core/java/com/android/server/MountService.java index 1d6be3be40b9..6cccf381401c 100644 --- a/services/core/java/com/android/server/MountService.java +++ b/services/core/java/com/android/server/MountService.java @@ -2813,17 +2813,32 @@ class MountService extends IMountService.Stub } @Override - public ParcelFileDescriptor mountAppFuse(String name) throws RemoteException { + public ParcelFileDescriptor mountAppFuse(final String name) throws RemoteException { try { + final int uid = Binder.getCallingUid(); final NativeDaemonEvent event = - mConnector.execute("appfuse", "mount", Binder.getCallingUid(), name); + mConnector.execute("appfuse", "mount", uid, name); if (event.getFileDescriptors() == null) { - Log.e(TAG, "AppFuse FD from vold is null."); - return null; - } - return new ParcelFileDescriptor(event.getFileDescriptors()[0]); + throw new RemoteException("AppFuse FD from vold is null."); + } + return ParcelFileDescriptor.fromFd( + event.getFileDescriptors()[0], + mHandler, + new ParcelFileDescriptor.OnCloseListener() { + @Override + public void onClose(IOException e) { + try { + final NativeDaemonEvent event = mConnector.execute( + "appfuse", "unmount", uid, name); + } catch (NativeDaemonConnectorException unmountException) { + Log.e(TAG, "Failed to unmount appfuse."); + } + } + }); } catch (NativeDaemonConnectorException e) { throw e.rethrowAsParcelableException(); + } catch (IOException e) { + throw new RemoteException(e.getMessage()); } } diff --git a/services/core/java/com/android/server/accounts/AccountManagerService.java b/services/core/java/com/android/server/accounts/AccountManagerService.java index ca5212ab2a5a..aa9944278134 100644 --- a/services/core/java/com/android/server/accounts/AccountManagerService.java +++ b/services/core/java/com/android/server/accounts/AccountManagerService.java @@ -37,7 +37,9 @@ import android.app.AppOpsManager; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; +import android.app.admin.DeviceAdminInfo; import android.app.admin.DevicePolicyManager; +import android.app.admin.DevicePolicyManagerInternal; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.ContentValues; @@ -82,6 +84,7 @@ import com.android.internal.R; import com.android.internal.util.ArrayUtils; import com.android.internal.util.IndentingPrintWriter; import com.android.server.FgThread; +import com.android.server.LocalServices; import com.google.android.collect.Lists; import com.google.android.collect.Sets; @@ -830,7 +833,8 @@ public class AccountManagerService throw new SecurityException(msg); } - if (!canUserModifyAccounts(userId) || !canUserModifyAccountsForType(userId, account.type)) { + if (!canUserModifyAccounts(userId, callingUid) || + !canUserModifyAccountsForType(userId, account.type, callingUid)) { return false; } @@ -1259,7 +1263,7 @@ public class AccountManagerService account.type); throw new SecurityException(msg); } - if (!canUserModifyAccounts(userId)) { + if (!canUserModifyAccounts(userId, callingUid)) { try { response.onError(AccountManager.ERROR_CODE_USER_RESTRICTED, "User cannot modify accounts"); @@ -1267,7 +1271,7 @@ public class AccountManagerService } return; } - if (!canUserModifyAccountsForType(userId, account.type)) { + if (!canUserModifyAccountsForType(userId, account.type, callingUid)) { try { response.onError(AccountManager.ERROR_CODE_MANAGEMENT_DISABLED_FOR_ACCOUNT_TYPE, "User cannot modify accounts of this type (policy)."); @@ -1321,9 +1325,6 @@ public class AccountManagerService throw new SecurityException(msg); } UserAccounts accounts = getUserAccountsForCaller(); - if (!canUserModifyAccounts(userId) || !canUserModifyAccountsForType(userId, account.type)) { - return false; - } logRecord(accounts, DebugDbHelper.ACTION_CALLED_ACCOUNT_REMOVE, TABLE_ACCOUNTS); long identityToken = clearCallingIdentity(); try { @@ -2146,8 +2147,9 @@ public class AccountManagerService if (accountType == null) throw new IllegalArgumentException("accountType is null"); // Is user disallowed from modifying accounts? - int userId = Binder.getCallingUserHandle().getIdentifier(); - if (!canUserModifyAccounts(userId)) { + final int uid = Binder.getCallingUid(); + final int userId = UserHandle.getUserId(uid); + if (!canUserModifyAccounts(userId, uid)) { try { response.onError(AccountManager.ERROR_CODE_USER_RESTRICTED, "User is not allowed to add an account!"); @@ -2156,7 +2158,7 @@ public class AccountManagerService showCantAddAccount(AccountManager.ERROR_CODE_USER_RESTRICTED, userId); return; } - if (!canUserModifyAccountsForType(userId, accountType)) { + if (!canUserModifyAccountsForType(userId, accountType, uid)) { try { response.onError(AccountManager.ERROR_CODE_MANAGEMENT_DISABLED_FOR_ACCOUNT_TYPE, "User cannot modify accounts of this type (policy)."); @@ -2168,7 +2170,6 @@ public class AccountManagerService } final int pid = Binder.getCallingPid(); - final int uid = Binder.getCallingUid(); final Bundle options = (optionsIn == null) ? new Bundle() : optionsIn; options.putInt(AccountManager.KEY_CALLER_UID, uid); options.putInt(AccountManager.KEY_CALLER_PID, pid); @@ -2230,7 +2231,7 @@ public class AccountManagerService } // Is user disallowed from modifying accounts? - if (!canUserModifyAccounts(userId)) { + if (!canUserModifyAccounts(userId, callingUid)) { try { response.onError(AccountManager.ERROR_CODE_USER_RESTRICTED, "User is not allowed to add an account!"); @@ -2239,7 +2240,7 @@ public class AccountManagerService showCantAddAccount(AccountManager.ERROR_CODE_USER_RESTRICTED, userId); return; } - if (!canUserModifyAccountsForType(userId, accountType)) { + if (!canUserModifyAccountsForType(userId, accountType, callingUid)) { try { response.onError(AccountManager.ERROR_CODE_MANAGEMENT_DISABLED_FOR_ACCOUNT_TYPE, "User cannot modify accounts of this type (policy)."); @@ -2310,8 +2311,9 @@ public class AccountManagerService throw new IllegalArgumentException("accountType is null"); } - int userId = Binder.getCallingUserHandle().getIdentifier(); - if (!canUserModifyAccounts(userId)) { + final int uid = Binder.getCallingUid(); + final int userId = UserHandle.getUserId(uid); + if (!canUserModifyAccounts(userId, uid)) { try { response.onError(AccountManager.ERROR_CODE_USER_RESTRICTED, "User is not allowed to add an account!"); @@ -2320,7 +2322,7 @@ public class AccountManagerService showCantAddAccount(AccountManager.ERROR_CODE_USER_RESTRICTED, userId); return; } - if (!canUserModifyAccountsForType(userId, accountType)) { + if (!canUserModifyAccountsForType(userId, accountType, uid)) { try { response.onError(AccountManager.ERROR_CODE_MANAGEMENT_DISABLED_FOR_ACCOUNT_TYPE, "User cannot modify accounts of this type (policy)."); @@ -2332,7 +2334,6 @@ public class AccountManagerService } final int pid = Binder.getCallingPid(); - final int uid = Binder.getCallingUid(); final Bundle options = (optionsIn == null) ? new Bundle() : optionsIn; options.putInt(AccountManager.KEY_CALLER_UID, uid); options.putInt(AccountManager.KEY_CALLER_PID, pid); @@ -2497,8 +2498,9 @@ public class AccountManagerService throw new IllegalArgumentException("sessionBundle is empty"); } - int userId = Binder.getCallingUserHandle().getIdentifier(); - if (!canUserModifyAccounts(userId)) { + final int uid = Binder.getCallingUid(); + final int userId = UserHandle.getUserId(uid); + if (!canUserModifyAccounts(userId, uid)) { sendErrorResponse(response, AccountManager.ERROR_CODE_USER_RESTRICTED, "User is not allowed to add an account!"); @@ -2507,7 +2509,6 @@ public class AccountManagerService } final int pid = Binder.getCallingPid(); - final int uid = Binder.getCallingUid(); final Bundle decryptedBundle; final String accountType; // First decrypt session bundle to get account type for checking permission. @@ -2554,7 +2555,7 @@ public class AccountManagerService return; } - if (!canUserModifyAccountsForType(userId, accountType)) { + if (!canUserModifyAccountsForType(userId, accountType, uid)) { sendErrorResponse( response, AccountManager.ERROR_CODE_MANAGEMENT_DISABLED_FOR_ACCOUNT_TYPE, @@ -4319,7 +4320,11 @@ public class AccountManagerService } } - private boolean canUserModifyAccounts(int userId) { + private boolean canUserModifyAccounts(int userId, int callingUid) { + // the managing app can always modify accounts + if (isProfileOwner(callingUid)) { + return true; + } if (getUserManager().getUserRestrictions(new UserHandle(userId)) .getBoolean(UserManager.DISALLOW_MODIFY_ACCOUNTS)) { return false; @@ -4327,7 +4332,11 @@ public class AccountManagerService return true; } - private boolean canUserModifyAccountsForType(int userId, String accountType) { + private boolean canUserModifyAccountsForType(int userId, String accountType, int callingUid) { + // the managing app can always modify accounts + if (isProfileOwner(callingUid)) { + return true; + } DevicePolicyManager dpm = (DevicePolicyManager) mContext .getSystemService(Context.DEVICE_POLICY_SERVICE); String[] typesArray = dpm.getAccountTypesWithManagementDisabledAsUser(userId); @@ -4342,6 +4351,13 @@ public class AccountManagerService return true; } + private boolean isProfileOwner(int uid) { + final DevicePolicyManagerInternal dpmi = + LocalServices.getService(DevicePolicyManagerInternal.class); + return (dpmi != null) + && dpmi.isActiveAdminWithPolicy(uid, DeviceAdminInfo.USES_POLICY_PROFILE_OWNER); + } + @Override public void updateAppPermission(Account account, String authTokenType, int uid, boolean value) throws RemoteException { diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 552db7ddd3cd..3e8dc4e1ba18 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -8230,6 +8230,18 @@ public final class ActivityManagerService extends ActivityManagerNative } } + @Override + public IBinder getUriPermissionOwnerForActivity(IBinder activityToken) { + enforceNotIsolatedCaller("getUriPermissionOwnerForActivity"); + synchronized(this) { + ActivityRecord r = ActivityRecord.isInStackLocked(activityToken); + if (r == null) { + throw new IllegalArgumentException("Activity does not exist; token=" + + activityToken); + } + return r.getUriPermissionsLocked().getExternalTokenLocked(); + } + } /** * @param uri This uri must NOT contain an embedded userId. * @param sourceUserId The userId in which the uri is to be resolved. diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java index 43d4e775a098..20b1e6058224 100644 --- a/services/core/java/com/android/server/am/UserController.java +++ b/services/core/java/com/android/server/am/UserController.java @@ -432,6 +432,10 @@ final class UserController { synchronized (mService) { mService.mStackSupervisor.removeUserLocked(userId); } + // Remove the user if it is ephemeral. + if (getUserInfo(userId).isEphemeral()) { + mUserManager.removeUser(userId); + } } } @@ -478,9 +482,9 @@ final class UserController { } /** - * Stops the guest user if it has gone to the background. + * Stops the guest or ephemeral user if it has gone to the background. */ - private void stopGuestUserIfBackground() { + private void stopGuestOrEphemeralUserIfBackground() { synchronized (mService) { final int num = mUserLru.size(); for (int i = 0; i < num; i++) { @@ -492,7 +496,7 @@ final class UserController { continue; } UserInfo userInfo = getUserInfo(oldUserId); - if (userInfo.isGuest()) { + if (userInfo.isGuest() || userInfo.isEphemeral()) { // This is a user to be stopped. stopUsersLocked(oldUserId, true, null); break; @@ -918,7 +922,7 @@ final class UserController { mHandler.sendMessage(mHandler.obtainMessage(REPORT_USER_SWITCH_COMPLETE_MSG, newUserId, 0)); } - stopGuestUserIfBackground(); + stopGuestOrEphemeralUserIfBackground(); stopBackgroundUsersIfEnforced(oldUserId); } diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index c6df83ae9165..49aa73efc3b2 100644 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -2697,8 +2697,8 @@ public class NotificationManagerService extends SystemService { visibilities[i] = r.getPackageVisibilityOverride(); mRankingHelper.extractSignals(r); } + mRankingHelper.sort(mNotificationList); for (int i = 0; i < N; i++) { - mRankingHelper.sort(mNotificationList); final NotificationRecord r = mNotificationList.get(i); if (!orderBefore.get(i).equals(r.getKey()) || visibilities[i] != r.getPackageVisibilityOverride()) { diff --git a/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java b/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java index f604bb781452..b254f29e0d5a 100644 --- a/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java +++ b/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java @@ -594,6 +594,14 @@ final class DefaultPermissionGrantPolicy { } } + // Print Spooler + PackageParser.Package printSpoolerPackage = getSystemPackageLPr( + "com.android.printspooler"); + if (printSpoolerPackage != null + && doesPackageSupportRuntimePermissions(printSpoolerPackage)) { + grantRuntimePermissionsLPw(printSpoolerPackage, LOCATION_PERMISSIONS, true, userId); + } + mService.mSettings.onDefaultRuntimePermissionsGrantedLPr(userId); } } diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java index 7c952a57f9ab..d2a3ede9163f 100644 --- a/services/core/java/com/android/server/pm/Settings.java +++ b/services/core/java/com/android/server/pm/Settings.java @@ -66,8 +66,11 @@ import com.android.server.pm.PackageManagerService.DumpState; import com.android.server.pm.PermissionsState.PermissionState; import java.io.BufferedInputStream; +import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.InputStream; +import java.io.OutputStreamWriter; +import java.nio.charset.Charset; import java.util.Collection; import org.xmlpull.v1.XmlPullParser; @@ -2251,11 +2254,11 @@ final class Settings { JournaledFile journal = new JournaledFile(mPackageListFilename, tempFile); final File writeTarget = journal.chooseForWrite(); - FileOutputStream fstr = null; - BufferedOutputStream str = null; + FileOutputStream fstr; + BufferedWriter writer = null; try { fstr = new FileOutputStream(writeTarget); - str = new BufferedOutputStream(fstr); + writer = new BufferedWriter(new OutputStreamWriter(fstr, Charset.defaultCharset())); FileUtils.setPermissions(fstr.getFD(), 0640, SYSTEM_UID, PACKAGE_INFO_GID); StringBuilder sb = new StringBuilder(); @@ -2272,7 +2275,7 @@ final class Settings { final int[] gids = pkg.getPermissionsState().computeGids(userIds); // Avoid any application that has a space in its path. - if (dataPath.indexOf(" ") >= 0) + if (dataPath.indexOf(' ') >= 0) continue; // we store on each line the following information for now: @@ -2294,7 +2297,7 @@ final class Settings { sb.setLength(0); sb.append(ai.packageName); sb.append(" "); - sb.append((int)ai.uid); + sb.append(ai.uid); sb.append(isDebug ? " 1 " : " 0 "); sb.append(dataPath); sb.append(" "); @@ -2310,15 +2313,15 @@ final class Settings { sb.append("none"); } sb.append("\n"); - str.write(sb.toString().getBytes()); + writer.append(sb); } - str.flush(); + writer.flush(); FileUtils.sync(fstr); - str.close(); + writer.close(); journal.commit(); } catch (Exception e) { Slog.wtf(TAG, "Failed to write packages.list", e); - IoUtils.closeQuietly(str); + IoUtils.closeQuietly(writer); journal.rollback(); } } diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 8a16850bd2b9..6fcf1d6912f5 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -1594,10 +1594,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { mScreenshotChordEnabled = mContext.getResources().getBoolean( com.android.internal.R.bool.config_enableScreenshotChord); - // TODO(b/26050571): This can be only reenabled, if there are measure to prevent the alert - // windows from being fullscreen. Please consult the bug before enabling. - mForceWindowDrawsStatusBarBackground = false; // mContext.getResources().getBoolean( - //R.bool.config_forceWindowDrawsStatusBarBackground); + mForceWindowDrawsStatusBarBackground = mContext.getResources().getBoolean( + R.bool.config_forceWindowDrawsStatusBarBackground); mGlobalKeyManager = new GlobalKeyManager(mContext); @@ -2065,7 +2063,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { attrs.subtreeSystemUiVisibility |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION; } if ((attrs.flags & FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) != 0 - || mForceWindowDrawsStatusBarBackground) { + || (mForceWindowDrawsStatusBarBackground + && attrs.height == MATCH_PARENT && attrs.width == MATCH_PARENT)) { attrs.subtreeSystemUiVisibility |= View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN; } } diff --git a/services/core/java/com/android/server/tv/TvInputHardwareManager.java b/services/core/java/com/android/server/tv/TvInputHardwareManager.java index 9bf7ae4465ad..578428b8aed1 100644 --- a/services/core/java/com/android/server/tv/TvInputHardwareManager.java +++ b/services/core/java/com/android/server/tv/TvInputHardwareManager.java @@ -39,6 +39,7 @@ import android.media.AudioManager; import android.media.AudioPatch; import android.media.AudioPort; import android.media.AudioPortConfig; +import android.media.AudioSystem; import android.media.tv.ITvInputHardware; import android.media.tv.ITvInputHardwareCallback; import android.media.tv.TvInputHardwareInfo; @@ -703,7 +704,8 @@ class TvInputHardwareManager implements TvInputHal.Callback { } int sinkDevice = mAudioManager.getDevicesForStream(AudioManager.STREAM_MUSIC); for (AudioDevicePort port : devicePorts) { - if ((port.type() & sinkDevice) != 0) { + if ((port.type() & sinkDevice) != 0 && + (port.type() & AudioSystem.DEVICE_BIT_IN) == 0) { sinks.add(port); } } diff --git a/services/core/java/com/android/server/wm/DropPermissionsHandler.java b/services/core/java/com/android/server/wm/DropPermissionsHandler.java index 2ac1ef4124b5..68cfaab02cdb 100644 --- a/services/core/java/com/android/server/wm/DropPermissionsHandler.java +++ b/services/core/java/com/android/server/wm/DropPermissionsHandler.java @@ -37,7 +37,7 @@ class DropPermissionsHandler extends IDropPermissions.Stub { private final ArrayList<Uri> mUris = new ArrayList<Uri>(); - private IBinder mPermissionOwner = null; + private IBinder mActivityToken = null; DropPermissionsHandler(ClipData clipData, int sourceUid, String targetPackage, int mode, int sourceUserId, int targetUserId) { @@ -51,18 +51,21 @@ class DropPermissionsHandler extends IDropPermissions.Stub { } @Override - public void take() throws RemoteException { - if (mPermissionOwner != null) { + public void take(IBinder activityToken) throws RemoteException { + if (mActivityToken != null) { return; } + mActivityToken = activityToken; - mPermissionOwner = ActivityManagerNative.getDefault().newUriPermissionOwner("drop"); + // Will throw if Activity is not found. + IBinder permissionOwner = ActivityManagerNative.getDefault(). + getUriPermissionOwnerForActivity(mActivityToken); long origId = Binder.clearCallingIdentity(); try { for (int i = 0; i < mUris.size(); i++) { ActivityManagerNative.getDefault().grantUriPermissionFromOwner( - mPermissionOwner, mSourceUid, mTargetPackage, mUris.get(i), mMode, + permissionOwner, mSourceUid, mTargetPackage, mUris.get(i), mMode, mSourceUserId, mTargetUserId); } } finally { @@ -72,15 +75,24 @@ class DropPermissionsHandler extends IDropPermissions.Stub { @Override public void release() throws RemoteException { - if (mPermissionOwner == null) { + if (mActivityToken == null) { return; } + IBinder permissionOwner = null; + try { + permissionOwner = ActivityManagerNative.getDefault(). + getUriPermissionOwnerForActivity(mActivityToken); + } catch (Exception e) { + // Activity is destroyed, permissions already revoked. + return; + } finally { + mActivityToken = null; + } + for (int i = 0; i < mUris.size(); ++i) { ActivityManagerNative.getDefault().revokeUriPermissionFromOwner( - mPermissionOwner, mUris.get(i), mMode, mSourceUserId); + permissionOwner, mUris.get(i), mMode, mSourceUserId); } - - mPermissionOwner = null; } } diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index 72a834315b5d..27e7a31bd07b 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -285,6 +285,8 @@ class Task implements DimLayer.DimLayerUser { } if ((boundsChanged & BOUNDS_CHANGE_SIZE) == BOUNDS_CHANGE_SIZE) { resizeWindows(); + } else { + moveWindows(); } return true; } @@ -463,13 +465,24 @@ class Task implements DimLayer.DimLayerUser { for (int winNdx = windows.size() - 1; winNdx >= 0; --winNdx) { final WindowState win = windows.get(winNdx); if (!resizingWindows.contains(win)) { - if (DEBUG_RESIZE) Slog.d(TAG_WM, "setBounds: Resizing " + win); + if (DEBUG_RESIZE) Slog.d(TAG_WM, "resizeWindows: Resizing " + win); resizingWindows.add(win); } } } } + void moveWindows() { + for (int activityNdx = mAppTokens.size() - 1; activityNdx >= 0; --activityNdx) { + final ArrayList<WindowState> windows = mAppTokens.get(activityNdx).allAppWindows; + for (int winNdx = windows.size() - 1; winNdx >= 0; --winNdx) { + final WindowState win = windows.get(winNdx); + if (DEBUG_RESIZE) Slog.d(TAG_WM, "moveWindows: Moving " + win); + win.mMovedByResize = true; + } + } + } + /** * Cancels any running app transitions associated with the task. */ diff --git a/services/core/java/com/android/server/wm/TaskTapPointerEventListener.java b/services/core/java/com/android/server/wm/TaskTapPointerEventListener.java index af109d4195cf..98033f637562 100644 --- a/services/core/java/com/android/server/wm/TaskTapPointerEventListener.java +++ b/services/core/java/com/android/server/wm/TaskTapPointerEventListener.java @@ -20,6 +20,7 @@ import android.graphics.Rect; import android.graphics.Region; import android.view.DisplayInfo; import android.view.GestureDetector; +import android.view.InputDevice; import android.view.MotionEvent; import android.view.WindowManagerPolicy.PointerEventListener; @@ -108,7 +109,8 @@ public class TaskTapPointerEventListener implements PointerEventListener { final int x = (int) motionEvent.getX(); final int y = (int) motionEvent.getY(); final Task task = mDisplayContent.findTaskForControlPoint(x, y); - if (task == null) { + InputDevice inputDevice = motionEvent.getDevice(); + if (task == null || inputDevice == null) { mPointerIconShape = STYLE_NOT_SPECIFIED; break; } @@ -130,7 +132,7 @@ public class TaskTapPointerEventListener implements PointerEventListener { } if (mPointerIconShape != iconShape) { mPointerIconShape = iconShape; - motionEvent.getDevice().setPointerShape(iconShape); + inputDevice.setPointerShape(iconShape); } } else { mPointerIconShape = STYLE_NOT_SPECIFIED; @@ -139,7 +141,10 @@ public class TaskTapPointerEventListener implements PointerEventListener { case MotionEvent.ACTION_HOVER_EXIT: mPointerIconShape = STYLE_NOT_SPECIFIED; - motionEvent.getDevice().setPointerShape(STYLE_DEFAULT); + InputDevice inputDevice = motionEvent.getDevice(); + if (inputDevice != null) { + inputDevice.setPointerShape(STYLE_DEFAULT); + } break; case MotionEvent.ACTION_UP: diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index c63618527910..733bc2993d90 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -417,6 +417,8 @@ final class WindowState implements WindowManagerPolicy.WindowState { // the window is added and unset when this window reports its first draw. WindowState mReplacingWindow = null; + // Whether this window is being moved via the resize API + boolean mMovedByResize; /** * Wake lock for drawing. * Even though it's slightly more expensive to do so, we will use a separate wake lock @@ -1208,9 +1210,9 @@ final class WindowState implements WindowManagerPolicy.WindowState { * sense to call from performLayoutAndPlaceSurfacesLockedInner().) */ boolean hasMoved() { - return mHasSurface && mContentChanged && !mExiting && !mWinAnimator.mLastHidden - && mService.okToDisplay() && (mFrame.top != mLastFrame.top - || mFrame.left != mLastFrame.left) + return mHasSurface && (mContentChanged || mMovedByResize) + && !mExiting && !mWinAnimator.mLastHidden && mService.okToDisplay() + && (mFrame.top != mLastFrame.top || mFrame.left != mLastFrame.left) && (mAttachedWindow == null || !mAttachedWindow.hasMoved()); } diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java index 7605af0bf811..381db5609048 100644 --- a/services/core/java/com/android/server/wm/WindowStateAnimator.java +++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java @@ -705,14 +705,12 @@ class WindowStateAnimator { } // Something is wrong and SurfaceFlinger will not like this, try to revert to sane values. + // This doesn't necessarily mean that there is an error in the system. The sizes might be + // incorrect, because it is before the first layout or draw. if (mTmpSize.width() < 1) { - if (!mWin.mLayoutNeeded) Slog.w(TAG, - "Width of " + w + " is not positive " + mTmpSize.width()); mTmpSize.right = mTmpSize.left + 1; } if (mTmpSize.height() < 1) { - if (!mWin.mLayoutNeeded) Slog.w(TAG, - "Height of " + w + " is not positive " + mTmpSize.height()); mTmpSize.bottom = mTmpSize.top + 1; } @@ -1184,11 +1182,14 @@ class WindowStateAnimator { // We don't apply the stack bounds crop if: // 1. The window is currently animating docked mode or in freeform mode, otherwise the // animating window will be suddenly (docked) or for whole animation (freeform) cut off. + // (Note that we still need to apply the crop if the task being docked is non-resizeable, + // in which case the task is running in fullscreen size but cropped to stack bounds.) // 2. The window that is being replaced during animation, because it was living in a // different stack. If we suddenly crop it to the new stack bounds, it might get cut off. // We don't want it to happen, so we let it ignore the stack bounds until it gets removed. // The window that will replace it will abide them. - if (isAnimating() && (w.mWillReplaceWindow || w.inDockedWorkspace() + if (isAnimating() && (w.mWillReplaceWindow + || (w.inDockedWorkspace() && task.isResizeable()) || w.inFreeformWorkspace())) { return; } diff --git a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java index cbfb201a529c..6ebda0727165 100644 --- a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java +++ b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java @@ -709,6 +709,7 @@ class WindowSurfacePlacer { //Slog.i(TAG_WM, "Window " + this + " clearing mContentChanged - done placing"); w.mContentChanged = false; + w.mMovedByResize = false; // Moved from updateWindowsAndWallpaperLocked(). if (w.mHasSurface) { diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 2082911b58ac..cf661ce0d166 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -5971,7 +5971,9 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } if (activeAdmin.getUid() != mInjector.binderGetCallingUid()) { mContext.enforceCallingOrSelfPermission( - android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS, null); + android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS, + "Calling uid " + mInjector.binderGetCallingUid() + " neither owns the admin" + + " " + who + " nor has MANAGE_PROFILE_AND_DEVICE_OWNERS permission"); } return activeAdmin.userRestrictions; } diff --git a/services/print/java/com/android/server/print/PrintManagerService.java b/services/print/java/com/android/server/print/PrintManagerService.java index f18617ef4748..d5f384d3bbfb 100644 --- a/services/print/java/com/android/server/print/PrintManagerService.java +++ b/services/print/java/com/android/server/print/PrintManagerService.java @@ -27,6 +27,7 @@ import android.content.pm.ResolveInfo; import android.content.pm.ServiceInfo; import android.content.pm.UserInfo; import android.database.ContentObserver; +import android.graphics.drawable.Icon; import android.net.Uri; import android.os.Binder; import android.os.Bundle; @@ -177,6 +178,25 @@ public final class PrintManagerService extends SystemService { } @Override + public Icon getCustomPrinterIcon(PrinterId printerId, int userId) { + final int resolvedUserId = resolveCallingUserEnforcingPermissions(userId); + final UserState userState; + synchronized (mLock) { + // Only the current group members can get the printer icons. + if (resolveCallingProfileParentLocked(resolvedUserId) != getCurrentUserId()) { + return null; + } + userState = getOrCreateUserStateLocked(resolvedUserId); + } + final long identity = Binder.clearCallingIdentity(); + try { + return userState.getCustomPrinterIcon(printerId); + } finally { + Binder.restoreCallingIdentity(identity); + } + } + + @Override public void cancelPrintJob(PrintJobId printJobId, int appId, int userId) { final int resolvedUserId = resolveCallingUserEnforcingPermissions(userId); final int resolvedAppId; diff --git a/services/print/java/com/android/server/print/RemotePrintService.java b/services/print/java/com/android/server/print/RemotePrintService.java index 77a47f81e62b..0af1525ff716 100644 --- a/services/print/java/com/android/server/print/RemotePrintService.java +++ b/services/print/java/com/android/server/print/RemotePrintService.java @@ -24,6 +24,7 @@ import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.content.pm.ParceledListSlice; +import android.graphics.drawable.Icon; import android.os.Binder; import android.os.Handler; import android.os.IBinder; @@ -98,6 +99,15 @@ final class RemotePrintService implements DeathRecipient { public void onPrintersAdded(List<PrinterInfo> printers); public void onPrintersRemoved(List<PrinterId> printerIds); public void onServiceDied(RemotePrintService service); + + /** + * Handle that a custom icon for a printer was loaded. + * + * @param printerId the id of the printer the icon belongs to + * @param icon the icon that was loaded + * @see android.print.PrinterInfo.Builder#setHasCustomPrinterIcon() + */ + public void onCustomPrinterIconLoaded(PrinterId printerId, Icon icon); } public RemotePrintService(Context context, ComponentName componentName, int userId, @@ -404,6 +414,22 @@ final class RemotePrintService implements DeathRecipient { printerId).sendToTarget(); } + /** + * Request the custom printer icon for a printer. + * + * @param printerId the id of the printer the icon should be loaded for + * @see android.print.PrinterInfo.Builder#setHasCustomPrinterIcon() + */ + public void requestCustomPrinterIcon(PrinterId printerId) { + try { + if (isBound()) { + mPrintService.requestCustomPrinterIcon(printerId); + } + } catch (RemoteException re) { + Slog.e(LOG_TAG, "Error requesting icon for " + printerId, re); + } + } + private void handleStartPrinterStateTracking(final PrinterId printerId) { throwIfDestroyed(); // Take a note we are tracking the printer. @@ -842,5 +868,19 @@ final class RemotePrintService implements DeathRecipient { throw new IllegalArgumentException("Invalid printer id: " + printerId); } } + + @Override + public void onCustomPrinterIconLoaded(PrinterId printerId, Icon icon) + throws RemoteException { + RemotePrintService service = mWeakService.get(); + if (service != null) { + final long identity = Binder.clearCallingIdentity(); + try { + service.mCallbacks.onCustomPrinterIconLoaded(printerId, icon); + } finally { + Binder.restoreCallingIdentity(identity); + } + } + } } } diff --git a/services/print/java/com/android/server/print/RemotePrintSpooler.java b/services/print/java/com/android/server/print/RemotePrintSpooler.java index c506b6f5f495..40a888041d2d 100644 --- a/services/print/java/com/android/server/print/RemotePrintSpooler.java +++ b/services/print/java/com/android/server/print/RemotePrintSpooler.java @@ -23,6 +23,7 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; +import android.graphics.drawable.Icon; import android.os.Binder; import android.os.Build; import android.os.IBinder; @@ -35,6 +36,7 @@ import android.print.IPrintSpoolerCallbacks; import android.print.IPrintSpoolerClient; import android.print.PrintJobId; import android.print.PrintJobInfo; +import android.print.PrinterId; import android.util.Slog; import android.util.TimedRemoteCaller; @@ -72,6 +74,15 @@ final class RemotePrintSpooler { private final SetPrintJobTagCaller mSetPrintJobTagCaller = new SetPrintJobTagCaller(); + private final OnCustomPrinterIconLoadedCaller mCustomPrinterIconLoadedCaller = + new OnCustomPrinterIconLoadedCaller(); + + private final ClearCustomPrinterIconCacheCaller mClearCustomPrinterIconCache = + new ClearCustomPrinterIconCacheCaller(); + + private final GetCustomPrinterIconCaller mGetCustomPrinterIconCaller = + new GetCustomPrinterIconCaller(); + private final ServiceConnection mServiceConnection = new MyServiceConnection(); private final Context mContext; @@ -287,6 +298,96 @@ final class RemotePrintSpooler { } } + /** + * Handle that a custom icon for a printer was loaded. + * + * @param printerId the id of the printer the icon belongs to + * @param icon the icon that was loaded + * @see android.print.PrinterInfo.Builder#setHasCustomPrinterIcon() + */ + public final void onCustomPrinterIconLoaded(@NonNull PrinterId printerId, + @Nullable Icon icon) { + throwIfCalledOnMainThread(); + synchronized (mLock) { + throwIfDestroyedLocked(); + mCanUnbind = false; + } + try { + mCustomPrinterIconLoadedCaller.onCustomPrinterIconLoaded(getRemoteInstanceLazy(), + printerId, icon); + } catch (RemoteException|TimeoutException re) { + Slog.e(LOG_TAG, "Error loading new custom printer icon.", re); + } finally { + if (DEBUG) { + Slog.i(LOG_TAG, + "[user: " + mUserHandle.getIdentifier() + "] onCustomPrinterIconLoaded()"); + } + synchronized (mLock) { + mCanUnbind = true; + mLock.notifyAll(); + } + } + } + + /** + * Get the custom icon for a printer. If the icon is not cached, the icon is + * requested asynchronously. Once it is available the printer is updated. + * + * @param printerId the id of the printer the icon should be loaded for + * @return the custom icon to be used for the printer or null if the icon is + * not yet available + * @see android.print.PrinterInfo.Builder#setHasCustomPrinterIcon() + */ + public final @Nullable Icon getCustomPrinterIcon(@NonNull PrinterId printerId) { + throwIfCalledOnMainThread(); + synchronized (mLock) { + throwIfDestroyedLocked(); + mCanUnbind = false; + } + try { + return mGetCustomPrinterIconCaller.getCustomPrinterIcon(getRemoteInstanceLazy(), + printerId); + } catch (RemoteException|TimeoutException re) { + Slog.e(LOG_TAG, "Error getting custom printer icon.", re); + return null; + } finally { + if (DEBUG) { + Slog.i(LOG_TAG, + "[user: " + mUserHandle.getIdentifier() + "] getCustomPrinterIcon()"); + } + synchronized (mLock) { + mCanUnbind = true; + mLock.notifyAll(); + } + } + } + + /** + * Clear the custom printer icon cache + */ + public void clearCustomPrinterIconCache() { + throwIfCalledOnMainThread(); + synchronized (mLock) { + throwIfDestroyedLocked(); + mCanUnbind = false; + } + try { + mClearCustomPrinterIconCache.clearCustomPrinterIconCache(getRemoteInstanceLazy()); + } catch (RemoteException|TimeoutException re) { + Slog.e(LOG_TAG, "Error clearing custom printer icon cache.", re); + } finally { + if (DEBUG) { + Slog.i(LOG_TAG, + "[user: " + mUserHandle.getIdentifier() + + "] clearCustomPrinterIconCache()"); + } + synchronized (mLock) { + mCanUnbind = true; + mLock.notifyAll(); + } + } + } + public final boolean setPrintJobTag(PrintJobId printJobId, String tag) { throwIfCalledOnMainThread(); synchronized (mLock) { @@ -632,6 +733,69 @@ final class RemotePrintSpooler { } } + private static final class OnCustomPrinterIconLoadedCaller extends TimedRemoteCaller<Void> { + private final IPrintSpoolerCallbacks mCallback; + + public OnCustomPrinterIconLoadedCaller() { + super(TimedRemoteCaller.DEFAULT_CALL_TIMEOUT_MILLIS); + mCallback = new BasePrintSpoolerServiceCallbacks() { + @Override + public void onCustomPrinterIconCached(int sequence) { + onRemoteMethodResult(null, sequence); + } + }; + } + + public Void onCustomPrinterIconLoaded(IPrintSpooler target, PrinterId printerId, + Icon icon) throws RemoteException, TimeoutException { + final int sequence = onBeforeRemoteCall(); + target.onCustomPrinterIconLoaded(printerId, icon, mCallback, sequence); + return getResultTimed(sequence); + } + } + + private static final class ClearCustomPrinterIconCacheCaller extends TimedRemoteCaller<Void> { + private final IPrintSpoolerCallbacks mCallback; + + public ClearCustomPrinterIconCacheCaller() { + super(TimedRemoteCaller.DEFAULT_CALL_TIMEOUT_MILLIS); + mCallback = new BasePrintSpoolerServiceCallbacks() { + @Override + public void customPrinterIconCacheCleared(int sequence) { + onRemoteMethodResult(null, sequence); + } + }; + } + + public Void clearCustomPrinterIconCache(IPrintSpooler target) + throws RemoteException, TimeoutException { + final int sequence = onBeforeRemoteCall(); + target.clearCustomPrinterIconCache(mCallback, sequence); + return getResultTimed(sequence); + } + } + + private static final class GetCustomPrinterIconCaller extends TimedRemoteCaller<Icon> { + private final IPrintSpoolerCallbacks mCallback; + + public GetCustomPrinterIconCaller() { + super(TimedRemoteCaller.DEFAULT_CALL_TIMEOUT_MILLIS); + mCallback = new BasePrintSpoolerServiceCallbacks() { + @Override + public void onGetCustomPrinterIconResult(Icon icon, int sequence) { + onRemoteMethodResult(icon, sequence); + } + }; + } + + public Icon getCustomPrinterIcon(IPrintSpooler target, PrinterId printerId) + throws RemoteException, TimeoutException { + final int sequence = onBeforeRemoteCall(); + target.getCustomPrinterIcon(printerId, mCallback, sequence); + return getResultTimed(sequence); + } + } + private static abstract class BasePrintSpoolerServiceCallbacks extends IPrintSpoolerCallbacks.Stub { @Override @@ -658,6 +822,21 @@ final class RemotePrintSpooler { public void onSetPrintJobTagResult(boolean success, int sequence) { /* do nothing */ } + + @Override + public void onCustomPrinterIconCached(int sequence) { + /* do nothing */ + } + + @Override + public void onGetCustomPrinterIconResult(@Nullable Icon icon, int sequence) { + /* do nothing */ + } + + @Override + public void customPrinterIconCacheCleared(int sequence) { + /* do nothing */ + } } private static final class PrintSpoolerClient extends IPrintSpoolerClient.Stub { diff --git a/services/print/java/com/android/server/print/UserState.java b/services/print/java/com/android/server/print/UserState.java index 6a50a6eaff21..63d330198488 100644 --- a/services/print/java/com/android/server/print/UserState.java +++ b/services/print/java/com/android/server/print/UserState.java @@ -26,6 +26,7 @@ import android.content.pm.PackageManager; import android.content.pm.ParceledListSlice; import android.content.pm.ResolveInfo; import android.content.pm.ServiceInfo; +import android.graphics.drawable.Icon; import android.net.Uri; import android.os.AsyncTask; import android.os.Binder; @@ -271,6 +272,28 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks { return printJob; } + /** + * Get the custom icon for a printer. If the icon is not cached, the icon is + * requested asynchronously. Once it is available the printer is updated. + * + * @param printerId the id of the printer the icon should be loaded for + * @return the custom icon to be used for the printer or null if the icon is + * not yet available + * @see android.print.PrinterInfo.Builder#setHasCustomPrinterIcon() + */ + public Icon getCustomPrinterIcon(PrinterId printerId) { + Icon icon = mSpooler.getCustomPrinterIcon(printerId); + + if (icon == null) { + RemotePrintService service = mActiveServices.get(printerId.getServiceName()); + if (service != null) { + service.requestCustomPrinterIcon(printerId); + } + } + + return icon; + } + public void cancelPrintJob(PrintJobId printJobId, int appId) { PrintJobInfo printJobInfo = mSpooler.getPrintJobInfo(printJobId, appId); if (printJobInfo == null) { @@ -345,6 +368,8 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks { throwIfDestroyedLocked(); if (mPrinterDiscoverySession == null) { + mSpooler.clearCustomPrinterIconCache(); + // If we do not have a session, tell all service to create one. mPrinterDiscoverySession = new PrinterDiscoverySessionMediator(mContext) { @Override @@ -533,6 +558,20 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks { } @Override + public void onCustomPrinterIconLoaded(PrinterId printerId, Icon icon) { + synchronized (mLock) { + throwIfDestroyedLocked(); + + // No session - nothing to do. + if (mPrinterDiscoverySession == null) { + return; + } + mSpooler.onCustomPrinterIconLoaded(printerId, icon); + mPrinterDiscoverySession.onCustomPrinterIconLoadedLocked(printerId); + } + } + + @Override public void onServiceDied(RemotePrintService service) { synchronized (mLock) { throwIfDestroyedLocked(); @@ -973,16 +1012,16 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks { private final List<PrinterId> mStateTrackedPrinters = new ArrayList<PrinterId>(); - private final Handler mHandler; + private final Handler mSessionHandler; private boolean mIsDestroyed; public PrinterDiscoverySessionMediator(Context context) { - mHandler = new SessionHandler(context.getMainLooper()); + mSessionHandler = new SessionHandler(context.getMainLooper()); // Kick off the session creation. List<RemotePrintService> services = new ArrayList<RemotePrintService>( mActiveServices.values()); - mHandler.obtainMessage(SessionHandler + mSessionHandler.obtainMessage(SessionHandler .MSG_DISPATCH_CREATE_PRINTER_DISCOVERY_SESSION, services) .sendToTarget(); } @@ -997,7 +1036,7 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks { SomeArgs args = SomeArgs.obtain(); args.arg1 = observer; args.arg2 = printers; - mHandler.obtainMessage(SessionHandler.MSG_PRINTERS_ADDED, + mSessionHandler.obtainMessage(SessionHandler.MSG_PRINTERS_ADDED, args).sendToTarget(); } } @@ -1040,7 +1079,7 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks { SomeArgs args = SomeArgs.obtain(); args.arg1 = services; args.arg2 = priorityList; - mHandler.obtainMessage(SessionHandler + mSessionHandler.obtainMessage(SessionHandler .MSG_DISPATCH_START_PRINTER_DISCOVERY, args) .sendToTarget(); } @@ -1060,7 +1099,7 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks { } List<RemotePrintService> services = new ArrayList<RemotePrintService>( mActiveServices.values()); - mHandler.obtainMessage(SessionHandler + mSessionHandler.obtainMessage(SessionHandler .MSG_DISPATCH_STOP_PRINTER_DISCOVERY, services) .sendToTarget(); } @@ -1094,7 +1133,7 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks { SomeArgs args = SomeArgs.obtain(); args.arg1 = service; args.arg2 = updateList; - mHandler.obtainMessage(SessionHandler + mSessionHandler.obtainMessage(SessionHandler .MSG_VALIDATE_PRINTERS, args) .sendToTarget(); } @@ -1126,7 +1165,7 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks { SomeArgs args = SomeArgs.obtain(); args.arg1 = service; args.arg2 = printerId; - mHandler.obtainMessage(SessionHandler + mSessionHandler.obtainMessage(SessionHandler .MSG_START_PRINTER_STATE_TRACKING, args) .sendToTarget(); } @@ -1153,7 +1192,7 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks { SomeArgs args = SomeArgs.obtain(); args.arg1 = service; args.arg2 = printerId; - mHandler.obtainMessage(SessionHandler + mSessionHandler.obtainMessage(SessionHandler .MSG_STOP_PRINTER_STATE_TRACKING, args) .sendToTarget(); } @@ -1183,7 +1222,7 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks { // Tell the services we are done. List<RemotePrintService> services = new ArrayList<RemotePrintService>( mActiveServices.values()); - mHandler.obtainMessage(SessionHandler + mSessionHandler.obtainMessage(SessionHandler .MSG_DISPATCH_DESTROY_PRINTER_DISCOVERY_SESSION, services) .sendToTarget(); } @@ -1209,7 +1248,7 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks { } } if (addedPrinters != null) { - mHandler.obtainMessage(SessionHandler.MSG_DISPATCH_PRINTERS_ADDED, + mSessionHandler.obtainMessage(SessionHandler.MSG_DISPATCH_PRINTERS_ADDED, addedPrinters).sendToTarget(); } } @@ -1234,7 +1273,7 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks { } } if (removedPrinterIds != null) { - mHandler.obtainMessage(SessionHandler.MSG_DISPATCH_PRINTERS_REMOVED, + mSessionHandler.obtainMessage(SessionHandler.MSG_DISPATCH_PRINTERS_REMOVED, removedPrinterIds).sendToTarget(); } } @@ -1250,6 +1289,37 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks { service.destroy(); } + /** + * Handle that a custom icon for a printer was loaded. + * + * This increments the icon generation and adds the printer again which triggers an update + * in all users of the currently known printers. + * + * @param printerId the id of the printer the icon belongs to + * @see android.print.PrinterInfo.Builder#setHasCustomPrinterIcon() + */ + public void onCustomPrinterIconLoadedLocked(PrinterId printerId) { + if (DEBUG) { + Log.i(LOG_TAG, "onCustomPrinterIconLoadedLocked()"); + } + if (mIsDestroyed) { + Log.w(LOG_TAG, "Not updating printer - session destroyed"); + return; + } + + PrinterInfo printer = mPrinters.get(printerId); + if (printer != null) { + PrinterInfo newPrinter = (new PrinterInfo.Builder(printer)) + .incCustomPrinterIconGen().build(); + mPrinters.put(printerId, newPrinter); + + ArrayList<PrinterInfo> addedPrinters = new ArrayList<>(1); + addedPrinters.add(newPrinter); + mSessionHandler.obtainMessage(SessionHandler.MSG_DISPATCH_PRINTERS_ADDED, + addedPrinters).sendToTarget(); + } + } + public void onServiceDiedLocked(RemotePrintService service) { // Remove the reported by that service. removePrintersForServiceLocked(service.getComponentName()); @@ -1261,12 +1331,12 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks { return; } // Tell the service to create a session. - mHandler.obtainMessage( + mSessionHandler.obtainMessage( SessionHandler.MSG_CREATE_PRINTER_DISCOVERY_SESSION, service).sendToTarget(); // Start printer discovery if necessary. if (!mStartedPrinterDiscoveryTokens.isEmpty()) { - mHandler.obtainMessage( + mSessionHandler.obtainMessage( SessionHandler.MSG_START_PRINTER_DISCOVERY, service).sendToTarget(); } @@ -1278,7 +1348,7 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks { SomeArgs args = SomeArgs.obtain(); args.arg1 = service; args.arg2 = printerId; - mHandler.obtainMessage(SessionHandler + mSessionHandler.obtainMessage(SessionHandler .MSG_START_PRINTER_STATE_TRACKING, args) .sendToTarget(); } @@ -1348,7 +1418,7 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks { for (int i = 0; i < removedPrinterCount; i++) { mPrinters.remove(removedPrinterIds.get(i)); } - mHandler.obtainMessage( + mSessionHandler.obtainMessage( SessionHandler.MSG_DISPATCH_PRINTERS_REMOVED, removedPrinterIds).sendToTarget(); } diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java index 435b6026830e..90e4acfb9044 100644 --- a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java +++ b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java @@ -208,6 +208,11 @@ public class DevicePolicyManagerServiceTestable extends DevicePolicyManagerServi } @Override + void powerManagerReboot(String reason) { + context.powerManager.reboot(reason); + } + + @Override boolean systemPropertiesGetBoolean(String key, boolean def) { return context.systemProperties.getBoolean(key, def); } diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java index 7747fd9a1cb5..568e1d543455 100644 --- a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java +++ b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java @@ -1349,4 +1349,40 @@ public class DevicePolicyManagerTest extends DpmTestBase { when(mContext.wifiManager.getConnectionInfo()).thenReturn(wi); assertEquals("11:22:33:44:55:66", dpm.getWifiMacAddress()); } + + public void testRebootCanOnlyBeCalledByDeviceOwner() throws Exception { + mContext.callerPermissions.add(permission.MANAGE_DEVICE_ADMINS); + mContext.callerPermissions.add(permission.MANAGE_PROFILE_AND_DEVICE_OWNERS); + + // In this test, change the caller user to "system". + mContext.binder.callingUid = DpmMockContext.CALLER_SYSTEM_USER_UID; + + // Make sure admin1 is installed on system user. + setUpPackageManagerForAdmin(admin1, DpmMockContext.CALLER_SYSTEM_USER_UID); + + // Set admin1 as DA. + dpm.setActiveAdmin(admin1, false); + assertTrue(dpm.isAdminActive(admin1)); + try { + dpm.reboot(admin1); + fail("DA calls DPM.reboot(), did not throw expected SecurityException"); + } catch (SecurityException expected) { + MoreAsserts.assertContainsRegex("does not own the device", expected.getMessage()); + } + + // Set admin1 as PO. + assertTrue(dpm.setProfileOwner(admin1, null, UserHandle.USER_SYSTEM)); + try { + dpm.reboot(admin1); + fail("PO calls DPM.reboot(), did not throw expected SecurityException"); + } catch (SecurityException expected) { + MoreAsserts.assertContainsRegex("does not own the device", expected.getMessage()); + } + + // Remove PO and add DO. + dpm.clearProfileOwner(admin1); + assertTrue(dpm.setDeviceOwner(admin1, null, UserHandle.USER_SYSTEM)); + + dpm.reboot(admin1); + } } diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/DpmMockContext.java b/services/tests/servicestests/src/com/android/server/devicepolicy/DpmMockContext.java index 66d701d0a3ca..56667e5ac478 100644 --- a/services/tests/servicestests/src/com/android/server/devicepolicy/DpmMockContext.java +++ b/services/tests/servicestests/src/com/android/server/devicepolicy/DpmMockContext.java @@ -134,6 +134,9 @@ public class DpmMockContext extends MockContext { public void goToSleep(long time, int reason, int flags) { } + + public void reboot(String reason) { + } } public static class SystemPropertiesForMock { diff --git a/telecomm/java/android/telecom/Call.java b/telecomm/java/android/telecom/Call.java index 92d5aa903397..5d5df959d962 100644 --- a/telecomm/java/android/telecom/Call.java +++ b/telecomm/java/android/telecom/Call.java @@ -269,7 +269,7 @@ public final class Call { * @return Whether the specified capability is supported. */ public static boolean can(int capabilities, int capability) { - return (capabilities & capability) != 0; + return (capabilities & capability) == capability; } /** @@ -351,7 +351,7 @@ public final class Call { * @return Whether the specified property is supported. */ public static boolean hasProperty(int properties, int property) { - return (properties & property) != 0; + return (properties & property) == property; } /** diff --git a/telecomm/java/android/telecom/Connection.java b/telecomm/java/android/telecom/Connection.java index 17bd08c183c5..deb98f4211b1 100644 --- a/telecomm/java/android/telecom/Connection.java +++ b/telecomm/java/android/telecom/Connection.java @@ -294,7 +294,7 @@ public abstract class Connection extends Conferenceable { * @hide */ public static boolean can(int capabilities, int capability) { - return (capabilities & capability) != 0; + return (capabilities & capability) == capability; } /** diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java index 36407e195ac6..99989377c374 100644 --- a/telephony/java/android/telephony/SubscriptionManager.java +++ b/telephony/java/android/telephony/SubscriptionManager.java @@ -1207,7 +1207,7 @@ public class SubscriptionManager { } } catch (RemoteException ex) { } - logd("getSimStateForSubscriber: simState=" + simState + " slotIdx=" + slotIdx); + return simState; } diff --git a/tools/aapt2/compile/XmlIdCollector_test.cpp b/tools/aapt2/compile/XmlIdCollector_test.cpp index 45b7af240abe..a37ea86c317f 100644 --- a/tools/aapt2/compile/XmlIdCollector_test.cpp +++ b/tools/aapt2/compile/XmlIdCollector_test.cpp @@ -37,13 +37,13 @@ TEST(XmlIdCollectorTest, CollectsIds) { XmlIdCollector collector; ASSERT_TRUE(collector.consume(context.get(), doc.get())); - EXPECT_EQ(1u, std::count(doc->file.exportedSymbols.begin(), doc->file.exportedSymbols.end(), + EXPECT_EQ(1, std::count(doc->file.exportedSymbols.begin(), doc->file.exportedSymbols.end(), SourcedResourceName{ test::parseNameOrDie(u"@id/foo"), 3u })); - EXPECT_EQ(1u, std::count(doc->file.exportedSymbols.begin(), doc->file.exportedSymbols.end(), + EXPECT_EQ(1, std::count(doc->file.exportedSymbols.begin(), doc->file.exportedSymbols.end(), SourcedResourceName{ test::parseNameOrDie(u"@id/bar"), 3u })); - EXPECT_EQ(1u, std::count(doc->file.exportedSymbols.begin(), doc->file.exportedSymbols.end(), + EXPECT_EQ(1, std::count(doc->file.exportedSymbols.begin(), doc->file.exportedSymbols.end(), SourcedResourceName{ test::parseNameOrDie(u"@id/car"), 6u })); } diff --git a/wifi/java/android/net/wifi/WifiScanner.java b/wifi/java/android/net/wifi/WifiScanner.java index 5534cad16872..76c679ce6b9f 100644 --- a/wifi/java/android/net/wifi/WifiScanner.java +++ b/wifi/java/android/net/wifi/WifiScanner.java @@ -170,18 +170,14 @@ public class WifiScanner { public int maxScansToCache; /** * if maxPeriodInMs is non zero or different than period, then this bucket is - * an exponential backoff bucket and the scan period will grow exponentially - * as per formula: actual_period(N) = period ^ (N/(step_count+1)) - * to a maximum period of max_period. + * a truncated binary exponential backoff bucket and the scan period will grow + * exponentially as per formula: actual_period(N) = period * (2 ^ (N/stepCount)) + * to maxPeriodInMs */ public int maxPeriodInMs; /** - * for exponential back off bucket: multiplier: new_period=old_period*exponent - */ - public int exponent; - /** - * for exponential back off bucket, number of scans performed at a given - * period and until the exponent is applied + * for truncated binary exponential back off bucket, number of scans to perform + * for a given period */ public int stepCount; @@ -198,7 +194,6 @@ public class WifiScanner { dest.writeInt(numBssidsPerScan); dest.writeInt(maxScansToCache); dest.writeInt(maxPeriodInMs); - dest.writeInt(exponent); dest.writeInt(stepCount); if (channels != null) { @@ -226,7 +221,6 @@ public class WifiScanner { settings.numBssidsPerScan = in.readInt(); settings.maxScansToCache = in.readInt(); settings.maxPeriodInMs = in.readInt(); - settings.exponent = in.readInt(); settings.stepCount = in.readInt(); int num_channels = in.readInt(); settings.channels = new ChannelSpec[num_channels]; |