diff options
316 files changed, 4904 insertions, 2580 deletions
diff --git a/api/current.txt b/api/current.txt index 014ae3591a28..aeaae5583304 100644 --- a/api/current.txt +++ b/api/current.txt @@ -5610,8 +5610,6 @@ package android.app { method public void enableCarMode(int); method public int getCurrentModeType(); method public int getNightMode(); - method public boolean isNightModeLocked(); - method public boolean isUiModeLocked(); method public void setNightMode(int); field public static java.lang.String ACTION_ENTER_CAR_MODE; field public static java.lang.String ACTION_ENTER_DESK_MODE; @@ -50453,6 +50451,7 @@ package java.lang { method public static long doubleToRawLongBits(double); method public double doubleValue(); method public float floatValue(); + method public static int hashCode(double); method public int intValue(); method public static boolean isInfinite(double); method public boolean isInfinite(); @@ -50460,11 +50459,15 @@ package java.lang { method public boolean isNaN(); method public static double longBitsToDouble(long); method public long longValue(); + method public static double max(double, double); + method public static double min(double, double); method public static double parseDouble(java.lang.String) throws java.lang.NumberFormatException; + method public static double sum(double, double); method public static java.lang.String toHexString(double); method public static java.lang.String toString(double); method public static java.lang.Double valueOf(java.lang.String) throws java.lang.NumberFormatException; method public static java.lang.Double valueOf(double); + field public static final int BYTES = 8; // 0x8 field public static final int MAX_EXPONENT = 1023; // 0x3ff field public static final double MAX_VALUE = 1.7976931348623157E308; field public static final int MIN_EXPONENT = -1022; // 0xfffffc02 @@ -50627,10 +50630,13 @@ package java.lang { method public static java.lang.Integer getInteger(java.lang.String); method public static java.lang.Integer getInteger(java.lang.String, int); method public static java.lang.Integer getInteger(java.lang.String, java.lang.Integer); + method public static int hashCode(int); method public static int highestOneBit(int); method public int intValue(); method public long longValue(); method public static int lowestOneBit(int); + method public static int max(int, int); + method public static int min(int, int); method public static int numberOfLeadingZeros(int); method public static int numberOfTrailingZeros(int); method public static int parseInt(java.lang.String, int) throws java.lang.NumberFormatException; @@ -50640,6 +50646,7 @@ package java.lang { method public static int rotateLeft(int, int); method public static int rotateRight(int, int); method public static int signum(int); + method public static int sum(int, int); method public static java.lang.String toBinaryString(int); method public static java.lang.String toHexString(int); method public static java.lang.String toOctalString(int); @@ -50648,6 +50655,7 @@ package java.lang { method public static java.lang.Integer valueOf(java.lang.String, int) throws java.lang.NumberFormatException; method public static java.lang.Integer valueOf(java.lang.String) throws java.lang.NumberFormatException; method public static java.lang.Integer valueOf(int); + field public static final int BYTES = 4; // 0x4 field public static final int MAX_VALUE = 2147483647; // 0x7fffffff field public static final int MIN_VALUE = -2147483648; // 0x80000000 field public static final int SIZE = 32; // 0x20 @@ -50689,10 +50697,13 @@ package java.lang { method public static java.lang.Long getLong(java.lang.String); method public static java.lang.Long getLong(java.lang.String, long); method public static java.lang.Long getLong(java.lang.String, java.lang.Long); + method public static int hashCode(long); method public static long highestOneBit(long); method public int intValue(); method public long longValue(); method public static long lowestOneBit(long); + method public static long max(long, long); + method public static long min(long, long); method public static int numberOfLeadingZeros(long); method public static int numberOfTrailingZeros(long); method public static long parseLong(java.lang.String, int) throws java.lang.NumberFormatException; @@ -50702,6 +50713,7 @@ package java.lang { method public static long rotateLeft(long, int); method public static long rotateRight(long, int); method public static int signum(long); + method public static long sum(long, long); method public static java.lang.String toBinaryString(long); method public static java.lang.String toHexString(long); method public static java.lang.String toOctalString(long); diff --git a/api/system-current.txt b/api/system-current.txt index fc252cef3b88..1a2c8547fa8c 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -5742,8 +5742,6 @@ package android.app { method public void enableCarMode(int); method public int getCurrentModeType(); method public int getNightMode(); - method public boolean isNightModeLocked(); - method public boolean isUiModeLocked(); method public void setNightMode(int); field public static java.lang.String ACTION_ENTER_CAR_MODE; field public static java.lang.String ACTION_ENTER_DESK_MODE; @@ -53556,6 +53554,7 @@ package java.lang { method public static long doubleToRawLongBits(double); method public double doubleValue(); method public float floatValue(); + method public static int hashCode(double); method public int intValue(); method public static boolean isInfinite(double); method public boolean isInfinite(); @@ -53563,11 +53562,15 @@ package java.lang { method public boolean isNaN(); method public static double longBitsToDouble(long); method public long longValue(); + method public static double max(double, double); + method public static double min(double, double); method public static double parseDouble(java.lang.String) throws java.lang.NumberFormatException; + method public static double sum(double, double); method public static java.lang.String toHexString(double); method public static java.lang.String toString(double); method public static java.lang.Double valueOf(java.lang.String) throws java.lang.NumberFormatException; method public static java.lang.Double valueOf(double); + field public static final int BYTES = 8; // 0x8 field public static final int MAX_EXPONENT = 1023; // 0x3ff field public static final double MAX_VALUE = 1.7976931348623157E308; field public static final int MIN_EXPONENT = -1022; // 0xfffffc02 @@ -53730,10 +53733,13 @@ package java.lang { method public static java.lang.Integer getInteger(java.lang.String); method public static java.lang.Integer getInteger(java.lang.String, int); method public static java.lang.Integer getInteger(java.lang.String, java.lang.Integer); + method public static int hashCode(int); method public static int highestOneBit(int); method public int intValue(); method public long longValue(); method public static int lowestOneBit(int); + method public static int max(int, int); + method public static int min(int, int); method public static int numberOfLeadingZeros(int); method public static int numberOfTrailingZeros(int); method public static int parseInt(java.lang.String, int) throws java.lang.NumberFormatException; @@ -53743,6 +53749,7 @@ package java.lang { method public static int rotateLeft(int, int); method public static int rotateRight(int, int); method public static int signum(int); + method public static int sum(int, int); method public static java.lang.String toBinaryString(int); method public static java.lang.String toHexString(int); method public static java.lang.String toOctalString(int); @@ -53751,6 +53758,7 @@ package java.lang { method public static java.lang.Integer valueOf(java.lang.String, int) throws java.lang.NumberFormatException; method public static java.lang.Integer valueOf(java.lang.String) throws java.lang.NumberFormatException; method public static java.lang.Integer valueOf(int); + field public static final int BYTES = 4; // 0x4 field public static final int MAX_VALUE = 2147483647; // 0x7fffffff field public static final int MIN_VALUE = -2147483648; // 0x80000000 field public static final int SIZE = 32; // 0x20 @@ -53792,10 +53800,13 @@ package java.lang { method public static java.lang.Long getLong(java.lang.String); method public static java.lang.Long getLong(java.lang.String, long); method public static java.lang.Long getLong(java.lang.String, java.lang.Long); + method public static int hashCode(long); method public static long highestOneBit(long); method public int intValue(); method public long longValue(); method public static long lowestOneBit(long); + method public static long max(long, long); + method public static long min(long, long); method public static int numberOfLeadingZeros(long); method public static int numberOfTrailingZeros(long); method public static long parseLong(java.lang.String, int) throws java.lang.NumberFormatException; @@ -53805,6 +53816,7 @@ package java.lang { method public static long rotateLeft(long, int); method public static long rotateRight(long, int); method public static int signum(long); + method public static long sum(long, long); method public static java.lang.String toBinaryString(long); method public static java.lang.String toHexString(long); method public static java.lang.String toOctalString(long); diff --git a/api/test-current.txt b/api/test-current.txt index 580af72ad57d..1039fed4ac4f 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -50470,6 +50470,7 @@ package java.lang { method public static long doubleToRawLongBits(double); method public double doubleValue(); method public float floatValue(); + method public static int hashCode(double); method public int intValue(); method public static boolean isInfinite(double); method public boolean isInfinite(); @@ -50477,11 +50478,15 @@ package java.lang { method public boolean isNaN(); method public static double longBitsToDouble(long); method public long longValue(); + method public static double max(double, double); + method public static double min(double, double); method public static double parseDouble(java.lang.String) throws java.lang.NumberFormatException; + method public static double sum(double, double); method public static java.lang.String toHexString(double); method public static java.lang.String toString(double); method public static java.lang.Double valueOf(java.lang.String) throws java.lang.NumberFormatException; method public static java.lang.Double valueOf(double); + field public static final int BYTES = 8; // 0x8 field public static final int MAX_EXPONENT = 1023; // 0x3ff field public static final double MAX_VALUE = 1.7976931348623157E308; field public static final int MIN_EXPONENT = -1022; // 0xfffffc02 @@ -50644,10 +50649,13 @@ package java.lang { method public static java.lang.Integer getInteger(java.lang.String); method public static java.lang.Integer getInteger(java.lang.String, int); method public static java.lang.Integer getInteger(java.lang.String, java.lang.Integer); + method public static int hashCode(int); method public static int highestOneBit(int); method public int intValue(); method public long longValue(); method public static int lowestOneBit(int); + method public static int max(int, int); + method public static int min(int, int); method public static int numberOfLeadingZeros(int); method public static int numberOfTrailingZeros(int); method public static int parseInt(java.lang.String, int) throws java.lang.NumberFormatException; @@ -50657,6 +50665,7 @@ package java.lang { method public static int rotateLeft(int, int); method public static int rotateRight(int, int); method public static int signum(int); + method public static int sum(int, int); method public static java.lang.String toBinaryString(int); method public static java.lang.String toHexString(int); method public static java.lang.String toOctalString(int); @@ -50665,6 +50674,7 @@ package java.lang { method public static java.lang.Integer valueOf(java.lang.String, int) throws java.lang.NumberFormatException; method public static java.lang.Integer valueOf(java.lang.String) throws java.lang.NumberFormatException; method public static java.lang.Integer valueOf(int); + field public static final int BYTES = 4; // 0x4 field public static final int MAX_VALUE = 2147483647; // 0x7fffffff field public static final int MIN_VALUE = -2147483648; // 0x80000000 field public static final int SIZE = 32; // 0x20 @@ -50706,10 +50716,13 @@ package java.lang { method public static java.lang.Long getLong(java.lang.String); method public static java.lang.Long getLong(java.lang.String, long); method public static java.lang.Long getLong(java.lang.String, java.lang.Long); + method public static int hashCode(long); method public static long highestOneBit(long); method public int intValue(); method public long longValue(); method public static long lowestOneBit(long); + method public static long max(long, long); + method public static long min(long, long); method public static int numberOfLeadingZeros(long); method public static int numberOfTrailingZeros(long); method public static long parseLong(java.lang.String, int) throws java.lang.NumberFormatException; @@ -50719,6 +50732,7 @@ package java.lang { method public static long rotateLeft(long, int); method public static long rotateRight(long, int); method public static int signum(long); + method public static long sum(long, long); method public static java.lang.String toBinaryString(long); method public static java.lang.String toHexString(long); method public static java.lang.String toOctalString(long); diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java index b264e8ec6993..9d8dca608c43 100644 --- a/core/java/android/app/ActivityManagerNative.java +++ b/core/java/android/app/ActivityManagerNative.java @@ -792,8 +792,9 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM if (hasBounds) { bounds = Rect.CREATOR.createFromParcel(data); } - moveTaskToDockedStack(taskId, createMode, toTop, animate, bounds); + boolean res = moveTaskToDockedStack(taskId, createMode, toTop, animate, bounds); reply.writeNoException(); + reply.writeInt(res ? 1 : 0); return true; } @@ -3809,7 +3810,7 @@ class ActivityManagerProxy implements IActivityManager reply.recycle(); } @Override - public void moveTaskToDockedStack(int taskId, int createMode, boolean toTop, boolean animate, + public boolean moveTaskToDockedStack(int taskId, int createMode, boolean toTop, boolean animate, Rect initialBounds) throws RemoteException { Parcel data = Parcel.obtain(); @@ -3827,8 +3828,10 @@ class ActivityManagerProxy implements IActivityManager } mRemote.transact(MOVE_TASK_TO_DOCKED_STACK_TRANSACTION, data, reply, 0); reply.readException(); + boolean res = reply.readInt() > 0; data.recycle(); reply.recycle(); + return res; } @Override public boolean moveTopActivityToPinnedStack(int stackId, Rect r) diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 177234c28f41..1e95c983a84f 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -4865,11 +4865,15 @@ public final class ActivityThread { Os.fchmod(fd, permissions); Os.fchown(fd, appInfo.uid, appInfo.uid); } catch (ErrnoException e) { - Log.v(TAG, "Unable to create jit profile file " + profileFile, e); + Log.v(TAG, "Unable to create jit profile file " + + profileFile + ": " + e.getMessage()); try { Os.unlink(profileFile.getAbsolutePath()); } catch (ErrnoException unlinkErr) { - Log.v(TAG, "Unable to unlink jit profile file " + profileFile, unlinkErr); + if (unlinkErr.errno != OsConstants.ENOENT) { + Log.v(TAG, "Unable to unlink jit profile file " + + profileFile + ": " + unlinkErr.getMessage()); + } } return; } finally { diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java index faa59b557a94..53cc9caf5a2f 100644 --- a/core/java/android/app/ApplicationPackageManager.java +++ b/core/java/android/app/ApplicationPackageManager.java @@ -1093,14 +1093,6 @@ public class ApplicationPackageManager extends PackageManager { } @Override - public Drawable getManagedUserBadgedDrawableForDensity(Drawable drawable, Rect badgeLocation, - int badgeDensity) { - Drawable badgeDrawable = getDrawableForDensity(badgeDensity, - com.android.internal.R.drawable.ic_corp_badge); - return getBadgedDrawable(drawable, badgeDrawable, badgeLocation, true); - } - - @Override public Drawable getUserBadgedIcon(Drawable icon, UserHandle user) { final int badgeResId = getBadgeResIdForUser(user.getIdentifier()); if (badgeResId == 0) { @@ -1132,18 +1124,14 @@ public class ApplicationPackageManager extends PackageManager { com.android.internal.R.drawable.ic_corp_badge_no_background); } - private Drawable getDrawableForDensity(int density, int drawableId) { - if (density <= 0) { - density = mContext.getResources().getDisplayMetrics().densityDpi; - } - return Resources.getSystem().getDrawableForDensity(drawableId, density); - } - private Drawable getManagedProfileIconForDensity(UserHandle user, int density, int drawableId) { UserInfo userInfo = getUserIfProfile(user.getIdentifier()); if (userInfo != null && userInfo.isManagedProfile()) { - return getDrawableForDensity(density, drawableId); + if (density <= 0) { + density = mContext.getResources().getDisplayMetrics().densityDpi; + } + return Resources.getSystem().getDrawableForDensity(drawableId, density); } return null; } diff --git a/core/java/android/app/IActivityManager.java b/core/java/android/app/IActivityManager.java index 4bfd049fca75..d78f59f06754 100644 --- a/core/java/android/app/IActivityManager.java +++ b/core/java/android/app/IActivityManager.java @@ -143,7 +143,7 @@ public interface IActivityManager extends IInterface { public boolean moveActivityTaskToBack(IBinder token, boolean nonRoot) throws RemoteException; public void moveTaskBackwards(int task) throws RemoteException; public void moveTaskToStack(int taskId, int stackId, boolean toTop) throws RemoteException; - public void moveTaskToDockedStack(int taskId, int createMode, boolean toTop, boolean animate, + public boolean moveTaskToDockedStack(int taskId, int createMode, boolean toTop, boolean animate, Rect initialBounds) throws RemoteException; public boolean moveTopActivityToPinnedStack(int stackId, Rect bounds) throws RemoteException; public void resizeStack(int stackId, Rect bounds, boolean allowResizeInDockedMode, diff --git a/core/java/android/app/UiModeManager.java b/core/java/android/app/UiModeManager.java index 73fb55f79590..69e8df87384b 100644 --- a/core/java/android/app/UiModeManager.java +++ b/core/java/android/app/UiModeManager.java @@ -17,6 +17,7 @@ package android.app; import android.annotation.IntDef; +import android.annotation.TestApi; import android.content.Context; import android.content.res.Configuration; import android.os.RemoteException; @@ -266,7 +267,9 @@ public class UiModeManager { /** * @return If UI mode is locked or not. When UI mode is locked, calls to change UI mode * like {@link #enableCarMode(int)} will silently fail. + * @hide */ + @TestApi public boolean isUiModeLocked() { if (mService != null) { try { @@ -286,7 +289,9 @@ public class UiModeManager { * mode will fail silently. * * @return {@code true} if night mode is locked or {@code false} otherwise + * @hide */ + @TestApi public boolean isNightModeLocked() { if (mService != null) { try { diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index 5285d52099d9..a1ad59085d8c 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -2750,7 +2750,7 @@ public class DevicePolicyManager { * @param admin Which {@link DeviceAdminReceiver} this request is associated with, or * {@code null} if calling from a delegated certificate installer. * @param alias The private key alias under which the certificate is installed. - * @return {@code true} if the keys were both removed, {@code false} otherwise. + * @return {@code true} if the certificate alias no longer exists, {@code false} otherwise. */ public boolean removeKeyPair(@Nullable ComponentName admin, @NonNull String alias) { try { diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index 33ee510f1426..c2d1bdda3d1f 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -4339,32 +4339,6 @@ public abstract class PackageManager { throws NameNotFoundException; /** - * Returns a managed-user-style badged copy of the given drawable allowing the user to - * distinguish it from the original drawable. - * The caller can specify the location in the bounds of the drawable to be - * badged where the badge should be applied as well as the density of the - * badge to be used. - * <p> - * If the original drawable is a BitmapDrawable and the backing bitmap is - * mutable as per {@link android.graphics.Bitmap#isMutable()}, the bading - * is performed in place and the original drawable is returned. - * </p> - * - * @param drawable The drawable to badge. - * @param badgeLocation Where in the bounds of the badged drawable to place - * the badge. If not provided, the badge is applied on top of the entire - * drawable being badged. - * @param badgeDensity The optional desired density for the badge as per - * {@link android.util.DisplayMetrics#densityDpi}. If not provided, - * the density of the display is used. - * @return A drawable that combines the original drawable and a badge as - * determined by the system. - * @hide - */ - public abstract Drawable getManagedUserBadgedDrawableForDensity(Drawable drawable, - Rect badgeLocation, int badgeDensity); - - /** * If the target user is a managed profile of the calling user or if the * target user is the caller and is itself a managed profile, then this * returns a badged copy of the given icon to be able to distinguish it from diff --git a/core/java/android/hardware/SensorEventListener.java b/core/java/android/hardware/SensorEventListener.java index 0d859fb97634..0c059ba6bbc1 100644 --- a/core/java/android/hardware/SensorEventListener.java +++ b/core/java/android/hardware/SensorEventListener.java @@ -18,28 +18,33 @@ package android.hardware; /** * Used for receiving notifications from the SensorManager when - * sensor values have changed. + * there is new sensor data. */ public interface SensorEventListener { /** - * Called when sensor values have changed. + * Called when there is a new sensor event. Note that "on changed" + * is somewhat of a misnomer, as this will also be called if we have a + * new reading from a sensor with the exact same sensor values (but a + * newer timestamp). + * * <p>See {@link android.hardware.SensorManager SensorManager} * for details on possible sensor types. * <p>See also {@link android.hardware.SensorEvent SensorEvent}. - * + * * <p><b>NOTE:</b> The application doesn't own the * {@link android.hardware.SensorEvent event} * object passed as a parameter and therefore cannot hold on to it. * The object may be part of an internal pool and may be reused by * the framework. * - * @param event the {@link android.hardware.SensorEvent SensorEvent}. + * @param event the {@link android.hardware.SensorEvent SensorEvent}. */ public void onSensorChanged(SensorEvent event); /** - * Called when the accuracy of the registered sensor has changed. + * Called when the accuracy of the registered sensor has changed. Unlike + * onSensorChanged(), this is only called when this accuracy value changes. * * <p>See the SENSOR_STATUS_* constants in * {@link android.hardware.SensorManager SensorManager} for details. diff --git a/core/java/android/hardware/SensorManager.java b/core/java/android/hardware/SensorManager.java index f0b17c30d914..5684aa5cb6fc 100644 --- a/core/java/android/hardware/SensorManager.java +++ b/core/java/android/hardware/SensorManager.java @@ -46,7 +46,7 @@ import java.util.List; * is an example of a trigger sensor. * </p> * <pre class="prettyprint"> - * public class SensorActivity extends Activity, implements SensorEventListener { + * public class SensorActivity extends Activity implements SensorEventListener { * private final SensorManager mSensorManager; * private final Sensor mAccelerometer; * diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index f091f931b433..5f1043ba8f1c 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -45,10 +45,12 @@ import android.provider.Settings; import android.telephony.SubscriptionManager; import android.util.ArrayMap; import android.util.Log; +import android.util.SparseArray; import com.android.internal.telephony.ITelephony; import com.android.internal.telephony.PhoneConstants; import com.android.internal.util.Protocol; +import com.android.internal.util.MessageUtils; import libcore.net.event.NetworkEventDispatcher; @@ -79,6 +81,13 @@ import java.util.concurrent.atomic.AtomicInteger; public class ConnectivityManager { private static final String TAG = "ConnectivityManager"; + private static final SparseArray<String> sMagicDecoderRing = MessageUtils.findMessageNames( + new Class[]{ConnectivityManager.class}, new String[]{"CALLBACK_"}); + + private static final String whatToString(int what) { + return sMagicDecoderRing.get(what, Integer.toString(what)); + } + /** * A change in network connectivity has occurred. A default connection has either * been established or lost. The NetworkInfo for the affected network is @@ -2581,9 +2590,11 @@ public class ConnectivityManager { @Override public void handleMessage(Message message) { - if (DBG) Log.d(TAG, "CM callback handler got msg " + message.what); NetworkRequest request = (NetworkRequest) getObject(message, NetworkRequest.class); Network network = (Network) getObject(message, Network.class); + if (DBG) { + Log.d(TAG, whatToString(message.what) + " for network " + network); + } switch (message.what) { case CALLBACK_PRECHECK: { NetworkCallback callback = getCallback(request, "PRECHECK"); diff --git a/core/java/android/os/storage/VolumeInfo.java b/core/java/android/os/storage/VolumeInfo.java index 4b706496db20..ea0597d8c68c 100644 --- a/core/java/android/os/storage/VolumeInfo.java +++ b/core/java/android/os/storage/VolumeInfo.java @@ -438,10 +438,6 @@ public class VolumeInfo implements Parcelable { final Intent intent = new Intent(DocumentsContract.ACTION_BROWSE); intent.addCategory(Intent.CATEGORY_DEFAULT); intent.setData(uri); - - // note that docsui treats this as *force* show advanced. So sending - // false permits advanced to be shown based on user preferences. - intent.putExtra(DocumentsContract.EXTRA_SHOW_ADVANCED, isPrimary()); intent.putExtra(DocumentsContract.EXTRA_SHOW_FILESIZE, true); return intent; } diff --git a/core/java/android/provider/DocumentsContract.java b/core/java/android/provider/DocumentsContract.java index 370009893286..3788c746826d 100644 --- a/core/java/android/provider/DocumentsContract.java +++ b/core/java/android/provider/DocumentsContract.java @@ -93,9 +93,6 @@ public final class DocumentsContract { public static final String EXTRA_PACKAGE_NAME = "android.content.extra.PACKAGE_NAME"; /** {@hide} */ - public static final String EXTRA_SHOW_ADVANCED = "android.content.extra.SHOW_ADVANCED"; - - /** {@hide} */ public static final String EXTRA_SHOW_FILESIZE = "android.content.extra.SHOW_FILESIZE"; /** {@hide} */ @@ -564,22 +561,13 @@ public final class DocumentsContract { public static final int FLAG_EMPTY = 1 << 16; /** - * Flag indicating that this root should only be visible to advanced - * users. - * - * @see #COLUMN_FLAGS - * @hide - */ - public static final int FLAG_ADVANCED = 1 << 17; - - /** * Flag indicating that this root has settings. * * @see #COLUMN_FLAGS * @see DocumentsContract#ACTION_DOCUMENT_ROOT_SETTINGS * @hide */ - public static final int FLAG_HAS_SETTINGS = 1 << 18; + public static final int FLAG_HAS_SETTINGS = 1 << 17; } /** diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java index b58c68f782ee..aa86c03c53c7 100644 --- a/core/java/android/view/SurfaceControl.java +++ b/core/java/android/view/SurfaceControl.java @@ -36,6 +36,7 @@ public class SurfaceControl { throws OutOfResourcesException; private static native void nativeRelease(long nativeObject); private static native void nativeDestroy(long nativeObject); + private static native void nativeDisconnect(long nativeObject); private static native Bitmap nativeScreenshot(IBinder displayToken, Rect sourceCrop, int width, int height, int minLayer, int maxLayer, @@ -341,6 +342,15 @@ public class SurfaceControl { mCloseGuard.close(); } + /** + * Disconnect any client still connected to the surface. + */ + public void disconnect() { + if (mNativeObject != 0) { + nativeDisconnect(mNativeObject); + } + } + private void checkNotReleased() { if (mNativeObject == 0) throw new NullPointerException( "mNativeObject is null. Have you called release() already?"); diff --git a/core/java/com/android/internal/os/BatteryStatsHelper.java b/core/java/com/android/internal/os/BatteryStatsHelper.java index f178c8cf7ece..1b521465ed18 100644 --- a/core/java/com/android/internal/os/BatteryStatsHelper.java +++ b/core/java/com/android/internal/os/BatteryStatsHelper.java @@ -754,8 +754,7 @@ public final class BatteryStatsHelper { try { ParcelFileDescriptor pfd = service.getStatisticsStream(); if (pfd != null) { - FileInputStream fis = new ParcelFileDescriptor.AutoCloseInputStream(pfd); - try { + try (FileInputStream fis = new ParcelFileDescriptor.AutoCloseInputStream(pfd)) { byte[] data = readFully(fis, MemoryFile.getSize(pfd.getFileDescriptor())); Parcel parcel = Parcel.obtain(); parcel.unmarshall(data, 0, data.length); diff --git a/core/java/com/android/internal/util/WakeupMessage.java b/core/java/com/android/internal/util/WakeupMessage.java index 451078b1b047..26537451992c 100644 --- a/core/java/com/android/internal/util/WakeupMessage.java +++ b/core/java/com/android/internal/util/WakeupMessage.java @@ -21,7 +21,9 @@ import android.content.Context; import android.os.Handler; import android.os.Message; -/** +import com.android.internal.annotations.VisibleForTesting; + + /** * An AlarmListener that sends the specified message to a Handler and keeps the system awake until * the message is processed. * @@ -36,9 +38,13 @@ import android.os.Message; */ public class WakeupMessage implements AlarmManager.OnAlarmListener { private final AlarmManager mAlarmManager; - private final Handler mHandler; - private final String mCmdName; - private final int mCmd, mArg1, mArg2; + + @VisibleForTesting + protected final Handler mHandler; + @VisibleForTesting + protected final String mCmdName; + @VisibleForTesting + protected final int mCmd, mArg1, mArg2; private boolean mScheduled; public WakeupMessage(Context context, Handler handler, diff --git a/core/java/com/android/server/net/NetworkPinner.java b/core/java/com/android/server/net/NetworkPinner.java new file mode 100644 index 000000000000..d922a48f6dc2 --- /dev/null +++ b/core/java/com/android/server/net/NetworkPinner.java @@ -0,0 +1,146 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.net; + +import android.content.Context; +import android.net.ConnectivityManager; +import android.net.ConnectivityManager.NetworkCallback; +import android.net.Network; +import android.net.NetworkRequest; +import android.util.Log; + +import com.android.internal.annotations.GuardedBy; +import com.android.internal.annotations.VisibleForTesting; + +/** + * A class that pins a process to the first network that satisfies a particular NetworkRequest. + * + * We use this to maintain compatibility with pre-M apps that call WifiManager.enableNetwork() + * to connect to a Wi-Fi network that has no Internet access, and then assume that they will be + * able to use that network because it's the system default. + * + * In order to maintain compatibility with apps that call setProcessDefaultNetwork themselves, + * we try not to set the default network unless they have already done so, and we try not to + * clear the default network unless we set it ourselves. + * + * This should maintain behaviour that's compatible with L, which would pin the whole system to + * any wifi network that was created via enableNetwork(..., true) until that network + * disconnected. + * + * Note that while this hack allows network traffic to flow, it is quite limited. For example: + * + * 1. setProcessDefaultNetwork only affects this process, so: + * - Any subprocesses spawned by this process will not be pinned to Wi-Fi. + * - If this app relies on any other apps on the device also being on Wi-Fi, that won't work + * either, because other apps on the device will not be pinned. + * 2. The behaviour of other APIs is not modified. For example: + * - getActiveNetworkInfo will return the system default network, not Wi-Fi. + * - There will be no CONNECTIVITY_ACTION broadcasts about TYPE_WIFI. + * - getProcessDefaultNetwork will not return null, so if any apps are relying on that, they + * will be surprised as well. + * + * This class is a per-process singleton because the process default network is a per-process + * singleton. + * + */ +public class NetworkPinner extends NetworkCallback { + + private static final String TAG = NetworkPinner.class.getSimpleName(); + + @VisibleForTesting + protected static final Object sLock = new Object(); + + @GuardedBy("sLock") + private static ConnectivityManager sCM; + @GuardedBy("sLock") + private static Callback sCallback; + @VisibleForTesting + @GuardedBy("sLock") + protected static Network sNetwork; + + private static void maybeInitConnectivityManager(Context context) { + // TODO: what happens if an app calls a WifiManager API before ConnectivityManager is + // registered? Can we fix this by starting ConnectivityService before WifiService? + if (sCM == null) { + // Getting a ConnectivityManager does not leak the calling context, because it stores + // the application context and not the calling context. + sCM = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + if (sCM == null) { + throw new IllegalStateException("Bad luck, ConnectivityService not started."); + } + } + } + + private static class Callback extends NetworkCallback { + @Override + public void onAvailable(Network network) { + synchronized(sLock) { + if (this != sCallback) return; + + if (sCM.getBoundNetworkForProcess() == null && sNetwork == null) { + sCM.bindProcessToNetwork(network); + sNetwork = network; + Log.d(TAG, "Wifi alternate reality enabled on network " + network); + } + sLock.notify(); + } + } + + @Override + public void onLost(Network network) { + synchronized (sLock) { + if (this != sCallback) return; + + if (network.equals(sNetwork) && network.equals(sCM.getBoundNetworkForProcess())) { + unpin(); + Log.d(TAG, "Wifi alternate reality disabled on network " + network); + } + sLock.notify(); + } + } + } + + public static void pin(Context context, NetworkRequest request) { + synchronized (sLock) { + if (sCallback == null) { + maybeInitConnectivityManager(context); + sCallback = new Callback(); + try { + sCM.registerNetworkCallback(request, sCallback); + } catch (SecurityException e) { + Log.d(TAG, "Failed to register network callback", e); + sCallback = null; + } + } + } + } + + public static void unpin() { + synchronized (sLock) { + if (sCallback != null) { + try { + sCM.bindProcessToNetwork(null); + sCM.unregisterNetworkCallback(sCallback); + } catch (SecurityException e) { + Log.d(TAG, "Failed to unregister network callback", e); + } + sCallback = null; + sNetwork = null; + } + } + } +} diff --git a/core/jni/android_view_SurfaceControl.cpp b/core/jni/android_view_SurfaceControl.cpp index 1dfe40a324b3..c838d038c4c2 100644 --- a/core/jni/android_view_SurfaceControl.cpp +++ b/core/jni/android_view_SurfaceControl.cpp @@ -110,6 +110,13 @@ static void nativeDestroy(JNIEnv* env, jclass clazz, jlong nativeObject) { ctrl->decStrong((void *)nativeCreate); } +static void nativeDisconnect(JNIEnv* env, jclass clazz, jlong nativeObject) { + SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject); + if (ctrl != NULL) { + ctrl->disconnect(); + } +} + static jobject nativeScreenshotBitmap(JNIEnv* env, jclass clazz, jobject displayTokenObj, jobject sourceCropObj, jint width, jint height, jint minLayer, jint maxLayer, bool allLayers, bool useIdentityTransform, @@ -595,6 +602,8 @@ static const JNINativeMethod sSurfaceControlMethods[] = { (void*)nativeRelease }, {"nativeDestroy", "(J)V", (void*)nativeDestroy }, + {"nativeDisconnect", "(J)V", + (void*)nativeDisconnect }, {"nativeScreenshot", "(Landroid/os/IBinder;Landroid/graphics/Rect;IIIIZZI)Landroid/graphics/Bitmap;", (void*)nativeScreenshotBitmap }, {"nativeScreenshot", "(Landroid/os/IBinder;Landroid/view/Surface;Landroid/graphics/Rect;IIIIZZ)V", diff --git a/core/res/res/drawable-nodpi/default_wallpaper.jpg b/core/res/res/drawable-nodpi/default_wallpaper.jpg Binary files differdeleted file mode 100644 index d7475b4c66db..000000000000 --- a/core/res/res/drawable-nodpi/default_wallpaper.jpg +++ /dev/null diff --git a/core/res/res/drawable-nodpi/default_wallpaper.png b/core/res/res/drawable-nodpi/default_wallpaper.png Binary files differnew file mode 100644 index 000000000000..91ad252507e5 --- /dev/null +++ b/core/res/res/drawable-nodpi/default_wallpaper.png diff --git a/core/res/res/drawable-sw600dp-nodpi/default_wallpaper.jpg b/core/res/res/drawable-sw600dp-nodpi/default_wallpaper.jpg Binary files differdeleted file mode 100644 index 03a14c09c720..000000000000 --- a/core/res/res/drawable-sw600dp-nodpi/default_wallpaper.jpg +++ /dev/null diff --git a/core/res/res/drawable-sw600dp-nodpi/default_wallpaper.png b/core/res/res/drawable-sw600dp-nodpi/default_wallpaper.png Binary files differnew file mode 100644 index 000000000000..af8e2512385a --- /dev/null +++ b/core/res/res/drawable-sw600dp-nodpi/default_wallpaper.png diff --git a/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.jpg b/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.jpg Binary files differdeleted file mode 100644 index 543d118f21a5..000000000000 --- a/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.jpg +++ /dev/null diff --git a/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.png b/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.png Binary files differnew file mode 100644 index 000000000000..cb00d82a826f --- /dev/null +++ b/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.png diff --git a/core/res/res/drawable/work_widget_mask_view_background.xml b/core/res/res/drawable/work_widget_mask_view_background.xml deleted file mode 100644 index 17f0dbc2b91c..000000000000 --- a/core/res/res/drawable/work_widget_mask_view_background.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?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. ---> - <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> - <padding android:left="5dp" android:right="5dp" android:top="5dp" android:bottom="5dp"/> - <stroke android:width="1dp" android:color="#CCCCCC" /> - </shape> diff --git a/core/res/res/layout/work_widget_mask_view.xml b/core/res/res/layout/work_widget_mask_view.xml index ce86ddc61876..3c4770552383 100644 --- a/core/res/res/layout/work_widget_mask_view.xml +++ b/core/res/res/layout/work_widget_mask_view.xml @@ -15,20 +15,24 @@ Copyright (C) 2015 The Android Open Source Project limitations under the License. --> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/work_widget_mask_frame" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="#F3374248" > + android:background="#F3374248" + android:clickable="true" > <ImageView android:id="@+id/work_widget_app_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_gravity="center"/> + android:layout_gravity="center" + android:clickable="false" /> - <ImageView + <ImageView android:id="@+id/work_widget_badge_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|right" android:layout_marginBottom="4dp" android:layout_marginRight="4dp" - android:src="@drawable/ic_corp_badge_off" /> + android:src="@drawable/ic_corp_badge_off" + android:clickable="false" /> </FrameLayout> diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml index 8c00151c5fef..7ed9a20ce2d3 100644 --- a/core/res/res/values-b+sr+Latn/strings.xml +++ b/core/res/res/values-b+sr+Latn/strings.xml @@ -163,7 +163,7 @@ <string name="contentServiceTooManyDeletesNotificationDesc" msgid="8100981435080696431">"Previše <xliff:g id="CONTENT_TYPE">%s</xliff:g> izbrisanih stavki."</string> <string name="low_memory" product="tablet" msgid="6494019234102154896">"Memorija tableta je puna! Izbrišite neke datoteke da biste oslobodili prostor."</string> <string name="low_memory" product="watch" msgid="4415914910770005166">"Memorija sata je puna. Izbrišite neke datoteke da biste oslobodili prostor."</string> - <string name="low_memory" product="tv" msgid="516619861191025923">"Skladišni prostor na TV-u je popunjen. Izbrišite neke datoteke da biste oslobodili prostor."</string> + <string name="low_memory" product="tv" msgid="516619861191025923">"Memorijski prostor na TV-u je popunjen. Izbrišite neke datoteke da biste oslobodili prostor."</string> <string name="low_memory" product="default" msgid="3475999286680000541">"Skladište telefona je puno! Izbrišite neke datoteke kako biste oslobodili prostor."</string> <string name="ssl_ca_cert_warning" msgid="5848402127455021714">"Mreža se možda nadgleda"</string> <string name="ssl_ca_cert_noti_by_unknown" msgid="4475437862189850602">"Od strane nepoznate treće strane"</string> @@ -312,7 +312,7 @@ <string name="permdesc_persistentActivity" product="tablet" msgid="8525189272329086137">"Dozvoljava aplikaciji da učini sopstvene komponente trajnim u memoriji. Ovo može da ograniči memoriju dostupnu drugim aplikacijama i uspori tablet."</string> <string name="permdesc_persistentActivity" product="tv" msgid="5086862529499103587">"Dozvoljava aplikaciji da neke svoje delove trajno zadrži u memoriji. To može da ograniči memoriju dostupnu drugim aplikacijama i uspori TV."</string> <string name="permdesc_persistentActivity" product="default" msgid="4384760047508278272">"Dozvoljava aplikaciji da učini sopstvene komponente trajnim u memoriji. Ovo može da ograniči memoriju dostupnu drugim aplikacijama i uspori telefon."</string> - <string name="permlab_getPackageSize" msgid="7472921768357981986">"merenje prostora za skladištenje u aplikaciji"</string> + <string name="permlab_getPackageSize" msgid="7472921768357981986">"merenje memorijskog prostora u aplikaciji"</string> <string name="permdesc_getPackageSize" msgid="3921068154420738296">"Dozvoljava aplikaciji da preuzme veličine kôda, podataka i keša."</string> <string name="permlab_writeSettings" msgid="2226195290955224730">"izmena podešavanja sistema"</string> <string name="permdesc_writeSettings" msgid="7775723441558907181">"Dozvoljava aplikaciji da menja podatke o podešavanju sistema. Zlonamerne aplikacije mogu da oštete konfiguraciju sistema."</string> @@ -885,9 +885,9 @@ <string name="deleteText" msgid="6979668428458199034">"Izbriši"</string> <string name="inputMethod" msgid="1653630062304567879">"Metod unosa"</string> <string name="editTextMenuTitle" msgid="4909135564941815494">"Radnje u vezi sa tekstom"</string> - <string name="low_internal_storage_view_title" msgid="5576272496365684834">"Prostor za skladištenje je na izmaku"</string> + <string name="low_internal_storage_view_title" msgid="5576272496365684834">"Memorijski prostor je na izmaku"</string> <string name="low_internal_storage_view_text" msgid="6640505817617414371">"Neke sistemske funkcije možda ne funkcionišu"</string> - <string name="low_internal_storage_view_text_no_boot" msgid="6935190099204693424">"Nema dovoljno skladišnog prostora za sistem. Uverite se da imate 250 MB slobodnog prostora i ponovo pokrenite."</string> + <string name="low_internal_storage_view_text_no_boot" msgid="6935190099204693424">"Nema dovoljno memorijskog prostora za sistem. Uverite se da imate 250 MB slobodnog prostora i ponovo pokrenite."</string> <string name="app_running_notification_title" msgid="8718335121060787914">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> je pokrenuta"</string> <string name="app_running_notification_text" msgid="4653586947747330058">"Dodirnite za više informacija ili zaustavljanje aplikacije."</string> <string name="ok" msgid="5970060430562524910">"Potvrdi"</string> diff --git a/core/res/res/values-eu-rES/strings.xml b/core/res/res/values-eu-rES/strings.xml index 67776e737109..2ed546372c0b 100644 --- a/core/res/res/values-eu-rES/strings.xml +++ b/core/res/res/values-eu-rES/strings.xml @@ -1468,7 +1468,7 @@ <string name="lock_to_app_unlock_pattern" msgid="4182192144797225137">"Eskatu desblokeatzeko eredua aingura kendu aurretik"</string> <string name="lock_to_app_unlock_password" msgid="6380979775916974414">"Eskatu pasahitza aingura kendu aurretik"</string> <string name="dock_forced_resizable" msgid="5914261505436217520">"Baliteke aplikazioak ez funtzionatzea pantaila zatituan."</string> - <string name="dock_non_resizeble_failed_to_dock_text" msgid="3871617304250207291">"Aplikazioak ez du onartzen pantaila banatua"</string> + <string name="dock_non_resizeble_failed_to_dock_text" msgid="3871617304250207291">"Aplikazioak ez du onartzen pantaila zatitua"</string> <string name="package_installed_device_owner" msgid="8420696545959087545">"Administratzaileak instalatu du"</string> <string name="package_updated_device_owner" msgid="8856631322440187071">"Administratzaileak eguneratu du"</string> <string name="package_deleted_device_owner" msgid="7650577387493101353">"Administratzaileak ezabatu du"</string> @@ -1541,7 +1541,7 @@ <string name="importance_from_person" msgid="9160133597262938296">"Garrantzitsua da eragiten dien pertsonengatik."</string> <string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="APP">%1$s</xliff:g> aplikazioari <xliff:g id="ACCOUNT">%2$s</xliff:g> kontua duen erabiltzailea sortzea baimendu nahi diozu?"</string> <string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="APP">%1$s</xliff:g> aplikazioari <xliff:g id="ACCOUNT">%2$s</xliff:g> kontua duen erabiltzailea sortzea baimendu nahi diozu? (Badago kontu hori duen erabiltzaile bat)"</string> - <string name="language_selection_title" msgid="2680677278159281088">"Gehitu hizkuntza bat"</string> + <string name="language_selection_title" msgid="2680677278159281088">"Gehitu hizkuntza"</string> <string name="country_selection_title" msgid="2954859441620215513">"Lurralde-hobespena"</string> <string name="search_language_hint" msgid="7042102592055108574">"Adierazi hizkuntza"</string> <string name="language_picker_section_suggested" msgid="8414489646861640885">"Iradokitakoak"</string> diff --git a/core/res/res/values-ky-rKG/strings.xml b/core/res/res/values-ky-rKG/strings.xml index 018e05454a80..a6ee7703213e 100644 --- a/core/res/res/values-ky-rKG/strings.xml +++ b/core/res/res/values-ky-rKG/strings.xml @@ -1468,7 +1468,7 @@ <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Бошотуудан мурун PIN суралсын"</string> <string name="lock_to_app_unlock_pattern" msgid="4182192144797225137">"Бошотуудан мурун кулпуну ачкан үлгү суралсын"</string> <string name="lock_to_app_unlock_password" msgid="6380979775916974414">"Бошотуудан мурун сырсөз суралсын"</string> - <string name="dock_forced_resizable" msgid="5914261505436217520">"Колдонмо бөлүнгөн экранда иштебей калышы мүмкүн."</string> + <string name="dock_forced_resizable" msgid="5914261505436217520">"Колдонмодо экран бөлүнбөшү мүмкүн."</string> <string name="dock_non_resizeble_failed_to_dock_text" msgid="3871617304250207291">"Колдонмодо экран бөлүнбөйт."</string> <string name="package_installed_device_owner" msgid="8420696545959087545">"Администраторуңуз тарабынан орнотулган"</string> <string name="package_updated_device_owner" msgid="8856631322440187071">"Администраторуңуз жаңырткан"</string> @@ -1542,7 +1542,7 @@ <string name="importance_from_person" msgid="9160133597262938296">"Булар сиз үчүн маанилүү адамдар."</string> <string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="APP">%1$s</xliff:g> колдонмосу <xliff:g id="ACCOUNT">%2$s</xliff:g> каттоо эсеби менен жаңы колдонуучу түзө берсинби ?"</string> <string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="APP">%1$s</xliff:g> колдонмосу <xliff:g id="ACCOUNT">%2$s</xliff:g> каттоо эсеби менен жаңы колдонуучу түзө берсинби (мындай каттоо эсеби бар колдонуучу мурунтан эле бар) ?"</string> - <string name="language_selection_title" msgid="2680677278159281088">"Тилди кошуңуз"</string> + <string name="language_selection_title" msgid="2680677278159281088">"Тил кошуңуз"</string> <string name="country_selection_title" msgid="2954859441620215513">"Чөлкөмдүк жөндөөлөр"</string> <string name="search_language_hint" msgid="7042102592055108574">"Тилди киргизиңиз"</string> <string name="language_picker_section_suggested" msgid="8414489646861640885">"Сунушталган"</string> diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml index 8604e621aa8a..ecf45b7d94c6 100644 --- a/core/res/res/values-lt/strings.xml +++ b/core/res/res/values-lt/strings.xml @@ -1579,7 +1579,7 @@ <string name="importance_from_person" msgid="9160133597262938296">"Tai svarbu dėl susijusių žmonių."</string> <string name="user_creation_account_exists" msgid="1942606193570143289">"Leisti „<xliff:g id="APP">%1$s</xliff:g>“ kurti naują <xliff:g id="ACCOUNT">%2$s</xliff:g> naudotoją?"</string> <string name="user_creation_adding" msgid="4482658054622099197">"Leisti „<xliff:g id="APP">%1$s</xliff:g>“ kurti naują <xliff:g id="ACCOUNT">%2$s</xliff:g> naudotoją (šią paskyrą naudojantis naudotojas jau yra)?"</string> - <string name="language_selection_title" msgid="2680677278159281088">"Kalbos pridėjimas"</string> + <string name="language_selection_title" msgid="2680677278159281088">"Pridėkite kalbą"</string> <string name="country_selection_title" msgid="2954859441620215513">"Regiono nuostata"</string> <string name="search_language_hint" msgid="7042102592055108574">"Įveskite kalbos pav."</string> <string name="language_picker_section_suggested" msgid="8414489646861640885">"Siūloma"</string> diff --git a/core/res/res/values-ms-rMY/strings.xml b/core/res/res/values-ms-rMY/strings.xml index 06401bf26b8f..cd31b2b8047c 100644 --- a/core/res/res/values-ms-rMY/strings.xml +++ b/core/res/res/values-ms-rMY/strings.xml @@ -1467,7 +1467,7 @@ <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Minta PIN sebelum menyahsemat"</string> <string name="lock_to_app_unlock_pattern" msgid="4182192144797225137">"Minta corak buka kunci sebelum menyahsemat"</string> <string name="lock_to_app_unlock_password" msgid="6380979775916974414">"Minta kata laluan sebelum menyahsemat"</string> - <string name="dock_forced_resizable" msgid="5914261505436217520">"Apl mungkin tidak berfungsi dengan skrin terpisah."</string> + <string name="dock_forced_resizable" msgid="5914261505436217520">"Apl mungkin tidak berfungsi dengan skrin pisah."</string> <string name="dock_non_resizeble_failed_to_dock_text" msgid="3871617304250207291">"Apl tidak menyokong skrin pisah."</string> <string name="package_installed_device_owner" msgid="8420696545959087545">"Dipasang oleh pentadbir anda"</string> <string name="package_updated_device_owner" msgid="8856631322440187071">"Dikemas kini oleh pentadbir anda"</string> diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml index d1ac852ed04a..1e3a88625107 100644 --- a/core/res/res/values-sr/strings.xml +++ b/core/res/res/values-sr/strings.xml @@ -163,7 +163,7 @@ <string name="contentServiceTooManyDeletesNotificationDesc" msgid="8100981435080696431">"Превише <xliff:g id="CONTENT_TYPE">%s</xliff:g> избрисаних ставки."</string> <string name="low_memory" product="tablet" msgid="6494019234102154896">"Меморија таблета је пуна! Избришите неке датотеке да бисте ослободили простор."</string> <string name="low_memory" product="watch" msgid="4415914910770005166">"Меморија сата је пуна. Избришите неке датотеке да бисте ослободили простор."</string> - <string name="low_memory" product="tv" msgid="516619861191025923">"Складишни простор на ТВ-у је попуњен. Избришите неке датотеке да бисте ослободили простор."</string> + <string name="low_memory" product="tv" msgid="516619861191025923">"Меморијски простор на ТВ-у је попуњен. Избришите неке датотеке да бисте ослободили простор."</string> <string name="low_memory" product="default" msgid="3475999286680000541">"Складиште телефона је пуно! Избришите неке датотеке како бисте ослободили простор."</string> <string name="ssl_ca_cert_warning" msgid="5848402127455021714">"Мрежа се можда надгледа"</string> <string name="ssl_ca_cert_noti_by_unknown" msgid="4475437862189850602">"Од стране непознате треће стране"</string> @@ -312,7 +312,7 @@ <string name="permdesc_persistentActivity" product="tablet" msgid="8525189272329086137">"Дозвољава апликацији да учини сопствене компоненте трајним у меморији. Ово може да ограничи меморију доступну другим апликацијама и успори таблет."</string> <string name="permdesc_persistentActivity" product="tv" msgid="5086862529499103587">"Дозвољава апликацији да неке своје делове трајно задржи у меморији. То може да ограничи меморију доступну другим апликацијама и успори ТВ."</string> <string name="permdesc_persistentActivity" product="default" msgid="4384760047508278272">"Дозвољава апликацији да учини сопствене компоненте трајним у меморији. Ово може да ограничи меморију доступну другим апликацијама и успори телефон."</string> - <string name="permlab_getPackageSize" msgid="7472921768357981986">"мерење простора за складиштење у апликацији"</string> + <string name="permlab_getPackageSize" msgid="7472921768357981986">"мерење меморијског простора у апликацији"</string> <string name="permdesc_getPackageSize" msgid="3921068154420738296">"Дозвољава апликацији да преузме величине кôда, података и кеша."</string> <string name="permlab_writeSettings" msgid="2226195290955224730">"измена подешавања система"</string> <string name="permdesc_writeSettings" msgid="7775723441558907181">"Дозвољава апликацији да мења податке о подешавању система. Злонамерне апликације могу да оштете конфигурацију система."</string> @@ -885,9 +885,9 @@ <string name="deleteText" msgid="6979668428458199034">"Избриши"</string> <string name="inputMethod" msgid="1653630062304567879">"Метод уноса"</string> <string name="editTextMenuTitle" msgid="4909135564941815494">"Радње у вези са текстом"</string> - <string name="low_internal_storage_view_title" msgid="5576272496365684834">"Простор за складиштење је на измаку"</string> + <string name="low_internal_storage_view_title" msgid="5576272496365684834">"Меморијски простор је на измаку"</string> <string name="low_internal_storage_view_text" msgid="6640505817617414371">"Неке системске функције можда не функционишу"</string> - <string name="low_internal_storage_view_text_no_boot" msgid="6935190099204693424">"Нема довољно складишног простора за систем. Уверите се да имате 250 MB слободног простора и поново покрените."</string> + <string name="low_internal_storage_view_text_no_boot" msgid="6935190099204693424">"Нема довољно меморијског простора за систем. Уверите се да имате 250 MB слободног простора и поново покрените."</string> <string name="app_running_notification_title" msgid="8718335121060787914">"Апликација <xliff:g id="APP_NAME">%1$s</xliff:g> је покренута"</string> <string name="app_running_notification_text" msgid="4653586947747330058">"Додирните за више информација или заустављање апликације."</string> <string name="ok" msgid="5970060430562524910">"Потврди"</string> diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml index 85616b160d61..24a5b79366c8 100644 --- a/core/res/res/values-zh-rCN/strings.xml +++ b/core/res/res/values-zh-rCN/strings.xml @@ -1467,7 +1467,7 @@ <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"取消时要求输入PIN码"</string> <string name="lock_to_app_unlock_pattern" msgid="4182192144797225137">"取消时要求绘制解锁图案"</string> <string name="lock_to_app_unlock_password" msgid="6380979775916974414">"取消时要求输入密码"</string> - <string name="dock_forced_resizable" msgid="5914261505436217520">"应用可能无法在分屏模式下运行。"</string> + <string name="dock_forced_resizable" msgid="5914261505436217520">"应用可能无法在分屏模式下正常运行。"</string> <string name="dock_non_resizeble_failed_to_dock_text" msgid="3871617304250207291">"应用不支持分屏。"</string> <string name="package_installed_device_owner" msgid="8420696545959087545">"已由管理员安装"</string> <string name="package_updated_device_owner" msgid="8856631322440187071">"由您单位的管理员更新"</string> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 44a7a8d39077..eba2e6a243fd 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2431,8 +2431,9 @@ <java-symbol type="string" name="importance_from_person" /> <java-symbol type="layout" name="work_widget_mask_view" /> + <java-symbol type="id" name="work_widget_mask_frame" /> <java-symbol type="id" name="work_widget_app_icon" /> - <java-symbol type="drawable" name="work_widget_mask_view_background" /> + <java-symbol type="id" name="work_widget_badge_icon" /> <java-symbol type="id" name="aerr_report" /> <java-symbol type="id" name="aerr_reset" /> diff --git a/core/res/res/values/themes_micro.xml b/core/res/res/values/themes_micro.xml index 8bf635e68cf9..478d66c767c0 100644 --- a/core/res/res/values/themes_micro.xml +++ b/core/res/res/values/themes_micro.xml @@ -24,7 +24,6 @@ <item name="windowBackground">@color/black</item> <item name="windowContentOverlay">@null</item> <item name="windowIsFloating">false</item> - <item name="windowSwipeToDismiss">true</item> <!-- Required to force windowInsets dispatch through application UI. --> <item name="windowOverscan">true</item> </style> @@ -42,7 +41,6 @@ <item name="windowBackground">@color/white</item> <item name="windowContentOverlay">@null</item> <item name="windowIsFloating">false</item> - <item name="windowSwipeToDismiss">true</item> <!-- Required to force windowInsets dispatch through application UI. --> <item name="windowOverscan">true</item> </style> diff --git a/data/keyboards/qwerty2.kcm b/data/keyboards/qwerty2.kcm index d96914f08f06..b981d835bdfb 100644 --- a/data/keyboards/qwerty2.kcm +++ b/data/keyboards/qwerty2.kcm @@ -23,8 +23,8 @@ key A { number: '2' base: 'a' shift, capslock: 'A' - alt: 'a' - shift+alt, capslock+alt: 'A' + alt: '\u00e1' + shift+alt, capslock+alt: '\u00c1' } key B { @@ -41,8 +41,8 @@ key C { number: '2' base: 'c' shift, capslock: 'C' - alt: '\u00e7' - shift+alt, capslock+alt: '\u00e7' + alt: '\u00a9' + shift+alt, capslock+alt: '\u00a2' } key D { @@ -50,8 +50,8 @@ key D { number: '3' base: 'd' shift, capslock: 'D' - alt: '\'' - shift+alt, capslock+alt: '\'' + alt: '\u00f0' + shift+alt, capslock+alt: '\u00d0' } key E { @@ -59,8 +59,8 @@ key E { number: '3' base: 'e' shift, capslock: 'E' - alt: '"' - shift+alt, capslock+alt: '\u0301' + alt: '\u00e9' + shift+alt, capslock+alt: '\u00c9' } key F { @@ -95,8 +95,8 @@ key I { number: '4' base: 'i' shift, capslock: 'I' - alt: '-' - shift+alt, capslock+alt: '\u0302' + alt: '\u00ed' + shift+alt, capslock+alt: '\u00cd' } key J { @@ -122,8 +122,8 @@ key L { number: '5' base: 'l' shift, capslock: 'L' - alt: ':' - shift+alt, capslock+alt: '`' + alt: '\u00f8' + shift+alt, capslock+alt: '\u00d8' } key M { @@ -131,7 +131,7 @@ key M { number: '6' base: 'm' shift, capslock: 'M' - alt: '%' + alt: '\u00b5' shift+alt, capslock+alt: none } @@ -140,8 +140,8 @@ key N { number: '6' base: 'n' shift, capslock: 'N' - alt: none - shift+alt, capslock+alt: '\u0303' + alt: '\u00f1' + shift+alt, capslock+alt: '\u00d1' } key O { @@ -149,8 +149,8 @@ key O { number: '6' base: 'o' shift, capslock: 'O' - alt: '+' - shift+alt, capslock+alt: '+' + alt: '\u00f3' + shift+alt, capslock+alt: '\u00d3' } key P { @@ -158,8 +158,8 @@ key P { number: '7' base: 'p' shift, capslock: 'P' - alt: '=' - shift+alt, capslock+alt: '\u00a5' + alt: '\u00f6' + shift+alt, capslock+alt: '\u00d6' } key Q { @@ -167,8 +167,8 @@ key Q { number: '7' base: 'q' shift, capslock: 'Q' - alt: '|' - shift+alt, capslock+alt: '\u0300' + alt: '\u00e4' + shift+alt, capslock+alt: '\u00c4' } key R { @@ -176,8 +176,8 @@ key R { number: '7' base: 'r' shift, capslock: 'R' - alt: '`' - shift+alt, capslock+alt: '\u20ac' + alt: '\u00ae' + shift+alt, capslock+alt: 'R' } key S { @@ -185,8 +185,8 @@ key S { number: '7' base: 's' shift, capslock: 'S' - alt: '\\' - shift+alt, capslock+alt: '\u00df' + alt: '\u00df' + shift+alt, capslock+alt: '\u00a7' } key T { @@ -194,8 +194,8 @@ key T { number: '8' base: 't' shift, capslock: 'T' - alt: '{' - shift+alt, capslock+alt: '\u00a3' + alt: '\u00fe' + shift+alt, capslock+alt: '\u00de' } key U { @@ -203,8 +203,8 @@ key U { number: '8' base: 'u' shift, capslock: 'U' - alt: '_' - shift+alt, capslock+alt: '\u0308' + alt: '\u00fa' + shift+alt, capslock+alt: '\u00da' } key V { @@ -221,8 +221,8 @@ key W { number: '9' base: 'w' shift, capslock: 'W' - alt: '~' - shift+alt, capslock+alt: '~' + alt: '\u00e5' + shift+alt, capslock+alt: '\u00c5' } key X { @@ -239,8 +239,8 @@ key Y { number: '9' base: 'y' shift, capslock: 'Y' - alt: '}' - shift+alt, capslock+alt: '\u00a1' + alt: '\u00fc' + shift+alt, capslock+alt: '\u00dc' } key Z { @@ -248,8 +248,8 @@ key Z { number: '9' base: 'z' shift, capslock: 'Z' - alt: 'z' - shift+alt, capslock+alt: 'Z' + alt: '\u00e6' + shift+alt, capslock+alt: '\u00c6' } key COMMA { @@ -257,8 +257,8 @@ key COMMA { number: ',' base: ',' shift: '<' - alt: ',' - shift+alt: ',' + alt: '\u00e7' + shift+alt: '\u00c7' } key PERIOD { @@ -284,7 +284,7 @@ key SLASH { number: '/' base: '/' shift: '?' - alt: '?' + alt: '\u00bf' shift+alt: '?' } @@ -320,7 +320,7 @@ key 0 { number: '0' base: '0' shift: ')' - alt: ')' + alt: '\u02bc' shift+alt: ')' } @@ -329,8 +329,8 @@ key 1 { number: '1' base: '1' shift: '!' - alt: '!' - shift+alt: '!' + alt: '\u00a1' + shift+alt: '\u00b9' } key 2 { @@ -338,7 +338,7 @@ key 2 { number: '2' base: '2' shift: '@' - alt: '@' + alt: '\u00b2' shift+alt: '@' } @@ -347,7 +347,7 @@ key 3 { number: '3' base: '3' shift: '#' - alt: '#' + alt: '\u00b3' shift+alt: '#' } @@ -356,8 +356,8 @@ key 4 { number: '4' base: '4' shift: '$' - alt: '$' - shift+alt: '$' + alt: '\u00a4' + shift+alt: '\u00a3' } key 5 { @@ -365,7 +365,7 @@ key 5 { number: '5' base: '5' shift: '%' - alt: '%' + alt: '\u20ac' shift+alt: '%' } @@ -374,8 +374,8 @@ key 6 { number: '6' base: '6' shift: '^' - alt: '^' - shift+alt: '^' + alt: '\u00bc' + shift+alt: '\u0302' } key 7 { @@ -383,7 +383,7 @@ key 7 { number: '7' base: '7' shift: '&' - alt: '&' + alt: '\u00bd' shift+alt: '&' } @@ -392,7 +392,7 @@ key 8 { number: '8' base: '8' shift: '*' - alt: '*' + alt: '\u00be' shift+alt: '*' } @@ -401,7 +401,7 @@ key 9 { number: '9' base: '9' shift: '(' - alt: '(' + alt: '\u02bb' shift+alt: '(' } @@ -410,8 +410,8 @@ key GRAVE { number: '`' base: '`' shift: '~' - alt: '`' - shift+alt: '~' + alt: '\u0300' + shift+alt: '\u0303' } key MINUS { @@ -419,7 +419,7 @@ key MINUS { number: '-' base: '-' shift: '_' - alt: '-' + alt: '\u00a5' shift+alt: '_' } @@ -428,8 +428,8 @@ key EQUALS { number: '=' base: '=' shift: '+' - alt: '=' - shift+alt: '+' + alt: '\u00d7' + shift+alt: '\u00f7' } key LEFT_BRACKET { @@ -437,7 +437,7 @@ key LEFT_BRACKET { number: '[' base: '[' shift: '{' - alt: '[' + alt: '\u00ab' shift+alt: '{' } @@ -446,7 +446,7 @@ key RIGHT_BRACKET { number: ']' base: ']' shift: '}' - alt: ']' + alt: '\u00bb' shift+alt: '}' } @@ -455,8 +455,8 @@ key BACKSLASH { number: '\\' base: '\\' shift: '|' - alt: '\\' - shift+alt: '|' + alt: '\u00ac' + shift+alt: '\u00a6' } key SEMICOLON { @@ -464,8 +464,8 @@ key SEMICOLON { number: ';' base: ';' shift: ':' - alt: ';' - shift+alt: ':' + alt: '\u00b6' + shift+alt: '\u00b0' } key APOSTROPHE { @@ -473,8 +473,8 @@ key APOSTROPHE { number: '\'' base: '\'' shift: '"' - alt: '\'' - shift+alt: '"' + alt: '\u0301' + shift+alt: '\u0308' } key STAR { diff --git a/docs/html/guide/topics/sensors/sensors_overview.jd b/docs/html/guide/topics/sensors/sensors_overview.jd index 0b3cb2b1cd48..53faca0a911a 100644 --- a/docs/html/guide/topics/sensors/sensors_overview.jd +++ b/docs/html/guide/topics/sensors/sensors_overview.jd @@ -465,6 +465,7 @@ private Sensor mSensor; ... mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); +mSensor = null; if (mSensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY) != null){ List<Sensor> gravSensors = mSensorManager.getSensorList(Sensor.TYPE_GRAVITY); @@ -476,7 +477,7 @@ if (mSensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY) != null){ } } } -else{ +if (mSensor == null){ // Use the accelerometer. if (mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER) != null){ mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); diff --git a/include/androidfw/ResourceTypes.h b/include/androidfw/ResourceTypes.h index d8801b8709ee..16bea7994177 100644 --- a/include/androidfw/ResourceTypes.h +++ b/include/androidfw/ResourceTypes.h @@ -1896,6 +1896,13 @@ private: mutable Mutex mLock; + // Mutex that controls access to the list of pre-filtered configurations + // to check when looking up entries. + // When iterating over a bag, the mLock mutex is locked. While mLock is locked, + // we do resource lookups. + // Mutex is not reentrant, so we must use a different lock than mLock. + mutable Mutex mFilteredConfigLock; + status_t mError; ResTable_config mParams; diff --git a/libs/androidfw/ResourceTypes.cpp b/libs/androidfw/ResourceTypes.cpp index 3277c36c8a33..c73bb584be3a 100644 --- a/libs/androidfw/ResourceTypes.cpp +++ b/libs/androidfw/ResourceTypes.cpp @@ -25,6 +25,7 @@ #include <string.h> #include <limits> +#include <memory> #include <type_traits> #include <androidfw/ByteBucketArray.h> @@ -3146,6 +3147,9 @@ struct ResTable::Entry { StringPoolRef keyStr; }; +template <typename T> +using SharedVector = std::shared_ptr<Vector<T>>; + struct ResTable::Type { Type(const Header* _header, const Package* _package, size_t count) @@ -3158,6 +3162,10 @@ struct ResTable::Type const uint32_t* typeSpecFlags; IdmapEntries idmapEntries; Vector<const ResTable_type*> configs; + + // The set of configurations that match the current parameters. + // This will be swapped with a new set when the parameters change. + SharedVector<const ResTable_type*> filteredConfigs; }; struct ResTable::Package @@ -4430,18 +4438,44 @@ ssize_t ResTable::getBagLocked(uint32_t resID, const bag_entry** outBag, void ResTable::setParameters(const ResTable_config* params) { - mLock.lock(); + AutoMutex _lock(mLock); + AutoMutex _lock2(mFilteredConfigLock); + if (kDebugTableGetEntry) { ALOGI("Setting parameters: %s\n", params->toString().string()); } mParams = *params; - for (size_t i=0; i<mPackageGroups.size(); i++) { + for (size_t p = 0; p < mPackageGroups.size(); p++) { + PackageGroup* packageGroup = mPackageGroups.editItemAt(p); if (kDebugTableNoisy) { - ALOGI("CLEARING BAGS FOR GROUP %zu!", i); + ALOGI("CLEARING BAGS FOR GROUP %zu!", p); + } + packageGroup->clearBagCache(); + + for (size_t t = 0; t < packageGroup->types.size(); t++) { + TypeList& typeList = packageGroup->types.editItemAt(t); + for (size_t ts = 0; ts < typeList.size(); ts++) { + Type* type = typeList.editItemAt(ts); + + SharedVector<const ResTable_type*> newFilteredConfigs = + std::make_shared<Vector<const ResTable_type*>>(); + for (size_t ti = 0; ti < type->configs.size(); ti++) { + ResTable_config config; + config.copyFromDtoH(type->configs[ti]->config); + + if (config.match(mParams)) { + newFilteredConfigs->add(type->configs[ti]); + } + } + + if (kDebugTableNoisy) { + ALOGD("Updating pkg=%zu type=%zu with %zu filtered configs", + p, t, newFilteredConfigs->size()); + } + type->filteredConfigs = newFilteredConfigs; + } } - mPackageGroups[i]->clearBagCache(); } - mLock.unlock(); } void ResTable::getParameters(ResTable_config* params) const @@ -5974,9 +6008,29 @@ status_t ResTable::getEntry( specFlags = -1; } - const size_t numConfigs = typeSpec->configs.size(); + const Vector<const ResTable_type*>* candidateConfigs = &typeSpec->configs; + + SharedVector<const ResTable_type*> filteredConfigs; + if (config && memcmp(&mParams, config, sizeof(mParams)) == 0) { + // Grab the lock first so we can safely get the current filtered list. + AutoMutex _lock(mFilteredConfigLock); + + // This configuration is equal to the one we have previously cached for, + // so use the filtered configs. + + if (typeSpec->filteredConfigs) { + // Grab a reference to the shared_ptr so it doesn't get destroyed while + // going through this list. + filteredConfigs = typeSpec->filteredConfigs; + + // Use this filtered list. + candidateConfigs = filteredConfigs.get(); + } + } + + const size_t numConfigs = candidateConfigs->size(); for (size_t c = 0; c < numConfigs; c++) { - const ResTable_type* const thisType = typeSpec->configs[c]; + const ResTable_type* const thisType = candidateConfigs->itemAt(c); if (thisType == NULL) { continue; } diff --git a/libs/hwui/BakedOpDispatcher.cpp b/libs/hwui/BakedOpDispatcher.cpp index 1aab3c79dcfd..80180068c44a 100644 --- a/libs/hwui/BakedOpDispatcher.cpp +++ b/libs/hwui/BakedOpDispatcher.cpp @@ -30,6 +30,7 @@ #include <algorithm> #include <math.h> #include <SkPaintDefaults.h> +#include <SkPathOps.h> namespace android { namespace uirenderer { @@ -527,6 +528,12 @@ void BakedOpDispatcher::onOvalOp(BakedOpRenderer& renderer, const OvalOp& op, co SkPath path; SkRect rect = getBoundsOfFill(op); path.addOval(rect); + + if (state.computedState.localProjectionPathMask != nullptr) { + // Mask the ripple path by the local space projection mask in local space. + // Note that this can create CCW paths. + Op(path, *state.computedState.localProjectionPathMask, kIntersect_SkPathOp, &path); + } renderConvexPath(renderer, state, path, *(op.paint)); } } diff --git a/libs/hwui/BakedOpState.cpp b/libs/hwui/BakedOpState.cpp index 682bd045098d..26653f77daeb 100644 --- a/libs/hwui/BakedOpState.cpp +++ b/libs/hwui/BakedOpState.cpp @@ -63,9 +63,22 @@ ResolvedRenderState::ResolvedRenderState(LinearAllocator& allocator, Snapshot& s clipState = nullptr; clippedBounds.setEmpty(); } else { - // Not rejected! compute true clippedBounds and clipSideFlags + // Not rejected! compute true clippedBounds, clipSideFlags, and path mask clipSideFlags = computeClipSideFlags(clipRect, clippedBounds); clippedBounds.doIntersect(clipRect); + + if (CC_UNLIKELY(snapshot.projectionPathMask)) { + // map projection path mask from render target space into op space, + // so intersection with op geometry is possible + Matrix4 inverseTransform; + inverseTransform.loadInverse(transform); + SkMatrix skInverseTransform; + inverseTransform.copyTo(skInverseTransform); + + auto localMask = allocator.create<SkPath>(); + snapshot.projectionPathMask->transform(skInverseTransform, localMask); + localProjectionPathMask = localMask; + } } } @@ -73,13 +86,15 @@ ResolvedRenderState::ResolvedRenderState(LinearAllocator& allocator, Snapshot& s : transform(*snapshot.transform) , clipState(snapshot.mutateClipArea().serializeClip(allocator)) , clippedBounds(clipState->rect) - , clipSideFlags(OpClipSideFlags::Full) {} + , clipSideFlags(OpClipSideFlags::Full) + , localProjectionPathMask(nullptr) {} ResolvedRenderState::ResolvedRenderState(const ClipRect* clipRect, const Rect& dstRect) : transform(Matrix4::identity()) , clipState(clipRect) , clippedBounds(dstRect) - , clipSideFlags(computeClipSideFlags(clipRect->rect, dstRect)) { + , clipSideFlags(computeClipSideFlags(clipRect->rect, dstRect)) + , localProjectionPathMask(nullptr) { clippedBounds.doIntersect(clipRect->rect); } diff --git a/libs/hwui/BakedOpState.h b/libs/hwui/BakedOpState.h index 4365ef870dda..ffe2901782a9 100644 --- a/libs/hwui/BakedOpState.h +++ b/libs/hwui/BakedOpState.h @@ -88,6 +88,7 @@ public: const ClipBase* clipState = nullptr; Rect clippedBounds; int clipSideFlags = 0; + const SkPath* localProjectionPathMask = nullptr; }; /** @@ -154,7 +155,6 @@ public: // simple state (straight pointer/value storage): const float alpha; const RoundRectClipState* roundRectClipState; - const ProjectionPathMask* projectionPathMask; const RecordedOp* op; private: @@ -165,21 +165,18 @@ private: : computedState(allocator, snapshot, recordedOp, expandForStroke) , alpha(snapshot.alpha) , roundRectClipState(snapshot.roundRectClipState) - , projectionPathMask(snapshot.projectionPathMask) , op(&recordedOp) {} BakedOpState(LinearAllocator& allocator, Snapshot& snapshot, const ShadowOp* shadowOpPtr) : computedState(allocator, snapshot) , alpha(snapshot.alpha) , roundRectClipState(snapshot.roundRectClipState) - , projectionPathMask(snapshot.projectionPathMask) , op(shadowOpPtr) {} BakedOpState(const ClipRect* clipRect, const Rect& dstRect, const RecordedOp& recordedOp) : computedState(clipRect, dstRect) , alpha(1.0f) , roundRectClipState(nullptr) - , projectionPathMask(nullptr) , op(&recordedOp) {} }; diff --git a/libs/hwui/FrameBuilder.cpp b/libs/hwui/FrameBuilder.cpp index 04de98afe85c..1bc37e25f934 100644 --- a/libs/hwui/FrameBuilder.cpp +++ b/libs/hwui/FrameBuilder.cpp @@ -389,34 +389,38 @@ void FrameBuilder::deferShadow(const RenderNodeOp& casterNodeOp) { } void FrameBuilder::deferProjectedChildren(const RenderNode& renderNode) { - const SkPath* projectionReceiverOutline = renderNode.properties().getOutline().getPath(); int count = mCanvasState.save(SaveFlags::MatrixClip); + const SkPath* projectionReceiverOutline = renderNode.properties().getOutline().getPath(); - // can't be null, since DL=null node rejection happens before deferNodePropsAndOps - const DisplayList& displayList = *(renderNode.getDisplayList()); + SkPath transformedMaskPath; // on stack, since BakedOpState makes a deep copy + if (projectionReceiverOutline) { + // transform the mask for this projector into render target space + // TODO: consider combining both transforms by stashing transform instead of applying + SkMatrix skCurrentTransform; + mCanvasState.currentTransform()->copyTo(skCurrentTransform); + projectionReceiverOutline->transform( + skCurrentTransform, + &transformedMaskPath); + mCanvasState.setProjectionPathMask(mAllocator, &transformedMaskPath); + } - const RecordedOp* op = (displayList.getOps()[displayList.projectionReceiveIndex]); - const RenderNodeOp* backgroundOp = static_cast<const RenderNodeOp*>(op); - const RenderProperties& backgroundProps = backgroundOp->renderNode->properties(); + for (size_t i = 0; i < renderNode.mProjectedNodes.size(); i++) { + RenderNodeOp* childOp = renderNode.mProjectedNodes[i]; + RenderNode& childNode = *childOp->renderNode; - // Transform renderer to match background we're projecting onto - // (by offsetting canvas by translationX/Y of background rendernode, since only those are set) - mCanvasState.translate(backgroundProps.getTranslationX(), backgroundProps.getTranslationY()); + // Draw child if it has content, but ignore state in childOp - matrix already applied to + // transformFromCompositingAncestor, and record-time clip is ignored when projecting + if (!childNode.nothingToDraw()) { + int restoreTo = mCanvasState.save(SaveFlags::MatrixClip); - // If the projection receiver has an outline, we mask projected content to it - // (which we know, apriori, are all tessellated paths) - mCanvasState.setProjectionPathMask(mAllocator, projectionReceiverOutline); + // Apply transform between ancestor and projected descendant + mCanvasState.concatMatrix(childOp->transformFromCompositingAncestor); - // draw projected nodes - for (size_t i = 0; i < renderNode.mProjectedNodes.size(); i++) { - RenderNodeOp* childOp = renderNode.mProjectedNodes[i]; + deferNodePropsAndOps(childNode); - int restoreTo = mCanvasState.save(SaveFlags::Matrix); - mCanvasState.concatMatrix(childOp->transformFromCompositingAncestor); - deferRenderNodeOpImpl(*childOp); - mCanvasState.restoreToCount(restoreTo); + mCanvasState.restoreToCount(restoreTo); + } } - mCanvasState.restoreToCount(count); } diff --git a/libs/hwui/LayerBuilder.cpp b/libs/hwui/LayerBuilder.cpp index bc39621f2cb2..c5af279653d9 100644 --- a/libs/hwui/LayerBuilder.cpp +++ b/libs/hwui/LayerBuilder.cpp @@ -140,7 +140,10 @@ public: // Identical round rect clip state means both ops will clip in the same way, or not at all. // As the state objects are const, we can compare their pointers to determine mergeability if (lhs->roundRectClipState != rhs->roundRectClipState) return false; - if (lhs->projectionPathMask != rhs->projectionPathMask) return false; + + // Local masks prevent merge, since they're potentially in different coordinate spaces + if (lhs->computedState.localProjectionPathMask + || rhs->computedState.localProjectionPathMask) return false; /* Clipping compatibility check * diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index b7a5923cdd65..7693fdcbe817 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -1148,7 +1148,9 @@ bool OpenGLRenderer::storeDisplayState(DeferredDisplayState& state, int stateDef // always store/restore, since these are just pointers state.mRoundRectClipState = currentSnapshot()->roundRectClipState; +#if !HWUI_NEW_OPS state.mProjectionPathMask = currentSnapshot()->projectionPathMask; +#endif return false; } @@ -1156,7 +1158,9 @@ void OpenGLRenderer::restoreDisplayState(const DeferredDisplayState& state, bool setGlobalMatrix(state.mMatrix); writableSnapshot()->alpha = state.mAlpha; writableSnapshot()->roundRectClipState = state.mRoundRectClipState; +#if !HWUI_NEW_OPS writableSnapshot()->projectionPathMask = state.mProjectionPathMask; +#endif if (state.mClipValid && !skipClipRestore) { writableSnapshot()->setClip(state.mClip.left, state.mClip.top, @@ -1833,6 +1837,7 @@ void OpenGLRenderer::drawCircle(float x, float y, float radius, const SkPaint* p path.addCircle(x, y, radius); } +#if !HWUI_NEW_OPS if (CC_UNLIKELY(currentSnapshot()->projectionPathMask != nullptr)) { // mask ripples with projection mask SkPath maskPath = *(currentSnapshot()->projectionPathMask->projectionMask); @@ -1852,6 +1857,7 @@ void OpenGLRenderer::drawCircle(float x, float y, float radius, const SkPaint* p // in local space. Note that this can create CCW paths. Op(path, maskPath, kIntersect_SkPathOp, &path); } +#endif drawConvexPath(path, p); } diff --git a/libs/hwui/Snapshot.cpp b/libs/hwui/Snapshot.cpp index 27fea1ff59f5..cf5e69a1e6ae 100644 --- a/libs/hwui/Snapshot.cpp +++ b/libs/hwui/Snapshot.cpp @@ -146,6 +146,9 @@ void Snapshot::resetTransform(float x, float y, float z) { } void Snapshot::buildScreenSpaceTransform(Matrix4* outTransform) const { +#if HWUI_NEW_OPS + LOG_ALWAYS_FATAL("not supported - not needed by new ops"); +#else // build (reverse ordered) list of the stack of snapshots, terminated with a NULL Vector<const Snapshot*> snapshotList; snapshotList.push(nullptr); @@ -171,6 +174,7 @@ void Snapshot::buildScreenSpaceTransform(Matrix4* outTransform) const { outTransform->multiply(*(current->transform)); } } +#endif } /////////////////////////////////////////////////////////////////////////////// @@ -223,15 +227,19 @@ void Snapshot::setClippingRoundRect(LinearAllocator& allocator, const Rect& boun } void Snapshot::setProjectionPathMask(LinearAllocator& allocator, const SkPath* path) { +#if HWUI_NEW_OPS + // TODO: remove allocator param for HWUI_NEW_OPS + projectionPathMask = path; +#else if (path) { ProjectionPathMask* mask = new (allocator) ProjectionPathMask; mask->projectionMask = path; buildScreenSpaceTransform(&(mask->projectionMaskTransform)); - projectionPathMask = mask; } else { projectionPathMask = nullptr; } +#endif } /////////////////////////////////////////////////////////////////////////////// diff --git a/libs/hwui/Snapshot.h b/libs/hwui/Snapshot.h index b03643f06f1c..3a01d049109c 100644 --- a/libs/hwui/Snapshot.h +++ b/libs/hwui/Snapshot.h @@ -63,6 +63,7 @@ public: float radius; }; +// TODO: remove for HWUI_NEW_OPS class ProjectionPathMask { public: static void* operator new(size_t size) = delete; @@ -219,6 +220,7 @@ public: * Fills outTransform with the current, total transform to screen space, * across layer boundaries. */ + // TODO: remove for HWUI_NEW_OPS void buildScreenSpaceTransform(Matrix4* outTransform) const; /** @@ -294,9 +296,13 @@ public: const RoundRectClipState* roundRectClipState; /** - * Current projection masking path - used exclusively to mask tessellated circles. + * Current projection masking path - used exclusively to mask projected, tessellated circles. */ +#if HWUI_NEW_OPS + const SkPath* projectionPathMask; +#else const ProjectionPathMask* projectionPathMask; +#endif void dump() const; diff --git a/libs/hwui/tests/unit/FrameBuilderTests.cpp b/libs/hwui/tests/unit/FrameBuilderTests.cpp index f86898fd669a..8802d07de753 100644 --- a/libs/hwui/tests/unit/FrameBuilderTests.cpp +++ b/libs/hwui/tests/unit/FrameBuilderTests.cpp @@ -990,21 +990,26 @@ TEST(FrameBuilder, projectionReorder) { EXPECT_EQ(Rect(100, 100), op.unmappedBounds); EXPECT_EQ(SK_ColorWHITE, op.paint->getColor()); expectedMatrix.loadIdentity(); + EXPECT_EQ(nullptr, state.computedState.localProjectionPathMask); break; case 1: EXPECT_EQ(Rect(-10, -10, 60, 60), op.unmappedBounds); EXPECT_EQ(SK_ColorDKGRAY, op.paint->getColor()); - expectedMatrix.loadTranslate(50, 50, 0); // TODO: should scroll be respected here? + expectedMatrix.loadTranslate(50 - scrollX, 50 - scrollY, 0); + ASSERT_NE(nullptr, state.computedState.localProjectionPathMask); + EXPECT_EQ(Rect(-35, -30, 45, 50), + Rect(state.computedState.localProjectionPathMask->getBounds())); break; case 2: EXPECT_EQ(Rect(100, 50), op.unmappedBounds); EXPECT_EQ(SK_ColorBLUE, op.paint->getColor()); expectedMatrix.loadTranslate(-scrollX, 50 - scrollY, 0); + EXPECT_EQ(nullptr, state.computedState.localProjectionPathMask); break; default: ADD_FAILURE(); } - EXPECT_MATRIX_APPROX_EQ(expectedMatrix, state.computedState.transform); + EXPECT_EQ(expectedMatrix, state.computedState.transform); } }; @@ -1045,6 +1050,9 @@ TEST(FrameBuilder, projectionReorder) { }); auto parent = TestUtils::createNode(0, 0, 100, 100, [&receiverBackground, &child](RenderProperties& properties, RecordingCanvas& canvas) { + // Set a rect outline for the projecting ripple to be masked against. + properties.mutableOutline().setRoundRect(10, 10, 90, 90, 5, 1.0f); + canvas.save(SaveFlags::MatrixClip); canvas.translate(-scrollX, -scrollY); // Apply scroll (note: bg undoes this internally) canvas.drawRenderNode(receiverBackground.get()); @@ -1059,6 +1067,145 @@ TEST(FrameBuilder, projectionReorder) { EXPECT_EQ(3, renderer.getIndex()); } +RENDERTHREAD_TEST(FrameBuilder, projectionHwLayer) { + static const int scrollX = 5; + static const int scrollY = 10; + class ProjectionHwLayerTestRenderer : public TestRendererBase { + public: + void startRepaintLayer(OffscreenBuffer* offscreenBuffer, const Rect& repaintRect) override { + EXPECT_EQ(0, mIndex++); + } + void onArcOp(const ArcOp& op, const BakedOpState& state) override { + EXPECT_EQ(1, mIndex++); + ASSERT_EQ(nullptr, state.computedState.localProjectionPathMask); + } + void endLayer() override { + EXPECT_EQ(2, mIndex++); + } + void onRectOp(const RectOp& op, const BakedOpState& state) override { + EXPECT_EQ(3, mIndex++); + ASSERT_EQ(nullptr, state.computedState.localProjectionPathMask); + } + void onOvalOp(const OvalOp& op, const BakedOpState& state) override { + EXPECT_EQ(4, mIndex++); + ASSERT_NE(nullptr, state.computedState.localProjectionPathMask); + Matrix4 expected; + expected.loadTranslate(100 - scrollX, 100 - scrollY, 0); + EXPECT_EQ(expected, state.computedState.transform); + EXPECT_EQ(Rect(-85, -80, 295, 300), + Rect(state.computedState.localProjectionPathMask->getBounds())); + } + void onLayerOp(const LayerOp& op, const BakedOpState& state) override { + EXPECT_EQ(5, mIndex++); + ASSERT_EQ(nullptr, state.computedState.localProjectionPathMask); + } + }; + auto receiverBackground = TestUtils::createNode(0, 0, 400, 400, + [](RenderProperties& properties, RecordingCanvas& canvas) { + properties.setProjectionReceiver(true); + // scroll doesn't apply to background, so undone via translationX/Y + // NOTE: translationX/Y only! no other transform properties may be set for a proj receiver! + properties.setTranslationX(scrollX); + properties.setTranslationY(scrollY); + + canvas.drawRect(0, 0, 400, 400, SkPaint()); + }); + auto projectingRipple = TestUtils::createNode(0, 0, 200, 200, + [](RenderProperties& properties, RecordingCanvas& canvas) { + properties.setProjectBackwards(true); + properties.setClipToBounds(false); + canvas.drawOval(100, 100, 300, 300, SkPaint()); // drawn mostly out of layer bounds + }); + auto child = TestUtils::createNode(100, 100, 300, 300, + [&projectingRipple](RenderProperties& properties, RecordingCanvas& canvas) { + properties.mutateLayerProperties().setType(LayerType::RenderLayer); + canvas.drawRenderNode(projectingRipple.get()); + canvas.drawArc(0, 0, 200, 200, 0.0f, 280.0f, true, SkPaint()); + }); + auto parent = TestUtils::createNode(0, 0, 400, 400, + [&receiverBackground, &child](RenderProperties& properties, RecordingCanvas& canvas) { + // Set a rect outline for the projecting ripple to be masked against. + properties.mutableOutline().setRoundRect(10, 10, 390, 390, 0, 1.0f); + canvas.translate(-scrollX, -scrollY); // Apply scroll (note: bg undoes this internally) + canvas.drawRenderNode(receiverBackground.get()); + canvas.drawRenderNode(child.get()); + }); + + OffscreenBuffer** layerHandle = child->getLayerHandle(); + + // create RenderNode's layer here in same way prepareTree would, setting windowTransform + OffscreenBuffer layer(renderThread.renderState(), Caches::getInstance(), 200, 200); + Matrix4 windowTransform; + windowTransform.loadTranslate(100, 100, 0); // total transform of layer's origin + layer.setWindowTransform(windowTransform); + *layerHandle = &layer; + + auto syncedList = TestUtils::createSyncedNodeList(parent); + LayerUpdateQueue layerUpdateQueue; // Note: enqueue damage post-sync, so bounds are valid + layerUpdateQueue.enqueueLayerWithDamage(child.get(), Rect(200, 200)); + FrameBuilder frameBuilder(layerUpdateQueue, SkRect::MakeWH(400, 400), 400, 400, + syncedList, sLightGeometry, nullptr); + ProjectionHwLayerTestRenderer renderer; + frameBuilder.replayBakedOps<TestDispatcher>(renderer); + EXPECT_EQ(6, renderer.getIndex()); + + // clean up layer pointer, so we can safely destruct RenderNode + *layerHandle = nullptr; +} + +RENDERTHREAD_TEST(FrameBuilder, projectionChildScroll) { + static const int scrollX = 500000; + static const int scrollY = 0; + class ProjectionChildScrollTestRenderer : public TestRendererBase { + public: + void onRectOp(const RectOp& op, const BakedOpState& state) override { + EXPECT_EQ(0, mIndex++); + EXPECT_TRUE(state.computedState.transform.isIdentity()); + } + void onOvalOp(const OvalOp& op, const BakedOpState& state) override { + EXPECT_EQ(1, mIndex++); + ASSERT_NE(nullptr, state.computedState.clipState); + ASSERT_EQ(ClipMode::Rectangle, state.computedState.clipState->mode); + ASSERT_EQ(Rect(400, 400), state.computedState.clipState->rect); + EXPECT_TRUE(state.computedState.transform.isIdentity()); + } + }; + auto receiverBackground = TestUtils::createNode(0, 0, 400, 400, + [](RenderProperties& properties, RecordingCanvas& canvas) { + properties.setProjectionReceiver(true); + canvas.drawRect(0, 0, 400, 400, SkPaint()); + }); + auto projectingRipple = TestUtils::createNode(0, 0, 200, 200, + [](RenderProperties& properties, RecordingCanvas& canvas) { + // scroll doesn't apply to background, so undone via translationX/Y + // NOTE: translationX/Y only! no other transform properties may be set for a proj receiver! + properties.setTranslationX(scrollX); + properties.setTranslationY(scrollY); + properties.setProjectBackwards(true); + properties.setClipToBounds(false); + canvas.drawOval(0, 0, 200, 200, SkPaint()); + }); + auto child = TestUtils::createNode(0, 0, 400, 400, + [&projectingRipple](RenderProperties& properties, RecordingCanvas& canvas) { + // Record time clip will be ignored by projectee + canvas.clipRect(100, 100, 300, 300, SkRegion::kIntersect_Op); + + canvas.translate(-scrollX, -scrollY); // Apply scroll (note: bg undoes this internally) + canvas.drawRenderNode(projectingRipple.get()); + }); + auto parent = TestUtils::createNode(0, 0, 400, 400, + [&receiverBackground, &child](RenderProperties& properties, RecordingCanvas& canvas) { + canvas.drawRenderNode(receiverBackground.get()); + canvas.drawRenderNode(child.get()); + }); + + FrameBuilder frameBuilder(sEmptyLayerUpdateQueue, SkRect::MakeWH(400, 400), 400, 400, + TestUtils::createSyncedNodeList(parent), sLightGeometry, nullptr); + ProjectionChildScrollTestRenderer renderer; + frameBuilder.replayBakedOps<TestDispatcher>(renderer); + EXPECT_EQ(2, renderer.getIndex()); +} + // creates a 100x100 shadow casting node with provided translationZ static sp<RenderNode> createWhiteRectShadowCaster(float translationZ) { return TestUtils::createNode(0, 0, 100, 100, diff --git a/media/java/android/media/MediaMetadata.java b/media/java/android/media/MediaMetadata.java index 39bcef508c0a..722605f5d544 100644 --- a/media/java/android/media/MediaMetadata.java +++ b/media/java/android/media/MediaMetadata.java @@ -16,6 +16,7 @@ package android.media; import android.annotation.NonNull; +import android.annotation.StringDef; import android.content.ContentResolver; import android.graphics.Bitmap; import android.graphics.BitmapFactory; @@ -30,6 +31,8 @@ import android.util.ArrayMap; import android.util.Log; import android.util.SparseArray; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.util.Set; /** @@ -39,6 +42,40 @@ public final class MediaMetadata implements Parcelable { private static final String TAG = "MediaMetadata"; /** + * @hide + */ + @StringDef({METADATA_KEY_TITLE, METADATA_KEY_ARTIST, METADATA_KEY_ALBUM, METADATA_KEY_AUTHOR, + METADATA_KEY_WRITER, METADATA_KEY_COMPOSER, METADATA_KEY_COMPILATION, + METADATA_KEY_DATE, METADATA_KEY_GENRE, METADATA_KEY_ALBUM_ARTIST, METADATA_KEY_ART_URI, + METADATA_KEY_ALBUM_ART_URI, METADATA_KEY_DISPLAY_TITLE, METADATA_KEY_DISPLAY_SUBTITLE, + METADATA_KEY_DISPLAY_DESCRIPTION, METADATA_KEY_DISPLAY_ICON_URI, + METADATA_KEY_MEDIA_ID}) + @Retention(RetentionPolicy.SOURCE) + public @interface TextKey {} + + /** + * @hide + */ + @StringDef({METADATA_KEY_DURATION, METADATA_KEY_YEAR, METADATA_KEY_TRACK_NUMBER, + METADATA_KEY_NUM_TRACKS, METADATA_KEY_DISC_NUMBER}) + @Retention(RetentionPolicy.SOURCE) + public @interface LongKey {} + + /** + * @hide + */ + @StringDef({METADATA_KEY_ART, METADATA_KEY_ALBUM_ART, METADATA_KEY_DISPLAY_ICON}) + @Retention(RetentionPolicy.SOURCE) + public @interface BitmapKey {} + + /** + * @hide + */ + @StringDef({METADATA_KEY_USER_RATING, METADATA_KEY_RATING}) + @Retention(RetentionPolicy.SOURCE) + public @interface RatingKey {} + + /** * The title of the media. */ public static final String METADATA_KEY_TITLE = "android.media.metadata.TITLE"; @@ -232,7 +269,7 @@ public final class MediaMetadata implements Parcelable { */ public static final String METADATA_KEY_MEDIA_ID = "android.media.metadata.MEDIA_ID"; - private static final String[] PREFERRED_DESCRIPTION_ORDER = { + private static final @TextKey String[] PREFERRED_DESCRIPTION_ORDER = { METADATA_KEY_TITLE, METADATA_KEY_ARTIST, METADATA_KEY_ALBUM, @@ -242,13 +279,13 @@ public final class MediaMetadata implements Parcelable { METADATA_KEY_COMPOSER }; - private static final String[] PREFERRED_BITMAP_ORDER = { + private static final @BitmapKey String[] PREFERRED_BITMAP_ORDER = { METADATA_KEY_DISPLAY_ICON, METADATA_KEY_ART, METADATA_KEY_ALBUM_ART }; - private static final String[] PREFERRED_URI_ORDER = { + private static final @TextKey String[] PREFERRED_URI_ORDER = { METADATA_KEY_DISPLAY_ICON_URI, METADATA_KEY_ART_URI, METADATA_KEY_ALBUM_ART_URI @@ -349,7 +386,7 @@ public final class MediaMetadata implements Parcelable { * @param key The key the value is stored under * @return a CharSequence value, or null */ - public CharSequence getText(String key) { + public CharSequence getText(@TextKey String key) { return mBundle.getCharSequence(key); } @@ -362,7 +399,7 @@ public final class MediaMetadata implements Parcelable { * @param key The key the value is stored under * @return a String value, or null */ - public String getString(String key) { + public String getString(@TextKey String key) { CharSequence text = getText(key); if (text != null) { return text.toString(); @@ -377,7 +414,7 @@ public final class MediaMetadata implements Parcelable { * @param key The key the value is stored under * @return a long value */ - public long getLong(String key) { + public long getLong(@LongKey String key) { return mBundle.getLong(key, 0); } @@ -388,7 +425,7 @@ public final class MediaMetadata implements Parcelable { * @param key The key the value is stored under * @return A {@link Rating} or null */ - public Rating getRating(String key) { + public Rating getRating(@RatingKey String key) { Rating rating = null; try { rating = mBundle.getParcelable(key); @@ -406,7 +443,7 @@ public final class MediaMetadata implements Parcelable { * @param key The key the value is stored under * @return A {@link Bitmap} or null */ - public Bitmap getBitmap(String key) { + public Bitmap getBitmap(@BitmapKey String key) { Bitmap bmp = null; try { bmp = mBundle.getParcelable(key); @@ -612,7 +649,7 @@ public final class MediaMetadata implements Parcelable { * @param value The CharSequence value to store * @return The Builder to allow chaining */ - public Builder putText(String key, CharSequence value) { + public Builder putText(@TextKey String key, CharSequence value) { if (METADATA_KEYS_TYPE.containsKey(key)) { if (METADATA_KEYS_TYPE.get(key) != METADATA_TYPE_TEXT) { throw new IllegalArgumentException("The " + key @@ -654,7 +691,7 @@ public final class MediaMetadata implements Parcelable { * @param value The String value to store * @return The Builder to allow chaining */ - public Builder putString(String key, String value) { + public Builder putString(@TextKey String key, String value) { if (METADATA_KEYS_TYPE.containsKey(key)) { if (METADATA_KEYS_TYPE.get(key) != METADATA_TYPE_TEXT) { throw new IllegalArgumentException("The " + key @@ -681,7 +718,7 @@ public final class MediaMetadata implements Parcelable { * @param value The long value to store * @return The Builder to allow chaining */ - public Builder putLong(String key, long value) { + public Builder putLong(@LongKey String key, long value) { if (METADATA_KEYS_TYPE.containsKey(key)) { if (METADATA_KEYS_TYPE.get(key) != METADATA_TYPE_LONG) { throw new IllegalArgumentException("The " + key @@ -705,7 +742,7 @@ public final class MediaMetadata implements Parcelable { * @param value The Rating value to store * @return The Builder to allow chaining */ - public Builder putRating(String key, Rating value) { + public Builder putRating(@RatingKey String key, Rating value) { if (METADATA_KEYS_TYPE.containsKey(key)) { if (METADATA_KEYS_TYPE.get(key) != METADATA_TYPE_RATING) { throw new IllegalArgumentException("The " + key @@ -734,7 +771,7 @@ public final class MediaMetadata implements Parcelable { * @param value The Bitmap to store * @return The Builder to allow chaining */ - public Builder putBitmap(String key, Bitmap value) { + public Builder putBitmap(@BitmapKey String key, Bitmap value) { if (METADATA_KEYS_TYPE.containsKey(key)) { if (METADATA_KEYS_TYPE.get(key) != METADATA_TYPE_BITMAP) { throw new IllegalArgumentException("The " + key diff --git a/media/java/android/media/MediaRouter.java b/media/java/android/media/MediaRouter.java index bcc2b40643be..d8e0d6dca9e6 100644 --- a/media/java/android/media/MediaRouter.java +++ b/media/java/android/media/MediaRouter.java @@ -1547,18 +1547,30 @@ public class MediaRouter { private Object mTag; + /** @hide */ + @IntDef({PLAYBACK_TYPE_LOCAL, PLAYBACK_TYPE_REMOTE}) + @Retention(RetentionPolicy.SOURCE) + public @interface PlaybackType {} + /** * The default playback type, "local", indicating the presentation of the media is happening * on the same device (e.g. a phone, a tablet) as where it is controlled from. * @see #getPlaybackType() */ public final static int PLAYBACK_TYPE_LOCAL = 0; + /** * A playback type indicating the presentation of the media is happening on * a different device (i.e. the remote device) than where it is controlled from. * @see #getPlaybackType() */ public final static int PLAYBACK_TYPE_REMOTE = 1; + + /** @hide */ + @IntDef({PLAYBACK_VOLUME_FIXED,PLAYBACK_VOLUME_VARIABLE}) + @Retention(RetentionPolicy.SOURCE) + private @interface PlaybackVolume {} + /** * Playback information indicating the playback volume is fixed, i.e. it cannot be * controlled from this object. An example of fixed playback volume is a remote player, @@ -1783,6 +1795,7 @@ public class MediaRouter { * @return the type of playback associated with this route * @see UserRouteInfo#setPlaybackType(int) */ + @PlaybackType public int getPlaybackType() { return mPlaybackType; } @@ -1874,6 +1887,7 @@ public class MediaRouter { * @return how volume is handling on the route * @see UserRouteInfo#setVolumeHandling(int) */ + @PlaybackVolume public int getVolumeHandling() { return mVolumeHandling; } @@ -2164,7 +2178,7 @@ public class MediaRouter { * ({@link RouteInfo#PLAYBACK_TYPE_REMOTE}). * @param type */ - public void setPlaybackType(int type) { + public void setPlaybackType(@RouteInfo.PlaybackType int type) { if (mPlaybackType != type) { mPlaybackType = type; configureSessionVolume(); @@ -2177,7 +2191,7 @@ public class MediaRouter { * ({@link RouteInfo#PLAYBACK_VOLUME_VARIABLE}). * @param volumeHandling */ - public void setVolumeHandling(int volumeHandling) { + public void setVolumeHandling(@RouteInfo.PlaybackVolume int volumeHandling) { if (mVolumeHandling != volumeHandling) { mVolumeHandling = volumeHandling; configureSessionVolume(); @@ -2268,7 +2282,8 @@ public class MediaRouter { return; } if (mPlaybackType == RemoteControlClient.PLAYBACK_TYPE_REMOTE) { - int volumeControl = VolumeProvider.VOLUME_CONTROL_FIXED; + @VolumeProvider.ControlType int volumeControl = + VolumeProvider.VOLUME_CONTROL_FIXED; switch (mVolumeHandling) { case RemoteControlClient.PLAYBACK_VOLUME_VARIABLE: volumeControl = VolumeProvider.VOLUME_CONTROL_ABSOLUTE; @@ -2294,7 +2309,8 @@ public class MediaRouter { class SessionVolumeProvider extends VolumeProvider { - public SessionVolumeProvider(int volumeControl, int maxVolume, int currentVolume) { + public SessionVolumeProvider(@VolumeProvider.ControlType int volumeControl, + int maxVolume, int currentVolume) { super(volumeControl, maxVolume, currentVolume); } diff --git a/media/java/android/media/Rating.java b/media/java/android/media/Rating.java index a518bb4552d3..04d5364f7c81 100644 --- a/media/java/android/media/Rating.java +++ b/media/java/android/media/Rating.java @@ -16,10 +16,14 @@ package android.media; +import android.annotation.IntDef; import android.os.Parcel; import android.os.Parcelable; import android.util.Log; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + /** * A class to encapsulate rating information used as content metadata. * A rating is defined by its rating style (see {@link #RATING_HEART}, @@ -32,6 +36,21 @@ public final class Rating implements Parcelable { private final static String TAG = "Rating"; /** + * @hide + */ + @IntDef({RATING_NONE, RATING_HEART, RATING_THUMB_UP_DOWN, RATING_3_STARS, RATING_4_STARS, + RATING_5_STARS, RATING_PERCENTAGE}) + @Retention(RetentionPolicy.SOURCE) + public @interface Style {} + + /** + * @hide + */ + @IntDef({RATING_3_STARS, RATING_4_STARS, RATING_5_STARS}) + @Retention(RetentionPolicy.SOURCE) + public @interface StarStyle {} + + /** * Indicates a rating style is not supported. A Rating will never have this * type, but can be used by other classes to indicate they do not support * Rating. @@ -75,7 +94,7 @@ public final class Rating implements Parcelable { private final float mRatingValue; - private Rating(int ratingStyle, float rating) { + private Rating(@Style int ratingStyle, float rating) { mRatingStyle = ratingStyle; mRatingValue = rating; } @@ -124,7 +143,7 @@ public final class Rating implements Parcelable { * or {@link #RATING_PERCENTAGE}. * @return null if an invalid rating style is passed, a new Rating instance otherwise. */ - public static Rating newUnratedRating(int ratingStyle) { + public static Rating newUnratedRating(@Style int ratingStyle) { switch(ratingStyle) { case RATING_HEART: case RATING_THUMB_UP_DOWN: @@ -172,7 +191,7 @@ public final class Rating implements Parcelable { * @return null if the rating style is invalid, or the rating is out of range, * a new Rating instance otherwise. */ - public static Rating newStarRating(int starRatingStyle, float starRating) { + public static Rating newStarRating(@StarStyle int starRatingStyle, float starRating) { float maxRating = -1.0f; switch(starRatingStyle) { case RATING_3_STARS: @@ -225,6 +244,7 @@ public final class Rating implements Parcelable { * {@link #RATING_3_STARS}, {@link #RATING_4_STARS}, {@link #RATING_5_STARS}, * or {@link #RATING_PERCENTAGE}. */ + @Style public int getRatingStyle() { return mRatingStyle; } @@ -285,4 +305,4 @@ public final class Rating implements Parcelable { return mRatingValue; } } -}
\ No newline at end of file +} diff --git a/media/java/android/media/VolumeProvider.java b/media/java/android/media/VolumeProvider.java index 5d1e0041585c..1c017c564b43 100644 --- a/media/java/android/media/VolumeProvider.java +++ b/media/java/android/media/VolumeProvider.java @@ -15,8 +15,12 @@ */ package android.media; +import android.annotation.IntDef; import android.media.session.MediaSession; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + /** * Handles requests to adjust or set the volume on a session. This is also used * to push volume updates back to the session. The provider must call @@ -26,6 +30,14 @@ import android.media.session.MediaSession; * {@link MediaSession#setPlaybackToRemote}. */ public abstract class VolumeProvider { + + /** + * @hide + */ + @IntDef({VOLUME_CONTROL_FIXED, VOLUME_CONTROL_RELATIVE, VOLUME_CONTROL_ABSOLUTE}) + @Retention(RetentionPolicy.SOURCE) + public @interface ControlType {} + /** * The volume is fixed and can not be modified. Requests to change volume * should be ignored. @@ -61,7 +73,7 @@ public abstract class VolumeProvider { * @param maxVolume The maximum allowed volume. * @param currentVolume The current volume on the output. */ - public VolumeProvider(int volumeControl, int maxVolume, int currentVolume) { + public VolumeProvider(@ControlType int volumeControl, int maxVolume, int currentVolume) { mControlType = volumeControl; mMaxVolume = maxVolume; mCurrentVolume = currentVolume; @@ -72,6 +84,7 @@ public abstract class VolumeProvider { * * @return The volume control type for this volume provider */ + @ControlType public final int getVolumeControl() { return mControlType; } @@ -145,4 +158,4 @@ public abstract class VolumeProvider { public static abstract class Callback { public abstract void onVolumeChanged(VolumeProvider volumeProvider); } -}
\ No newline at end of file +} diff --git a/media/java/android/media/browse/MediaBrowser.java b/media/java/android/media/browse/MediaBrowser.java index 9e67c151b8cc..ada0e2cc653f 100644 --- a/media/java/android/media/browse/MediaBrowser.java +++ b/media/java/android/media/browse/MediaBrowser.java @@ -633,7 +633,6 @@ public final class MediaBrowser { return; } - List<MediaItem> data = list == null ? null : list.getList(); if (DBG) { Log.d(TAG, "onLoadChildren for " + mServiceComponent + " id=" + parentId); } @@ -644,10 +643,19 @@ public final class MediaBrowser { // Tell the app. SubscriptionCallback subscriptionCallback = subscription.getCallback(options); if (subscriptionCallback != null) { + List<MediaItem> data = list == null ? null : list.getList(); if (options == null) { - subscriptionCallback.onChildrenLoaded(parentId, data); + if (data == null) { + subscriptionCallback.onError(parentId); + } else { + subscriptionCallback.onChildrenLoaded(parentId, data); + } } else { - subscriptionCallback.onChildrenLoaded(parentId, data, options); + if (data == null) { + subscriptionCallback.onError(parentId, options); + } else { + subscriptionCallback.onChildrenLoaded(parentId, data, options); + } } return; } @@ -848,21 +856,21 @@ public final class MediaBrowser { * Called when the list of children is loaded or updated. * * @param parentId The media id of the parent media item. - * @param children The children which were loaded, or null if the id is invalid. + * @param children The children which were loaded. */ - public void onChildrenLoaded(@NonNull String parentId, List<MediaItem> children) { + public void onChildrenLoaded(@NonNull String parentId, @NonNull List<MediaItem> children) { } /** * Called when the list of children is loaded or updated. * * @param parentId The media id of the parent media item. - * @param children The children which were loaded, or null if the id is invalid. + * @param children The children which were loaded. * @param options A bundle of service-specific arguments sent to the media * browse service. The contents of this bundle may affect the * information returned when browsing. */ - public void onChildrenLoaded(@NonNull String parentId, List<MediaItem> children, + public void onChildrenLoaded(@NonNull String parentId, @NonNull List<MediaItem> children, @NonNull Bundle options) { } diff --git a/media/java/android/media/session/MediaSession.java b/media/java/android/media/session/MediaSession.java index 0bd1713c4a34..7f9653d336df 100644 --- a/media/java/android/media/session/MediaSession.java +++ b/media/java/android/media/session/MediaSession.java @@ -469,7 +469,7 @@ public final class MediaSession { * <li>{@link Rating#RATING_THUMB_UP_DOWN}</li> * </ul> */ - public void setRatingType(int type) { + public void setRatingType(@Rating.Style int type) { try { mBinder.setRatingType(type); } catch (RemoteException e) { diff --git a/media/java/android/media/session/PlaybackState.java b/media/java/android/media/session/PlaybackState.java index 1485cd782605..8283c8b967e8 100644 --- a/media/java/android/media/session/PlaybackState.java +++ b/media/java/android/media/session/PlaybackState.java @@ -16,6 +16,7 @@ package android.media.session; import android.annotation.DrawableRes; +import android.annotation.IntDef; import android.annotation.Nullable; import android.media.RemoteControlClient; import android.os.Bundle; @@ -26,6 +27,9 @@ import android.text.TextUtils; import java.util.ArrayList; import java.util.List; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + /** * Playback state for a {@link MediaSession}. This includes a state like * {@link PlaybackState#STATE_PLAYING}, the current playback position, @@ -35,6 +39,17 @@ public final class PlaybackState implements Parcelable { private static final String TAG = "PlaybackState"; /** + * @hide + */ + @IntDef(flag=true, value={ACTION_STOP, ACTION_PAUSE, ACTION_PLAY, ACTION_REWIND, + ACTION_SKIP_TO_PREVIOUS, ACTION_SKIP_TO_NEXT, ACTION_FAST_FORWARD, ACTION_SET_RATING, + ACTION_SEEK_TO, ACTION_PLAY_PAUSE, ACTION_PLAY_FROM_MEDIA_ID, ACTION_PLAY_FROM_SEARCH, + ACTION_SKIP_TO_QUEUE_ITEM, ACTION_PLAY_FROM_URI, ACTION_PREPARE, + ACTION_PREPARE_FROM_MEDIA_ID, ACTION_PREPARE_FROM_SEARCH, ACTION_PREPARE_FROM_URI}) + @Retention(RetentionPolicy.SOURCE) + public @interface Actions {} + + /** * Indicates this session supports the stop command. * * @see Builder#setActions(long) @@ -161,6 +176,15 @@ public final class PlaybackState implements Parcelable { public static final long ACTION_PREPARE_FROM_URI = 1 << 17; /** + * @hide + */ + @IntDef({STATE_NONE, STATE_STOPPED, STATE_PAUSED, STATE_PLAYING, STATE_FAST_FORWARDING, + STATE_REWINDING, STATE_BUFFERING, STATE_ERROR, STATE_CONNECTING, + STATE_SKIPPING_TO_PREVIOUS, STATE_SKIPPING_TO_NEXT, STATE_SKIPPING_TO_QUEUE_ITEM}) + @Retention(RetentionPolicy.SOURCE) + public @interface State {} + + /** * This is the default playback state and indicates that no media has been * added yet, or the performer has been reset and has no content to play. * @@ -349,9 +373,11 @@ public final class PlaybackState implements Parcelable { * <li> {@link PlaybackState#STATE_SKIPPING_TO_QUEUE_ITEM}</li> * </ul> */ + @State public int getState() { return mState; } + /** * Get the current playback position in ms. */ @@ -403,6 +429,7 @@ public final class PlaybackState implements Parcelable { * <li> {@link PlaybackState#ACTION_PREPARE_FROM_URI}</li> * </ul> */ + @Actions public long getActions() { return mActions; } @@ -866,7 +893,8 @@ public final class PlaybackState implements Parcelable { * timebase that the position was updated at. * @return this */ - public Builder setState(int state, long position, float playbackSpeed, long updateTime) { + public Builder setState(@State int state, long position, float playbackSpeed, + long updateTime) { mState = state; mPosition = position; mUpdateTime = updateTime; @@ -907,7 +935,7 @@ public final class PlaybackState implements Parcelable { * normal playback. * @return this */ - public Builder setState(int state, long position, float playbackSpeed) { + public Builder setState(@State int state, long position, float playbackSpeed) { return setState(state, position, playbackSpeed, SystemClock.elapsedRealtime()); } @@ -938,7 +966,7 @@ public final class PlaybackState implements Parcelable { * @param actions The set of actions allowed. * @return this */ - public Builder setActions(long actions) { + public Builder setActions(@Actions long actions) { mActions = actions; return this; } diff --git a/media/java/android/service/media/MediaBrowserService.java b/media/java/android/service/media/MediaBrowserService.java index 480acd991283..b5ea2a0a0f03 100644 --- a/media/java/android/service/media/MediaBrowserService.java +++ b/media/java/android/service/media/MediaBrowserService.java @@ -45,6 +45,7 @@ import java.io.PrintWriter; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -120,8 +121,8 @@ public abstract class MediaBrowserService extends Service { * they are done. If more than one of those methods is called, an exception will * be thrown. * - * @see MediaBrowserService#onLoadChildren - * @see MediaBrowserService#onLoadItem + * @see #onLoadChildren + * @see #onLoadItem */ public class Result<T> { private Object mDebug; @@ -367,10 +368,16 @@ public abstract class MediaBrowserService extends Service { * {@link Result#detach result.detach} may be called before returning from * this function, and then {@link Result#sendResult result.sendResult} * called when the loading is complete. + * </p><p> + * In case the media item does not have any children, call {@link Result#sendResult} + * with an empty list which is not {@code null}. If {@code null} is sent that means + * the given {@code parentId} is invalid and {@link MediaBrowser.SubscriptionCallback#onError} + * will be called. + * </p> * * @param parentId The id of the parent media item whose children are to be * queried. - * @param result The Result to send the list of children to, or null if the + * @param result The Result to send the list of children to. Send null if the * id is invalid. */ public abstract void onLoadChildren(@NonNull String parentId, @@ -385,10 +392,16 @@ public abstract class MediaBrowserService extends Service { * {@link Result#detach result.detach} may be called before returning from * this function, and then {@link Result#sendResult result.sendResult} * called when the loading is complete. + * </p><p> + * In case the media item does not have any children, call {@link Result#sendResult} + * with an empty list which is not {@code null}. If {@code null} is sent that means + * the given {@code parentId} is invalid and {@link MediaBrowser.SubscriptionCallback#onError} + * will be called. + * </p> * * @param parentId The id of the parent media item whose children are to be * queried. - * @param result The Result to send the list of children to, or null if the + * @param result The Result to send the list of children to. Send null if the * id is invalid. * @param options A bundle of service-specific arguments sent from the media * browse. The information returned through the result should be @@ -416,7 +429,7 @@ public abstract class MediaBrowserService extends Service { * * @param itemId The id for the specific * {@link android.media.browse.MediaBrowser.MediaItem}. - * @param result The Result to send the item to, or null if the id is + * @param result The Result to send the item to. Send null if the id is * invalid. */ public void onLoadItem(String itemId, Result<MediaBrowser.MediaItem> result) { @@ -630,6 +643,9 @@ public abstract class MediaBrowserService extends Service { private List<MediaBrowser.MediaItem> applyOptions(List<MediaBrowser.MediaItem> list, final Bundle options) { + if (list == null) { + return null; + } int page = options.getInt(MediaBrowser.EXTRA_PAGE, -1); int pageSize = options.getInt(MediaBrowser.EXTRA_PAGE_SIZE, -1); if (page == -1 && pageSize == -1) { @@ -638,7 +654,7 @@ public abstract class MediaBrowserService extends Service { int fromIndex = pageSize * (page - 1); int toIndex = fromIndex + pageSize; if (page < 1 || pageSize < 1 || fromIndex >= list.size()) { - return null; + return Collections.EMPTY_LIST; } if (toIndex > list.size()) { toIndex = list.size(); diff --git a/packages/DocumentsUI/Android.mk b/packages/DocumentsUI/Android.mk index 6dfc3bbe8921..d5e48b5855e7 100644 --- a/packages/DocumentsUI/Android.mk +++ b/packages/DocumentsUI/Android.mk @@ -38,5 +38,4 @@ LOCAL_PACKAGE_NAME := DocumentsUI LOCAL_CERTIFICATE := platform include $(BUILD_PACKAGE) - -include $(LOCAL_PATH)/tests/Android.mk +include $(call all-makefiles-under, $(LOCAL_PATH)) diff --git a/packages/DocumentsUI/perf-tests/Android.mk b/packages/DocumentsUI/perf-tests/Android.mk new file mode 100644 index 000000000000..c83094e352b6 --- /dev/null +++ b/packages/DocumentsUI/perf-tests/Android.mk @@ -0,0 +1,22 @@ +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_MODULE_TAGS := tests +#LOCAL_SDK_VERSION := current + +LOCAL_SRC_FILES := $(call all-java-files-under, src) \ + $(call all-java-files-under, ../tests/src/com/android/documentsui/bots) \ + ../tests/src/com/android/documentsui/ActivityTest.java \ + ../tests/src/com/android/documentsui/DocumentsProviderHelper.java \ + ../tests/src/com/android/documentsui/StubProvider.java + +LOCAL_JAVA_LIBRARIES := android.test.runner +LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4 mockito-target ub-uiautomator + +LOCAL_PACKAGE_NAME := DocumentsUIPerfTests +LOCAL_INSTRUMENTATION_FOR := DocumentsUI + +LOCAL_CERTIFICATE := platform + +include $(BUILD_PACKAGE) + diff --git a/packages/DocumentsUI/perf-tests/AndroidManifest.xml b/packages/DocumentsUI/perf-tests/AndroidManifest.xml new file mode 100644 index 000000000000..97353e7df73b --- /dev/null +++ b/packages/DocumentsUI/perf-tests/AndroidManifest.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.documentsui.perftests"> + + <application> + <uses-library android:name="android.test.runner" /> + <provider + android:name="com.android.documentsui.StressProvider" + android:authorities="com.android.documentsui.stressprovider" + android:exported="true" + android:grantUriPermissions="true" + android:permission="android.permission.MANAGE_DOCUMENTS" + android:enabled="true"> + <intent-filter> + <action android:name="android.content.action.DOCUMENTS_PROVIDER" /> + </intent-filter> + </provider> + </application> + + <instrumentation android:name="android.test.InstrumentationTestRunner" + android:targetPackage="com.android.documentsui" + android:label="Performance tests for DocumentsUI" /> + +</manifest> diff --git a/packages/DocumentsUI/perf-tests/src/com/android/documentsui/FilesActivityPerfTest.java b/packages/DocumentsUI/perf-tests/src/com/android/documentsui/FilesActivityPerfTest.java new file mode 100644 index 000000000000..05fd2f7b19cd --- /dev/null +++ b/packages/DocumentsUI/perf-tests/src/com/android/documentsui/FilesActivityPerfTest.java @@ -0,0 +1,143 @@ +/* + * Copyright (C) 2016 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; + +import static com.android.documentsui.StressProvider.DEFAULT_AUTHORITY; +import static com.android.documentsui.StressProvider.STRESS_ROOT_0_ID; +import static com.android.documentsui.StressProvider.STRESS_ROOT_1_ID; + +import android.app.Activity; +import android.net.Uri; +import android.os.Bundle; +import android.os.RemoteException; +import android.test.suitebuilder.annotation.LargeTest; +import android.util.Log; +import android.view.KeyEvent; + +import com.android.documentsui.model.RootInfo; +import com.android.documentsui.EventListener; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Random; +import java.util.concurrent.CountDownLatch; + +@LargeTest +public class FilesActivityPerfTest extends ActivityTest<FilesActivity> { + + // Constants starting with KEY_ are used to report metrics to APCT. + private static final String KEY_FILES_LISTED_PERFORMANCE_FIRST = + "files-listed-performance-first"; + + private static final String KEY_FILES_LISTED_PERFORMANCE_MEDIAN = + "files-listed-performance-median"; + + private static final String TESTED_URI = + "content://com.android.documentsui.stressprovider/document/STRESS_ROOT_1_DOC"; + + private static final int NUM_MEASUREMENTS = 10; + + public FilesActivityPerfTest() { + super(FilesActivity.class); + } + + @Override + protected RootInfo getInitialRoot() { + return rootDir0; + } + + @Override + protected String getTestingProviderAuthority() { + return DEFAULT_AUTHORITY; + } + + @Override + protected void setupTestingRoots() throws RemoteException { + rootDir0 = mDocsHelper.getRoot(STRESS_ROOT_0_ID); + rootDir1 = mDocsHelper.getRoot(STRESS_ROOT_1_ID); + } + + @Override + public void initTestFiles() throws RemoteException { + // Nothing to create, already done by StressProvider. + } + + public void testFilesListedPerformance() throws Exception { + final BaseActivity activity = getActivity(); + + final List<Long> measurements = new ArrayList<Long>(); + EventListener listener; + for (int i = 0; i < 10; i++) { + final CountDownLatch signal = new CountDownLatch(1); + listener = new EventListener() { + @Override + public void onDirectoryNavigated(Uri uri) { + if (uri != null && TESTED_URI.equals(uri.toString())) { + mStartTime = System.currentTimeMillis(); + } else { + mStartTime = -1; + } + } + + @Override + public void onDirectoryLoaded(Uri uri) { + if (uri == null || !TESTED_URI.equals(uri.toString())) { + return; + } + assertTrue(mStartTime != -1); + getInstrumentation().waitForIdle(new Runnable() { + @Override + public void run() { + assertTrue(mStartTime != -1); + measurements.add(System.currentTimeMillis() - mStartTime); + signal.countDown(); + } + }); + } + + private long mStartTime = -1; + }; + + try { + activity.addEventListener(listener); + bots.roots.openRoot(STRESS_ROOT_1_ID); + signal.await(); + } finally { + activity.removeEventListener(listener); + } + + assertEquals(i, measurements.size()); + + // Go back to the empty root. + bots.roots.openRoot(STRESS_ROOT_0_ID); + } + + assertEquals(NUM_MEASUREMENTS, measurements.size()); + + final Bundle status = new Bundle(); + status.putDouble(KEY_FILES_LISTED_PERFORMANCE_FIRST, measurements.get(0)); + + final Long[] rawMeasurements = measurements.toArray(new Long[NUM_MEASUREMENTS]); + Arrays.sort(rawMeasurements); + + final long median = rawMeasurements[NUM_MEASUREMENTS / 2 - 1]; + status.putDouble(KEY_FILES_LISTED_PERFORMANCE_MEDIAN, median); + + getInstrumentation().sendStatus(Activity.RESULT_OK, status); + } +} diff --git a/packages/DocumentsUI/perf-tests/src/com/android/documentsui/StressProvider.java b/packages/DocumentsUI/perf-tests/src/com/android/documentsui/StressProvider.java new file mode 100644 index 000000000000..1bc802a00ec6 --- /dev/null +++ b/packages/DocumentsUI/perf-tests/src/com/android/documentsui/StressProvider.java @@ -0,0 +1,149 @@ +/* + * Copyright (C) 2016 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; + +import android.content.Context; +import android.content.pm.ProviderInfo; +import android.database.Cursor; +import android.database.MatrixCursor.RowBuilder; +import android.database.MatrixCursor; +import android.os.CancellationSignal; +import android.os.FileUtils; +import android.os.ParcelFileDescriptor; +import android.provider.DocumentsContract.Document; +import android.provider.DocumentsContract.Root; +import android.provider.DocumentsContract; +import android.provider.DocumentsProvider; + +import java.io.File; +import java.io.FileNotFoundException; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +/** + * Provider with thousands of files for testing loading time of directories in DocumentsUI. + * It doesn't support any file operations. + */ +public class StressProvider extends DocumentsProvider { + + public static final String DEFAULT_AUTHORITY = "com.android.documentsui.stressprovider"; + + // Empty root. + public static final String STRESS_ROOT_0_ID = "STRESS_ROOT_0"; + + // Root with thousands of items. + public static final String STRESS_ROOT_1_ID = "STRESS_ROOT_1"; + + private static final String STRESS_ROOT_0_DOC_ID = "STRESS_ROOT_0_DOC"; + private static final String STRESS_ROOT_1_DOC_ID = "STRESS_ROOT_1_DOC"; + + private static final String[] DEFAULT_ROOT_PROJECTION = new String[] { + Root.COLUMN_ROOT_ID, Root.COLUMN_FLAGS, Root.COLUMN_TITLE, Root.COLUMN_DOCUMENT_ID, + Root.COLUMN_AVAILABLE_BYTES + }; + private static final String[] DEFAULT_DOCUMENT_PROJECTION = new String[] { + Document.COLUMN_DOCUMENT_ID, Document.COLUMN_MIME_TYPE, Document.COLUMN_DISPLAY_NAME, + Document.COLUMN_LAST_MODIFIED, Document.COLUMN_FLAGS, Document.COLUMN_SIZE, + }; + + private String mAuthority = DEFAULT_AUTHORITY; + private ArrayList<String> mIds = new ArrayList<>(); + + @Override + public void attachInfo(Context context, ProviderInfo info) { + mAuthority = info.authority; + super.attachInfo(context, info); + } + + @Override + public boolean onCreate() { + mIds = new ArrayList(); + for (int i = 0; i < 10000; i++) { + mIds.add(createRandomId(i)); + } + mIds.add(STRESS_ROOT_0_DOC_ID); + mIds.add(STRESS_ROOT_1_DOC_ID); + return true; + } + + @Override + public Cursor queryRoots(String[] projection) throws FileNotFoundException { + final MatrixCursor result = new MatrixCursor(DEFAULT_ROOT_PROJECTION); + includeRoot(result, STRESS_ROOT_0_ID, STRESS_ROOT_0_DOC_ID); + includeRoot(result, STRESS_ROOT_1_ID, STRESS_ROOT_1_DOC_ID); + return result; + } + + @Override + public Cursor queryDocument(String documentId, String[] projection) + throws FileNotFoundException { + final MatrixCursor result = new MatrixCursor(DEFAULT_DOCUMENT_PROJECTION); + includeDocument(result, documentId); + return result; + } + + @Override + public Cursor queryChildDocuments(String parentDocumentId, String[] projection, String sortOrder) + throws FileNotFoundException { + final MatrixCursor result = new MatrixCursor(DEFAULT_DOCUMENT_PROJECTION); + if (STRESS_ROOT_1_DOC_ID.equals(parentDocumentId)) { + for (String id : mIds) { + includeDocument(result, id); + } + } + return result; + } + + @Override + public ParcelFileDescriptor openDocument(String docId, String mode, CancellationSignal signal) + throws FileNotFoundException { + throw new UnsupportedOperationException(); + } + + private void includeRoot(MatrixCursor result, String rootId, String docId) { + final RowBuilder row = result.newRow(); + row.add(Root.COLUMN_ROOT_ID, rootId); + row.add(Root.COLUMN_FLAGS, 0); + row.add(Root.COLUMN_TITLE, rootId); + row.add(Root.COLUMN_DOCUMENT_ID, docId); + } + + private void includeDocument(MatrixCursor result, String id) { + final RowBuilder row = result.newRow(); + row.add(Document.COLUMN_DOCUMENT_ID, id); + row.add(Document.COLUMN_DISPLAY_NAME, id); + row.add(Document.COLUMN_SIZE, 0); + row.add(Document.COLUMN_MIME_TYPE, DocumentsContract.Document.MIME_TYPE_DIR); + row.add(Document.COLUMN_FLAGS, 0); + row.add(Document.COLUMN_LAST_MODIFIED, null); + } + + private static String getDocumentIdForFile(File file) { + return file.getAbsolutePath(); + } + + private String createRandomId(int index) { + final Random random = new Random(index); + final StringBuilder builder = new StringBuilder(); + for (int i = 0; i < 20; i++) { + builder.append((char) (random.nextInt(96) + 32)); + } + builder.append(index); // Append a number to guarantee uniqueness. + return builder.toString(); + } +} diff --git a/packages/DocumentsUI/res/layout/dialog_delete_confirmation.xml b/packages/DocumentsUI/res/layout/dialog_delete_confirmation.xml new file mode 100644 index 000000000000..990ce0b3352b --- /dev/null +++ b/packages/DocumentsUI/res/layout/dialog_delete_confirmation.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2016 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. +--> + +<TextView + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingTop="30dp" + android:gravity="center" + android:textAppearance="@android:style/TextAppearance.Material.Subhead" + android:textColor="@*android:color/primary_text_default_material_light"> +</TextView> diff --git a/packages/DocumentsUI/res/layout/item_root.xml b/packages/DocumentsUI/res/layout/item_root.xml index ff80d0730b41..816cb8a0d556 100644 --- a/packages/DocumentsUI/res/layout/item_root.xml +++ b/packages/DocumentsUI/res/layout/item_root.xml @@ -27,8 +27,6 @@ <FrameLayout android:layout_width="@dimen/icon_size" android:layout_height="@dimen/icon_size" - android:layout_marginStart="@dimen/root_icon_margin" - android:layout_marginEnd="@dimen/root_icon_margin" android:duplicateParentState="true"> <ImageView @@ -55,7 +53,7 @@ android:singleLine="true" android:ellipsize="end" android:textAlignment="viewStart" - android:textAppearance="@android:style/TextAppearance.Material.Body1" + android:textAppearance="@android:style/TextAppearance.Material.Menu" android:textColor="@color/item_root_primary_text" /> <TextView @@ -65,7 +63,7 @@ android:singleLine="true" android:ellipsize="end" android:textAlignment="viewStart" - android:textAppearance="@android:style/TextAppearance.Material.Body1" + android:textAppearance="@android:style/TextAppearance.Material.Caption" android:textColor="@color/item_root_primary_text" /> </LinearLayout> diff --git a/packages/DocumentsUI/res/menu/activity.xml b/packages/DocumentsUI/res/menu/activity.xml index 73571af20134..79f6fa994232 100644 --- a/packages/DocumentsUI/res/menu/activity.xml +++ b/packages/DocumentsUI/res/menu/activity.xml @@ -84,10 +84,6 @@ android:showAsAction="never" android:visible="false" /> <item - android:id="@+id/menu_advanced" - android:showAsAction="never" - android:visible="false" /> - <item android:id="@+id/menu_settings" android:title="@string/menu_settings" android:showAsAction="never" diff --git a/packages/DocumentsUI/res/values-af/strings.xml b/packages/DocumentsUI/res/values-af/strings.xml index 9c665029a2de..8846b62f0c5f 100644 --- a/packages/DocumentsUI/res/values-af/strings.xml +++ b/packages/DocumentsUI/res/values-af/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Deel via"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Kopieer tans lêers"</string> <string name="move_notification_title" msgid="6193835179777284805">"Skuif tans lêers"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Vee tans lêers uit"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> oor"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other">Kopieer tans <xliff:g id="COUNT_1">%1$d</xliff:g> lêers.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Sommige lêers is omgeskakel"</string> <string name="allow" msgid="7225948811296386551">"Laat toe"</string> <string name="deny" msgid="2081879885755434506">"Weier"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Vee lêers uit?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">Is jy seker jy wil <xliff:g id="COUNT_1">%1$d</xliff:g> lêers uitvee?</item> + <item quantity="one">Is jy seker jy wil <xliff:g id="COUNT_0">%1$d</xliff:g> lêer uitvee?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-am/strings.xml b/packages/DocumentsUI/res/values-am/strings.xml index c255e36181aa..6f975dac6392 100644 --- a/packages/DocumentsUI/res/values-am/strings.xml +++ b/packages/DocumentsUI/res/values-am/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"በሚከተለው በኩል ያጋሩ"</string> <string name="copy_notification_title" msgid="6374299806748219777">"ፋይሎች በመገልበጥ ላይ"</string> <string name="move_notification_title" msgid="6193835179777284805">"ፋይሎችን በመውሰድ ላይ"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"ፋይሎችን በመሰረዝ ላይ"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> ቀርቷል"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ፋይሎች በመቅዳት ላይ።</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"አንዳንድ ፋይሎች ተለውጠዋል"</string> <string name="allow" msgid="7225948811296386551">"ይፍቀዱ"</string> <string name="deny" msgid="2081879885755434506">"ያስተባብሉ"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"ፋይሎች ይሰረዙ?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="one">እርግጠኛ ነዎት <xliff:g id="COUNT_1">%1$d</xliff:g> ፋይሎችን መሰረዝ ይፈልጋሉ?</item> + <item quantity="other">እርግጠኛ ነዎት <xliff:g id="COUNT_1">%1$d</xliff:g> ፋይሎችን መሰረዝ ይፈልጋሉ?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-b+sr+Latn/strings.xml b/packages/DocumentsUI/res/values-b+sr+Latn/strings.xml index 81a4f9bdf98a..ea4485b71c19 100644 --- a/packages/DocumentsUI/res/values-b+sr+Latn/strings.xml +++ b/packages/DocumentsUI/res/values-b+sr+Latn/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Delite preko"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Kopiranje datoteka"</string> <string name="move_notification_title" msgid="6193835179777284805">"Datoteke se premeštaju"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Datoteke se brišu"</string> <string name="copy_remaining" msgid="6283790937387975095">"Još <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="one">Kopiranje <xliff:g id="COUNT_1">%1$d</xliff:g> datoteke.</item> @@ -120,7 +119,10 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Neke datoteke su konvertovane"</string> <string name="allow" msgid="7225948811296386551">"Dozvoli"</string> <string name="deny" msgid="2081879885755434506">"Odbij"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Želite li da izbrišete datoteke?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="one">Želite li stvarno da izbrišete <xliff:g id="COUNT_1">%1$d</xliff:g> datoteku?</item> + <item quantity="few">Želite li stvarno da izbrišete <xliff:g id="COUNT_1">%1$d</xliff:g> datoteke?</item> + <item quantity="other">Želite li stvarno da izbrišete <xliff:g id="COUNT_1">%1$d</xliff:g> datoteka?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-bg/strings.xml b/packages/DocumentsUI/res/values-bg/strings.xml index 7c096d965eeb..66af887d939e 100644 --- a/packages/DocumentsUI/res/values-bg/strings.xml +++ b/packages/DocumentsUI/res/values-bg/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Споделяне чрез"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Файловете се копират"</string> <string name="move_notification_title" msgid="6193835179777284805">"Файловете се преместват"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Изтриване на файлове"</string> <string name="copy_remaining" msgid="6283790937387975095">"Оставащо време: <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other">Копират се <xliff:g id="COUNT_1">%1$d</xliff:g> файла.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Някои файлове бяха преобразувани"</string> <string name="allow" msgid="7225948811296386551">"Разрешаване"</string> <string name="deny" msgid="2081879885755434506">"Отказване"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Да се изтрият ли файловете?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">Наистина ли искате да изтриете <xliff:g id="COUNT_1">%1$d</xliff:g> файла?</item> + <item quantity="one">Наистина ли искате да изтриете <xliff:g id="COUNT_0">%1$d</xliff:g> файл?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-bs-rBA/strings.xml b/packages/DocumentsUI/res/values-bs-rBA/strings.xml index 68a2b422220f..9f5f9321f3dd 100644 --- a/packages/DocumentsUI/res/values-bs-rBA/strings.xml +++ b/packages/DocumentsUI/res/values-bs-rBA/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Podijeli preko"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Kopiraju se fajlovi"</string> <string name="move_notification_title" msgid="6193835179777284805">"Premještanje fajlova"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Brisanje fajlova"</string> <string name="copy_remaining" msgid="6283790937387975095">"Još <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="one">Kopira se <xliff:g id="COUNT_1">%1$d</xliff:g> fajl.</item> @@ -120,7 +119,10 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Neke od datoteka su pretvorene"</string> <string name="allow" msgid="7225948811296386551">"Dozvoli"</string> <string name="deny" msgid="2081879885755434506">"Odbijte"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Zaista želite obrisati fajlove?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="one"> Jeste li sigurni da želite izbrisati <xliff:g id="COUNT_1">%1$d</xliff:g> fajl?</item> + <item quantity="few"> Jeste li sigurni da želite izbrisati <xliff:g id="COUNT_1">%1$d</xliff:g> fajla?</item> + <item quantity="other"> Jeste li sigurni da želite izbrisati <xliff:g id="COUNT_1">%1$d</xliff:g> fajlova?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-ca/strings.xml b/packages/DocumentsUI/res/values-ca/strings.xml index e979b1181af6..2b136f120047 100644 --- a/packages/DocumentsUI/res/values-ca/strings.xml +++ b/packages/DocumentsUI/res/values-ca/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Comparteix mitjançant"</string> <string name="copy_notification_title" msgid="6374299806748219777">"S\'estan copiant fitxers"</string> <string name="move_notification_title" msgid="6193835179777284805">"S\'estan movent fitxers"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Suprimint els fitxers"</string> <string name="copy_remaining" msgid="6283790937387975095">"Temps restant: <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other">S\'estan copiant <xliff:g id="COUNT_1">%1$d</xliff:g> fitxers.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"S\'han convertit alguns fitxers"</string> <string name="allow" msgid="7225948811296386551">"Permet"</string> <string name="deny" msgid="2081879885755434506">"Denega"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Vols suprimir els fitxers?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">Confirmes que vols suprimir <xliff:g id="COUNT_1">%1$d</xliff:g> fitxers?</item> + <item quantity="one">Confirmes que vols suprimir <xliff:g id="COUNT_0">%1$d</xliff:g> fitxer?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-cs/strings.xml b/packages/DocumentsUI/res/values-cs/strings.xml index 0f3b4e023578..7196c6a610bc 100644 --- a/packages/DocumentsUI/res/values-cs/strings.xml +++ b/packages/DocumentsUI/res/values-cs/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Sdílet pomocí"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Kopírování souborů"</string> <string name="move_notification_title" msgid="6193835179777284805">"Přesouvání souborů"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Mazání souborů"</string> <string name="copy_remaining" msgid="6283790937387975095">"Zbývající čas: <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="few">Kopírování <xliff:g id="COUNT_1">%1$d</xliff:g> souborů</item> @@ -127,7 +126,11 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Některé soubory byly převedeny"</string> <string name="allow" msgid="7225948811296386551">"Povolit"</string> <string name="deny" msgid="2081879885755434506">"Odepřít"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Smazat soubory?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="few">Opravdu chcete smazat <xliff:g id="COUNT_1">%1$d</xliff:g> soubory?</item> + <item quantity="many">Opravdu chcete smazat <xliff:g id="COUNT_1">%1$d</xliff:g> souboru?</item> + <item quantity="other">Opravdu chcete smazat <xliff:g id="COUNT_1">%1$d</xliff:g> souborů?</item> + <item quantity="one">Opravdu chcete smazat <xliff:g id="COUNT_0">%1$d</xliff:g> soubor?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-da/strings.xml b/packages/DocumentsUI/res/values-da/strings.xml index 3854f0fa6fc2..ab9271c38b9e 100644 --- a/packages/DocumentsUI/res/values-da/strings.xml +++ b/packages/DocumentsUI/res/values-da/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Del via"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Kopierer filer"</string> <string name="move_notification_title" msgid="6193835179777284805">"Flytter filer"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Filerne slettes"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> tilbage"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="one">Kopierer <xliff:g id="COUNT_1">%1$d</xliff:g> filer.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Nogle filer er konverteret"</string> <string name="allow" msgid="7225948811296386551">"Tillad"</string> <string name="deny" msgid="2081879885755434506">"Afvis"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Vil du slette filerne?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="one">Er du sikker på, at du vil slette <xliff:g id="COUNT_1">%1$d</xliff:g> fil?</item> + <item quantity="other">Er du sikker på, at du vil slette <xliff:g id="COUNT_1">%1$d</xliff:g> filer?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-de/strings.xml b/packages/DocumentsUI/res/values-de/strings.xml index fd7f35c6db31..8c06c7fc4206 100644 --- a/packages/DocumentsUI/res/values-de/strings.xml +++ b/packages/DocumentsUI/res/values-de/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Teilen über"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Dateien werden kopiert"</string> <string name="move_notification_title" msgid="6193835179777284805">"Dateien werden verschoben"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Dateien werden gelöscht"</string> <string name="copy_remaining" msgid="6283790937387975095">"Noch <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> Dateien werden kopiert.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Einige Dateien wurden konvertiert"</string> <string name="allow" msgid="7225948811296386551">"Zulassen"</string> <string name="deny" msgid="2081879885755434506">"Ablehnen"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Dateien löschen?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">Möchtest du wirklich <xliff:g id="COUNT_1">%1$d</xliff:g> Dateien löschen?</item> + <item quantity="one">Möchtest du wirklich <xliff:g id="COUNT_0">%1$d</xliff:g> Datei löschen?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-el/strings.xml b/packages/DocumentsUI/res/values-el/strings.xml index 6257e1712c87..1752a2968c83 100644 --- a/packages/DocumentsUI/res/values-el/strings.xml +++ b/packages/DocumentsUI/res/values-el/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Κοινή χρήση μέσω"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Αντιγραφή αρχείων"</string> <string name="move_notification_title" msgid="6193835179777284805">"Μετακίνηση αρχείων"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Διαγραφή αρχείων"</string> <string name="copy_remaining" msgid="6283790937387975095">"Απομένουν <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other">Αντιγραφή <xliff:g id="COUNT_1">%1$d</xliff:g> αρχείων.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Ορισμένα αρχεία μετατράπηκαν"</string> <string name="allow" msgid="7225948811296386551">"Να επιτρέπεται"</string> <string name="deny" msgid="2081879885755434506">"Άρνηση"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Διαγραφή αρχείων;"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">Είστε βέβαιοι ότι θέλετε να διαγράψετε <xliff:g id="COUNT_1">%1$d</xliff:g> αρχεία;</item> + <item quantity="one">Είστε βέβαιοι ότι θέλετε να διαγράψετε <xliff:g id="COUNT_0">%1$d</xliff:g> αρχείο;</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-es-rUS/strings.xml b/packages/DocumentsUI/res/values-es-rUS/strings.xml index 29b91111121e..1ba7c2d85777 100644 --- a/packages/DocumentsUI/res/values-es-rUS/strings.xml +++ b/packages/DocumentsUI/res/values-es-rUS/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Compartir mediante"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Copiando archivos"</string> <string name="move_notification_title" msgid="6193835179777284805">"Moviendo archivos"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Borrando los archivos"</string> <string name="copy_remaining" msgid="6283790937387975095">"Faltan <xliff:g id="DURATION">%s</xliff:g>."</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other">Copiando <xliff:g id="COUNT_1">%1$d</xliff:g> archivos</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Se convirtieron algunos archivos"</string> <string name="allow" msgid="7225948811296386551">"Permitir"</string> <string name="deny" msgid="2081879885755434506">"Denegar"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"¿Quieres borrar los archivos?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">¿Confirmas que quieres borrar <xliff:g id="COUNT_1">%1$d</xliff:g> archivos?</item> + <item quantity="one">¿Confirmas que quieres borrar <xliff:g id="COUNT_0">%1$d</xliff:g> archivo?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-es/strings.xml b/packages/DocumentsUI/res/values-es/strings.xml index 02e6d744fb8d..0c1f2dd7352a 100644 --- a/packages/DocumentsUI/res/values-es/strings.xml +++ b/packages/DocumentsUI/res/values-es/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Compartir a través de"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Copiando archivos"</string> <string name="move_notification_title" msgid="6193835179777284805">"Moviendo archivos"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Eliminando archivos"</string> <string name="copy_remaining" msgid="6283790937387975095">"Tiempo restante: <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other">Copiando <xliff:g id="COUNT_1">%1$d</xliff:g> archivos.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Se han convertido algunos archivos"</string> <string name="allow" msgid="7225948811296386551">"Permitir"</string> <string name="deny" msgid="2081879885755434506">"Denegar"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"¿Eliminar archivos?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">¿Seguro que quieres eliminar <xliff:g id="COUNT_1">%1$d</xliff:g> archivos?</item> + <item quantity="one">¿Seguro que quieres eliminar <xliff:g id="COUNT_0">%1$d</xliff:g> archivo?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-eu-rES/strings.xml b/packages/DocumentsUI/res/values-eu-rES/strings.xml index 125d899e44af..c66bae442d28 100644 --- a/packages/DocumentsUI/res/values-eu-rES/strings.xml +++ b/packages/DocumentsUI/res/values-eu-rES/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Partekatu honen bidez:"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Fitxategiak kopiatzen"</string> <string name="move_notification_title" msgid="6193835179777284805">"Fitxategiak mugitzea"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Fitxategiak ezabatzea"</string> <string name="copy_remaining" msgid="6283790937387975095">"Falta den denbora: <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> fitxategi kopiatzen.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Artxibo batzuk bihurtu dira"</string> <string name="allow" msgid="7225948811296386551">"Onartu"</string> <string name="deny" msgid="2081879885755434506">"Ukatu"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Fitxategiak ezabatu nahi dituzu?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">Ziur <xliff:g id="COUNT_1">%1$d</xliff:g> fitxategi ezabatu nahi dituzula?</item> + <item quantity="one">Ziur <xliff:g id="COUNT_0">%1$d</xliff:g> fitxategi ezabatu nahi duzula?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-fi/strings.xml b/packages/DocumentsUI/res/values-fi/strings.xml index 0788598b5a75..1dfbe1543f2e 100644 --- a/packages/DocumentsUI/res/values-fi/strings.xml +++ b/packages/DocumentsUI/res/values-fi/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Jaa sovelluksessa"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Kopioidaan tiedostoja"</string> <string name="move_notification_title" msgid="6193835179777284805">"Siirretään tiedostoja"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Poistetaan tiedostoja"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> jäljellä"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other">Kopioidaan <xliff:g id="COUNT_1">%1$d</xliff:g> tiedostoa.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Joitakin tiedostoja muunnettiin."</string> <string name="allow" msgid="7225948811296386551">"Salli"</string> <string name="deny" msgid="2081879885755434506">"Kiellä"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Poistetaanko tiedostot?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">Haluatko varmasti poistaa <xliff:g id="COUNT_1">%1$d</xliff:g> tiedostoa?</item> + <item quantity="one">Haluatko varmasti poistaa <xliff:g id="COUNT_0">%1$d</xliff:g> tiedoston?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-fr-rCA/strings.xml b/packages/DocumentsUI/res/values-fr-rCA/strings.xml index 6b4c7fd12263..08dacac9d43b 100644 --- a/packages/DocumentsUI/res/values-fr-rCA/strings.xml +++ b/packages/DocumentsUI/res/values-fr-rCA/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Partager par"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Copie de fichiers..."</string> <string name="move_notification_title" msgid="6193835179777284805">"Déplacement des fichiers"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Suppression des fichiers"</string> <string name="copy_remaining" msgid="6283790937387975095">"Durée restante : <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="one">Copier de <xliff:g id="COUNT_1">%1$d</xliff:g> fichier en cours.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Certains fichiers ont été convertis"</string> <string name="allow" msgid="7225948811296386551">"Autoriser"</string> <string name="deny" msgid="2081879885755434506">"Refuser"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Supprimer les fichiers?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="one">Voulez-vous vraiment supprimer <xliff:g id="COUNT_1">%1$d</xliff:g> fichier?</item> + <item quantity="other">Voulez-vous vraiment supprimer <xliff:g id="COUNT_1">%1$d</xliff:g> fichiers?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-fr/strings.xml b/packages/DocumentsUI/res/values-fr/strings.xml index 84021b0e7ae1..6378191fbaab 100644 --- a/packages/DocumentsUI/res/values-fr/strings.xml +++ b/packages/DocumentsUI/res/values-fr/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Partager via"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Copie de fichiers en cours"</string> <string name="move_notification_title" msgid="6193835179777284805">"Déplacement de fichiers"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Suppression des fichiers…"</string> <string name="copy_remaining" msgid="6283790937387975095">"Temps restant : <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="one">Copie de <xliff:g id="COUNT_1">%1$d</xliff:g> fichier en cours…</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Certains fichiers ont été convertis"</string> <string name="allow" msgid="7225948811296386551">"Autoriser"</string> <string name="deny" msgid="2081879885755434506">"Refuser"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Supprimer les fichiers ?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="one">Voulez-vous vraiment supprimer <xliff:g id="COUNT_1">%1$d</xliff:g> fichier ?</item> + <item quantity="other">Voulez-vous vraiment supprimer <xliff:g id="COUNT_1">%1$d</xliff:g> fichiers ?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-gl-rES/strings.xml b/packages/DocumentsUI/res/values-gl-rES/strings.xml index fd03af710962..79cc70f5b2c2 100644 --- a/packages/DocumentsUI/res/values-gl-rES/strings.xml +++ b/packages/DocumentsUI/res/values-gl-rES/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Compartir a través de"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Copiando ficheiros"</string> <string name="move_notification_title" msgid="6193835179777284805">"Mover ficheiros"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Eliminando ficheiros"</string> <string name="copy_remaining" msgid="6283790937387975095">"Tempo restante: <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other">Copiando <xliff:g id="COUNT_1">%1$d</xliff:g> ficheiros.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Convertéronse algúns ficheiros"</string> <string name="allow" msgid="7225948811296386551">"Permitir"</string> <string name="deny" msgid="2081879885755434506">"Rexeitar"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Queres eliminar os ficheiros?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">Seguro que queres eliminar <xliff:g id="COUNT_1">%1$d</xliff:g> ficheiros?</item> + <item quantity="one">Seguro que queres eliminar <xliff:g id="COUNT_0">%1$d</xliff:g> ficheiro?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-hy-rAM/strings.xml b/packages/DocumentsUI/res/values-hy-rAM/strings.xml index 2ad2aa7c2ec8..35989344173b 100644 --- a/packages/DocumentsUI/res/values-hy-rAM/strings.xml +++ b/packages/DocumentsUI/res/values-hy-rAM/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Տարածել"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Ֆայլերի պատճենում"</string> <string name="move_notification_title" msgid="6193835179777284805">"Ֆայլերի տեղափոխում"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Ֆայլերը ջնջվում են"</string> <string name="copy_remaining" msgid="6283790937387975095">"Մնացել է <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ֆայլի պատճենում:</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Որոշ ֆայլեր փոխարկվել են"</string> <string name="allow" msgid="7225948811296386551">"Թույլատրել"</string> <string name="deny" msgid="2081879885755434506">"Մերժել"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Ջնջե՞լ ֆայլերը:"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="one">Ջնջե՞լ <xliff:g id="COUNT_1">%1$d</xliff:g> ֆայլ:</item> + <item quantity="other">Ջնջե՞լ <xliff:g id="COUNT_1">%1$d</xliff:g> ֆայլ:</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-in/strings.xml b/packages/DocumentsUI/res/values-in/strings.xml index 66d40d21f9e7..d87fad336d0d 100644 --- a/packages/DocumentsUI/res/values-in/strings.xml +++ b/packages/DocumentsUI/res/values-in/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Bagikan melalui"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Menyalin file"</string> <string name="move_notification_title" msgid="6193835179777284805">"Memindahkan file"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Menghapus file"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> lagi"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other">Menyalin <xliff:g id="COUNT_1">%1$d</xliff:g> file.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Beberapa file dikonversi"</string> <string name="allow" msgid="7225948811296386551">"Izinkan"</string> <string name="deny" msgid="2081879885755434506">"Tolak"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Hapus file?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">Yakin ingin menghapus <xliff:g id="COUNT_1">%1$d</xliff:g> file?</item> + <item quantity="one">Yakin ingin menghapus <xliff:g id="COUNT_0">%1$d</xliff:g> file?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-is-rIS/strings.xml b/packages/DocumentsUI/res/values-is-rIS/strings.xml index 290ec9268e05..5b2531d96d6f 100644 --- a/packages/DocumentsUI/res/values-is-rIS/strings.xml +++ b/packages/DocumentsUI/res/values-is-rIS/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Deila í gegnum"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Afritar skrár"</string> <string name="move_notification_title" msgid="6193835179777284805">"Skrár færðar"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Eyðir skrám"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> eftir"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="one">Afritar <xliff:g id="COUNT_1">%1$d</xliff:g> skrá.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Sumum skrám var umbreytt"</string> <string name="allow" msgid="7225948811296386551">"Leyfa"</string> <string name="deny" msgid="2081879885755434506">"Hafna"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Eyða skrám?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="one">Ertu viss um að þú viljir eyða <xliff:g id="COUNT_1">%1$d</xliff:g> skrá?</item> + <item quantity="other">Ertu viss um að þú viljir eyða <xliff:g id="COUNT_1">%1$d</xliff:g> skrám?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-it/strings.xml b/packages/DocumentsUI/res/values-it/strings.xml index 43f5fcb5b859..4785ffc06627 100644 --- a/packages/DocumentsUI/res/values-it/strings.xml +++ b/packages/DocumentsUI/res/values-it/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Condividi via"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Copia di file in corso"</string> <string name="move_notification_title" msgid="6193835179777284805">"Spostamento di file"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Eliminazione dei file"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> rimanenti"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other">Copia di <xliff:g id="COUNT_1">%1$d</xliff:g> file in corso.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Alcuni file sono stati convertiti"</string> <string name="allow" msgid="7225948811296386551">"Consenti"</string> <string name="deny" msgid="2081879885755434506">"Nega"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Eliminare i file?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">Vuoi eliminare <xliff:g id="COUNT_1">%1$d</xliff:g> file?</item> + <item quantity="one">Vuoi eliminare <xliff:g id="COUNT_0">%1$d</xliff:g> file?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-iw/strings.xml b/packages/DocumentsUI/res/values-iw/strings.xml index 622785c4b500..1fb81ddba5e4 100644 --- a/packages/DocumentsUI/res/values-iw/strings.xml +++ b/packages/DocumentsUI/res/values-iw/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"שתף באמצעות"</string> <string name="copy_notification_title" msgid="6374299806748219777">"מעתיק קבצים"</string> <string name="move_notification_title" msgid="6193835179777284805">"מעביר קבצים"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"מחיקת קבצים מתבצעת"</string> <string name="copy_remaining" msgid="6283790937387975095">"זמן נותר: <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="two">מעתיק <xliff:g id="COUNT_1">%1$d</xliff:g> קבצים.</item> @@ -127,7 +126,11 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"קבצים מסוימים הומרו"</string> <string name="allow" msgid="7225948811296386551">"אפשר"</string> <string name="deny" msgid="2081879885755434506">"דחה"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"האם למחוק את הקבצים?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="two">האם אתה בטוח שברצונך למחוק <xliff:g id="COUNT_1">%1$d</xliff:g> קבצים?</item> + <item quantity="many">האם אתה בטוח שברצונך למחוק <xliff:g id="COUNT_1">%1$d</xliff:g> קבצים?</item> + <item quantity="other">האם אתה בטוח שברצונך למחוק <xliff:g id="COUNT_1">%1$d</xliff:g> קבצים?</item> + <item quantity="one">האם אתה בטוח שברצונך למחוק קובץ <xliff:g id="COUNT_0">%1$d</xliff:g>?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-ja/strings.xml b/packages/DocumentsUI/res/values-ja/strings.xml index 3319af070bd1..32bc414f00c6 100644 --- a/packages/DocumentsUI/res/values-ja/strings.xml +++ b/packages/DocumentsUI/res/values-ja/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"共有ツール"</string> <string name="copy_notification_title" msgid="6374299806748219777">"ファイルのコピー中"</string> <string name="move_notification_title" msgid="6193835179777284805">"ファイルを移動中"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"ファイルを削除しています"</string> <string name="copy_remaining" msgid="6283790937387975095">"残り<xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g>個のファイルをコピーしています。</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"一部のファイルが変換されました"</string> <string name="allow" msgid="7225948811296386551">"許可"</string> <string name="deny" msgid="2081879885755434506">"拒否"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"ファイルを削除しますか?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> 個のファイルを削除してもよろしいですか?</item> + <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> 個のファイルを削除してもよろしいですか?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-ka-rGE/strings.xml b/packages/DocumentsUI/res/values-ka-rGE/strings.xml index 30b78e5f7ef4..ce32f232d6af 100644 --- a/packages/DocumentsUI/res/values-ka-rGE/strings.xml +++ b/packages/DocumentsUI/res/values-ka-rGE/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"გაზიარება:"</string> <string name="copy_notification_title" msgid="6374299806748219777">"მიმდ. ფაილების კოპირება"</string> <string name="move_notification_title" msgid="6193835179777284805">"ფაილების გადაადგილება"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"ფაილების წაშლა…"</string> <string name="copy_remaining" msgid="6283790937387975095">"დარჩა <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other">მიმდინარეობს <xliff:g id="COUNT_1">%1$d</xliff:g> ფაილის კოპირება.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"ზოგიერთი ფაილი გარდაქმნილია"</string> <string name="allow" msgid="7225948811296386551">"უფლების მიცემა"</string> <string name="deny" msgid="2081879885755434506">"აკრძალვა"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"გსურთ ფაილების წაშლა?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">ნამდვილად გსურთ <xliff:g id="COUNT_1">%1$d</xliff:g> ფაილის წაშლა?</item> + <item quantity="one">ნამდვილად გსურთ <xliff:g id="COUNT_0">%1$d</xliff:g> ფაილის წაშლა?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-kk-rKZ/strings.xml b/packages/DocumentsUI/res/values-kk-rKZ/strings.xml index ab045c66d915..ad1092087d51 100644 --- a/packages/DocumentsUI/res/values-kk-rKZ/strings.xml +++ b/packages/DocumentsUI/res/values-kk-rKZ/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Бөлісу"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Файлдарды көшіру"</string> <string name="move_notification_title" msgid="6193835179777284805">"Файлдар тасымалдануда"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Файлдар жойылуда"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> қалды"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> файлды көшіру.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Кейбір файлдар түрлендірілді"</string> <string name="allow" msgid="7225948811296386551">"Рұқсат беру"</string> <string name="deny" msgid="2081879885755434506">"Бас тарту"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Файлдарды жою керек пе?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> файлды жою керек пе?</item> + <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> файлды жою керек пе?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-ky-rKG/strings.xml b/packages/DocumentsUI/res/values-ky-rKG/strings.xml index ba3a6e32d8c4..134b5b8b275f 100644 --- a/packages/DocumentsUI/res/values-ky-rKG/strings.xml +++ b/packages/DocumentsUI/res/values-ky-rKG/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Кийинки аркылуу бөлүшүү:"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Файлдар көчүрүлүүдө"</string> <string name="move_notification_title" msgid="6193835179777284805">"Файлдар жылдырылууда…"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Файлдар жок кылынууда"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> калды"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> файл көчүрүлүүдө.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Айрым файлдардын форматы өзгөртүлдү"</string> <string name="allow" msgid="7225948811296386551">"Уруксат берүү"</string> <string name="deny" msgid="2081879885755434506">"Жок"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Файлдар жок кылынсынбы?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">Бул <xliff:g id="COUNT_1">%1$d</xliff:g> файлды чын эле жок кылгыңыз келеби?</item> + <item quantity="one">Бул <xliff:g id="COUNT_0">%1$d</xliff:g> файлды чын эле жок кылгыңыз келеби?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-lt/strings.xml b/packages/DocumentsUI/res/values-lt/strings.xml index 7e4292249652..194e59008426 100644 --- a/packages/DocumentsUI/res/values-lt/strings.xml +++ b/packages/DocumentsUI/res/values-lt/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Bendrinti naudojant"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Kopijuojami failai"</string> <string name="move_notification_title" msgid="6193835179777284805">"Perkeliami failai"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Failų ištrynimas"</string> <string name="copy_remaining" msgid="6283790937387975095">"Liko: <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="one">Kopijuojamas <xliff:g id="COUNT_1">%1$d</xliff:g> failas.</item> @@ -127,7 +126,11 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Kai kurie failai buvo konvertuoti"</string> <string name="allow" msgid="7225948811296386551">"Leisti"</string> <string name="deny" msgid="2081879885755434506">"Atmesti"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Ištrinti failus?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="one">]Ar tikrai norite ištrinti <xliff:g id="COUNT_1">%1$d</xliff:g> failą?</item> + <item quantity="few">]Ar tikrai norite ištrinti <xliff:g id="COUNT_1">%1$d</xliff:g> failus?</item> + <item quantity="many">]Ar tikrai norite ištrinti <xliff:g id="COUNT_1">%1$d</xliff:g> failo?</item> + <item quantity="other">]Ar tikrai norite ištrinti <xliff:g id="COUNT_1">%1$d</xliff:g> failų?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-lv/strings.xml b/packages/DocumentsUI/res/values-lv/strings.xml index 14bd7a8b6c43..cd4cb5e3c6a1 100644 --- a/packages/DocumentsUI/res/values-lv/strings.xml +++ b/packages/DocumentsUI/res/values-lv/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Kopīgot, izmantojot"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Notiek failu kopēšana"</string> <string name="move_notification_title" msgid="6193835179777284805">"Failu pārvietošana"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Notiek failu dzēšana"</string> <string name="copy_remaining" msgid="6283790937387975095">"Atlikušais laiks: <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="zero">Notiek <xliff:g id="COUNT_1">%1$d</xliff:g> failu kopēšana.</item> @@ -120,7 +119,10 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Daži faili tika pārveidoti."</string> <string name="allow" msgid="7225948811296386551">"Atļaut"</string> <string name="deny" msgid="2081879885755434506">"Noraidīt"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Vai dzēst failus?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="zero">Vai tiešām vēlaties dzēst <xliff:g id="COUNT_1">%1$d</xliff:g> failus?</item> + <item quantity="one">Vai tiešām vēlaties dzēst <xliff:g id="COUNT_1">%1$d</xliff:g> failu?</item> + <item quantity="other">Vai tiešām vēlaties dzēst <xliff:g id="COUNT_1">%1$d</xliff:g> failus?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-mn-rMN/strings.xml b/packages/DocumentsUI/res/values-mn-rMN/strings.xml index 85312952e7cd..a2617f9762a0 100644 --- a/packages/DocumentsUI/res/values-mn-rMN/strings.xml +++ b/packages/DocumentsUI/res/values-mn-rMN/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Дараахаар дамжуулан хуваалцах"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Файлуудыг хуулж байна"</string> <string name="move_notification_title" msgid="6193835179777284805">"Файлыг зөөвөрлөж байна"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Эдгээр файлыг устгаж байна"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> үлдсэн"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> файлуудыг хуулж байна.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Зарим файлыг хөрвүүлсэн"</string> <string name="allow" msgid="7225948811296386551">"Зөвшөөрөх"</string> <string name="deny" msgid="2081879885755434506">"Татгалзах"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Эдгээр файлыг устгах уу?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">Та <xliff:g id="COUNT_1">%1$d</xliff:g> файлыг устгахдаа итгэлтэй байна уу?</item> + <item quantity="one">Та <xliff:g id="COUNT_0">%1$d</xliff:g> файлыг устгахдаа итгэлтэй байна уу?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-mr-rIN/strings.xml b/packages/DocumentsUI/res/values-mr-rIN/strings.xml index f747d1a62dde..c44b4810080b 100644 --- a/packages/DocumentsUI/res/values-mr-rIN/strings.xml +++ b/packages/DocumentsUI/res/values-mr-rIN/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"द्वारे सामायिक करा"</string> <string name="copy_notification_title" msgid="6374299806748219777">"फायली कॉपी करीत आहे"</string> <string name="move_notification_title" msgid="6193835179777284805">"फायली हलविणे"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"फायली हटवित आहे"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> शिल्लक"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> फाईल कॉपी करीत आहे.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"काही फायली रूपांतरित केल्या होत्या"</string> <string name="allow" msgid="7225948811296386551">"अनुमती द्या"</string> <string name="deny" msgid="2081879885755434506">"नकार द्या"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"फायली हटवायच्या?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="one">आपल्याला खात्री आहे की आपण <xliff:g id="COUNT_1">%1$d</xliff:g> फाईल हटवू इच्छिता?</item> + <item quantity="other">आपल्याला खात्री आहे की आपण <xliff:g id="COUNT_1">%1$d</xliff:g> फायली हटवू इच्छिता?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-ms-rMY/strings.xml b/packages/DocumentsUI/res/values-ms-rMY/strings.xml index d481125a12e9..17cd3486ef0f 100644 --- a/packages/DocumentsUI/res/values-ms-rMY/strings.xml +++ b/packages/DocumentsUI/res/values-ms-rMY/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Kongsi melalui"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Menyalin fail"</string> <string name="move_notification_title" msgid="6193835179777284805">"Mengalihkan fail"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Memadamkan fail"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> lagi"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other">Menyalin <xliff:g id="COUNT_1">%1$d</xliff:g> fail.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Sesetengah fail telah ditukarkan"</string> <string name="allow" msgid="7225948811296386551">"Benarkan"</string> <string name="deny" msgid="2081879885755434506">"Nafi"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Padamkan fail?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">Adakah anda pasti mahu memadamkan <xliff:g id="COUNT_1">%1$d</xliff:g> fail?</item> + <item quantity="one">Adakah anda pasti mahu memadamkan <xliff:g id="COUNT_0">%1$d</xliff:g> fail?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-nb/strings.xml b/packages/DocumentsUI/res/values-nb/strings.xml index 8271428c9037..d42c98ea6bc6 100644 --- a/packages/DocumentsUI/res/values-nb/strings.xml +++ b/packages/DocumentsUI/res/values-nb/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Del via"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Kopierer filer"</string> <string name="move_notification_title" msgid="6193835179777284805">"Flytter filer"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Sletter filene"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> gjenstår"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other">Kopierer <xliff:g id="COUNT_1">%1$d</xliff:g> filer.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Noen filer er konvertert"</string> <string name="allow" msgid="7225948811296386551">"Tillat"</string> <string name="deny" msgid="2081879885755434506">"Avslå"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Vil du slette filene?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">Er du sikker på at du vil slette <xliff:g id="COUNT_1">%1$d</xliff:g> filer?</item> + <item quantity="one">Er du sikker på at du vil slette <xliff:g id="COUNT_0">%1$d</xliff:g> fil?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-pl/strings.xml b/packages/DocumentsUI/res/values-pl/strings.xml index 7330e1e89224..d3341943005a 100644 --- a/packages/DocumentsUI/res/values-pl/strings.xml +++ b/packages/DocumentsUI/res/values-pl/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Udostępnij przez:"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Kopiowanie plików"</string> <string name="move_notification_title" msgid="6193835179777284805">"Przenoszenie plików"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Usuwam pliki"</string> <string name="copy_remaining" msgid="6283790937387975095">"Pozostało: <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="few">Kopiowanie <xliff:g id="COUNT_1">%1$d</xliff:g> plików.</item> @@ -127,7 +126,11 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Niektóre pliki zostały przekonwertowane"</string> <string name="allow" msgid="7225948811296386551">"Zezwól"</string> <string name="deny" msgid="2081879885755434506">"Odmów"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Usunąć pliki?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="few">Na pewno chcesz usunąć <xliff:g id="COUNT_1">%1$d</xliff:g> pliki?</item> + <item quantity="many">Na pewno chcesz usunąć <xliff:g id="COUNT_1">%1$d</xliff:g> plików?</item> + <item quantity="other">Na pewno chcesz usunąć <xliff:g id="COUNT_1">%1$d</xliff:g> pliku?</item> + <item quantity="one">Na pewno chcesz usunąć <xliff:g id="COUNT_0">%1$d</xliff:g> plik?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-pt-rBR/strings.xml b/packages/DocumentsUI/res/values-pt-rBR/strings.xml index 44f2ab84830a..cc5500637e29 100644 --- a/packages/DocumentsUI/res/values-pt-rBR/strings.xml +++ b/packages/DocumentsUI/res/values-pt-rBR/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Compartilhar via"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Copiando arquivos"</string> <string name="move_notification_title" msgid="6193835179777284805">"Movendo arquivos"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Excluindo arquivos"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> restantes"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="one">Copiando <xliff:g id="COUNT_1">%1$d</xliff:g> arquivos.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Alguns arquivos foram convertidos"</string> <string name="allow" msgid="7225948811296386551">"Permitir"</string> <string name="deny" msgid="2081879885755434506">"Negar"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Excluir arquivos?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="one">Tem certeza de que deseja excluir <xliff:g id="COUNT_1">%1$d</xliff:g> arquivos?</item> + <item quantity="other">Tem certeza de que deseja excluir <xliff:g id="COUNT_1">%1$d</xliff:g> arquivos?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-pt-rPT/strings.xml b/packages/DocumentsUI/res/values-pt-rPT/strings.xml index 3d999c7258bb..1e5101982462 100644 --- a/packages/DocumentsUI/res/values-pt-rPT/strings.xml +++ b/packages/DocumentsUI/res/values-pt-rPT/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Partilhar através de"</string> <string name="copy_notification_title" msgid="6374299806748219777">"A copiar ficheiros"</string> <string name="move_notification_title" msgid="6193835179777284805">"A mover ficheiros"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Eliminar ficheiros"</string> <string name="copy_remaining" msgid="6283790937387975095">"Faltam <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other">A copiar <xliff:g id="COUNT_1">%1$d</xliff:g> ficheiros.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Alguns ficheiros foram convertidos"</string> <string name="allow" msgid="7225948811296386551">"Permitir"</string> <string name="deny" msgid="2081879885755434506">"Recusar"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Pretende eliminar ficheiros?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">Tem a certeza de que pretende eliminar <xliff:g id="COUNT_1">%1$d</xliff:g> ficheiros?</item> + <item quantity="one">Tem a certeza de que pretende eliminar <xliff:g id="COUNT_0">%1$d</xliff:g> ficheiro?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-pt/strings.xml b/packages/DocumentsUI/res/values-pt/strings.xml index 44f2ab84830a..cc5500637e29 100644 --- a/packages/DocumentsUI/res/values-pt/strings.xml +++ b/packages/DocumentsUI/res/values-pt/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Compartilhar via"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Copiando arquivos"</string> <string name="move_notification_title" msgid="6193835179777284805">"Movendo arquivos"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Excluindo arquivos"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> restantes"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="one">Copiando <xliff:g id="COUNT_1">%1$d</xliff:g> arquivos.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Alguns arquivos foram convertidos"</string> <string name="allow" msgid="7225948811296386551">"Permitir"</string> <string name="deny" msgid="2081879885755434506">"Negar"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Excluir arquivos?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="one">Tem certeza de que deseja excluir <xliff:g id="COUNT_1">%1$d</xliff:g> arquivos?</item> + <item quantity="other">Tem certeza de que deseja excluir <xliff:g id="COUNT_1">%1$d</xliff:g> arquivos?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-ro/strings.xml b/packages/DocumentsUI/res/values-ro/strings.xml index d256a268ccb4..9932bd862552 100644 --- a/packages/DocumentsUI/res/values-ro/strings.xml +++ b/packages/DocumentsUI/res/values-ro/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Trimiteți prin"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Se copiază fișierele"</string> <string name="move_notification_title" msgid="6193835179777284805">"Se mută fișierele"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Se șterg fișierele"</string> <string name="copy_remaining" msgid="6283790937387975095">"Timp rămas: <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="few">Se copiază <xliff:g id="COUNT_1">%1$d</xliff:g> fișiere.</item> @@ -120,7 +119,10 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Unele fișiere au fost convertite"</string> <string name="allow" msgid="7225948811296386551">"Permiteți"</string> <string name="deny" msgid="2081879885755434506">"Refuzați"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Ștergeți fișierele?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="few">Sigur doriți să ștergeți <xliff:g id="COUNT_1">%1$d</xliff:g> fișiere?</item> + <item quantity="other">Sigur doriți să ștergeți <xliff:g id="COUNT_1">%1$d</xliff:g> de fișiere?</item> + <item quantity="one">Sigur doriți să ștergeți <xliff:g id="COUNT_0">%1$d</xliff:g> fișier?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-ru/strings.xml b/packages/DocumentsUI/res/values-ru/strings.xml index 161bb195ebd9..ebddb27366d8 100644 --- a/packages/DocumentsUI/res/values-ru/strings.xml +++ b/packages/DocumentsUI/res/values-ru/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Поделиться"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Копирование файлов"</string> <string name="move_notification_title" msgid="6193835179777284805">"Перемещение файлов"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Удаление файлов…"</string> <string name="copy_remaining" msgid="6283790937387975095">"Осталось <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="one">Копируется <xliff:g id="COUNT_1">%1$d</xliff:g> файл...</item> @@ -127,7 +126,11 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Формат некоторых файлов изменен"</string> <string name="allow" msgid="7225948811296386551">"Разрешить"</string> <string name="deny" msgid="2081879885755434506">"Отклонить"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Удаление файлов"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="one">Удалить <xliff:g id="COUNT_1">%1$d</xliff:g> файл?</item> + <item quantity="few">Удалить <xliff:g id="COUNT_1">%1$d</xliff:g> файла?</item> + <item quantity="many">Удалить <xliff:g id="COUNT_1">%1$d</xliff:g> файлов?</item> + <item quantity="other">Удалить <xliff:g id="COUNT_1">%1$d</xliff:g> файла?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-sk/strings.xml b/packages/DocumentsUI/res/values-sk/strings.xml index 7919533b7b6f..7b3c213c148d 100644 --- a/packages/DocumentsUI/res/values-sk/strings.xml +++ b/packages/DocumentsUI/res/values-sk/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Zdieľať"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Kopírovanie súborov"</string> <string name="move_notification_title" msgid="6193835179777284805">"Presúvajú sa súbory"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Odstraňujú sa súbory"</string> <string name="copy_remaining" msgid="6283790937387975095">"Zostáva: <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="few">Kopírujú sa <xliff:g id="COUNT_1">%1$d</xliff:g> súbory.</item> @@ -127,7 +126,11 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Niektoré súbory boli konvertované"</string> <string name="allow" msgid="7225948811296386551">"Povoliť"</string> <string name="deny" msgid="2081879885755434506">"Zamietnuť"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Odstrániť súbory?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="few">Naozaj chcete odstrániť <xliff:g id="COUNT_1">%1$d</xliff:g> súbory?</item> + <item quantity="many">Naozaj chcete odstrániť <xliff:g id="COUNT_1">%1$d</xliff:g> súboru?</item> + <item quantity="other">Naozaj chcete odstrániť <xliff:g id="COUNT_1">%1$d</xliff:g> súborov?</item> + <item quantity="one">Naozaj chcete odstrániť <xliff:g id="COUNT_0">%1$d</xliff:g> súbor?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-sr/strings.xml b/packages/DocumentsUI/res/values-sr/strings.xml index ffa6944b70e3..7575ff8cbd64 100644 --- a/packages/DocumentsUI/res/values-sr/strings.xml +++ b/packages/DocumentsUI/res/values-sr/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Делите преко"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Копирање датотека"</string> <string name="move_notification_title" msgid="6193835179777284805">"Датотеке се премештају"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Датотеке се бришу"</string> <string name="copy_remaining" msgid="6283790937387975095">"Још <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="one">Копирање <xliff:g id="COUNT_1">%1$d</xliff:g> датотеке.</item> @@ -120,7 +119,10 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Неке датотеке су конвертоване"</string> <string name="allow" msgid="7225948811296386551">"Дозволи"</string> <string name="deny" msgid="2081879885755434506">"Одбиј"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Желите ли да избришете датотеке?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="one">Желите ли стварно да избришете <xliff:g id="COUNT_1">%1$d</xliff:g> датотеку?</item> + <item quantity="few">Желите ли стварно да избришете <xliff:g id="COUNT_1">%1$d</xliff:g> датотеке?</item> + <item quantity="other">Желите ли стварно да избришете <xliff:g id="COUNT_1">%1$d</xliff:g> датотека?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-sv/strings.xml b/packages/DocumentsUI/res/values-sv/strings.xml index 656ef8f04db0..97e6ab068cc4 100644 --- a/packages/DocumentsUI/res/values-sv/strings.xml +++ b/packages/DocumentsUI/res/values-sv/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Dela via"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Kopierar filer"</string> <string name="move_notification_title" msgid="6193835179777284805">"Filer flyttas"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Filerna tas bort"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> återstår"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other">Kopierar <xliff:g id="COUNT_1">%1$d</xliff:g> filer.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Vissa filer konverterades"</string> <string name="allow" msgid="7225948811296386551">"Tillåt"</string> <string name="deny" msgid="2081879885755434506">"Neka"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Vill du ta bort filerna?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">Vill du ta bort <xliff:g id="COUNT_1">%1$d</xliff:g> filer?</item> + <item quantity="one">Vill du ta bort <xliff:g id="COUNT_0">%1$d</xliff:g> fil?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-sw720dp/dimens.xml b/packages/DocumentsUI/res/values-sw720dp/dimens.xml index 2488fa26d544..b5d1150eda63 100644 --- a/packages/DocumentsUI/res/values-sw720dp/dimens.xml +++ b/packages/DocumentsUI/res/values-sw720dp/dimens.xml @@ -18,4 +18,6 @@ <dimen name="grid_padding_horiz">16dp</dimen> <dimen name="grid_padding_vert">16dp</dimen> + <dimen name="list_item_padding">24dp</dimen> + </resources> diff --git a/packages/DocumentsUI/res/values-th/strings.xml b/packages/DocumentsUI/res/values-th/strings.xml index ad4c5b9008c8..8881fcd182c9 100644 --- a/packages/DocumentsUI/res/values-th/strings.xml +++ b/packages/DocumentsUI/res/values-th/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"แชร์ผ่าน"</string> <string name="copy_notification_title" msgid="6374299806748219777">"กำลังคัดลอกไฟล์"</string> <string name="move_notification_title" msgid="6193835179777284805">"กำลังย้ายไฟล์"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"กำลังลบไฟล์"</string> <string name="copy_remaining" msgid="6283790937387975095">"เหลือ <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other">กำลังคัดลอก <xliff:g id="COUNT_1">%1$d</xliff:g> ไฟล์</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"แปลงบางไฟล์แล้ว"</string> <string name="allow" msgid="7225948811296386551">"อนุญาต"</string> <string name="deny" msgid="2081879885755434506">"ปฏิเสธ"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"ลบไฟล์เหล่านี้ไหม"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">คุณแน่ใจไหมว่าต้องการลบ <xliff:g id="COUNT_1">%1$d</xliff:g> ไฟล์</item> + <item quantity="one">คุณแน่ใจไหมว่าต้องการลบ <xliff:g id="COUNT_0">%1$d</xliff:g> ไฟล์</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-tl/strings.xml b/packages/DocumentsUI/res/values-tl/strings.xml index 8c8b018b1bd2..1639425c8eed 100644 --- a/packages/DocumentsUI/res/values-tl/strings.xml +++ b/packages/DocumentsUI/res/values-tl/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Ibahagi sa pamamagitan ng"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Kinokopya ang mga file"</string> <string name="move_notification_title" msgid="6193835179777284805">"Inililipat ang mga file"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Pagde-delete ng mga file"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> na lang ang natitira"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="one">Kumokopya ng <xliff:g id="COUNT_1">%1$d</xliff:g> file.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Na-convert ang ilang file"</string> <string name="allow" msgid="7225948811296386551">"Payagan"</string> <string name="deny" msgid="2081879885755434506">"Tanggihan"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"I-delete ang mga file?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="one">Sigurado ka bang gusto mong i-delete ang <xliff:g id="COUNT_1">%1$d</xliff:g> file?</item> + <item quantity="other">Sigurado ka bang gusto mong i-delete ang <xliff:g id="COUNT_1">%1$d</xliff:g> na file?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-tr/strings.xml b/packages/DocumentsUI/res/values-tr/strings.xml index 602f8d7978ea..822a9ed76053 100644 --- a/packages/DocumentsUI/res/values-tr/strings.xml +++ b/packages/DocumentsUI/res/values-tr/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Şunu kullanarak paylaş:"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Dosyalar kopyalanıyor"</string> <string name="move_notification_title" msgid="6193835179777284805">"Dosyalar taşınıyor"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Dosyalar siliniyor"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> kaldı"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> dosya kopyalanıyor.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Bazı dosyalar dönüştürüldü"</string> <string name="allow" msgid="7225948811296386551">"İzin Ver"</string> <string name="deny" msgid="2081879885755434506">"Reddet"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Dosyalar silinsin mi?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> dosyayı silmek istediğinizden emin misiniz?</item> + <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> dosyayı silmek istediğinizden emin misiniz?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-uk/strings.xml b/packages/DocumentsUI/res/values-uk/strings.xml index 15ae4249e780..1886ca382b91 100644 --- a/packages/DocumentsUI/res/values-uk/strings.xml +++ b/packages/DocumentsUI/res/values-uk/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Надіслати через"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Копіювання файлів"</string> <string name="move_notification_title" msgid="6193835179777284805">"Переміщення файлів"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Видалення файлів"</string> <string name="copy_remaining" msgid="6283790937387975095">"Залишилося <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="one">Копіювання <xliff:g id="COUNT_1">%1$d</xliff:g> файлу.</item> @@ -127,7 +126,11 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Деякі файли конвертовано"</string> <string name="allow" msgid="7225948811296386551">"Дозвол."</string> <string name="deny" msgid="2081879885755434506">"Забор."</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Видалити файли?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="one">Видалити <xliff:g id="COUNT_1">%1$d</xliff:g> файл?</item> + <item quantity="few">Видалити <xliff:g id="COUNT_1">%1$d</xliff:g> файли?</item> + <item quantity="many">Видалити <xliff:g id="COUNT_1">%1$d</xliff:g> файлів?</item> + <item quantity="other">Видалити <xliff:g id="COUNT_1">%1$d</xliff:g> файлу?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-ur-rPK/strings.xml b/packages/DocumentsUI/res/values-ur-rPK/strings.xml index 272677f036d7..82d20e341183 100644 --- a/packages/DocumentsUI/res/values-ur-rPK/strings.xml +++ b/packages/DocumentsUI/res/values-ur-rPK/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"اشتراک کریں بذریعہ"</string> <string name="copy_notification_title" msgid="6374299806748219777">"فائلیں کاپی ہو رہی ہیں"</string> <string name="move_notification_title" msgid="6193835179777284805">"فائلیں منتقل ہو رہی ہیں"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"فائلیں حذف کی جا رہی ہیں"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> باقی ہے"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> فائلیں کاپی کی جا رہی ہیں۔</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"کچھ فائلوں کو تبدیل کیا گیا تھا"</string> <string name="allow" msgid="7225948811296386551">"اجازت دیں"</string> <string name="deny" msgid="2081879885755434506">"مسترد کریں"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"فائلوں کو حذف کریں؟"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">کیا آپ واقعی <xliff:g id="COUNT_1">%1$d</xliff:g> فائلیں حذف کرنا چاہتے ہیں؟</item> + <item quantity="one">کیا آپ واقعی <xliff:g id="COUNT_0">%1$d</xliff:g> فائل حذف کرنا چاہتے ہیں؟</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-uz-rUZ/strings.xml b/packages/DocumentsUI/res/values-uz-rUZ/strings.xml index 0a599c5dd455..ce43fc25ae1c 100644 --- a/packages/DocumentsUI/res/values-uz-rUZ/strings.xml +++ b/packages/DocumentsUI/res/values-uz-rUZ/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Quyidagi orqali ulashish"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Fayllar nusxalanmoqda"</string> <string name="move_notification_title" msgid="6193835179777284805">"Ko‘chirib o‘tkazilmoqda"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Fayllar o‘chirilmoqda"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> qoldi"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> ta fayl nusxalanmoqda</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Bir nechta fayllar o‘girildi"</string> <string name="allow" msgid="7225948811296386551">"Ruxsat berish"</string> <string name="deny" msgid="2081879885755434506">"Rad qilish"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Fayllar o‘chirib tashlansinmi?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ta fayl o‘chirib tashlansinmi?</item> + <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ta fayl o‘chirib tashlansinmi?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-zh-rCN/strings.xml b/packages/DocumentsUI/res/values-zh-rCN/strings.xml index 83a9204256e0..6e87c81ce72a 100644 --- a/packages/DocumentsUI/res/values-zh-rCN/strings.xml +++ b/packages/DocumentsUI/res/values-zh-rCN/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"分享方式"</string> <string name="copy_notification_title" msgid="6374299806748219777">"正在复制文件"</string> <string name="move_notification_title" msgid="6193835179777284805">"正在移动文件"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"正在删除文件"</string> <string name="copy_remaining" msgid="6283790937387975095">"剩余时间:<xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other">正在复制 <xliff:g id="COUNT_1">%1$d</xliff:g> 个文件。</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"部分文件已转换成其他格式"</string> <string name="allow" msgid="7225948811296386551">"允许"</string> <string name="deny" msgid="2081879885755434506">"拒绝"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"要删除文件吗?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">您确定要删除 <xliff:g id="COUNT_1">%1$d</xliff:g> 个文件吗?</item> + <item quantity="one">您确定要删除 <xliff:g id="COUNT_0">%1$d</xliff:g> 个文件吗?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-zh-rHK/strings.xml b/packages/DocumentsUI/res/values-zh-rHK/strings.xml index 532f976f0766..345bba46b7c0 100644 --- a/packages/DocumentsUI/res/values-zh-rHK/strings.xml +++ b/packages/DocumentsUI/res/values-zh-rHK/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"分享方式:"</string> <string name="copy_notification_title" msgid="6374299806748219777">"正在複製檔案"</string> <string name="move_notification_title" msgid="6193835179777284805">"正在移動檔案"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"正在刪除檔案"</string> <string name="copy_remaining" msgid="6283790937387975095">"剩餘 <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other">正在複製 <xliff:g id="COUNT_1">%1$d</xliff:g> 個檔案。</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"部分檔案已轉換成其他格式"</string> <string name="allow" msgid="7225948811296386551">"允許"</string> <string name="deny" msgid="2081879885755434506">"拒絕"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"要刪除檔案嗎?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">您確定要刪除 <xliff:g id="COUNT_1">%1$d</xliff:g> 個檔案嗎?</item> + <item quantity="one">您確定要刪除 <xliff:g id="COUNT_0">%1$d</xliff:g> 個檔案嗎?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-zh-rTW/strings.xml b/packages/DocumentsUI/res/values-zh-rTW/strings.xml index e8b48ccc594e..c799fb314147 100644 --- a/packages/DocumentsUI/res/values-zh-rTW/strings.xml +++ b/packages/DocumentsUI/res/values-zh-rTW/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"分享方式:"</string> <string name="copy_notification_title" msgid="6374299806748219777">"複製檔案"</string> <string name="move_notification_title" msgid="6193835179777284805">"正在移動檔案"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"正在刪除檔案"</string> <string name="copy_remaining" msgid="6283790937387975095">"剩餘 <xliff:g id="DURATION">%s</xliff:g>"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="other">正在複製 <xliff:g id="COUNT_1">%1$d</xliff:g> 個檔案。</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"部分檔案已轉換成其他格式"</string> <string name="allow" msgid="7225948811296386551">"允許"</string> <string name="deny" msgid="2081879885755434506">"拒絕"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"要刪除檔案嗎?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="other">確定要刪除 <xliff:g id="COUNT_1">%1$d</xliff:g> 個檔案嗎?</item> + <item quantity="one">確定要刪除 <xliff:g id="COUNT_0">%1$d</xliff:g> 個檔案嗎?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values-zu/strings.xml b/packages/DocumentsUI/res/values-zu/strings.xml index b22f99455897..eda4f7b76eec 100644 --- a/packages/DocumentsUI/res/values-zu/strings.xml +++ b/packages/DocumentsUI/res/values-zu/strings.xml @@ -67,8 +67,7 @@ <string name="share_via" msgid="8966594246261344259">"Yabelana nge-"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Ikopisha amafayela"</string> <string name="move_notification_title" msgid="6193835179777284805">"Ihambisa amafayela"</string> - <!-- no translation found for delete_notification_title (3329403967712437496) --> - <skip /> + <string name="delete_notification_title" msgid="3329403967712437496">"Ukususa amafayela"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> okusele"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> <item quantity="one">Ikopisha amafayela angu-<xliff:g id="COUNT_1">%1$d</xliff:g>.</item> @@ -113,7 +112,9 @@ <string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Amanye amafayela aguqulelwe"</string> <string name="allow" msgid="7225948811296386551">"Vumela"</string> <string name="deny" msgid="2081879885755434506">"Yala"</string> - <!-- no translation found for delete_confirmation_title (1958369150786342998) --> - <skip /> - <!-- no translation found for delete_confirmation_message (6608317554854868128) --> + <string name="delete_confirmation_title" msgid="1958369150786342998">"Susa amafayela?"</string> + <plurals name="delete_confirmation_message" formatted="false" msgid="6608317554854868128"> + <item quantity="one">Ingabe uqinisekile ukuthi ufuna ukususa amafayela angu-<xliff:g id="COUNT_1">%1$d</xliff:g>?</item> + <item quantity="other">Ingabe uqinisekile ukuthi ufuna ukususa amafayela angu-<xliff:g id="COUNT_1">%1$d</xliff:g>?</item> + </plurals> </resources> diff --git a/packages/DocumentsUI/res/values/strings.xml b/packages/DocumentsUI/res/values/strings.xml index 3dc111aa9703..6e1b30e97b30 100644 --- a/packages/DocumentsUI/res/values/strings.xml +++ b/packages/DocumentsUI/res/values/strings.xml @@ -208,11 +208,9 @@ <string name="allow">Allow</string> <!-- Text in the button asking user to deny access to a given directory. --> <string name="deny">Deny</string> - <!-- Dialog title shown to users when asking if they want to delete files (a confirmation). --> - <string name="delete_confirmation_title">Delete files?</string> <!-- Dialog text shown to users when asking if they want to delete files (a confirmation). --> <plurals name="delete_confirmation_message"> - <item quantity="one">Are you sure you want to delete <xliff:g id="count" example="1">%1$d</xliff:g> file?</item> - <item quantity="other">Are you sure you want to delete <xliff:g id="count" example="3">%1$d</xliff:g> files?</item> + <item quantity="one">Delete <xliff:g id="count" example="1">%1$d</xliff:g> file?</item> + <item quantity="other">Delete <xliff:g id="count" example="3">%1$d</xliff:g> files?</item> </plurals> </resources> diff --git a/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java b/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java index 46cbbdf81c4e..6efe9d17d203 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java +++ b/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java @@ -39,6 +39,7 @@ import android.provider.DocumentsContract.Root; import android.support.annotation.CallSuper; import android.support.annotation.LayoutRes; import android.support.annotation.Nullable; +import android.support.annotation.VisibleForTesting; import android.util.Log; import android.view.KeyEvent; import android.view.Menu; @@ -67,6 +68,7 @@ public abstract class BaseActivity extends Activity SearchViewManager mSearchManager; DrawerController mDrawer; NavigationView mNavigator; + List<EventListener> mEventListeners = new ArrayList<>(); private final String mTag; @@ -149,7 +151,6 @@ public abstract class BaseActivity extends Activity final MenuItem sortSize = menu.findItem(R.id.menu_sort_size); final MenuItem grid = menu.findItem(R.id.menu_grid); final MenuItem list = menu.findItem(R.id.menu_list); - final MenuItem advanced = menu.findItem(R.id.menu_advanced); final MenuItem fileSize = menu.findItem(R.id.menu_file_size); // Search uses backend ranking; no sorting, recents doesn't support sort. @@ -161,9 +162,6 @@ public abstract class BaseActivity extends Activity grid.setVisible(mState.derivedMode != State.MODE_GRID); list.setVisible(mState.derivedMode != State.MODE_LIST); - advanced.setVisible(!mState.forceAdvanced); - advanced.setTitle(LocalPreferences.getDisplayAdvancedDevices(this) - ? R.string.menu_advanced_hide : R.string.menu_advanced_show); fileSize.setTitle(LocalPreferences.getDisplayFileSize(this) ? R.string.menu_file_size_hide : R.string.menu_file_size_show); @@ -199,10 +197,6 @@ public abstract class BaseActivity extends Activity state.forceSize = intent.getBooleanExtra(DocumentsContract.EXTRA_SHOW_FILESIZE, false); state.showSize = state.forceSize || LocalPreferences.getDisplayFileSize(this); - state.forceAdvanced = intent.getBooleanExtra(DocumentsContract.EXTRA_SHOW_ADVANCED, false); - state.showAdvanced = state.forceAdvanced - || LocalPreferences.getDisplayAdvancedDevices(this); - state.initAcceptMimes(intent); state.excludedAuthorities = getExcludedAuthorities(); @@ -278,10 +272,6 @@ public abstract class BaseActivity extends Activity } return true; - case R.id.menu_advanced: - setDisplayAdvancedDevices(!LocalPreferences.getDisplayAdvancedDevices(this)); - return true; - case R.id.menu_file_size: setDisplayFileSize(!LocalPreferences.getDisplayFileSize(this)); return true; @@ -329,6 +319,8 @@ public abstract class BaseActivity extends Activity void openContainerDocument(DocumentInfo doc) { assert(doc.isContainer()); + notifyDirectoryNavigated(doc.derivedUri); + mState.pushDocument(doc); // Show an opening animation only if pressing "back" would get us back to the // previous directory. Especially after opening a root document, pressing @@ -431,13 +423,6 @@ public abstract class BaseActivity extends Activity return mState; } - void setDisplayAdvancedDevices(boolean display) { - LocalPreferences.setDisplayAdvancedDevices(this, display); - mState.showAdvanced = mState.forceAdvanced | display; - RootsFragment.get(getFragmentManager()).onDisplayStateChanged(); - invalidateOptionsMenu(); - } - void setDisplayFileSize(boolean display) { LocalPreferences.setDisplayFileSize(this, display); mState.showSize = display; @@ -594,6 +579,28 @@ public abstract class BaseActivity extends Activity return super.onKeyDown(keyCode, event); } + @VisibleForTesting + public void addEventListener(EventListener listener) { + mEventListeners.add(listener); + } + + @VisibleForTesting + public void removeEventListener(EventListener listener) { + mEventListeners.remove(listener); + } + + public void notifyDirectoryLoaded(Uri uri) { + for (EventListener listener : mEventListeners) { + listener.onDirectoryLoaded(uri); + } + } + + void notifyDirectoryNavigated(Uri uri) { + for (EventListener listener : mEventListeners) { + listener.onDirectoryNavigated(uri); + } + } + /** * Toggles focus between the navigation drawer and the directory listing. If the drawer isn't * locked, open/close it as appropriate. diff --git a/packages/DocumentsUI/src/com/android/documentsui/DirectoryLoader.java b/packages/DocumentsUI/src/com/android/documentsui/DirectoryLoader.java index 13b7b14600eb..d2e918c918e8 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/DirectoryLoader.java +++ b/packages/DocumentsUI/src/com/android/documentsui/DirectoryLoader.java @@ -59,7 +59,6 @@ public class DirectoryLoader extends AsyncTaskLoader<DirectoryResult> { private CancellationSignal mSignal; private DirectoryResult mResult; - public DirectoryLoader(Context context, int type, RootInfo root, DocumentInfo doc, Uri uri, int userSortOrder, boolean inSearchMode) { super(context, ProviderExecutor.forAuthority(root.authority)); @@ -84,6 +83,7 @@ public class DirectoryLoader extends AsyncTaskLoader<DirectoryResult> { final String authority = mUri.getAuthority(); final DirectoryResult result = new DirectoryResult(); + result.doc = mDoc; // Use default document when searching if (mSearchMode) { diff --git a/packages/DocumentsUI/src/com/android/documentsui/DirectoryResult.java b/packages/DocumentsUI/src/com/android/documentsui/DirectoryResult.java index 22e438addc4c..62686439c11b 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/DirectoryResult.java +++ b/packages/DocumentsUI/src/com/android/documentsui/DirectoryResult.java @@ -22,12 +22,15 @@ import static com.android.documentsui.State.SORT_ORDER_UNKNOWN; import android.content.ContentProviderClient; import android.database.Cursor; +import com.android.documentsui.model.DocumentInfo; + import libcore.io.IoUtils; public class DirectoryResult implements AutoCloseable { ContentProviderClient client; public Cursor cursor; public Exception exception; + public DocumentInfo doc; public int sortOrder = SORT_ORDER_UNKNOWN; diff --git a/packages/DocumentsUI/src/com/android/documentsui/DownloadsActivity.java b/packages/DocumentsUI/src/com/android/documentsui/DownloadsActivity.java index b5d3ea082d50..2f784cbf2ac3 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/DownloadsActivity.java +++ b/packages/DocumentsUI/src/com/android/documentsui/DownloadsActivity.java @@ -98,12 +98,10 @@ public class DownloadsActivity extends BaseActivity { public boolean onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); - final MenuItem advanced = menu.findItem(R.id.menu_advanced); final MenuItem createDir = menu.findItem(R.id.menu_create_dir); final MenuItem pasteFromCb = menu.findItem(R.id.menu_paste_from_clipboard); final MenuItem fileSize = menu.findItem(R.id.menu_file_size); - advanced.setVisible(false); createDir.setVisible(false); pasteFromCb.setEnabled(false); fileSize.setVisible(false); diff --git a/packages/DocumentsUI/src/com/android/documentsui/EventListener.java b/packages/DocumentsUI/src/com/android/documentsui/EventListener.java new file mode 100644 index 000000000000..c15e9a641cfe --- /dev/null +++ b/packages/DocumentsUI/src/com/android/documentsui/EventListener.java @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2016 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; + +import android.net.Uri; +import android.support.annotation.Nullable; + +public interface EventListener { + /** + * @param uri Uri navigated to. If recents, then null. + */ + void onDirectoryNavigated(@Nullable Uri uri); + + /** + * @param uri Uri of the loaded directory. If recents, then null. + */ + void onDirectoryLoaded(@Nullable Uri uri); +} diff --git a/packages/DocumentsUI/src/com/android/documentsui/LocalPreferences.java b/packages/DocumentsUI/src/com/android/documentsui/LocalPreferences.java index 170fb891f97d..c7c61c3189ac 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/LocalPreferences.java +++ b/packages/DocumentsUI/src/com/android/documentsui/LocalPreferences.java @@ -25,17 +25,9 @@ import com.android.documentsui.State.ViewMode; import com.android.documentsui.model.RootInfo; public class LocalPreferences { - private static final String KEY_ADVANCED_DEVICES = "advancedDevices"; private static final String KEY_FILE_SIZE = "fileSize"; private static final String ROOT_VIEW_MODE_PREFIX = "rootViewMode-"; - public static boolean getDisplayAdvancedDevices(Context context) { - boolean defaultAdvanced = context.getResources() - .getBoolean(R.bool.config_defaultAdvancedDevices); - return PreferenceManager.getDefaultSharedPreferences(context) - .getBoolean(KEY_ADVANCED_DEVICES, defaultAdvanced); - } - public static boolean getDisplayFileSize(Context context) { return PreferenceManager.getDefaultSharedPreferences(context) .getBoolean(KEY_FILE_SIZE, false); @@ -47,11 +39,6 @@ public class LocalPreferences { .getInt(createKey(root), fallback); } - public static void setDisplayAdvancedDevices(Context context, boolean display) { - PreferenceManager.getDefaultSharedPreferences(context).edit() - .putBoolean(KEY_ADVANCED_DEVICES, display).apply(); - } - public static void setDisplayFileSize(Context context, boolean display) { PreferenceManager.getDefaultSharedPreferences(context).edit() .putBoolean(KEY_FILE_SIZE, display).apply(); diff --git a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java index 6856129cb530..2b7294a6e6d8 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java +++ b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java @@ -17,7 +17,6 @@ package com.android.documentsui; import static com.android.documentsui.Shared.DEBUG; -import static com.android.documentsui.Shared.TAG; import android.content.ContentProviderClient; import android.content.ContentResolver; @@ -62,6 +61,8 @@ public class RootsCache { public static final Uri sNotificationUri = Uri.parse( "content://com.android.documentsui.roots/"); + private static final String TAG = "RootsCache"; + private final Context mContext; private final ContentObserver mObserver; private OnCacheUpdateListener mCacheUpdateListener; @@ -417,45 +418,64 @@ public class RootsCache { static List<RootInfo> getMatchingRoots(Collection<RootInfo> roots, State state) { final List<RootInfo> matching = new ArrayList<>(); for (RootInfo root : roots) { - // Exclude read-only devices when creating - if (state.action == State.ACTION_CREATE && !root.supportsCreate()) continue; + + if (DEBUG) Log.d(TAG, "Evaluating " + root); + + if (state.action == State.ACTION_CREATE && !root.supportsCreate()) { + if (DEBUG) Log.d(TAG, "Excluding read-only root because: ACTION_CREATE."); + continue; + } + if (state.action == State.ACTION_PICK_COPY_DESTINATION - && !root.supportsCreate()) continue; - // Exclude roots that don't support directory picking - if (state.action == State.ACTION_OPEN_TREE && !root.supportsChildren()) continue; - // Exclude advanced devices when not requested - if (!state.showAdvanced && root.isAdvanced()) continue; - // Exclude non-local devices when local only - if (state.localOnly && !root.isLocalOnly()) continue; - // Exclude downloads roots as it doesn't support directory creation (actually - // we just don't show them). - // TODO: Add flag to check the root supports directory creation. - if (state.directoryCopy && !root.isDownloads()) continue; - - // Only show empty roots when creating, or in browse mode. - if (root.isEmpty() && (state.action == State.ACTION_OPEN - || state.action == State.ACTION_GET_CONTENT)) { - if (DEBUG) Log.i(TAG, "Skipping empty root: " + root); + && !root.supportsCreate()) { + if (DEBUG) Log.d( + TAG, "Excluding read-only root because: ACTION_PICK_COPY_DESTINATION."); + continue; + } + + if (state.action == State.ACTION_OPEN_TREE && !root.supportsChildren()) { + if (DEBUG) Log.d( + TAG, "Excluding root !supportsChildren because: ACTION_OPEN_TREE."); + continue; + } + + if (state.localOnly && !root.isLocalOnly()) { + if (DEBUG) Log.d(TAG, "Excluding root because: unwanted non-local device."); + continue; + } + + if (state.directoryCopy && root.isDownloads()) { + if (DEBUG) Log.d( + TAG, "Excluding downloads root because: unsupported directory copy."); + continue; + } + + if (state.action == State.ACTION_OPEN && root.isEmpty()) { + if (DEBUG) Log.d(TAG, "Excluding empty root because: ACTION_OPEN."); + continue; + } + + if (state.action == State.ACTION_GET_CONTENT && root.isEmpty()) { + if (DEBUG) Log.d(TAG, "Excluding empty root because: ACTION_GET_CONTENT."); continue; } - // Only include roots that serve requested content final boolean overlap = MimePredicate.mimeMatches(root.derivedMimeTypes, state.acceptMimes) || MimePredicate.mimeMatches(state.acceptMimes, root.derivedMimeTypes); if (!overlap) { + if (DEBUG) Log.d( + TAG, "Excluding root because: unsupported content types > " + + state.acceptMimes); continue; } - // Exclude roots from the calling package. if (state.excludedAuthorities.contains(root.authority)) { - if (DEBUG) Log.d( - TAG, "Excluding root " + root.authority + " from calling package."); + if (DEBUG) Log.d(TAG, "Excluding root because: owned by calling package."); continue; } - if (DEBUG) Log.d( - TAG, "Including root " + root + " in roots list."); + if (DEBUG) Log.d(TAG, "Including " + root); matching.add(root); } return matching; diff --git a/packages/DocumentsUI/src/com/android/documentsui/State.java b/packages/DocumentsUI/src/com/android/documentsui/State.java index 62f9ea7ed804..4f460b4a5cf6 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/State.java +++ b/packages/DocumentsUI/src/com/android/documentsui/State.java @@ -82,8 +82,6 @@ public class State implements android.os.Parcelable { public boolean forceSize; public boolean showSize; public boolean localOnly; - public boolean forceAdvanced; - public boolean showAdvanced; public boolean restored; // Indicates that a copy operation (or move) includes a directory. @@ -181,8 +179,6 @@ public class State implements android.os.Parcelable { out.writeInt(forceSize ? 1 : 0); out.writeInt(showSize ? 1 : 0); out.writeInt(localOnly ? 1 : 0); - out.writeInt(forceAdvanced ? 1 : 0); - out.writeInt(showAdvanced ? 1 : 0); out.writeInt(restored ? 1 : 0); DurableUtils.writeToParcel(out, stack); out.writeMap(dirState); @@ -211,8 +207,6 @@ public class State implements android.os.Parcelable { state.forceSize = in.readInt() != 0; state.showSize = in.readInt() != 0; state.localOnly = in.readInt() != 0; - state.forceAdvanced = in.readInt() != 0; - state.showAdvanced = in.readInt() != 0; state.restored = in.readInt() != 0; DurableUtils.readFromParcel(in, state.stack); in.readMap(state.dirState, loader); diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java index dfceff8d22b0..83838d3328fb 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java @@ -168,6 +168,7 @@ public class DirectoryFragment extends Fragment private GridLayoutManager mLayout; private int mColumnCount = 1; // This will get updated when layout changes. + private LayoutInflater mInflater; private MessageBar mMessageBar; private View mProgressBar; @@ -182,13 +183,12 @@ public class DirectoryFragment extends Fragment @Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + mInflater = inflater; final View view = inflater.inflate(R.layout.fragment_directory, container, false); mMessageBar = MessageBar.create(getChildFragmentManager()); mProgressBar = view.findViewById(R.id.progressbar); - mEmptyView = view.findViewById(android.R.id.empty); - mRecView = (RecyclerView) view.findViewById(R.id.dir_list); mRecView.setRecyclerListener( new RecyclerListener() { @@ -708,13 +708,27 @@ public class DirectoryFragment extends Fragment new GetDocumentsTask() { @Override void onDocumentsReady(final List<DocumentInfo> docs) { + + TextView message = + (TextView) mInflater.inflate(R.layout.dialog_delete_confirmation, null); + message.setText( + Shared.getQuantityString( + getActivity(), + R.plurals.delete_confirmation_message, + docs.size())); + + // This "insta-hides" files that are being deleted, because + // the delete operation may be not execute immediately (it + // may be queued up on the FileOperationService.) + // To hide the files locally, we call the hide method on the adapter + // ...which a live object...cannot be parceled. + // For that reason, for now, we implement this dialog NOT + // as a fragment (which can survive rotation and have its own state), + // but as a simple runtime dialog. So rotating a device with an + // active delete dialog...results in that dialog disappearing. + // We can do better, but don't have cycles for it now. new AlertDialog.Builder(getActivity()) - .setTitle(R.string.delete_confirmation_title) - .setMessage( - Shared.getQuantityString( - getActivity(), - R.plurals.delete_confirmation_message, - docs.size())) + .setView(message) .setPositiveButton( android.R.string.yes, new DialogInterface.OnClickListener() { @@ -1290,6 +1304,11 @@ public class DirectoryFragment extends Fragment showDirectory(); mAdapter.notifyDataSetChanged(); } + + if (!model.isLoading()) { + ((BaseActivity) getActivity()).notifyDirectoryLoaded( + model.doc != null ? model.doc.derivedUri : null); + } } @Override diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/DocumentsAdapter.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DocumentsAdapter.java index 0930c22b356c..0bbecf9b289c 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/DocumentsAdapter.java +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DocumentsAdapter.java @@ -74,13 +74,6 @@ abstract class DocumentsAdapter abstract public SparseArray<String> hide(String... ids); /** - * Unhides a set of previously hidden items. - * - * @param ids A sparse array of IDs from a previous call to {@link #hide}. - */ - abstract void unhide(SparseArray<String> ids); - - /** * Returns a class that yields the span size for a particular element. This is * primarily useful in {@link SectionBreakDocumentsAdapterWrapper} where * we adjust sizes. diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/Model.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/Model.java index 5e55e1a8b9ea..8170e2ab8fa2 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/Model.java +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/Model.java @@ -64,6 +64,7 @@ public class Model { @Nullable String info; @Nullable String error; + @Nullable DocumentInfo doc; /** * Generates a Model ID for a cursor entry that refers to a document. The Model ID is a unique @@ -111,6 +112,7 @@ public class Model { mPositions.clear(); info = null; error = null; + doc = null; mIsLoading = false; notifyUpdateListeners(); return; @@ -125,6 +127,7 @@ public class Model { mCursor = result.cursor; mCursorCount = mCursor.getCount(); mSortOrder = result.sortOrder; + doc = result.doc; updateModelData(); diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/ModelBackedDocumentsAdapter.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/ModelBackedDocumentsAdapter.java index 42dba4591326..2b073397f292 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/ModelBackedDocumentsAdapter.java +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/ModelBackedDocumentsAdapter.java @@ -24,12 +24,12 @@ import static com.android.documentsui.model.DocumentInfo.getCursorString; import android.database.Cursor; import android.provider.DocumentsContract.Document; -import android.support.annotation.VisibleForTesting; import android.util.Log; import android.util.SparseArray; import android.view.ViewGroup; import com.android.documentsui.State; + import com.google.common.collect.Sets; import java.util.ArrayList; @@ -181,29 +181,6 @@ final class ModelBackedDocumentsAdapter extends DocumentsAdapter { return hiddenItems; } - @VisibleForTesting - @Override - public void unhide(SparseArray<String> ids) { - if (DEBUG) Log.d(TAG, "Unhiding ids: " + ids); - - // An ArrayList can shrink at runtime...and in fact - // it does when we clear it completely. - // This means we can't call add(pos, id) without - // first checking the list size. - List<String> oldIds = mModelIds; - mModelIds = new ArrayList<>(oldIds.size() + ids.size()); - mModelIds.addAll(oldIds); - - // Finally insert the unhidden items. - for (int i = 0; i < ids.size(); i++) { - int pos = ids.keyAt(i); - String id = ids.get(pos); - mHiddenIds.remove(id); - mModelIds.add(pos, id); - notifyItemInserted(pos); - } - } - @Override public List<String> getModelIds() { return mModelIds; diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/SectionBreakDocumentsAdapterWrapper.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/SectionBreakDocumentsAdapterWrapper.java index 3ee5cfc38f8d..b6980596908c 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/SectionBreakDocumentsAdapterWrapper.java +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/SectionBreakDocumentsAdapterWrapper.java @@ -169,13 +169,6 @@ final class SectionBreakDocumentsAdapterWrapper extends DocumentsAdapter { } @Override - void unhide(SparseArray<String> ids) { - // NOTE: We hear about these changes and adjust break position - // in our AdapterDataObserver. - mDelegate.unhide(ids); - } - - @Override List<String> getModelIds() { return mDelegate.getModelIds(); } diff --git a/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java b/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java index 38970585afc3..29273a36b112 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java +++ b/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java @@ -283,10 +283,6 @@ public class RootInfo implements Durable, Parcelable, Comparable<RootInfo> { return (flags & Root.FLAG_SUPPORTS_SEARCH) != 0; } - public boolean isAdvanced() { - return (flags & Root.FLAG_ADVANCED) != 0; - } - public boolean isLocalOnly() { return (flags & Root.FLAG_LOCAL_ONLY) != 0; } diff --git a/packages/DocumentsUI/tests/src/com/android/documentsui/ActivityTest.java b/packages/DocumentsUI/tests/src/com/android/documentsui/ActivityTest.java index 4b98aaf940e9..683fd6c92caf 100644 --- a/packages/DocumentsUI/tests/src/com/android/documentsui/ActivityTest.java +++ b/packages/DocumentsUI/tests/src/com/android/documentsui/ActivityTest.java @@ -32,8 +32,11 @@ import android.support.test.uiautomator.Configurator; import android.support.test.uiautomator.UiDevice; import android.support.test.uiautomator.UiObjectNotFoundException; import android.test.ActivityInstrumentationTestCase2; +import android.util.Log; import android.view.MotionEvent; +import com.android.documentsui.BaseActivity; +import com.android.documentsui.EventListener; import com.android.documentsui.bots.DirectoryListBot; import com.android.documentsui.bots.KeyboardBot; import com.android.documentsui.bots.RootsListBot; @@ -64,7 +67,6 @@ public abstract class ActivityTest<T extends Activity> extends ActivityInstrumen public RootInfo rootDir0; public RootInfo rootDir1; - ContentResolver mResolver; DocumentsProviderHelper mDocsHelper; ContentProviderClient mClient; @@ -84,6 +86,23 @@ public abstract class ActivityTest<T extends Activity> extends ActivityInstrumen return rootDir0; } + /** + * Returns the authority of the testing provider begin used. + * By default it's StubProvider's authority. + * @return Authority of the provider. + */ + protected String getTestingProviderAuthority() { + return DEFAULT_AUTHORITY; + } + + /** + * Resolves testing roots. + */ + protected void setupTestingRoots() throws RemoteException { + rootDir0 = mDocsHelper.getRoot(ROOT_0_ID); + rootDir1 = mDocsHelper.getRoot(ROOT_1_ID); + } + @Override public void setUp() throws Exception { device = UiDevice.getInstance(getInstrumentation()); @@ -95,11 +114,10 @@ public abstract class ActivityTest<T extends Activity> extends ActivityInstrumen Configurator.getInstance().setToolType(MotionEvent.TOOL_TYPE_MOUSE); mResolver = context.getContentResolver(); - mClient = mResolver.acquireUnstableContentProviderClient(DEFAULT_AUTHORITY); - mDocsHelper = new DocumentsProviderHelper(DEFAULT_AUTHORITY, mClient); + mClient = mResolver.acquireUnstableContentProviderClient(getTestingProviderAuthority()); + mDocsHelper = new DocumentsProviderHelper(getTestingProviderAuthority(), mClient); - rootDir0 = mDocsHelper.getRoot(ROOT_0_ID); - rootDir1 = mDocsHelper.getRoot(ROOT_1_ID); + setupTestingRoots(); launchActivity(); resetStorage(); diff --git a/packages/DocumentsUI/tests/src/com/android/documentsui/RootsCacheTest.java b/packages/DocumentsUI/tests/src/com/android/documentsui/RootsCacheTest.java index 7d3498e4e079..e73dd8cdfec2 100644 --- a/packages/DocumentsUI/tests/src/com/android/documentsui/RootsCacheTest.java +++ b/packages/DocumentsUI/tests/src/com/android/documentsui/RootsCacheTest.java @@ -16,6 +16,9 @@ package com.android.documentsui; +import static com.android.documentsui.RootsCache.getMatchingRoots; +import static com.google.common.collect.Lists.newArrayList; + import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.SmallTest; @@ -28,23 +31,18 @@ import java.util.List; @SmallTest public class RootsCacheTest extends AndroidTestCase { - private static RootInfo buildForMimeTypes(String... mimeTypes) { - final RootInfo root = new RootInfo(); - root.derivedMimeTypes = mimeTypes; - return root; - } - - private RootInfo mNull = new RootInfo(); - private RootInfo mEmpty = buildForMimeTypes(); - private RootInfo mWild = buildForMimeTypes("*/*"); - private RootInfo mImages = buildForMimeTypes("image/*"); - private RootInfo mAudio = buildForMimeTypes("audio/*", "application/ogg", "application/x-flac"); - private RootInfo mDocs = buildForMimeTypes("application/msword", "application/vnd.ms-excel"); - private RootInfo mMalformed1 = buildForMimeTypes("meow"); - private RootInfo mMalformed2 = buildForMimeTypes("*/meow"); + private static RootInfo mNull = new RootInfo(); + private static RootInfo mEmpty = buildForMimeTypes(); + private static RootInfo mWild = buildForMimeTypes("*/*"); + private static RootInfo mImages = buildForMimeTypes("image/*"); + private static RootInfo mAudio = buildForMimeTypes( + "audio/*", "application/ogg", "application/x-flac"); + private static RootInfo mDocs = buildForMimeTypes( + "application/msword", "application/vnd.ms-excel"); + private static RootInfo mMalformed1 = buildForMimeTypes("meow"); + private static RootInfo mMalformed2 = buildForMimeTypes("*/meow"); - private List<RootInfo> mRoots = Lists.newArrayList( - mNull, mWild, mEmpty, mImages, mAudio, mDocs, mMalformed1, mMalformed2); + private List<RootInfo> mRoots; private State mState; @@ -52,70 +50,86 @@ public class RootsCacheTest extends AndroidTestCase { protected void setUp() throws Exception { super.setUp(); + mRoots = Lists.newArrayList( + mNull, mWild, mEmpty, mImages, mAudio, mDocs, mMalformed1, mMalformed2); + mState = new State(); mState.action = State.ACTION_OPEN; - mState.showAdvanced = true; mState.localOnly = false; } - public void testMatchingRootsEverything() throws Exception { + public void testMatchingRoots_Everything() throws Exception { + mState.acceptMimes = new String[] { "*/*" }; + assertContainsExactly( + newArrayList(mNull, mWild, mImages, mAudio, mDocs, mMalformed1, mMalformed2), + getMatchingRoots(mRoots, mState)); + } + + public void testMatchingRoots_DirectoryCopy() throws Exception { + RootInfo downloads = buildForMimeTypes("*/*"); + downloads.authority = "com.android.providers.downloads.documents"; + mRoots.add(downloads); + mState.acceptMimes = new String[] { "*/*" }; + mState.directoryCopy = true; + + // basically we're asserting that the results don't contain downloads assertContainsExactly( - Lists.newArrayList(mNull, mWild, mImages, mAudio, mDocs, mMalformed1, mMalformed2), - RootsCache.getMatchingRoots(mRoots, mState)); + newArrayList(mNull, mWild, mImages, mAudio, mDocs, mMalformed1, mMalformed2), + getMatchingRoots(mRoots, mState)); } - public void testMatchingRootsPngOrWild() throws Exception { + public void testMatchingRoots_PngOrWild() throws Exception { mState.acceptMimes = new String[] { "image/png", "*/*" }; assertContainsExactly( - Lists.newArrayList(mNull, mWild, mImages, mAudio, mDocs, mMalformed1, mMalformed2), - RootsCache.getMatchingRoots(mRoots, mState)); + newArrayList(mNull, mWild, mImages, mAudio, mDocs, mMalformed1, mMalformed2), + getMatchingRoots(mRoots, mState)); } - public void testMatchingRootsAudioWild() throws Exception { + public void testMatchingRoots_AudioWild() throws Exception { mState.acceptMimes = new String[] { "audio/*" }; assertContainsExactly( - Lists.newArrayList(mNull, mWild, mAudio), - RootsCache.getMatchingRoots(mRoots, mState)); + newArrayList(mNull, mWild, mAudio), + getMatchingRoots(mRoots, mState)); } - public void testMatchingRootsAudioWildOrImageWild() throws Exception { + public void testMatchingRoots_AudioWildOrImageWild() throws Exception { mState.acceptMimes = new String[] { "audio/*", "image/*" }; assertContainsExactly( - Lists.newArrayList(mNull, mWild, mAudio, mImages), - RootsCache.getMatchingRoots(mRoots, mState)); + newArrayList(mNull, mWild, mAudio, mImages), + getMatchingRoots(mRoots, mState)); } - public void testMatchingRootsAudioSpecific() throws Exception { + public void testMatchingRoots_AudioSpecific() throws Exception { mState.acceptMimes = new String[] { "audio/mpeg" }; assertContainsExactly( - Lists.newArrayList(mNull, mWild, mAudio), - RootsCache.getMatchingRoots(mRoots, mState)); + newArrayList(mNull, mWild, mAudio), + getMatchingRoots(mRoots, mState)); } - public void testMatchingRootsDocument() throws Exception { + public void testMatchingRoots_Document() throws Exception { mState.acceptMimes = new String[] { "application/msword" }; assertContainsExactly( - Lists.newArrayList(mNull, mWild, mDocs), - RootsCache.getMatchingRoots(mRoots, mState)); + newArrayList(mNull, mWild, mDocs), + getMatchingRoots(mRoots, mState)); } - public void testMatchingRootsApplication() throws Exception { + public void testMatchingRoots_Application() throws Exception { mState.acceptMimes = new String[] { "application/*" }; assertContainsExactly( - Lists.newArrayList(mNull, mWild, mAudio, mDocs), - RootsCache.getMatchingRoots(mRoots, mState)); + newArrayList(mNull, mWild, mAudio, mDocs), + getMatchingRoots(mRoots, mState)); } - public void testMatchingRootsFlacOrPng() throws Exception { + public void testMatchingRoots_FlacOrPng() throws Exception { mState.acceptMimes = new String[] { "application/x-flac", "image/png" }; assertContainsExactly( - Lists.newArrayList(mNull, mWild, mAudio, mImages), - RootsCache.getMatchingRoots(mRoots, mState)); + newArrayList(mNull, mWild, mAudio, mImages), + getMatchingRoots(mRoots, mState)); } public void testExcludedAuthorities() throws Exception { - final List<RootInfo> roots = Lists.newArrayList(); + final List<RootInfo> roots = newArrayList(); // Set up some roots for (int i = 0; i < 5; ++i) { @@ -124,7 +138,7 @@ public class RootsCacheTest extends AndroidTestCase { roots.add(root); } // Make some allowed authorities - List<RootInfo> allowedRoots = Lists.newArrayList( + List<RootInfo> allowedRoots = newArrayList( roots.get(0), roots.get(2), roots.get(4)); // Set up the excluded authority list for (RootInfo root: roots) { @@ -136,7 +150,7 @@ public class RootsCacheTest extends AndroidTestCase { assertContainsExactly( allowedRoots, - RootsCache.getMatchingRoots(roots, mState)); + getMatchingRoots(roots, mState)); } private static void assertContainsExactly(List<?> expected, List<?> actual) { @@ -145,4 +159,10 @@ public class RootsCacheTest extends AndroidTestCase { assertTrue(actual.contains(o)); } } + + private static RootInfo buildForMimeTypes(String... mimeTypes) { + final RootInfo root = new RootInfo(); + root.derivedMimeTypes = mimeTypes; + return root; + } } diff --git a/packages/DocumentsUI/tests/src/com/android/documentsui/dirlist/ModelBackedDocumentsAdapterTest.java b/packages/DocumentsUI/tests/src/com/android/documentsui/dirlist/ModelBackedDocumentsAdapterTest.java index 2244be9fa8cc..adc814147336 100644 --- a/packages/DocumentsUI/tests/src/com/android/documentsui/dirlist/ModelBackedDocumentsAdapterTest.java +++ b/packages/DocumentsUI/tests/src/com/android/documentsui/dirlist/ModelBackedDocumentsAdapterTest.java @@ -73,28 +73,6 @@ public class ModelBackedDocumentsAdapterTest extends AndroidTestCase { assertEquals(mModel.getItemCount() - 2, mAdapter.getItemCount()); } - // Tests that the items can be hidden and unhidden. - public void testUnhide_ItemCount() { - List<String> ids = mModel.getModelIds(); - SparseArray<String> hidden = mAdapter.hide(ids.toArray(new String[ids.size()])); - mAdapter.unhide(hidden); - assertEquals(mModel.getItemCount(), mAdapter.getItemCount()); - } - - // Tests that the items can be hidden and unhidden. - public void testUnhide_PreservesOrder() { - List<String> ids = mModel.getModelIds(); - SparseArray<String> hidden = mAdapter.hide( - ids.get(0), ids.get(1), ids.get(5), ids.get(9)); - mAdapter.unhide(hidden); - - // Finally ensure the restored items are in the original order - // by checking them against the model. - for (int i = 0; i < mAdapter.getItemCount(); i++) { - assertEquals(mModel.idForPosition(i), mAdapter.getModelId(i)); - } - } - private final class TestEnvironment implements DocumentsAdapter.Environment { private final Context testContext; diff --git a/packages/DocumentsUI/tests/src/com/android/documentsui/dirlist/TestDocumentsAdapter.java b/packages/DocumentsUI/tests/src/com/android/documentsui/dirlist/TestDocumentsAdapter.java index 267f47d80d3f..e170dbb55181 100644 --- a/packages/DocumentsUI/tests/src/com/android/documentsui/dirlist/TestDocumentsAdapter.java +++ b/packages/DocumentsUI/tests/src/com/android/documentsui/dirlist/TestDocumentsAdapter.java @@ -61,11 +61,6 @@ public class TestDocumentsAdapter extends DocumentsAdapter { } @Override - void unhide(SparseArray<String> ids) { - throw new UnsupportedOperationException(); - } - - @Override public DocumentHolder onCreateViewHolder(ViewGroup parent, int viewType) { throw new UnsupportedOperationException(); } diff --git a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java index 97527ddf3222..d31a121233e3 100644 --- a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java +++ b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java @@ -170,7 +170,6 @@ public class ExternalStorageProvider extends DocumentsProvider { if (volume.isPrimary()) { // save off the primary volume for subsequent "Home" dir initialization. primaryVolume = volume; - root.flags |= Root.FLAG_ADVANCED; } // Dunno when this would NOT be the case, but never hurts to be correct. if (volume.isMountedWritable()) { diff --git a/packages/SettingsLib/res/values-es/strings.xml b/packages/SettingsLib/res/values-es/strings.xml index 57a749d5c5b4..a01d2e99199b 100644 --- a/packages/SettingsLib/res/values-es/strings.xml +++ b/packages/SettingsLib/res/values-es/strings.xml @@ -278,7 +278,7 @@ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"Ejecuta procesadores de WebView en un proceso aislado."</string> <string name="select_webview_provider_title" msgid="4628592979751918907">"Implementación de WebView"</string> <string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"Establecer implementación de WebView"</string> - <string name="select_webview_provider_toast_text" msgid="8168796505966635684">"La implementación de WebView seleccionada no es válida porque la lista de opciones de implementación no estaba activada. Esta ya debería estar actualizada."</string> + <string name="select_webview_provider_toast_text" msgid="8168796505966635684">"La implementación de WebView seleccionada no es válida porque la lista de opciones de implementación estaba inactiva. Esta ya debería estar actualizada."</string> <string name="convert_to_file_encryption" msgid="3060156730651061223">"Convertir a cifrado de archivo"</string> <string name="convert_to_file_encryption_enabled" msgid="2861258671151428346">"Convertir…"</string> <string name="convert_to_file_encryption_done" msgid="7859766358000523953">"Ya está cifrado"</string> diff --git a/packages/SettingsLib/res/values-fa/strings.xml b/packages/SettingsLib/res/values-fa/strings.xml index a683c5572b10..0a2d11184bbc 100644 --- a/packages/SettingsLib/res/values-fa/strings.xml +++ b/packages/SettingsLib/res/values-fa/strings.xml @@ -274,11 +274,11 @@ <string name="inactive_app_active_summary" msgid="4174921824958516106">"فعال. برای تغییر حالت ضربه بزنید."</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"سرویسهای در حال اجرا"</string> <string name="runningservices_settings_summary" msgid="854608995821032748">"مشاهده و کنترل سرویسهای در حال اجرای فعلی"</string> - <string name="enable_webview_multiprocess" msgid="3405948012467585908">"فعال کردن WebView چند پردازشی"</string> - <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"اجرای تولیدکننده تصویر WebView در یک پردازش مجزا."</string> - <string name="select_webview_provider_title" msgid="4628592979751918907">"اجرای WebView"</string> - <string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"تنظیم اجرای WebView"</string> - <string name="select_webview_provider_toast_text" msgid="8168796505966635684">"اجرای WebView انتخابی نامعتبر است چون فهرست گزینههای اجرای انتخابی قدیمی شده است. این فهرست اکنون باید بهروزرسانی شود."</string> + <string name="enable_webview_multiprocess" msgid="3405948012467585908">"فعال کردن وبنما چند پردازشی"</string> + <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"اجرای تولیدکننده تصویر وبنما در یک پردازش مجزا."</string> + <string name="select_webview_provider_title" msgid="4628592979751918907">"اجرای وبنما"</string> + <string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"تنظیم اجرای وبنما"</string> + <string name="select_webview_provider_toast_text" msgid="8168796505966635684">"اجرای وبنما انتخابی نامعتبر است چون فهرست گزینههای اجرای انتخابی قدیمی شده است. این فهرست اکنون باید بهروزرسانی شود."</string> <string name="convert_to_file_encryption" msgid="3060156730651061223">"تبدیل به رمزگذاری برحسب فایل"</string> <string name="convert_to_file_encryption_enabled" msgid="2861258671151428346">"تبدیل…"</string> <string name="convert_to_file_encryption_done" msgid="7859766358000523953">"از قبل به رمزگذاری بر حسب فایل تبدیل شده است"</string> diff --git a/packages/SettingsLib/res/values-ky-rKG/strings.xml b/packages/SettingsLib/res/values-ky-rKG/strings.xml index e05d82e25f31..178d47ea55d2 100644 --- a/packages/SettingsLib/res/values-ky-rKG/strings.xml +++ b/packages/SettingsLib/res/values-ky-rKG/strings.xml @@ -278,7 +278,7 @@ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"WebView рендерерлерин корголгон процессте иштетүү."</string> <string name="select_webview_provider_title" msgid="4628592979751918907">"WebView аткарылышы"</string> <string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"WebView аткарылышын коюу"</string> - <string name="select_webview_provider_toast_text" msgid="8168796505966635684">"Аткарууларды тандоо тизмеси эскирип кеткендиктен тандалган WebView аткарылышы жараксыз. Тизме азыр жаңыртылышы керек."</string> + <string name="select_webview_provider_toast_text" msgid="8168796505966635684">"Тандалган WebView кызматы колдоого алынбайт. Кызматтардын тизмеси эскирип калгандыктан ал азыр жаңыртылат."</string> <string name="convert_to_file_encryption" msgid="3060156730651061223">"Файл шифрлөөсүнө айландыруу"</string> <string name="convert_to_file_encryption_enabled" msgid="2861258671151428346">"Айландыруу…"</string> <string name="convert_to_file_encryption_done" msgid="7859766358000523953">"Файл мурунтан эле шифрленген"</string> diff --git a/packages/SettingsLib/res/values-ta-rIN/strings.xml b/packages/SettingsLib/res/values-ta-rIN/strings.xml index adc75e99e9d4..fac31dfbfbd6 100644 --- a/packages/SettingsLib/res/values-ta-rIN/strings.xml +++ b/packages/SettingsLib/res/values-ta-rIN/strings.xml @@ -102,7 +102,7 @@ <string name="tts_default_rate_title" msgid="6030550998379310088">"பேச்சு வீதம்"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"பேசப்படும் உரையின் வேகம்"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"ஒலித்திறன்"</string> - <string name="tts_default_pitch_summary" msgid="1944885882882650009">"தொகுக்கப்பட்ட உரையின் டோன் பாதிக்கப்படும்"</string> + <string name="tts_default_pitch_summary" msgid="1944885882882650009">"உருவாக்கப்படும் பேச்சின் டோன் பாதிக்கப்படும்"</string> <string name="tts_default_lang_title" msgid="8018087612299820556">"மொழி"</string> <string name="tts_lang_use_system" msgid="2679252467416513208">"முறைமையின் மொழியைப் பயன்படுத்து"</string> <string name="tts_lang_not_selected" msgid="7395787019276734765">"மொழி தேர்ந்தெடுக்கப்படவில்லை"</string> diff --git a/packages/SettingsLib/res/values-zh-rCN/strings.xml b/packages/SettingsLib/res/values-zh-rCN/strings.xml index 53bd985436ee..4001d2c7f0a6 100644 --- a/packages/SettingsLib/res/values-zh-rCN/strings.xml +++ b/packages/SettingsLib/res/values-zh-rCN/strings.xml @@ -278,7 +278,7 @@ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"在独立进程中运行 WebView 渲染程序。"</string> <string name="select_webview_provider_title" msgid="4628592979751918907">"WebView 实现"</string> <string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"设置 WebView 实现"</string> - <string name="select_webview_provider_toast_text" msgid="8168796505966635684">"所选的 WebView 实现无效,因为相关的实现选项列表已过时。请立即更新这份列表。"</string> + <string name="select_webview_provider_toast_text" msgid="8168796505966635684">"所选的 WebView 实现无效,因为实现选项列表已过时。请立即更新列表。"</string> <string name="convert_to_file_encryption" msgid="3060156730651061223">"转换为文件加密"</string> <string name="convert_to_file_encryption_enabled" msgid="2861258671151428346">"转换…"</string> <string name="convert_to_file_encryption_done" msgid="7859766358000523953">"文件已加密"</string> diff --git a/packages/Shell/res/values-af/strings.xml b/packages/Shell/res/values-af/strings.xml index 9d399c193a31..f86b551f90e3 100644 --- a/packages/Shell/res/values-af/strings.xml +++ b/packages/Shell/res/values-af/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Kon nie skermkiekie neem nie."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Foutverslag <xliff:g id="ID">#%d</xliff:g> se besonderhede"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Lêernaam"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Titel"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Gedetailleerde beskrywing"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Fouttitel"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Foutopsomming"</string> + <string name="save" msgid="4781509040564835759">"Stoor"</string> </resources> diff --git a/packages/Shell/res/values-am/strings.xml b/packages/Shell/res/values-am/strings.xml index 254522218678..55c5390cebf3 100644 --- a/packages/Shell/res/values-am/strings.xml +++ b/packages/Shell/res/values-am/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"ቅጽበታዊ ገጽ እይታ ሊነሳ አይችልም"</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"የሳንካ ሪፖርት <xliff:g id="ID">#%d</xliff:g> ዝርዝሮች"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"የፋይል ስም"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"ርዕስ"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"ዝርዝር መግለጫ"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"የሳንካ ርዕስ"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"የሳንካ ማጠቃለያ"</string> + <string name="save" msgid="4781509040564835759">"አስቀምጥ"</string> </resources> diff --git a/packages/Shell/res/values-ar/strings.xml b/packages/Shell/res/values-ar/strings.xml index 7593110a0d00..f0af8ce9dbfb 100644 --- a/packages/Shell/res/values-ar/strings.xml +++ b/packages/Shell/res/values-ar/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"تعذر التقاط لقطة الشاشة."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"تفاصيل تقرير الخطأ <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"اسم الملف"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"العنوان"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"وصف تفصيلي"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"عنوان الخطأ"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"ملخص الخطأ"</string> + <string name="save" msgid="4781509040564835759">"حفظ"</string> </resources> diff --git a/packages/Shell/res/values-az-rAZ/strings.xml b/packages/Shell/res/values-az-rAZ/strings.xml index 9130255fd18b..6d375fe78c67 100644 --- a/packages/Shell/res/values-az-rAZ/strings.xml +++ b/packages/Shell/res/values-az-rAZ/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Displey görüntüsü əlçatan deyil."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Baq hesabatı <xliff:g id="ID">#%d</xliff:g> detalları"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Fayl adı"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Başlıq"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Ətraflı təsvir"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Baq başlığı"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Baq xülasə"</string> + <string name="save" msgid="4781509040564835759">"Yadda saxlayın"</string> </resources> diff --git a/packages/Shell/res/values-b+sr+Latn/strings.xml b/packages/Shell/res/values-b+sr+Latn/strings.xml index 597e5457ce6c..ad8494100534 100644 --- a/packages/Shell/res/values-b+sr+Latn/strings.xml +++ b/packages/Shell/res/values-b+sr+Latn/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Snimanje ekrana nije uspelo."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Detalji izveštaja o grešci <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Naziv datoteke"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Naslov"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Detaljni opis"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Naslov greške"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Rezime greške"</string> + <string name="save" msgid="4781509040564835759">"Sačuvaj"</string> </resources> diff --git a/packages/Shell/res/values-bg/strings.xml b/packages/Shell/res/values-bg/strings.xml index 6ca791409773..e5438395c487 100644 --- a/packages/Shell/res/values-bg/strings.xml +++ b/packages/Shell/res/values-bg/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Екранната снимка не можа да бъде направена."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Подробности за сигнала за програмна грешка „<xliff:g id="ID">#%d</xliff:g>“"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Име на файла"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Заглавие"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Подробно описание"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Заглавие на сигнала за програмна грешка"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Обобщена информация за сигнала за програмна грешка"</string> + <string name="save" msgid="4781509040564835759">"Запазване"</string> </resources> diff --git a/packages/Shell/res/values-bn-rBD/strings.xml b/packages/Shell/res/values-bn-rBD/strings.xml index 5390315737f5..bba778d6a0c0 100644 --- a/packages/Shell/res/values-bn-rBD/strings.xml +++ b/packages/Shell/res/values-bn-rBD/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"স্ক্রীনশট নেওয়া যায়নি৷"</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"ত্রুটির প্রতিবেদন <xliff:g id="ID">#%d</xliff:g> এর বিশদ বিবরণ"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"ফাইলের নাম"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"শীর্ষক"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"বিস্তারিত বিবরণ"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"ত্রুটির শীর্ষক"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"ত্রুটির সারাংশ"</string> + <string name="save" msgid="4781509040564835759">"সংরক্ষণ করুন"</string> </resources> diff --git a/packages/Shell/res/values-bs-rBA/strings.xml b/packages/Shell/res/values-bs-rBA/strings.xml index 903c2ab05d72..54be9551195f 100644 --- a/packages/Shell/res/values-bs-rBA/strings.xml +++ b/packages/Shell/res/values-bs-rBA/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Ekran nije moguće snimiti."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Detalji izvještaja o grešci <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Naziv fajla"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Naslov"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Detaljan opis"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Naslov greške"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Sažetak greške"</string> + <string name="save" msgid="4781509040564835759">"Sačuvaj"</string> </resources> diff --git a/packages/Shell/res/values-ca/strings.xml b/packages/Shell/res/values-ca/strings.xml index 08369461eaa4..a92177e2b072 100644 --- a/packages/Shell/res/values-ca/strings.xml +++ b/packages/Shell/res/values-ca/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"No s\'ha pogut fer la captura de pantalla."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Detalls de l\'informe d\'errors <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Nom del fitxer"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Títol"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Descripció detallada"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Títol de l\'error"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Resum d\'errors"</string> + <string name="save" msgid="4781509040564835759">"Desa"</string> </resources> diff --git a/packages/Shell/res/values-cs/strings.xml b/packages/Shell/res/values-cs/strings.xml index 215ec87b09e2..6f7549ac817e 100644 --- a/packages/Shell/res/values-cs/strings.xml +++ b/packages/Shell/res/values-cs/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Snímek obrazovky se nepodařilo pořídit."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Podrobnosti zprávy o chybě <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Název souboru"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Název"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Podrobný popis"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Název chyby"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Přehled chyby"</string> + <string name="save" msgid="4781509040564835759">"Uložit"</string> </resources> diff --git a/packages/Shell/res/values-da/strings.xml b/packages/Shell/res/values-da/strings.xml index e956d3a177e6..72a9a99680ce 100644 --- a/packages/Shell/res/values-da/strings.xml +++ b/packages/Shell/res/values-da/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Der kunne ikke tages et skærmbillede."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Oplysninger om fejlrapporten <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Filnavn"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Titel"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Detaljeret beskrivelse"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Fejlrapportens titel"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Oversigt over fejl"</string> + <string name="save" msgid="4781509040564835759">"Gem"</string> </resources> diff --git a/packages/Shell/res/values-de/strings.xml b/packages/Shell/res/values-de/strings.xml index 07f889890ba5..f848c9d32a2a 100644 --- a/packages/Shell/res/values-de/strings.xml +++ b/packages/Shell/res/values-de/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Screenshot konnte nicht aufgenommen werden."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Details zum Fehlerbericht <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Dateiname"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Titel"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Detaillierte Beschreibung"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Titel des Programmfehlers"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Zusammenfassung des Programmfehlers"</string> + <string name="save" msgid="4781509040564835759">"Speichern"</string> </resources> diff --git a/packages/Shell/res/values-el/strings.xml b/packages/Shell/res/values-el/strings.xml index 674697685dd5..0c04809dc1e6 100644 --- a/packages/Shell/res/values-el/strings.xml +++ b/packages/Shell/res/values-el/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Δεν ήταν δυνατή η λήψη του στιγμιότυπου οθόνης."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Λεπτομέρειες της αναφοράς σφάλματος <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Όνομα αρχείου"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Τίτλος"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Αναλυτική περιγραφή"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Τίτλος σφάλματος"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Περίληψη σφάλματος"</string> + <string name="save" msgid="4781509040564835759">"Αποθήκευση"</string> </resources> diff --git a/packages/Shell/res/values-en-rAU/strings.xml b/packages/Shell/res/values-en-rAU/strings.xml index ac681e27bc94..ad637f530cba 100644 --- a/packages/Shell/res/values-en-rAU/strings.xml +++ b/packages/Shell/res/values-en-rAU/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Screenshot could not be taken."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Bug report <xliff:g id="ID">#%d</xliff:g> details"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Filename"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Title"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Detailed description"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Bug title"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Bug summary"</string> + <string name="save" msgid="4781509040564835759">"Save"</string> </resources> diff --git a/packages/Shell/res/values-en-rGB/strings.xml b/packages/Shell/res/values-en-rGB/strings.xml index ac681e27bc94..ad637f530cba 100644 --- a/packages/Shell/res/values-en-rGB/strings.xml +++ b/packages/Shell/res/values-en-rGB/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Screenshot could not be taken."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Bug report <xliff:g id="ID">#%d</xliff:g> details"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Filename"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Title"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Detailed description"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Bug title"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Bug summary"</string> + <string name="save" msgid="4781509040564835759">"Save"</string> </resources> diff --git a/packages/Shell/res/values-en-rIN/strings.xml b/packages/Shell/res/values-en-rIN/strings.xml index ac681e27bc94..ad637f530cba 100644 --- a/packages/Shell/res/values-en-rIN/strings.xml +++ b/packages/Shell/res/values-en-rIN/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Screenshot could not be taken."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Bug report <xliff:g id="ID">#%d</xliff:g> details"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Filename"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Title"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Detailed description"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Bug title"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Bug summary"</string> + <string name="save" msgid="4781509040564835759">"Save"</string> </resources> diff --git a/packages/Shell/res/values-es-rUS/strings.xml b/packages/Shell/res/values-es-rUS/strings.xml index 96ca14c6ebce..a9a1e08c12b8 100644 --- a/packages/Shell/res/values-es-rUS/strings.xml +++ b/packages/Shell/res/values-es-rUS/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"No se pudo tomar la captura de pantalla."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Detalles del informe de errores <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Nombre del archivo"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Título"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Descripción completa"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Título del error"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Resumen del error"</string> + <string name="save" msgid="4781509040564835759">"Guardar"</string> </resources> diff --git a/packages/Shell/res/values-es/strings.xml b/packages/Shell/res/values-es/strings.xml index 00874c620583..b82d372f408a 100644 --- a/packages/Shell/res/values-es/strings.xml +++ b/packages/Shell/res/values-es/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"No se puede realizar la captura de pantalla."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Detalles del informe de errores <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Nombre de archivo"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Título"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Descripción completa"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Nombre del informe de errores"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Resumen del informe de errores"</string> + <string name="save" msgid="4781509040564835759">"Guardar"</string> </resources> diff --git a/packages/Shell/res/values-et-rEE/strings.xml b/packages/Shell/res/values-et-rEE/strings.xml index bc469bcd93ee..cdb774a04eaf 100644 --- a/packages/Shell/res/values-et-rEE/strings.xml +++ b/packages/Shell/res/values-et-rEE/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Ekraanipilti ei saanud teha."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Veaaruande <xliff:g id="ID">#%d</xliff:g> üksikasjad"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Faili nimi"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Pealkiri"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Üksikasjalik kirjeldus"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Vea pealkiri"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Vea kokkuvõte"</string> + <string name="save" msgid="4781509040564835759">"Salvesta"</string> </resources> diff --git a/packages/Shell/res/values-eu-rES/strings.xml b/packages/Shell/res/values-eu-rES/strings.xml index 614f17ecda94..42dfe276640c 100644 --- a/packages/Shell/res/values-eu-rES/strings.xml +++ b/packages/Shell/res/values-eu-rES/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Ezin izan da atera pantaila-argazkia."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Akatsen <xliff:g id="ID">#%d</xliff:g> txostenaren xehetasunak"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Fitxategi-izena"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Izena"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Azalpen xehatua"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Akatsaren izena"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Akatsaren laburpena"</string> + <string name="save" msgid="4781509040564835759">"Gorde"</string> </resources> diff --git a/packages/Shell/res/values-fa/strings.xml b/packages/Shell/res/values-fa/strings.xml index ab00562eaa75..e825f3a41916 100644 --- a/packages/Shell/res/values-fa/strings.xml +++ b/packages/Shell/res/values-fa/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"نمیتوان عکس صفحهنمایش گرفت."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"جزئیات گزارش اشکال <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"نام فایل"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"عنوان"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"جزئیات دقیق"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"عنوان اشکال"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"خلاصه اشکال"</string> + <string name="save" msgid="4781509040564835759">"ذخیره کردن"</string> </resources> diff --git a/packages/Shell/res/values-fi/strings.xml b/packages/Shell/res/values-fi/strings.xml index be7aabd5b882..8c67c664f90a 100644 --- a/packages/Shell/res/values-fi/strings.xml +++ b/packages/Shell/res/values-fi/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Kuvakaappauksen tallentaminen epäonnistui."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Virheraportin <xliff:g id="ID">#%d</xliff:g> tiedot"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Tiedostonimi"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Otsikko"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Yksityiskohtainen kuvaus"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Virheen nimi"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Virheen yhteenveto"</string> + <string name="save" msgid="4781509040564835759">"Tallenna"</string> </resources> diff --git a/packages/Shell/res/values-fr-rCA/strings.xml b/packages/Shell/res/values-fr-rCA/strings.xml index 7d9f97d5385c..3daa12034e9d 100644 --- a/packages/Shell/res/values-fr-rCA/strings.xml +++ b/packages/Shell/res/values-fr-rCA/strings.xml @@ -34,6 +34,7 @@ <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="1355948594292983332">"Détails du rapport de bogue <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Nom de fichier"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Titre"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Description détaillée"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Titre du bogue"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Sommaire des bogues"</string> + <string name="save" msgid="4781509040564835759">"Enregistrer"</string> </resources> diff --git a/packages/Shell/res/values-fr/strings.xml b/packages/Shell/res/values-fr/strings.xml index 74025d90c5c5..c512aca85155 100644 --- a/packages/Shell/res/values-fr/strings.xml +++ b/packages/Shell/res/values-fr/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Impossible d\'effectuer une capture d\'écran."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Informations sur le rapport de bug \"<xliff:g id="ID">#%d</xliff:g>\""</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Nom de fichier"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Titre"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Description détaillée"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Titre du bug"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Résumé du bug"</string> + <string name="save" msgid="4781509040564835759">"Enregistrer"</string> </resources> diff --git a/packages/Shell/res/values-gl-rES/strings.xml b/packages/Shell/res/values-gl-rES/strings.xml index d3be7c5bacea..ea95c970b3c3 100644 --- a/packages/Shell/res/values-gl-rES/strings.xml +++ b/packages/Shell/res/values-gl-rES/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Non se puido realizar a captura de pantalla."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Detalles do informe de erros <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Nome do ficheiro"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Título"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Descrición detallada"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Título do informe de erros"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Resumo do informe de erros"</string> + <string name="save" msgid="4781509040564835759">"Gardar"</string> </resources> diff --git a/packages/Shell/res/values-gu-rIN/strings.xml b/packages/Shell/res/values-gu-rIN/strings.xml index 45df7b35ebc8..1436c3d70399 100644 --- a/packages/Shell/res/values-gu-rIN/strings.xml +++ b/packages/Shell/res/values-gu-rIN/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"સ્ક્રીનશોટ લઇ શકાયો નથી."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"બગ રિપોર્ટ <xliff:g id="ID">#%d</xliff:g> ની વિગતો"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"ફાઇલનું નામ"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"શીર્ષક"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"વિગતવાર વર્ણન"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"બગનું શીર્ષક"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"બગનો સારાંશ"</string> + <string name="save" msgid="4781509040564835759">"સાચવો"</string> </resources> diff --git a/packages/Shell/res/values-hi/strings.xml b/packages/Shell/res/values-hi/strings.xml index 8858bc3202e4..9a735f2451b5 100644 --- a/packages/Shell/res/values-hi/strings.xml +++ b/packages/Shell/res/values-hi/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"स्क्रीनशॉट नहीं लिया जा सका."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"बग रिपोर्ट <xliff:g id="ID">#%d</xliff:g> के विवरण"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"फ़ाइल नाम"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"शीर्षक"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"विस्तृत वर्णन"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"बग शीर्षक"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"बग सारांश"</string> + <string name="save" msgid="4781509040564835759">"सहेजें"</string> </resources> diff --git a/packages/Shell/res/values-hr/strings.xml b/packages/Shell/res/values-hr/strings.xml index cb03f9cec314..71d50b8a5589 100644 --- a/packages/Shell/res/values-hr/strings.xml +++ b/packages/Shell/res/values-hr/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Snimanje zaslona nije uspjelo."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Pojedinosti izvješća o programskoj pogrešci <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Naziv datoteke"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Naslov"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Detaljan opis"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Naslov izvješća o programskoj pogrešci"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Sažetak izvješća o programskoj pogrešci"</string> + <string name="save" msgid="4781509040564835759">"Spremi"</string> </resources> diff --git a/packages/Shell/res/values-hu/strings.xml b/packages/Shell/res/values-hu/strings.xml index 390cd2f3ca3a..cf1031569379 100644 --- a/packages/Shell/res/values-hu/strings.xml +++ b/packages/Shell/res/values-hu/strings.xml @@ -34,6 +34,7 @@ <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="1355948594292983332">"Hibajelentés (<xliff:g id="ID">#%d</xliff:g>) részletei"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Fájlnév"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Név"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Részletes leírás"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Hibajelentés címe"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Hibajelentés összefoglalója"</string> + <string name="save" msgid="4781509040564835759">"Mentés"</string> </resources> diff --git a/packages/Shell/res/values-hy-rAM/strings.xml b/packages/Shell/res/values-hy-rAM/strings.xml index 68478abffff4..1cf5c944ebe8 100644 --- a/packages/Shell/res/values-hy-rAM/strings.xml +++ b/packages/Shell/res/values-hy-rAM/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Չհաջողվեց ստանալ էկրանի պատկերը:"</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"<xliff:g id="ID">#%d</xliff:g> վրիպակի զեկույցի մանրամասները"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Ֆայլի անունը"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Անվանումը"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Մանրամասն նկարագրություն"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Վրիպակի զեկույցի վերնագիրը"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Վրիպակի զեկույցի ամփոփագիրը"</string> + <string name="save" msgid="4781509040564835759">"Պահել"</string> </resources> diff --git a/packages/Shell/res/values-in/strings.xml b/packages/Shell/res/values-in/strings.xml index 4416fc725b0b..1e8fe872a2d5 100644 --- a/packages/Shell/res/values-in/strings.xml +++ b/packages/Shell/res/values-in/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Tangkapan layar tidak dapat diambil."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Detail laporan bug <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Nama file"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Judul"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Deskripsi detail"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Judul bug"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Ringkasan bug"</string> + <string name="save" msgid="4781509040564835759">"Simpan"</string> </resources> diff --git a/packages/Shell/res/values-is-rIS/strings.xml b/packages/Shell/res/values-is-rIS/strings.xml index 0d43719cd3c3..afcea592c24d 100644 --- a/packages/Shell/res/values-is-rIS/strings.xml +++ b/packages/Shell/res/values-is-rIS/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Ekki tókst að taka skjámynd."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Upplýsingar villutilkynningar <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Skráarheiti"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Titill"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Ítarleg lýsing"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Heiti villu"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Villusamantekt"</string> + <string name="save" msgid="4781509040564835759">"Vista"</string> </resources> diff --git a/packages/Shell/res/values-it/strings.xml b/packages/Shell/res/values-it/strings.xml index fc9383a2ca32..d7ac9a52fbf2 100644 --- a/packages/Shell/res/values-it/strings.xml +++ b/packages/Shell/res/values-it/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Impossibile acquisire lo screenshot."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Dettagli sulla segnalazione di bug <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Nome file"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Titolo"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Descrizione dettagliata"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Titolo bug"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Riepilogo bug"</string> + <string name="save" msgid="4781509040564835759">"Salva"</string> </resources> diff --git a/packages/Shell/res/values-iw/strings.xml b/packages/Shell/res/values-iw/strings.xml index 335a2e80d882..fd64ee1991a2 100644 --- a/packages/Shell/res/values-iw/strings.xml +++ b/packages/Shell/res/values-iw/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"לא ניתן היה לצלם מסך."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"פרטי הדוח על הבאג <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"שם קובץ"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"כותרת"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"תיאור מפורט"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"כותרת הבאג"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"סיכום הבאג"</string> + <string name="save" msgid="4781509040564835759">"שמור"</string> </resources> diff --git a/packages/Shell/res/values-ja/strings.xml b/packages/Shell/res/values-ja/strings.xml index b98b05fa1f19..050c5dfa093a 100644 --- a/packages/Shell/res/values-ja/strings.xml +++ b/packages/Shell/res/values-ja/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"スクリーンショットを撮影できませんでした。"</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"バグレポート <xliff:g id="ID">#%d</xliff:g> の詳細"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"ファイル名"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"タイトル"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"詳細説明"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"バグのタイトル"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"バグの概要"</string> + <string name="save" msgid="4781509040564835759">"保存"</string> </resources> diff --git a/packages/Shell/res/values-ka-rGE/strings.xml b/packages/Shell/res/values-ka-rGE/strings.xml index 24d83a4b6230..8c5c6fbcb2aa 100644 --- a/packages/Shell/res/values-ka-rGE/strings.xml +++ b/packages/Shell/res/values-ka-rGE/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"ეკრანის ანაბეჭდის გადაღება ვერ მოხერხდა."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"ხარვეზების შესახებ ანგარიში <xliff:g id="ID">#%d</xliff:g>-ის დეტალები"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"ფაილის სახელი"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"სათაური"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"დეტალური აღწერა"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"შეცდომის სათაური"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"შეცდომის რეზიუმე"</string> + <string name="save" msgid="4781509040564835759">"შენახვა"</string> </resources> diff --git a/packages/Shell/res/values-kk-rKZ/strings.xml b/packages/Shell/res/values-kk-rKZ/strings.xml index 5878b17a7a5a..edb2dd0107f6 100644 --- a/packages/Shell/res/values-kk-rKZ/strings.xml +++ b/packages/Shell/res/values-kk-rKZ/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Скриншот түсіру мүмкін болмады."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"<xliff:g id="ID">#%d</xliff:g> қате туралы есебі туралы мәліметтер"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Файл атауы"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Атауы"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Егжей-тегжейлі сипаттама"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Қатенің атауы"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Қате туралы жиынтық мәліметтер"</string> + <string name="save" msgid="4781509040564835759">"Сақтау"</string> </resources> diff --git a/packages/Shell/res/values-km-rKH/strings.xml b/packages/Shell/res/values-km-rKH/strings.xml index 9c95e9849efc..ba0de9f4e097 100644 --- a/packages/Shell/res/values-km-rKH/strings.xml +++ b/packages/Shell/res/values-km-rKH/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"មិនអាចថតរូបថតអេក្រង់បានទេ"</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"ព័ត៌មានលម្អិតពី <xliff:g id="ID">#%d</xliff:g> របាយការណ៍កំហុស"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"ឈ្មោះឯកសារ"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"ចំណងជើង"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"ការពិពណ៌នាលម្អិត"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"ចំណងជើងកំហុស"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"សង្ខេបកំហុស"</string> + <string name="save" msgid="4781509040564835759">"រក្សាទុក"</string> </resources> diff --git a/packages/Shell/res/values-kn-rIN/strings.xml b/packages/Shell/res/values-kn-rIN/strings.xml index ce6f3c05f4c4..b041f3534d85 100644 --- a/packages/Shell/res/values-kn-rIN/strings.xml +++ b/packages/Shell/res/values-kn-rIN/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"ಸ್ಕ್ರೀನ್ಶಾಟ್ ತೆಗೆದುಕೊಳ್ಳಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"ದೋಷ ವರದಿಯ <xliff:g id="ID">#%d</xliff:g> ವಿವರಗಳು"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"ಫೈಲ್ಹೆಸರು"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"ಶೀರ್ಷಿಕೆ"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"ವಿವರವಾದ ವಿವರಣೆ"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"ಬಗ್ ಶೀರ್ಷಿಕೆ"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"ಬಗ್ ಸಾರಾಂಶ"</string> + <string name="save" msgid="4781509040564835759">"ಉಳಿಸು"</string> </resources> diff --git a/packages/Shell/res/values-ko/strings.xml b/packages/Shell/res/values-ko/strings.xml index 70df8e2efb36..2a863608e2fd 100644 --- a/packages/Shell/res/values-ko/strings.xml +++ b/packages/Shell/res/values-ko/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"스크린샷을 찍을 수 없습니다."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"버그 신고 <xliff:g id="ID">#%d</xliff:g> 세부정보"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"파일 이름"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"제목"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"자세한 설명"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"버그 제목"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"버그 요약"</string> + <string name="save" msgid="4781509040564835759">"저장"</string> </resources> diff --git a/packages/Shell/res/values-ky-rKG/strings.xml b/packages/Shell/res/values-ky-rKG/strings.xml index 49d8d8df0074..1903109d300f 100644 --- a/packages/Shell/res/values-ky-rKG/strings.xml +++ b/packages/Shell/res/values-ky-rKG/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Скриншот тартылбай койду."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Мүчүлүштүк тууралуу билдирүүнүн <xliff:g id="ID">#%d</xliff:g> чоо-жайы"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Файлдын аталышы"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Аталышы"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Кененирээк маалымат"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Мүчүлүштүктүн аталышы"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Мүчүлүштүктүн корутундусу"</string> + <string name="save" msgid="4781509040564835759">"Сактоо"</string> </resources> diff --git a/packages/Shell/res/values-lo-rLA/strings.xml b/packages/Shell/res/values-lo-rLA/strings.xml index 61b06c891a3a..43482502ea2b 100644 --- a/packages/Shell/res/values-lo-rLA/strings.xml +++ b/packages/Shell/res/values-lo-rLA/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"ບໍ່ສາມາດຖ່າຍພາບໜ້າຈໍໄດ້."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"ລາຍລະອຽດຂອງລາຍງານຂໍ້ຜິດພາດ <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"ຊື່ໄຟລ໌"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"ຊື່"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"ຄຳອະທິບາຍແບບລະອຽດ"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"ຊື່ຂໍ້ຜິດພາດ"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"ສະຫຼຸບຂໍ້ຜິດພາດ"</string> + <string name="save" msgid="4781509040564835759">"ບັນທຶກ"</string> </resources> diff --git a/packages/Shell/res/values-lt/strings.xml b/packages/Shell/res/values-lt/strings.xml index 34182131f7a1..a714efc30f3e 100644 --- a/packages/Shell/res/values-lt/strings.xml +++ b/packages/Shell/res/values-lt/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Nepavyko padaryti ekrano kopijos."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Išsami informacija apie pranešimą apie riktą (<xliff:g id="ID">#%d</xliff:g>)"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Failo pavadinimas"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Pavadinimas"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Išsamus aprašas"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Rikto pavadinimas"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Rikto suvestinė"</string> + <string name="save" msgid="4781509040564835759">"Išsaugoti"</string> </resources> diff --git a/packages/Shell/res/values-lv/strings.xml b/packages/Shell/res/values-lv/strings.xml index 61087164b577..880d65195f24 100644 --- a/packages/Shell/res/values-lv/strings.xml +++ b/packages/Shell/res/values-lv/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Nevarēja veikt ekrānuzņēmumu."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Kļūdas pārskats <xliff:g id="ID">#%d</xliff:g>: detalizēta informācija"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Faila nosaukums"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Nosaukums"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Detalizēts apraksts"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Kļūdas nosaukums"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Kļūdas kopsavilkums"</string> + <string name="save" msgid="4781509040564835759">"Saglabāt"</string> </resources> diff --git a/packages/Shell/res/values-mk-rMK/strings.xml b/packages/Shell/res/values-mk-rMK/strings.xml index 500196d10ff8..478c189ee4dd 100644 --- a/packages/Shell/res/values-mk-rMK/strings.xml +++ b/packages/Shell/res/values-mk-rMK/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Не може да се направи слика од екранот."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Детали за извештајот за грешки <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Име на датотека"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Наслов"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Детален опис"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Наслов на грешката"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Преглед на грешката"</string> + <string name="save" msgid="4781509040564835759">"Зачувај"</string> </resources> diff --git a/packages/Shell/res/values-ml-rIN/strings.xml b/packages/Shell/res/values-ml-rIN/strings.xml index 696aab2ca79c..70e63332a4d4 100644 --- a/packages/Shell/res/values-ml-rIN/strings.xml +++ b/packages/Shell/res/values-ml-rIN/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"സ്ക്രീൻഷോട്ട് എടുക്കാൻ കഴിഞ്ഞില്ല."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"ബഗ് റിപ്പോർട്ട് <xliff:g id="ID">#%d</xliff:g> വിശദാംശങ്ങൾ"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"ഫയല്നാമം"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"പേര്"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"വിശദമായ വിവരണം"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"ബഗിന്റെ പേര്"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"ബഗ് സംഗ്രഹം"</string> + <string name="save" msgid="4781509040564835759">"സംരക്ഷിക്കുക"</string> </resources> diff --git a/packages/Shell/res/values-mn-rMN/strings.xml b/packages/Shell/res/values-mn-rMN/strings.xml index 62d83cb67d3c..49196a286a57 100644 --- a/packages/Shell/res/values-mn-rMN/strings.xml +++ b/packages/Shell/res/values-mn-rMN/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Дэлгэцийн зураг авах боломжгүй."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Програмд гарсан алдааны мэдээллийн <xliff:g id="ID">#%d</xliff:g>-ны дэлгэрэнгүй"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Файлын нэр"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Гарчиг"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Дэлгэрэнгүй тайлбар"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Алдааны нэр"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Алдааны хураангуй"</string> + <string name="save" msgid="4781509040564835759">"Хадгалах"</string> </resources> diff --git a/packages/Shell/res/values-mr-rIN/strings.xml b/packages/Shell/res/values-mr-rIN/strings.xml index e6b2b045b950..19a8706d77e4 100644 --- a/packages/Shell/res/values-mr-rIN/strings.xml +++ b/packages/Shell/res/values-mr-rIN/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"स्क्रीनशॉट घेणे शक्य झाले नाही."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"दोष अहवाल <xliff:g id="ID">#%d</xliff:g> तपशील"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"फाईलनाव"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"शीर्षक"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"तपशीलवार वर्णन"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"दोष शीर्षक"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"दोष सारांश"</string> + <string name="save" msgid="4781509040564835759">"जतन करा"</string> </resources> diff --git a/packages/Shell/res/values-ms-rMY/strings.xml b/packages/Shell/res/values-ms-rMY/strings.xml index 1d04253e9522..c9f53753325f 100644 --- a/packages/Shell/res/values-ms-rMY/strings.xml +++ b/packages/Shell/res/values-ms-rMY/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Tangkapan skrin tidak dapat diambil."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Butiran laporan pepijat <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Nama fail"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Tajuk"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Perihalan terperinci"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Tajuk pepijat"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Ringkasan pepijat"</string> + <string name="save" msgid="4781509040564835759">"Simpan"</string> </resources> diff --git a/packages/Shell/res/values-my-rMM/strings.xml b/packages/Shell/res/values-my-rMM/strings.xml index f63c8c592dbe..4250edae8579 100644 --- a/packages/Shell/res/values-my-rMM/strings.xml +++ b/packages/Shell/res/values-my-rMM/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"မျက်နှာပြင် လျှပ်တစ်ပြက်ပုံ မရိုက်နိုင်ပါ"</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"ချွတ်ယွင်းမှုအစီရင်ခံချက် <xliff:g id="ID">#%d</xliff:g> အသေးစိတ်များ"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"ဖိုင်အမည်"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"ခေါင်းစဉ်"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"အသေးစိတ် ဖော်ပြချက်"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"ချွတ်ယွင်းချက် ခေါင်းစဉ်"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"ချွတ်ယွင်းချက် အကျဉ်းချုပ်"</string> + <string name="save" msgid="4781509040564835759">"သိမ်းဆည်းပါ"</string> </resources> diff --git a/packages/Shell/res/values-nb/strings.xml b/packages/Shell/res/values-nb/strings.xml index 328e8aef4928..aa86ae4de5a5 100644 --- a/packages/Shell/res/values-nb/strings.xml +++ b/packages/Shell/res/values-nb/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Skjermdumpen kunne ikke tas."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Detaljer om feilrapporten <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Filnavn"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Tittel"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Detaljert beskrivelse"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Navn på feil"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Oppsummering av feil"</string> + <string name="save" msgid="4781509040564835759">"Lagre"</string> </resources> diff --git a/packages/Shell/res/values-ne-rNP/strings.xml b/packages/Shell/res/values-ne-rNP/strings.xml index 62bfeadef9ff..43c2a5ca37fc 100644 --- a/packages/Shell/res/values-ne-rNP/strings.xml +++ b/packages/Shell/res/values-ne-rNP/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"स्क्रिनशट लिन सकिएन।"</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"बग रिपोर्ट <xliff:g id="ID">#%d</xliff:g>का विवरणहरू"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"फाइलको नाम"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"शीर्षक"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"विस्तृत विवरण"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"बगको शीर्षक"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"बगको सारांश"</string> + <string name="save" msgid="4781509040564835759">"सुरक्षित गर्नुहोस्"</string> </resources> diff --git a/packages/Shell/res/values-nl/strings.xml b/packages/Shell/res/values-nl/strings.xml index 2f4b215f7a76..01fd57700e62 100644 --- a/packages/Shell/res/values-nl/strings.xml +++ b/packages/Shell/res/values-nl/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Screenshot kan niet worden gemaakt."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Details van bugrapport <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Bestandsnaam"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Titel"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Gedetailleerde beschrijving"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Titel van bug"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Overzicht van bug"</string> + <string name="save" msgid="4781509040564835759">"Opslaan"</string> </resources> diff --git a/packages/Shell/res/values-pa-rIN/strings.xml b/packages/Shell/res/values-pa-rIN/strings.xml index dc2277f58c79..34941999a1a5 100644 --- a/packages/Shell/res/values-pa-rIN/strings.xml +++ b/packages/Shell/res/values-pa-rIN/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"ਸਕ੍ਰੀਨਸ਼ਾਟ ਨਹੀਂ ਲਿਆ ਜਾ ਸਕਿਆ।"</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"ਬੱਗ ਰਿਪੋਰਟ <xliff:g id="ID">#%d</xliff:g> ਵੇਰਵੇ"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"ਫ਼ਾਈਲ ਨਾਮ"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"ਸਿਰਲੇਖ"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"ਵਿਸਥਾਰ ਸਹਿਤ ਵਰਣਨ"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"ਬੱਗ ਸਿਰਲੇਖ"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"ਬੱਗ ਸਾਰਾਂਸ਼"</string> + <string name="save" msgid="4781509040564835759">"ਰੱਖਿਅਤ ਕਰੋ"</string> </resources> diff --git a/packages/Shell/res/values-pl/strings.xml b/packages/Shell/res/values-pl/strings.xml index c58556803847..91934c9689fa 100644 --- a/packages/Shell/res/values-pl/strings.xml +++ b/packages/Shell/res/values-pl/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Nie udało się zrobić zrzutu ekranu."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Szczegóły raportu o błędzie <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Nazwa pliku"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Tytuł"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Szczegółowy opis"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Tytuł raportu o błędzie"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Podsumowanie raportu o błędzie"</string> + <string name="save" msgid="4781509040564835759">"Zapisz"</string> </resources> diff --git a/packages/Shell/res/values-pt-rBR/strings.xml b/packages/Shell/res/values-pt-rBR/strings.xml index fc6e21c28cb0..41f4e249445b 100644 --- a/packages/Shell/res/values-pt-rBR/strings.xml +++ b/packages/Shell/res/values-pt-rBR/strings.xml @@ -34,6 +34,7 @@ <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="1355948594292983332">"Detalhes do relatório de bugs <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Nome do arquivo"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Título"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Descrição detalhada"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Título do bug"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Resumo do bug"</string> + <string name="save" msgid="4781509040564835759">"Salvar"</string> </resources> diff --git a/packages/Shell/res/values-pt-rPT/strings.xml b/packages/Shell/res/values-pt-rPT/strings.xml index 252edb180cd5..416db8086f09 100644 --- a/packages/Shell/res/values-pt-rPT/strings.xml +++ b/packages/Shell/res/values-pt-rPT/strings.xml @@ -34,6 +34,7 @@ <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="1355948594292983332">"Detalhes do relatório de erro <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Nome do ficheiro"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Título"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Descrição detalhada"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Título do erro"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Resumo de erros"</string> + <string name="save" msgid="4781509040564835759">"Guardar"</string> </resources> diff --git a/packages/Shell/res/values-pt/strings.xml b/packages/Shell/res/values-pt/strings.xml index fc6e21c28cb0..41f4e249445b 100644 --- a/packages/Shell/res/values-pt/strings.xml +++ b/packages/Shell/res/values-pt/strings.xml @@ -34,6 +34,7 @@ <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="1355948594292983332">"Detalhes do relatório de bugs <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Nome do arquivo"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Título"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Descrição detalhada"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Título do bug"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Resumo do bug"</string> + <string name="save" msgid="4781509040564835759">"Salvar"</string> </resources> diff --git a/packages/Shell/res/values-ro/strings.xml b/packages/Shell/res/values-ro/strings.xml index d720417788a9..4112e6071c79 100644 --- a/packages/Shell/res/values-ro/strings.xml +++ b/packages/Shell/res/values-ro/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Captura de ecran nu a putut fi făcută."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Detaliile raportului de eroare <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Numele fișierului"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Titlu"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Descriere detaliată"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Titlul erorii"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Rezumat privind eroarea"</string> + <string name="save" msgid="4781509040564835759">"Salvați"</string> </resources> diff --git a/packages/Shell/res/values-ru/strings.xml b/packages/Shell/res/values-ru/strings.xml index ed5ecafd09ee..ffd2e66349d9 100644 --- a/packages/Shell/res/values-ru/strings.xml +++ b/packages/Shell/res/values-ru/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Не удалось сделать скриншот"</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Данные отчета об ошибке <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Название файла"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Название"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Подробное описание"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Название ошибки"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Описание ошибки"</string> + <string name="save" msgid="4781509040564835759">"Сохранить"</string> </resources> diff --git a/packages/Shell/res/values-si-rLK/strings.xml b/packages/Shell/res/values-si-rLK/strings.xml index cd8fba36e692..807ebb14ac62 100644 --- a/packages/Shell/res/values-si-rLK/strings.xml +++ b/packages/Shell/res/values-si-rLK/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"තිර රුවක් ගත නොහැකි විය."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"දෝෂ වාර්තා <xliff:g id="ID">#%d</xliff:g> විස්තර"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"ගොනුවේ නම"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"මාතෘකාව"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"සවිස්තර විස්තරය"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"දෝෂ මාතෘකාව"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"දෝෂ සාරාංශය"</string> + <string name="save" msgid="4781509040564835759">"සුරකින්න"</string> </resources> diff --git a/packages/Shell/res/values-sk/strings.xml b/packages/Shell/res/values-sk/strings.xml index 23e67f5a1fab..a62a6eb23019 100644 --- a/packages/Shell/res/values-sk/strings.xml +++ b/packages/Shell/res/values-sk/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Snímku obrazovky sa nepodarilo zaznamenať."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Podrobnosti hlásenia chyby <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Názov súboru"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Názov"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Podrobný popis"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Názov chyby"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Súhrn chyby"</string> + <string name="save" msgid="4781509040564835759">"Uložiť"</string> </resources> diff --git a/packages/Shell/res/values-sl/strings.xml b/packages/Shell/res/values-sl/strings.xml index 519f3f22a721..6d1be5ad3b88 100644 --- a/packages/Shell/res/values-sl/strings.xml +++ b/packages/Shell/res/values-sl/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Posnetka zaslon ni bilo mogoče ustvariti."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Podrobnosti poročila o napaki <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Ime datoteke"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Naslov"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Podroben opis"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Naslov poročila o napakah"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Povzetek poročila o napakah"</string> + <string name="save" msgid="4781509040564835759">"Shrani"</string> </resources> diff --git a/packages/Shell/res/values-sq-rAL/strings.xml b/packages/Shell/res/values-sq-rAL/strings.xml index 5e3c70695900..ce990e949b45 100644 --- a/packages/Shell/res/values-sq-rAL/strings.xml +++ b/packages/Shell/res/values-sq-rAL/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Pamja e ekranit nuk mund të realizohej."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Detajet e raportit të defekteve në kod <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Emri i skedarit"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Titulli"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Përshkrimi i detajuar"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Titulli i defektit në kod"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Përmbledhja e defekteve në kod"</string> + <string name="save" msgid="4781509040564835759">"Ruaj"</string> </resources> diff --git a/packages/Shell/res/values-sr/strings.xml b/packages/Shell/res/values-sr/strings.xml index 55119b633080..0157a252e2c9 100644 --- a/packages/Shell/res/values-sr/strings.xml +++ b/packages/Shell/res/values-sr/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Снимање екрана није успело."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Детаљи извештаја о грешци <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Назив датотеке"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Наслов"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Детаљни опис"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Наслов грешке"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Резиме грешке"</string> + <string name="save" msgid="4781509040564835759">"Сачувај"</string> </resources> diff --git a/packages/Shell/res/values-sv/strings.xml b/packages/Shell/res/values-sv/strings.xml index 085f57e72817..88af0db1836c 100644 --- a/packages/Shell/res/values-sv/strings.xml +++ b/packages/Shell/res/values-sv/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Det gick inte att ta skrämdump."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Information för felrapporten <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Filnamn"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Namn"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Detaljerad beskrivning"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Felets titel"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Sammanfattning av felet"</string> + <string name="save" msgid="4781509040564835759">"Spara"</string> </resources> diff --git a/packages/Shell/res/values-sw/strings.xml b/packages/Shell/res/values-sw/strings.xml index c5a8ef1f6b5e..01df55ec63df 100644 --- a/packages/Shell/res/values-sw/strings.xml +++ b/packages/Shell/res/values-sw/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Haikupiga picha ya skrini."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Maelezo ya ripoti ya hitilafu ya <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Jina la faili"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Kichwa"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Maelezo ya kina"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Jina la hitilafu"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Muhtasari wa hitilafu"</string> + <string name="save" msgid="4781509040564835759">"Hifadhi"</string> </resources> diff --git a/packages/Shell/res/values-ta-rIN/strings.xml b/packages/Shell/res/values-ta-rIN/strings.xml index 7ef89e27cf03..8238d251edaa 100644 --- a/packages/Shell/res/values-ta-rIN/strings.xml +++ b/packages/Shell/res/values-ta-rIN/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"ஸ்கிரீன் ஷாட்டை எடுக்க முடியவில்லை."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"பிழை அறிக்கை <xliff:g id="ID">#%d</xliff:g> இன் விவரங்கள்"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"கோப்புப்பெயர்"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"தலைப்பு"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"விரிவான விளக்கம்"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"பிழைத் தலைப்பு"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"பிழை குறித்த சுருக்க விவரம்"</string> + <string name="save" msgid="4781509040564835759">"சேமி"</string> </resources> diff --git a/packages/Shell/res/values-te-rIN/strings.xml b/packages/Shell/res/values-te-rIN/strings.xml index 6ba816b19646..3ed1f9595360 100644 --- a/packages/Shell/res/values-te-rIN/strings.xml +++ b/packages/Shell/res/values-te-rIN/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"స్క్రీన్షాట్ను తీయడం సాధ్యపడలేదు."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"బగ్ నివేదిక <xliff:g id="ID">#%d</xliff:g> వివరాలు"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"ఫైల్ పేరు"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"శీర్షిక"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"సమగ్ర వివరణ"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"బగ్ శీర్షిక"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"బగ్ సారాంశం"</string> + <string name="save" msgid="4781509040564835759">"సేవ్ చేయి"</string> </resources> diff --git a/packages/Shell/res/values-th/strings.xml b/packages/Shell/res/values-th/strings.xml index d68ca2665718..f28bac6287d8 100644 --- a/packages/Shell/res/values-th/strings.xml +++ b/packages/Shell/res/values-th/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"ไม่สามารถจับภาพหน้าจอได้"</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"รายละเอียดรายงานข้อบกพร่อง <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"ชื่อไฟล์"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"ชื่อ"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"คำอธิบายโดยละเอียด"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"ชื่อข้อบกพร่อง"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"สรุปข้อบกพร่อง"</string> + <string name="save" msgid="4781509040564835759">"บันทึก"</string> </resources> diff --git a/packages/Shell/res/values-tl/strings.xml b/packages/Shell/res/values-tl/strings.xml index 432eb9053806..d27040154f40 100644 --- a/packages/Shell/res/values-tl/strings.xml +++ b/packages/Shell/res/values-tl/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Hindi makunan ng screenshot."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Mga detalye ng ulat ng bug na <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Filename"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Pamagat"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Detalyadong paglalarawan"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Pamagat ng bug"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Buod ng bug"</string> + <string name="save" msgid="4781509040564835759">"I-save"</string> </resources> diff --git a/packages/Shell/res/values-tr/strings.xml b/packages/Shell/res/values-tr/strings.xml index dae377f0b297..6da3490e1b5f 100644 --- a/packages/Shell/res/values-tr/strings.xml +++ b/packages/Shell/res/values-tr/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Ekran görüntüsü alınamadı."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Hata raporu (<xliff:g id="ID">#%d</xliff:g>) ayrıntıları"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Dosya adı"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Başlık"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Ayrıntılı açıklama"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Hata başlığı"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Hata özeti"</string> + <string name="save" msgid="4781509040564835759">"Kaydet"</string> </resources> diff --git a/packages/Shell/res/values-uk/strings.xml b/packages/Shell/res/values-uk/strings.xml index 02eeb2f8a286..00a77938b840 100644 --- a/packages/Shell/res/values-uk/strings.xml +++ b/packages/Shell/res/values-uk/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Не вдалося зробити знімок екрана."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Деталі повідомлення про помилку <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Назва файлу"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Назва"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Детальний опис"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Назва помилки"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Опис помилки"</string> + <string name="save" msgid="4781509040564835759">"Зберегти"</string> </resources> diff --git a/packages/Shell/res/values-ur-rPK/strings.xml b/packages/Shell/res/values-ur-rPK/strings.xml index 23cada628b8c..abf6940934a4 100644 --- a/packages/Shell/res/values-ur-rPK/strings.xml +++ b/packages/Shell/res/values-ur-rPK/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"سکرین شاٹ نہیں لیا جا سکا۔"</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"بگ رپورٹ <xliff:g id="ID">#%d</xliff:g> کی تفصیلات"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"فائل کا نام"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"عنوان"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"تفصیلی وضاحت"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"بَگ کا عنوان"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"بَگ کا خلاصہ"</string> + <string name="save" msgid="4781509040564835759">"محفوظ کریں"</string> </resources> diff --git a/packages/Shell/res/values-uz-rUZ/strings.xml b/packages/Shell/res/values-uz-rUZ/strings.xml index 39703a20bcf7..7782b420e7cc 100644 --- a/packages/Shell/res/values-uz-rUZ/strings.xml +++ b/packages/Shell/res/values-uz-rUZ/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Skrinshot olib bo‘lmadi."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Xatoliklar hisoboti (<xliff:g id="ID">#%d</xliff:g>) tafsilotlari"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Fayl nomi"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Nomi"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Batafsil ta’rif"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Xatolik nomi"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Xatolik ta’rifi"</string> + <string name="save" msgid="4781509040564835759">"Saqlash"</string> </resources> diff --git a/packages/Shell/res/values-vi/strings.xml b/packages/Shell/res/values-vi/strings.xml index 16ffaffdf1cb..27a9c7f6da3b 100644 --- a/packages/Shell/res/values-vi/strings.xml +++ b/packages/Shell/res/values-vi/strings.xml @@ -34,6 +34,7 @@ <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="1355948594292983332">"Chi tiết báo cáo lỗi <xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Tên tệp"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Tiêu đề"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Mô tả chi tiết"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Tiêu đề lỗi"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Tóm tắt lỗi"</string> + <string name="save" msgid="4781509040564835759">"Lưu"</string> </resources> diff --git a/packages/Shell/res/values-zh-rCN/strings.xml b/packages/Shell/res/values-zh-rCN/strings.xml index 382478eaf3e4..65cfbbcc51de 100644 --- a/packages/Shell/res/values-zh-rCN/strings.xml +++ b/packages/Shell/res/values-zh-rCN/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"无法截图。"</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"错误报告 <xliff:g id="ID">#%d</xliff:g> 详情"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"文件名"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"标题"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"详细说明"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"错误标题"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"错误摘要"</string> + <string name="save" msgid="4781509040564835759">"保存"</string> </resources> diff --git a/packages/Shell/res/values-zh-rHK/strings.xml b/packages/Shell/res/values-zh-rHK/strings.xml index 04b5e4854de3..34a849e7610d 100644 --- a/packages/Shell/res/values-zh-rHK/strings.xml +++ b/packages/Shell/res/values-zh-rHK/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"無法擷取螢幕畫面。"</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"錯誤報告 <xliff:g id="ID">#%d</xliff:g> 的詳情"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"檔案名稱"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"標題"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"詳細說明"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"錯誤標題"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"錯誤摘要"</string> + <string name="save" msgid="4781509040564835759">"儲存"</string> </resources> diff --git a/packages/Shell/res/values-zh-rTW/strings.xml b/packages/Shell/res/values-zh-rTW/strings.xml index 7a1ab77622a7..fff73bbc1471 100644 --- a/packages/Shell/res/values-zh-rTW/strings.xml +++ b/packages/Shell/res/values-zh-rTW/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"無法拍攝螢幕擷取畫面。"</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"錯誤報告 <xliff:g id="ID">#%d</xliff:g> 的詳細資料"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"檔案名稱"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"標題"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"詳細說明"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"錯誤標題"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"錯誤摘要"</string> + <string name="save" msgid="4781509040564835759">"儲存"</string> </resources> diff --git a/packages/Shell/res/values-zu/strings.xml b/packages/Shell/res/values-zu/strings.xml index 29b7dd8329bc..868de3eefe8f 100644 --- a/packages/Shell/res/values-zu/strings.xml +++ b/packages/Shell/res/values-zu/strings.xml @@ -34,6 +34,7 @@ <string name="bugreport_screenshot_failed" msgid="5853049140806834601">"Isithombe-skrini asikwazanga ukuthathwa."</string> <string name="bugreport_info_dialog_title" msgid="1355948594292983332">"Imininingwane yombiko wesiphazamisi ongu-<xliff:g id="ID">#%d</xliff:g>"</string> <string name="bugreport_info_name" msgid="4414036021935139527">"Igama lefayela"</string> - <string name="bugreport_info_title" msgid="5599558206004371052">"Isihloko"</string> - <string name="bugreport_info_description" msgid="4117088998733546784">"Incazelo enemininingwane"</string> + <string name="bugreport_info_title" msgid="2306030793918239804">"Isihloko sesiphazamisi"</string> + <string name="bugreport_info_description" msgid="5072835127481627722">"Isifinyezo sesiphazamisi"</string> + <string name="save" msgid="4781509040564835759">"Londoloza"</string> </resources> diff --git a/packages/Shell/src/com/android/shell/BugreportStorageProvider.java b/packages/Shell/src/com/android/shell/BugreportStorageProvider.java index 814aa8cb8c06..49759c5f6ee1 100644 --- a/packages/Shell/src/com/android/shell/BugreportStorageProvider.java +++ b/packages/Shell/src/com/android/shell/BugreportStorageProvider.java @@ -56,7 +56,7 @@ public class BugreportStorageProvider extends DocumentsProvider { final MatrixCursor result = new MatrixCursor(resolveRootProjection(projection)); final RowBuilder row = result.newRow(); row.add(Root.COLUMN_ROOT_ID, DOC_ID_ROOT); - row.add(Root.COLUMN_FLAGS, Root.FLAG_LOCAL_ONLY | Root.FLAG_ADVANCED); + row.add(Root.COLUMN_FLAGS, Root.FLAG_LOCAL_ONLY); row.add(Root.COLUMN_ICON, android.R.mipmap.sym_def_app_icon); row.add(Root.COLUMN_TITLE, getContext().getString(R.string.bugreport_storage_title)); row.add(Root.COLUMN_DOCUMENT_ID, DOC_ID_ROOT); diff --git a/packages/SystemUI/res/drawable/qs_btn_borderless_rect.xml b/packages/SystemUI/res/drawable/qs_btn_borderless_rect.xml new file mode 100644 index 000000000000..03bfd1a3ba6c --- /dev/null +++ b/packages/SystemUI/res/drawable/qs_btn_borderless_rect.xml @@ -0,0 +1,32 @@ +<!-- + Copyright (C) 2016 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. +--> +<inset + xmlns:android="http://schemas.android.com/apk/res/android" + android:insetTop="4dp" + android:insetBottom="4dp"> + <ripple + android:color="?android:attr/colorControlHighlight" > + + <item android:id="@android:id/mask"> + <shape> + <corners android:radius="@dimen/borderless_button_radius" /> + + <solid android:color="@android:color/white" /> + </shape> + </item> + + </ripple> +</inset> diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml index 61d4f14c6068..30d9ed7ff201 100644 --- a/packages/SystemUI/res/values-af/strings.xml +++ b/packages/SystemUI/res/values-af/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Meer tyd."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Minder tyd."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Flitslig af."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Flitslig is nie beskikbaar nie."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Flitslig aan."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Flitslig afgeskakel."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Flitslig aangeskakel."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Skakel Bluetooth aan?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Jy moet Bluetooth aanskakel om jou sleutelbord aan jou tablet te koppel."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Skakel aan"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Wys kennisgewings sonder klank"</string> + <string name="block" msgid="2734508760962682611">"Blokkeer alle kennisgewings"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Moenie stilmaak nie"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Moenie stilmaak of blokkeer nie"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Wys volledige belangrikheidinstellings"</string> <string name="blocked_importance" msgid="5198578988978234161">"Geblokkeer"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Onbelangrik"</string> <string name="low_importance" msgid="4109929986107147930">"Min belang"</string> <string name="default_importance" msgid="8192107689995742653">"Normale belang"</string> <string name="high_importance" msgid="1527066195614050263">"Groot belang"</string> <string name="max_importance" msgid="5089005872719563894">"Dringende belang"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Moet nooit hierdie kennisgewings wys nie"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Wys sonder klank aan die onderkant van die kennisgewinglys"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Wys hierdie kennisgewings sonder klank"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Laat hierdie kennisgewing toe om geluide te maak"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Verskyn vlugtig op die skerm en laat klank toe"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Wys boaan die kennisgewingslys, verskyn vlugtig op die skerm en laat klank toe"</string> <string name="notification_more_settings" msgid="816306283396553571">"Meer instellings"</string> <string name="notification_done" msgid="5279426047273930175">"Klaar"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Kleur en voorkoms"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Wys persentasie wanneer gelaai word (verstek)"</item> <item msgid="3327323682209964956">"Moenie hierdie ikoon wys nie"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Ander"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Skermverdeler"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Skuif af"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Skuif op"</string> diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml index 6d70c8a1a8ec..9692ae8a73db 100644 --- a/packages/SystemUI/res/values-am/strings.xml +++ b/packages/SystemUI/res/values-am/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"ተጨማሪ ጊዜ።"</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"ያነሰ ጊዜ።"</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"የባትሪ ብርሃን ጠፍቷል።"</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"የባትሪ ብርሃን አይገኝም።"</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"የባትሪ ብርሃን በርቷል።"</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"የባትሪ ብርሃን ጠፍቷል።"</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"የባትሪ ብርሃን በርቷል።"</string> @@ -456,34 +455,23 @@ <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 show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"ማሳወቂያዎችን በጸጥታ አሳይ"</string> + <string name="block" msgid="2734508760962682611">"ሁሉንም ማሳወቂያዎች አግድ"</string> + <string name="do_not_silence" msgid="6878060322594892441">"ድምፅ አትዝጋ"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"ድምፅ አትዝጋ ወይም አታግድ"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"ሙሉ የአስፈላጊነት ቅንብሮችን አሳይ"</string> <string name="blocked_importance" msgid="5198578988978234161">"የታገዱ"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"አነስተኛ አስፈላጊነት"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"በማሳወቂያ ዝርዝሩ ታችኛውን ክፍል ላይ በጸጥታ አሳይ"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"እነዚህን ማሳወቂያዎች በጸጥታ አሳይ"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"እነዚህ ማሳወቂያዎች ድምፆችን እንዲፈጥሩ ፍቀድ"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"ወደ ማያ ገጹ አስገባና ድምፅ ፍቀድ"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"በማሳወቂያዎች ዝርዝር አናት ላይ አሳይ፣ ወደ ማያ ገጹ አሳይና ድምፅ ፍቀድ"</string> <string name="notification_more_settings" msgid="816306283396553571">"ተጨማሪ ቅንብሮች"</string> <string name="notification_done" msgid="5279426047273930175">"ተከናውኗል"</string> <string name="color_and_appearance" msgid="1254323855964993144">"ቀለም እና መልክ"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"የባትሪ ኃይል በሚሞላበት ጊዜ መቶኛ አሳይ (ነባሪ)"</item> <item msgid="3327323682209964956">"ይህን አዶ አታሳይ"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"ሌላ"</string> <string name="accessibility_divider" msgid="5903423481953635044">"የተከፈለ የማያ ገጽ ከፋይ"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"ወደ ታች ሂድ"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"ወደ ላይ ሂድ"</string> diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml index 2e4724b1a4c7..3edc8057a9f4 100644 --- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml +++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml @@ -208,8 +208,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Više vremena."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Manje vremena."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Baterijska lampa je isključena."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Lampa nije dostupna."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Baterijska lampa je uključena."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Baterijska lampa je isključena."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Baterijska lampa je uključena."</string> @@ -457,34 +456,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Želite li da uključite Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Da biste povezali tastaturu sa tabletom, prvo morate da uključite Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Uključi"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Prikazuj obaveštenja bez zvuka"</string> + <string name="block" msgid="2734508760962682611">"Blokiraj sva obaveštenja"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Ne isključuj zvuk"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Ne isključuju zvuk niti blokiraj"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Prikaži kompletna podešavanja važnosti"</string> <string name="blocked_importance" msgid="5198578988978234161">"Blokirana"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Veoma mala važnost"</string> <string name="low_importance" msgid="4109929986107147930">"Mala važnost"</string> <string name="default_importance" msgid="8192107689995742653">"Uobičajena važnost"</string> <string name="high_importance" msgid="1527066195614050263">"Velika važnost"</string> <string name="max_importance" msgid="5089005872719563894">"Važnost: hitno"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Ova obaveštenja se nikada ne prikazuju"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Prikazuju se u dnu liste obaveštenja bez zvuka"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Ova obaveštenja se prikazuju bez zvuka"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Dozvolite da ova obaveštenja emituju zvuk"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Nakratko se prikazuju na ekranu i emituju zvuk"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Prikazuju se u vrhu liste obaveštenja, nakratko se prikazuju na ekranu i emituju zvuk"</string> <string name="notification_more_settings" msgid="816306283396553571">"Još podešavanja"</string> <string name="notification_done" msgid="5279426047273930175">"Gotovo"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Boja i izgled"</string> @@ -557,8 +545,7 @@ <item msgid="2139628951880142927">"Prikaži procenat tokom punjenja (podrazumevano)"</item> <item msgid="3327323682209964956">"Ne prikazuj ovu ikonu"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Drugo"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Razdelnik podeljenog ekrana"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Pomeri nadole"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Pomeri nagore"</string> diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml index c97a6a52b288..84757b7f36cf 100644 --- a/packages/SystemUI/res/values-bg/strings.xml +++ b/packages/SystemUI/res/values-bg/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Повече време."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"По-малко време."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Фенерчето е изключено."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Няма достъп до фенерчето."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Фенерчето е включено."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Фенерчето е изключено."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Фенерчето е включено."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Да се включи ли Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"За да свържете клавиатурата с таблета си, първо трябва да включите Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Включване"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Показване на известията без звуков сигнал"</string> + <string name="block" msgid="2734508760962682611">"Блокиране на всички известия"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Без заглушаване на звуковите сигнали"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Без заглушаване на звуковите сигнали или блокиране"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Показване на пълните настройки за важността"</string> <string name="blocked_importance" msgid="5198578988978234161">"Блокирано"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Минимална важност"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Показване без звуков сигнал най-долу в списъка с известия"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Показване на тези известия без звуков сигнал"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Разрешаване при тези известия да се издава звуков сигнал"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Показване на екрана и разрешаване на звуков сигнал"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Показване най-горе в списъка с известия, както и на екрана и разрешаване на звуков сигнал"</string> <string name="notification_more_settings" msgid="816306283396553571">"Още настройки"</string> <string name="notification_done" msgid="5279426047273930175">"Готово"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Цвят и облик"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Процентът да се показва при зареждане (по подразбиране)"</item> <item msgid="3327323682209964956">"Тази икона да не се показва"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Друго"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Разделител в режима за разделен екран"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Преместване надолу"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Преместване нагоре"</string> diff --git a/packages/SystemUI/res/values-bn-rBD/strings.xml b/packages/SystemUI/res/values-bn-rBD/strings.xml index f59f3cab2567..18f37e6321de 100644 --- a/packages/SystemUI/res/values-bn-rBD/strings.xml +++ b/packages/SystemUI/res/values-bn-rBD/strings.xml @@ -548,6 +548,6 @@ <string name="accessibility_divider" msgid="5903423481953635044">"বিভক্ত-স্ক্রীন বিভাজক"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"নীচে সরান"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"উপরে সরান"</string> - <string name="accessibility_action_divider_move_left" msgid="9218189832115847253">"বামে সরান"</string> + <string name="accessibility_action_divider_move_left" msgid="9218189832115847253">"বাঁয়ে সরান"</string> <string name="accessibility_action_divider_move_right" msgid="4671522715182567972">"ডানে সরান"</string> </resources> diff --git a/packages/SystemUI/res/values-bs-rBA/strings.xml b/packages/SystemUI/res/values-bs-rBA/strings.xml index 865b1adc1f4e..5666c5f0fb87 100644 --- a/packages/SystemUI/res/values-bs-rBA/strings.xml +++ b/packages/SystemUI/res/values-bs-rBA/strings.xml @@ -208,8 +208,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Više vremena."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Manje vremena."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Svjetiljka isključena."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Svjetiljka nije dostupna."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Svjetiljka uključena."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Svjetiljka je isključena."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Svjetiljka je uključena."</string> @@ -457,34 +456,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Želiti li uključiti Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Da povežete tastaturu sa tabletom, prvo morate uključiti Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Uključi"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Nečujno pokaži obavijesti"</string> + <string name="block" msgid="2734508760962682611">"Blokiraj sva obavještenja"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Nemoj utišati"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Nemoj utišati ili blokirati"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Pokaži kompletne postavke za određivanje značaja"</string> <string name="blocked_importance" msgid="5198578988978234161">"Blokirano"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Minimalni značaj"</string> <string name="low_importance" msgid="4109929986107147930">"Mali značaj"</string> <string name="default_importance" msgid="8192107689995742653">"Normalan značaj"</string> <string name="high_importance" msgid="1527066195614050263">"Visok značaj"</string> <string name="max_importance" msgid="5089005872719563894">"Hitan značaj"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Nikada ne prikazuj ova obavještenja"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Nečujno pokaži na dnu spiska obavještenja"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Nečujno prikaži ova obavještenja"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Dozvolite zvuk na ovim obavještenjima"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Kratko prikaži na ekranu i dozvoli zvuk i dozvoli zvuk"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Pokaži na vrhu liste obaveštenja, kratko prikaži na ekranu i dozvoli zvuk"</string> <string name="notification_more_settings" msgid="816306283396553571">"Više postavki"</string> <string name="notification_done" msgid="5279426047273930175">"Gotovo"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Boja i izgled"</string> @@ -557,8 +545,7 @@ <item msgid="2139628951880142927">"Pokaži postotak u toku punjenja (zadano)"</item> <item msgid="3327323682209964956">"Ne prikazuj ovu ikonu"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Ostalo"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Razdjelnik ekrana"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Pomjeri dolje"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Pomjeri gore"</string> diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml index 3243f7423f71..3747be0064c5 100644 --- a/packages/SystemUI/res/values-ca/strings.xml +++ b/packages/SystemUI/res/values-ca/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Més temps"</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Menys temps"</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Llanterna desactivada"</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"La llanterna no està disponible."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Llanterna activada"</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Llanterna desactivada."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Llanterna activada."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Vols activar el Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Per connectar el teclat amb la tauleta, primer has d\'activar el Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Activa"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Mostra les notificacions de manera silenciosa"</string> + <string name="block" msgid="2734508760962682611">"Bloqueja totes les notificacions"</string> + <string name="do_not_silence" msgid="6878060322594892441">"No silenciïs"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"No silenciïs ni bloquegis"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Mostra la configuració de la importància completa"</string> <string name="blocked_importance" msgid="5198578988978234161">"Bloquejades"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Importància mínima"</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 urgent"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"No mostris mai aquestes notificacions"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Les notificacions es mostren de manera silenciosa al capdavall de la llista"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Mostra aquestes notificacions de manera silenciosa"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Permet que aquestes notificacions emetin sons"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Les notificacions apareixen a la pantalla i poden emetre sons"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Les notificacions es mostren al capdamunt de la llista, apareixen a la pantalla i poden emetre sons"</string> <string name="notification_more_settings" msgid="816306283396553571">"Més opcions"</string> <string name="notification_done" msgid="5279426047273930175">"Fet"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Color i aparença"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Mostra el percentatge quan es carregui (opció predeterminada)"</item> <item msgid="3327323682209964956">"No mostris aquesta icona"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Altres"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Divisor de pantalles"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Mou avall"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Mou amunt"</string> diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml index b5b40373803f..48c9c550c307 100644 --- a/packages/SystemUI/res/values-cs/strings.xml +++ b/packages/SystemUI/res/values-cs/strings.xml @@ -209,8 +209,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Delší doba"</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Kratší doba"</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Svítilna je vypnutá."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Svítilna není k dispozici."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Svítilna je zapnutá."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Svítilna je vypnutá."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Svítilna je zapnutá."</string> @@ -458,34 +457,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Zapnout Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Chcete-li klávesnici připojit k tabletu, nejdříve musíte zapnout Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Zapnout"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Zobrazovat oznámení tiše"</string> + <string name="block" msgid="2734508760962682611">"Blokovat všechna oznámení"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Bez ztlumení"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Bez ztlumení a blokování"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Zobrazit všechna nastavení důležitosti"</string> <string name="blocked_importance" msgid="5198578988978234161">"Blokováno"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Minimální důležitost"</string> <string name="low_importance" msgid="4109929986107147930">"Nízká důležitost"</string> <string name="default_importance" msgid="8192107689995742653">"Normální důležitost"</string> <string name="high_importance" msgid="1527066195614050263">"Vysoká důležitost"</string> <string name="max_importance" msgid="5089005872719563894">"Urgentní důležitost"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Tato oznámení nikdy nezobrazovat"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Tato oznámení zobrazovat na konci seznamu bez zvukového upozornění"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Tato oznámení zobrazovat bez zvukového upozornění"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Povolit těmto oznámením vydávat zvuky"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Tato oznámení zobrazovat přímo na obrazovce a upozornit na ně zvukem"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Tato oznámení zobrazovat na začátku seznamu, zobrazit přímo na obrazovce a upozornit na ně zvukem"</string> <string name="notification_more_settings" msgid="816306283396553571">"Další nastavení"</string> <string name="notification_done" msgid="5279426047273930175">"Hotovo"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Barva a vzhled"</string> @@ -558,8 +546,7 @@ <item msgid="2139628951880142927">"Zobrazovat procento při nabíjení (výchozí nastavení)"</item> <item msgid="3327323682209964956">"Tuto ikonu nezobrazovat"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Jiné"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Čára rozdělující obrazovku"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Přesunout dolů"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Přesunout nahoru"</string> diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml index f4987d7f4852..50d01ea58938 100644 --- a/packages/SystemUI/res/values-da/strings.xml +++ b/packages/SystemUI/res/values-da/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Mere tid."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Mindre tid."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Lommelygten er slået fra."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Lommelygten er ikke tilgængelig."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Lommelygten er slået til."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Lommelygten er slået fra."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Lommelygten er slået til."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Vil du slå Bluetooth til?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Bluetooth skal være slået til, før du kan knytte dit tastatur til din tablet."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Slå til"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Vis underretninger lydløst"</string> + <string name="block" msgid="2734508760962682611">"Bloker alle underretninger"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Skal ikke sættes på lydløs"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Skal ikke sættes på lydløs eller blokeres"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Vis alle indstillinger for vigtighed"</string> <string name="blocked_importance" msgid="5198578988978234161">"Blokeret"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Min vigtighed"</string> <string name="low_importance" msgid="4109929986107147930">"Lille vigtighed"</string> <string name="default_importance" msgid="8192107689995742653">"Normal vigtighed"</string> <string name="high_importance" msgid="1527066195614050263">"Stor vigtighed"</string> <string name="max_importance" msgid="5089005872719563894">"Presserende vigtighed"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Vis aldrig disse underretninger"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Vis lydløst nederst på listen over underretninger"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Vis disse underretninger lydløst"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Giv disse underretninger tilladelse til at give lyd"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Vis på skærmen, og tillad lyd"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Vis øverst på listen over underretninger, vis på skærmen, og tillad lyd"</string> <string name="notification_more_settings" msgid="816306283396553571">"Flere indstillinger"</string> <string name="notification_done" msgid="5279426047273930175">"Færdig"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Farve og udseende"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Vis procent ved opladning (standard)"</item> <item msgid="3327323682209964956">"Vis ikke dette ikon"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Andet"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Adskiller til delt skærm"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Flyt ned"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Flyt op"</string> diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml index ac0adbb4259b..fd8cf89e1132 100644 --- a/packages/SystemUI/res/values-de/strings.xml +++ b/packages/SystemUI/res/values-de/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Mehr Zeit"</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Weniger Zeit"</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Taschenlampe deaktiviert"</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Taschenlampe nicht verfügbar."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Taschenlampe aktiviert"</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Die Taschenlampe ist deaktiviert."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Die Taschenlampe ist aktiviert."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth aktivieren?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Zum Verbinden von Tastatur und Tablet muss Bluetooth aktiviert sein."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Aktivieren"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Benachrichtigungen ohne Ton anzeigen"</string> + <string name="block" msgid="2734508760962682611">"Alle Benachrichtigungen blockieren"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Nicht stummschalten"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Nicht stummschalten oder blockieren"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Vollständige Wichtigkeitseinstellungen anzeigen"</string> <string name="blocked_importance" msgid="5198578988978234161">"Blockiert"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Minimum-Wichtigkeit"</string> <string name="low_importance" msgid="4109929986107147930">"Geringe Wichtigkeit"</string> <string name="default_importance" msgid="8192107689995742653">"Reguläre Wichtigkeit"</string> <string name="high_importance" msgid="1527066195614050263">"Hohe Wichtigkeit"</string> <string name="max_importance" msgid="5089005872719563894">"Sehr hohe Wichtigkeit"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Diese Benachrichtigungen niemals anzeigen"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Ohne Ton am Ende der Benachrichtigungsliste anzeigen"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Diese Benachrichtigungen ohne Ton anzeigen"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Für diese Benachrichtigungen Ton zulassen"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Auf dem Display einblenden und Ton zulassen"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Ganz oben in der Benachrichtigungsliste anzeigen, auf dem Display einblenden und Ton zulassen"</string> <string name="notification_more_settings" msgid="816306283396553571">"Weitere Einstellungen"</string> <string name="notification_done" msgid="5279426047273930175">"Fertig"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Farbe und Darstellung"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Prozentwert beim Laden anzeigen (Standardeinstellung)"</item> <item msgid="3327323682209964956">"Dieses Symbol nicht anzeigen"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Sonstiges"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Bildschirmteiler"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Nach unten verschieben"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Nach oben verschieben"</string> diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml index 754c92e240c9..b5f55d9a0912 100644 --- a/packages/SystemUI/res/values-el/strings.xml +++ b/packages/SystemUI/res/values-el/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Περισσότερη ώρα."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Λιγότερη ώρα."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Ανενεργός φακός."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Ο φακός δεν είναι διαθέσιμος."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Ενεργός φακός."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Ο φακός απενεργοποιήθηκε."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Ο φακός ενεργοποιήθηκε."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Ενεργοποίηση Bluetooth;"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Για να συνδέσετε το πληκτρολόγιο με το tablet σας, θα πρέπει πρώτα να ενεργοποιήσετε το Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Ενεργοποίηση"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Εμφάνιση ειδοποιήσεων χωρίς ήχο"</string> + <string name="block" msgid="2734508760962682611">"Αποκλεισμός όλων των ειδοποιήσεων"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Χωρίς σίγαση"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Χωρίς σίγαση ή αποκλεισμό"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Εμφάνιση όλων των ρυθμίσεων βαρύτητας"</string> <string name="blocked_importance" msgid="5198578988978234161">"Αποκλεισμένες"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Ελάχιστη βαρύτητα"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Να εμφανίζονται στο κάτω μέρος της λίστας ειδοποιήσεων χωρίς ήχο"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Να εμφανίζονται αυτές οι ειδοποιήσεις χωρίς ήχο"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Να επιτρέπονται οι ήχοι από αυτές τις ειδοποιήσεις"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Να προβάλλονται στην οθόνη και να επιτρέπεται ο ήχος"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Να εμφανίζονται στην κορυφή της λίστας ειδοποιήσεων, να προβάλλονται στην οθόνη και να επιτρέπεται ο ήχος"</string> <string name="notification_more_settings" msgid="816306283396553571">"Περισσότερες ρυθμίσεις"</string> <string name="notification_done" msgid="5279426047273930175">"Τέλος"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Χρώμα και εμφάνιση"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Να εμφανίζεται ποσοστό κατά τη φόρτιση (προεπιλογή)"</item> <item msgid="3327323682209964956">"Να μην εμφανίζεται αυτό το εικονίδιο"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Άλλο"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Διαχωριστικό οθόνης"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Μετακίνηση προς τα κάτω"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Μετακίνηση προς τα επάνω"</string> diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml index f3c21df871ae..856c1c15f965 100644 --- a/packages/SystemUI/res/values-es-rUS/strings.xml +++ b/packages/SystemUI/res/values-es-rUS/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Más tiempo"</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Menos tiempo"</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Linterna desactivada"</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"La linterna no está disponible."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Linterna activada"</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Linterna desactivada"</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Linterna activada"</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"¿Activar Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Para conectar el teclado con la tablet, primero debes activar Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Activar"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Mostrar notificaciones de manera silenciosa"</string> + <string name="block" msgid="2734508760962682611">"Bloquear todas las notificaciones"</string> + <string name="do_not_silence" msgid="6878060322594892441">"No silenciar"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"No silenciar ni bloquear"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Mostrar configuración de importancia"</string> <string name="blocked_importance" msgid="5198578988978234161">"Bloqueada"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Importancia mínima"</string> <string name="low_importance" msgid="4109929986107147930">"Poca importancia"</string> <string name="default_importance" msgid="8192107689995742653">"Importancia normal"</string> <string name="high_importance" msgid="1527066195614050263">"Importancia alta"</string> <string name="max_importance" msgid="5089005872719563894">"Urgente"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"No mostrar nunca estas notificaciones"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Mostrar en la parte inferior de la lista de notificaciones sin emitir sonido"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Mostrar estas notificaciones de manera silenciosa"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Permitir que estas notificaciones emitan sonidos"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Ver en la pantalla y permitir sonidos"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Mostrar en la parte superior de la lista de notificaciones, ver en la pantalla y permitir sonidos"</string> <string name="notification_more_settings" msgid="816306283396553571">"Más opciones de configuración"</string> <string name="notification_done" msgid="5279426047273930175">"Listo"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Color y apariencia"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Mostrar el porcentaje durante la carga (predeterminado)"</item> <item msgid="3327323682209964956">"No mostrar este ícono"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Otros"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Divisor de pantalla dividida"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Mover hacia abajo"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Mover hacia arriba"</string> diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml index bd9cc000e948..b3eda73b16c6 100644 --- a/packages/SystemUI/res/values-es/strings.xml +++ b/packages/SystemUI/res/values-es/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Más tiempo."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Menos tiempo."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Linterna desactivada."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"La linterna no está disponible."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Linterna activada."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Linterna desactivada."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Linterna activada."</string> @@ -457,34 +456,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"¿Activar Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Para poder conectar tu teclado a tu tablet, debes activar el Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Activar"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Mostrar notificaciones de forma silenciosa"</string> + <string name="block" msgid="2734508760962682611">"Bloquear todas las notificaciones"</string> + <string name="do_not_silence" msgid="6878060322594892441">"No silenciar"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"No silenciar ni bloquear"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Mostrar ajustes de importancia por completo"</string> <string name="blocked_importance" msgid="5198578988978234161">"Bloqueado"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Importancia mínima"</string> <string name="low_importance" msgid="4109929986107147930">"Poco importante"</string> <string name="default_importance" msgid="8192107689995742653">"Importancia normal"</string> <string name="high_importance" msgid="1527066195614050263">"Muy importante"</string> <string name="max_importance" msgid="5089005872719563894">"Urgente"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"No mostrar estas notificaciones"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Mostrar en la parte inferior de la lista de notificaciones de forma silenciosa"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Mostrar estas notificaciones de forma silenciosa"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Permitir que estas notificaciones reproduzcan sonidos"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Mostrar en la pantalla y permitir sonido"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Mostrar en la parte superior de la lista de notificaciones, mostrar en la pantalla y permitir sonido"</string> <string name="notification_more_settings" msgid="816306283396553571">"Más ajustes"</string> <string name="notification_done" msgid="5279426047273930175">"Listo"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Color y aspecto"</string> @@ -557,8 +545,7 @@ <item msgid="2139628951880142927">"Mostrar porcentaje durante la carga (predeterminado)"</item> <item msgid="3327323682209964956">"No mostrar este icono"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Otros"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Dividir la pantalla"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Bajar"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Subir"</string> diff --git a/packages/SystemUI/res/values-eu-rES/strings.xml b/packages/SystemUI/res/values-eu-rES/strings.xml index a245bf7d3b75..3f8e844a0777 100644 --- a/packages/SystemUI/res/values-eu-rES/strings.xml +++ b/packages/SystemUI/res/values-eu-rES/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Denbora gehiago."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Denbora gutxiago."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Flasha desaktibatuta dago."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Linterna ez dago erabilgarri."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Flasha aktibatuta dago."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Flasha desaktibatu egin da."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Flasha aktibatu egin da."</string> @@ -309,9 +308,9 @@ <string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Garbitu"</string> <string name="recents_drag_non_dockable_task_message" msgid="2935843902795166158">"Aplikazioak ez du onartzen leiho bat baino gehiago erabiltzea"</string> <string name="recents_launch_non_dockable_task_label" msgid="7862379814938391888">"Aplikazioak ez du onartzen leiho bat baino gehiago erabiltzea"</string> - <string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Banaketa horizontala"</string> - <string name="recents_multistack_add_stack_dialog_split_vertical" msgid="9075292233696180813">"Banaketa bertikala"</string> - <string name="recents_multistack_add_stack_dialog_split_custom" msgid="4177837597513701943">"Banaketa pertsonalizatua"</string> + <string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Zatitze horizontala"</string> + <string name="recents_multistack_add_stack_dialog_split_vertical" msgid="9075292233696180813">"Zatitze bertikala"</string> + <string name="recents_multistack_add_stack_dialog_split_custom" msgid="4177837597513701943">"Zatitze pertsonalizatua"</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Kargatuta"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Kargatzen"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> falta zaizkio guztiz kargatzeko"</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth eginbidea aktibatu nahi duzu?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Teklatua tabletara konektatzeko, Bluetooth eginbidea aktibatu behar duzu."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Aktibatu"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Erakutsi jakinarazpenak soinurik egin gabe"</string> + <string name="block" msgid="2734508760962682611">"Blokeatu jakinarazpen guztiak"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Ez isilarazi"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Ez isilarazi edo blokeatu"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Erakutsi garrantzia handiko jakinarazpenen ezarpenak"</string> <string name="blocked_importance" msgid="5198578988978234161">"Blokeatuta"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Gutxieneko garrantzia"</string> <string name="low_importance" msgid="4109929986107147930">"Garrantzi txikia"</string> <string name="default_importance" msgid="8192107689995742653">"Garrantzi normala"</string> <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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Erakutsi jakinarazpen hauek zerrendaren behealdean, baina soinurik egin gabe"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Erakutsi jakinarazpen hauek, baina soinurik egin gabe"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Egin soinua jakinarazpen hauek jasotzean"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Agerrarazi jakinarazpen hauek pantailan eta egin soinua"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Erakutsi jakinarazpen hauek zerrendaren goialdean, agerrarazi pantailan eta egin soinua"</string> <string name="notification_more_settings" msgid="816306283396553571">"Ezarpen gehiago"</string> <string name="notification_done" msgid="5279426047273930175">"Eginda"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Kolorea eta itxura"</string> @@ -497,7 +485,7 @@ <string name="use_dark_theme" msgid="2900938704964299312">"Erabili gai iluna Android sistema eragilean"</string> <string name="adjust_tint" msgid="3398569573231409878">"Doitu kolorea"</string> <string name="adjust_brightness" msgid="980039329808178246">"Doitu distira"</string> - <string name="night_mode_disclaimer" msgid="598914896926759578">"Gai iluna Android sistema eragileko eremu nagusietan aplikatzen da. Normalean gai argian bistaratzen dira eremu horiek, adibidez, Ezarpenak atala."</string> + <string name="night_mode_disclaimer" msgid="598914896926759578">"Gai iluna Android sistema eragileko eremu nagusietan aplikatzen da. Normalean gai argian bistaratzen dira eremu horiek, adibidez, Ezarpenak atalean."</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> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Erakutsi ehunekoa kargatu bitartean (balio lehenetsia)"</item> <item msgid="3327323682209964956">"Ez erakutsi ikonoa"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Beste bat"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Pantaila-zatitzailea"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Eraman behera"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Eraman gora"</string> diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml index 22431916583b..8b3fb5ea7675 100644 --- a/packages/SystemUI/res/values-fi/strings.xml +++ b/packages/SystemUI/res/values-fi/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Lisää aikaa."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Vähennä aikaa."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Taskulamppu on pois päältä."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Taskulamppu ei ole käytettävissä."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Taskulamppu on päällä."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Taskulamppu poistettiin käytöstä."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Taskulamppu otettiin käyttöön."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Otetaanko Bluetooth käyttöön?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Jotta voit yhdistää näppäimistön tablettiisi, sinun on ensin otettava Bluetooth käyttöön."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Ota käyttöön"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Näytä ilmoitukset hiljennettyinä"</string> + <string name="block" msgid="2734508760962682611">"Estä kaikki ilmoitukset"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Älä hiljennä"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Älä hiljennä tai estä"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Näytä kaikki tärkeysasetukset"</string> <string name="blocked_importance" msgid="5198578988978234161">"Estetyt"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Pienin tärkeys"</string> <string name="low_importance" msgid="4109929986107147930">"Ei kovin tärkeä"</string> <string name="default_importance" msgid="8192107689995742653">"Tärkeä"</string> <string name="high_importance" msgid="1527066195614050263">"Hyvin tärkeä"</string> <string name="max_importance" msgid="5089005872719563894">"Kiireellinen"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Älä koskaan näytä näitä ilmoituksia"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Hiljennä ilmoitukset ja näytä ne ilmoitusluettelon alaosassa."</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Näytä nämä ilmoitukset hiljennettyinä."</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Salli näiden ilmoitusten äänet."</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Näytä ilmoitukset näytöllä ja salli niiden äänet."</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Näytä ilmoitukset näytöllä ja ilmoitusluettelon yläosassa ja salli niiden äänet."</string> <string name="notification_more_settings" msgid="816306283396553571">"Lisäasetukset"</string> <string name="notification_done" msgid="5279426047273930175">"Valmis"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Väri ja ulkoasu"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Näytä prosenttiluku latauksen aikana (oletus)"</item> <item msgid="3327323682209964956">"Älä näytä tätä kuvaketta"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Muu"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Näytön jakaja"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Siirrä alaspäin"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Siirrä ylöspäin"</string> diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml index b957dbaa694d..e0beecaa60d3 100644 --- a/packages/SystemUI/res/values-fr-rCA/strings.xml +++ b/packages/SystemUI/res/values-fr-rCA/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Plus longtemps"</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Moins longtemps."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Lampe de poche désactivée."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Lampe de poche indisponible."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Lampe de poche activée."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Lampe de poche désactivée."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Lampe de poche activée."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Activer Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Pour connecter votre clavier à votre tablette, vous devez d\'abord activer la connectivité Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Activer"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Afficher les notifications en mode silencieux"</string> + <string name="block" msgid="2734508760962682611">"Bloquer toutes les notifications"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Ne pas activer le mode silencieux"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Ne pas activer le mode silencieux ni bloquer"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Afficher les paramètres d\'importance complets"</string> <string name="blocked_importance" msgid="5198578988978234161">"Bloquée"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Importance minimale"</string> <string name="low_importance" msgid="4109929986107147930">"Importance faible"</string> <string name="default_importance" msgid="8192107689995742653">"Importance normale"</string> <string name="high_importance" msgid="1527066195614050263">"Importance élevée"</string> <string name="max_importance" msgid="5089005872719563894">"Importance urgente"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Ne jamais afficher ces notifications"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Afficher en mode silencieux au bas de la liste de notifications"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Afficher ces notifications en mode silencieux"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Autoriser ces notifications à émettre des sons"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Afficher sur l\'écran et émettre un son"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Afficher en haut de la liste des notifications, afficher sur l\'écran et émettre un son"</string> <string name="notification_more_settings" msgid="816306283396553571">"Plus de paramètres"</string> <string name="notification_done" msgid="5279426047273930175">"Terminé"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Couleur et apparence"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Montrer le pourcentage durant la charge (par défaut)"</item> <item msgid="3327323682209964956">"Ne pas afficher cette icône"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Autre"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Séparateur d\'écran partagé"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Déplacer vers le bas"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Déplacer vers le haut"</string> diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml index a7bf20b79dfb..9ef639239b23 100644 --- a/packages/SystemUI/res/values-fr/strings.xml +++ b/packages/SystemUI/res/values-fr/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Plus longtemps"</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Moins longtemps"</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Lampe de poche désactivée."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Lampe de poche indisponible."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Lampe de poche activée."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Lampe de poche désactivée."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Lampe de poche activée."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Activer le Bluetooth ?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Pour connecter un clavier à votre tablette, vous devez avoir activé le Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Activer"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Afficher les notifications en mode silencieux"</string> + <string name="block" msgid="2734508760962682611">"Bloquer toutes les notifications"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Ne pas activer le mode silencieux"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Ne pas activer le mode silencieux ni bloquer"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Afficher les paramètres d\'importance complets"</string> <string name="blocked_importance" msgid="5198578988978234161">"Bloquées"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Importance minimale"</string> <string name="low_importance" msgid="4109929986107147930">"Importance faible"</string> <string name="default_importance" msgid="8192107689995742653">"Importance normale"</string> <string name="high_importance" msgid="1527066195614050263">"Importance élevée"</string> <string name="max_importance" msgid="5089005872719563894">"Urgent"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Ne jamais afficher ces notifications"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Afficher au bas de la liste des notifications en mode silencieux"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Afficher ces notifications en mode silencieux"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Autoriser ces notifications à émettre des sons"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Afficher sur l\'écran et émettre un son"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Afficher en haut de la liste des notifications, afficher sur l\'écran et émettre un son"</string> <string name="notification_more_settings" msgid="816306283396553571">"Plus de paramètres"</string> <string name="notification_done" msgid="5279426047273930175">"Terminé"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Couleur et apparence"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Afficher le pourcentage lorsque l\'appareil est en charge (option par défaut)"</item> <item msgid="3327323682209964956">"Ne plus afficher cette icône"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Autre"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Séparateur d\'écran partagé"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Déplacer vers le bas"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Déplacer vers le haut"</string> diff --git a/packages/SystemUI/res/values-gl-rES/strings.xml b/packages/SystemUI/res/values-gl-rES/strings.xml index d24c424e0383..bb85708d554c 100644 --- a/packages/SystemUI/res/values-gl-rES/strings.xml +++ b/packages/SystemUI/res/values-gl-rES/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Máis tempo."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Menos tempo."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Lanterna desactivada."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"A lanterna non está dispoñible."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Lanterna activada."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Desactivouse a lanterna."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Activouse a lanterna."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Queres activar o Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Para conectar o teu teclado co tablet, primeiro tes que activar o Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Activar"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Mostrar notificacións de forma silenciosa"</string> + <string name="block" msgid="2734508760962682611">"Bloquear todas as notificacións"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Non silenciar"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Non silenciar nin bloquear"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Mostrar a configuración completa da importancia"</string> <string name="blocked_importance" msgid="5198578988978234161">"Bloqueada"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Importancia mínima"</string> <string name="low_importance" msgid="4109929986107147930">"Importancia baixa"</string> <string name="default_importance" msgid="8192107689995742653">"Importancia normal"</string> <string name="high_importance" msgid="1527066195614050263">"Importancia alta"</string> <string name="max_importance" msgid="5089005872719563894">"Importancia urxente"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Non mostrar nunca estas notificacións"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Mostrar de forma silenciosa na parte inferior da lista de notificacións"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Mostrar estas notificacións de forma silenciosa"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Permitir que esta notificación emita son"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Mostrar na pantalla e permitir que emita son"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Mostrar na parte superior da lista de notificacións, amosar na pantalla e permitir que emita son"</string> <string name="notification_more_settings" msgid="816306283396553571">"Máis opcións"</string> <string name="notification_done" msgid="5279426047273930175">"Feito"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Cor e aspecto"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Mostrar porcentaxe durante a carga (predeterminado)"</item> <item msgid="3327323682209964956">"Non mostrar esta icona"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Outros"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Divisor de pantalla dividida"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Baixar"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Subir"</string> diff --git a/packages/SystemUI/res/values-hy-rAM/strings.xml b/packages/SystemUI/res/values-hy-rAM/strings.xml index 08dfb23cc08d..09e7f70be10e 100644 --- a/packages/SystemUI/res/values-hy-rAM/strings.xml +++ b/packages/SystemUI/res/values-hy-rAM/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Ավելացնել ժամանակը:"</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Պակասեցնել ժամանակը:"</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Լապտերն անջատված է:"</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Լապտերն անհասանելի է:"</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Լապտերը միացված է:"</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Լապտերն անջատվեց:"</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Լապտերը միացավ:"</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Միացնե՞լ Bluetooth-ը:"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Ստեղնաշարը ձեր պլանշետին միացնելու համար նախ անհրաժեշտ է միացնել Bluetooth-ը:"</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Միացնել"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Ցույց տալ ծանուցումներն առանց ձայնային ազդանշանի"</string> + <string name="block" msgid="2734508760962682611">"Արգելափակել բոլոր ծանուցումները"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Ձայնը չանջատել"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Ձայնը չանջատել և չարգելափակել"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Ցույց տալ կարևորության բոլոր կարգավորումները"</string> <string name="blocked_importance" msgid="5198578988978234161">"Արգելափակված"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Նվազագույն կարևորություն"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Ցուցադրել ծանուցումների ցանկի ներքևում առանց ձայնային ազդանշանի"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Ցուցադրել այս ծանուցումներն առանց ձայնային ազդանշանի"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Թույլ տալ այս ծանուցումներին ձայնային ազդանշան հնչեցնել"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Թռուցիկ ցուցադրել էկրանին և թույլատրել ձայնային ազդանշանը"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Ցույց տալ ծանուցումների ցանկի վերևում, թռուցիկ ցուցադրել էկրանին և թույլատրել ձայնային ազդանշանը"</string> <string name="notification_more_settings" msgid="816306283396553571">"Այլ կարգավորումներ"</string> <string name="notification_done" msgid="5279426047273930175">"Պատրաստ է"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Գույնը և արտաքին տեսքը"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Ցույց տալ տոկոսը լիցքավորելու ժամանակ (կանխադրված է)"</item> <item msgid="3327323682209964956">"Ցույց չտալ այս պատկերակը"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Այլ"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Տրոհված էկրանի բաժանիչ"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Տեղափոխել ներքև"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Տեղափոխել վերև"</string> diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml index 3fa41be87cb2..46340a773006 100644 --- a/packages/SystemUI/res/values-in/strings.xml +++ b/packages/SystemUI/res/values-in/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Lebih lama."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Lebih cepat."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Senter nonaktif."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Senter tidak tersedia."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Senter aktif."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Senter dinonaktifkan."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Senter diaktifkan."</string> @@ -456,34 +455,23 @@ <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> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Tampilkan notifikasi tanpa suara"</string> + <string name="block" msgid="2734508760962682611">"Blokir semua notifikasi"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Jangan bisukan"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Jangan bisukan atau blokir"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Tampilkan setelan lengkap nilai penting"</string> <string name="blocked_importance" msgid="5198578988978234161">"Diblokir"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Nilai penting min"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Tampilkan di bagian bawah daftar notifikasi tanpa suara"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Tampilkan notifikasi ini tanpa suara"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Izinkan notifikasi ini bersuara"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Muncul di layar dan izinkan suara"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Tampilkan di bagian atas daftar notifikasi, muncul di layar, dan izinkan suara"</string> <string name="notification_more_settings" msgid="816306283396553571">"Setelan lainnya"</string> <string name="notification_done" msgid="5279426047273930175">"Selesai"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Warna dan tampilan"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Tampilkan persentase saat mengisi daya (default)"</item> <item msgid="3327323682209964956">"Jangan tampilkan ikon ini"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Lainnya"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Pembagi layar terpisah"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Turunkan"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Naikkan"</string> diff --git a/packages/SystemUI/res/values-is-rIS/strings.xml b/packages/SystemUI/res/values-is-rIS/strings.xml index e3c3aa85fa01..89708de2d20c 100644 --- a/packages/SystemUI/res/values-is-rIS/strings.xml +++ b/packages/SystemUI/res/values-is-rIS/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Meiri tími."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Minni tími."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Slökkt á vasaljósi."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Vasaljós ekki tiltækt"</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Kveikt á vasaljósi."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Slökkt á vasaljósi."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Kveikt á vasaljósi."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Kveikja á Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Til að geta tengt lyklaborðið við spjaldtölvuna þarftu fyrst að kveikja á Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Kveikja"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Sýna tilkynningar án hljóðs"</string> + <string name="block" msgid="2734508760962682611">"Loka á allar tilkynningar"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Ekki þagga"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Hvorki þagga né útiloka"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Sýna stillingar fyrir mikilvægi"</string> <string name="blocked_importance" msgid="5198578988978234161">"Útilokuð"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Lítill forgangur"</string> <string name="low_importance" msgid="4109929986107147930">"Ekki svo mikilvægt"</string> <string name="default_importance" msgid="8192107689995742653">"Venjulegt mikilvægi"</string> <string name="high_importance" msgid="1527066195614050263">"Mjög mikilvægt"</string> <string name="max_importance" msgid="5089005872719563894">"Afar áríðandi"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Aldrei sýna þessar tilkynningar"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Sýna neðst á tilkynningalistanum án hljóðs"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Sýna þessar tilkynningar án hljóðs"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Leyfa þessum tilkynningum að spila hljóð"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Birta á skjánum og leyfa hljóð"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Sýna efst á tilkynningalistanum, birta á skjánum og leyfa hljóð"</string> <string name="notification_more_settings" msgid="816306283396553571">"Fleiri stillingar"</string> <string name="notification_done" msgid="5279426047273930175">"Lokið"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Litur og útlit"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Sýna hlutfall meðan á hleðslu stendur (sjálfgefið)"</item> <item msgid="3327323682209964956">"Ekki sýna þetta tákn"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Annað"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Skjáskipting"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Færa niður"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Færa upp"</string> diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml index 5266ba881c69..d6622e368fce 100644 --- a/packages/SystemUI/res/values-it/strings.xml +++ b/packages/SystemUI/res/values-it/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Più tempo."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Meno tempo."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Torcia spenta."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Torcia non disponibile."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Torcia accesa."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Torcia disattivata."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Torcia attivata."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Attivare il Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Per connettere la tastiera al tablet, devi prima attivare il Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Attiva"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Mostra silenziosamente le notifiche"</string> + <string name="block" msgid="2734508760962682611">"Blocca tutte le notifiche"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Non disattivare i suoni"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Non disattivare i suoni e non bloccare"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Mostra impostazioni importanza complete"</string> <string name="blocked_importance" msgid="5198578988978234161">"Bloccata"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Importanza min"</string> <string name="low_importance" msgid="4109929986107147930">"Importanza scarsa"</string> <string name="default_importance" msgid="8192107689995742653">"Importanza normale"</string> <string name="high_importance" msgid="1527066195614050263">"Importanza elevata"</string> <string name="max_importance" msgid="5089005872719563894">"Importanza urgente"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Non mostrare mai queste notifiche"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Mostra silenziosamente nella parte inferiore dell\'elenco delle notifiche"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Mostra silenziosamente queste notifiche"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Attiva i suoni per queste notifiche"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Apri sullo schermo e attiva l\'audio"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Mostra in cima all\'elenco delle notifiche, apri sullo schermo e attiva l\'audio"</string> <string name="notification_more_settings" msgid="816306283396553571">"Altre impostazioni"</string> <string name="notification_done" msgid="5279426047273930175">"Fine"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Colore e aspetto"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Mostra la percentuale quando in carica (opzione predefinita)"</item> <item msgid="3327323682209964956">"Non mostrare questa icona"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Altro"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Strumento per schermo diviso"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Sposta giù"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Sposta su"</string> diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml index a13f975f4c34..ed446245b934 100644 --- a/packages/SystemUI/res/values-iw/strings.xml +++ b/packages/SystemUI/res/values-iw/strings.xml @@ -209,8 +209,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"יותר זמן."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"פחות זמן."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"הפנס כבוי."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"פנס אינו זמין."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"הפנס מופעל."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"הפנס נכבה."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"הפנס הופעל."</string> @@ -458,34 +457,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"האם להפעיל את ה-Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"כדי לחבר את המקלדת לטאבלט, תחילה עליך להפעיל את ה-Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"הפעל"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"הצג הודעות בלי להשמיע צליל"</string> + <string name="block" msgid="2734508760962682611">"חסום את כל ההודעות"</string> + <string name="do_not_silence" msgid="6878060322594892441">"לא להשתיק"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"לא להשתיק או לחסום"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"הצג את הגדרות החשיבות במלואן"</string> <string name="blocked_importance" msgid="5198578988978234161">"חסום"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"חשיבות מינימלית"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"הצג בסוף רשימת ההודעות בלי להשמיע צליל"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"הצג את ההודעות האלה בלי להשמיע צליל"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"אשר להודעות אלה להשמיע צליל"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"הצג לרגע על גבי המסך ואשר השמעת צליל"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"הצג בראש רשימת ההודעות, הצג לרגע על גבי המסך ואשר השמעת צליל"</string> <string name="notification_more_settings" msgid="816306283396553571">"הגדרות נוספות"</string> <string name="notification_done" msgid="5279426047273930175">"סיום"</string> <string name="color_and_appearance" msgid="1254323855964993144">"צבע ומראה"</string> @@ -499,7 +487,7 @@ <string name="use_dark_theme" msgid="2900938704964299312">"השתמש בעיצוב כהה למערכת ההפעלה של Android."</string> <string name="adjust_tint" msgid="3398569573231409878">"התאמת גוון"</string> <string name="adjust_brightness" msgid="980039329808178246">"התאמת בהירות"</string> - <string name="night_mode_disclaimer" msgid="598914896926759578">"העיצוב הכהה מוחל על התחומים העיקריים במערכת ההפעלה של Android שמוצגים בדרך כלל בעיצוב בהיר, כמו \'הגדרות\'."</string> + <string name="night_mode_disclaimer" msgid="598914896926759578">"העיצוב הכהה מוחל על התחומים העיקריים במערכת ההפעלה Android שמוצגים בדרך כלל בעיצוב בהיר, כמו \'הגדרות\'."</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> @@ -558,8 +546,7 @@ <item msgid="2139628951880142927">"הצג באחוזים בזמן טעינה (ברירת מחדל)"</item> <item msgid="3327323682209964956">"אל תציג את הסמל הזה"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"אחר"</string> <string name="accessibility_divider" msgid="5903423481953635044">"מחלק מסך מפוצל"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"הזז למטה"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"הזז למעלה"</string> diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml index d3a8b2ce8839..f104703d61cc 100644 --- a/packages/SystemUI/res/values-ja/strings.xml +++ b/packages/SystemUI/res/values-ja/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"長くします。"</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"短くします。"</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"ライトがOFFです。"</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"ライトを使用できません。"</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"ライトがONです。"</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"ライトをOFFにしました。"</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"ライトをONにしました。"</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"BluetoothをONにしますか?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"タブレットでキーボードに接続するには、最初にBluetoothをONにする必要があります。"</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"ONにする"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"通知をマナーモードで表示する"</string> + <string name="block" msgid="2734508760962682611">"通知をすべてブロックする"</string> + <string name="do_not_silence" msgid="6878060322594892441">"音声で知らせる"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"音声で知らせる / ブロックしない"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"重要度の設定をすべて表示"</string> <string name="blocked_importance" msgid="5198578988978234161">"ブロック中"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"重要度: 最低"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"通知リストの末尾にマナーモードで表示する"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"この通知をマナーモードで表示する"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"通知を音声で知らせる"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"画面に数秒間表示し、音声でも知らせる"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"通知リストの先頭に表示し、画面に数秒間表示し、音声でも知らせる"</string> <string name="notification_more_settings" msgid="816306283396553571">"詳細設定"</string> <string name="notification_done" msgid="5279426047273930175">"完了"</string> <string name="color_and_appearance" msgid="1254323855964993144">"色と表示"</string> @@ -559,8 +547,7 @@ <item msgid="2139628951880142927">"変更時に割合を表示(デフォルト)"</item> <item msgid="3327323682209964956">"このアイコンを表示しない"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"その他"</string> <string name="accessibility_divider" msgid="5903423481953635044">"分割画面の分割線"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"下に移動"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"上に移動"</string> diff --git a/packages/SystemUI/res/values-ka-rGE/strings.xml b/packages/SystemUI/res/values-ka-rGE/strings.xml index d14a3c9fb7d4..b365eb32daca 100644 --- a/packages/SystemUI/res/values-ka-rGE/strings.xml +++ b/packages/SystemUI/res/values-ka-rGE/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"მეტი დრო."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"ნაკლები დრო."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"ფანარი გამორთულია."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"ფანარი მიუწვდომელია."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"ფანარი ჩართულია."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"ფანარი გამოირთო."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"ფანარი ჩაირთო."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"გსურთ Bluetooth-ის ჩართვა?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"კლავიატურის ტაბლეტთან დასაკავშირებლად, ჯერ უნდა ჩართოთ Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"ჩართვა"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"შეტყობინებების უხმოდ ჩვენება"</string> + <string name="block" msgid="2734508760962682611">"ყველა შეტყობინების დაბლოკვა"</string> + <string name="do_not_silence" msgid="6878060322594892441">"არ გაჩუმდეს"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"არ გაჩუმდეს ან დაიბლოკოს"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"მნიშვნელობის დონის სრული პარამეტრების ჩვენება"</string> <string name="blocked_importance" msgid="5198578988978234161">"დაბლოკილი"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"მინიმალური"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"შეტყობინებების სიის ბოლოში, უხმოდ ჩვენება"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"ამ შეტყობინებების უხმოდ ჩვენება"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"ამ შეტყობინებებისთვის ხმის გამოცემის დაშვება"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"შეტყობინებების პირდაპირ ეკრანზე ჩვენება და ხმის დაშვება"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"შეტყობინებების სიის თავში ჩვენება, პირდაპირ ეკრანზე გამოჩენა და ხმის დაშვება"</string> <string name="notification_more_settings" msgid="816306283396553571">"დამატებითი პარამეტრები"</string> <string name="notification_done" msgid="5279426047273930175">"მზადაა"</string> <string name="color_and_appearance" msgid="1254323855964993144">"ფერი და იერსახე"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"პროცენტულობის დატენვისას ჩვენება (ნაგულისხმევი)"</item> <item msgid="3327323682209964956">"აღარ მაჩვენო ეს ხატულა"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"სხვა"</string> <string name="accessibility_divider" msgid="5903423481953635044">"გაყოფილი ეკრანის რეჟიმის გამყოფი"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"ქვემოთ გადატანა"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"ზემოთ გადატანა"</string> diff --git a/packages/SystemUI/res/values-kk-rKZ/strings.xml b/packages/SystemUI/res/values-kk-rKZ/strings.xml index a2346b3adb54..f8c54b65120f 100644 --- a/packages/SystemUI/res/values-kk-rKZ/strings.xml +++ b/packages/SystemUI/res/values-kk-rKZ/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Көбірек уақыт."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Азырақ уақыт."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Қол шам өшірулі."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Жарқыл қол жетімді емес."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Қол шам қосулы."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Қол шам өшірілді."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Қол шам қосылды."</string> @@ -457,34 +456,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth функциясын қосу керек пе?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Пернетақтаны планшетке қосу үшін алдымен Bluetooth функциясын қосу керек."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Қосу"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Хабарландыруларды үнсіз көрсету"</string> + <string name="block" msgid="2734508760962682611">"Барлық хабарландыруларды бұғаттау"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Үнін өшірмеу"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Үнін өшірмеу немесе бұғаттамау"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Толық маңыздылық параметрлерін көрсету"</string> <string name="blocked_importance" msgid="5198578988978234161">"Бөгелген"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Ең аз маңыздылық"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Хабарландырулар тізімнің төменгі жағында үнсіз көрсету"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Осы хабарландыруларды үнсіз көрсету"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Осы хабарландыруға дыбыстар шығаруға рұқсат ету"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Экранда көрсету және дыбыс шығаруға рұқсат ету"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Хабарландырулар тізімінің жоғарғы жағында көрсету, экранда көрсету және дыбысқа рұқсат ету"</string> <string name="notification_more_settings" msgid="816306283396553571">"Қосымша параметрлер"</string> <string name="notification_done" msgid="5279426047273930175">"Дайын"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Түс және сыртқы түрі"</string> @@ -498,7 +486,7 @@ <string name="use_dark_theme" msgid="2900938704964299312">"Android ОЖ үшін күңгірт тақырыпты пайдалану"</string> <string name="adjust_tint" msgid="3398569573231409878">"Реңкті реттеу"</string> <string name="adjust_brightness" msgid="980039329808178246">"Жарықтықты реттеу"</string> - <string name="night_mode_disclaimer" msgid="598914896926759578">"Күңгірт тақырып Android операциялық жүйесінің әдетте ашық тақырыпта көрсетілетін негізгі аумақтарына қолданылады, мысалы, \"Параметрлер\" тармағына."</string> + <string name="night_mode_disclaimer" msgid="598914896926759578">"Күңгірт тақырып Android операциялық жүйесінің әдетте \"Параметрлер\" сияқты ашық тақырыпта көрсетілетін негізгі аумақтарына қолданылады."</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> @@ -557,8 +545,7 @@ <item msgid="2139628951880142927">"Зарядтау кезінде пайызды көрсету (әдепкі)"</item> <item msgid="3327323682209964956">"Бұл белгішені көрсетпеу"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Басқа"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Бөлінген экран бөлгіші"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Төмен қарай жылжыту"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Жоғары қарай жылжыту"</string> diff --git a/packages/SystemUI/res/values-ky-rKG/strings.xml b/packages/SystemUI/res/values-ky-rKG/strings.xml index d5ac252389f7..66a34f00dffa 100644 --- a/packages/SystemUI/res/values-ky-rKG/strings.xml +++ b/packages/SystemUI/res/values-ky-rKG/strings.xml @@ -73,7 +73,7 @@ <string name="screenshot_saved_title" msgid="6461865960961414961">"Скриншот тартылды."</string> <string name="screenshot_saved_text" msgid="1152839647677558815">"Тийип, скриншотту көрүңүз."</string> <string name="screenshot_failed_title" msgid="705781116746922771">"Скриншот кылынбай жатат."</string> - <string name="screenshot_failed_to_save_text" msgid="2592658083866306296">"Эстутумда бош орун чектелүү болгондуктан скриншот сакталбай жатат."</string> + <string name="screenshot_failed_to_save_text" msgid="2592658083866306296">"Сактагычта бош орун аз болгондуктан скриншот сакталбай жатат."</string> <string name="screenshot_failed_to_capture_text" msgid="7602391003979898374">"Скриншот тартууга колдонмо же ишканаңыз уруксат бербейт."</string> <string name="usb_preference_title" msgid="6551050377388882787">"USB менен файл өткөрүү мүмкүнчүлүктөрү"</string> <string name="use_mtp_button_title" msgid="4333504413563023626">"Медиа ойноткуч катары кошуу (MTP)"</string> @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Көбүрөөк убакыт."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Азыраак убакыт."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Колчырак өчүк."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Кол чырак жок."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Колчырак күйүк."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Колчырак өчүрүлдү."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Колчырак күйгүзүлдү."</string> @@ -307,8 +306,8 @@ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> коопсуз режиминде өчүрүлдү."</string> <string name="recents_history_button_label" msgid="5153358867807604821">"Таржымал"</string> <string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Тазалоо"</string> - <string name="recents_drag_non_dockable_task_message" msgid="2935843902795166158">"Бул колдонмо мульти-терезени колдоого албайт"</string> - <string name="recents_launch_non_dockable_task_label" msgid="7862379814938391888">"Колдонмо мульти-терезени колдоого албайт"</string> + <string name="recents_drag_non_dockable_task_message" msgid="2935843902795166158">"Бул колдонмодо бир нече терезе режими колдоого алынбайт"</string> + <string name="recents_launch_non_dockable_task_label" msgid="7862379814938391888">"Колдонмодо бир нече терезе режими колдоого алынбайт"</string> <string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Туурасынан бөлүү"</string> <string name="recents_multistack_add_stack_dialog_split_vertical" msgid="9075292233696180813">"Тигинен бөлүү"</string> <string name="recents_multistack_add_stack_dialog_split_custom" msgid="4177837597513701943">"Ыңгайлаштырылган бөлүү"</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth күйгүзүлсүнбү?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Баскычтобуңузду планшетиңизге туташтыруу үчүн, адегенде Bluetooth\'ту күйгүзүшүңүз керек."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Күйгүзүү"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Эскертмелер үнсүз көрсөтүлсүн"</string> + <string name="block" msgid="2734508760962682611">"Бардык эскертмелерди бөгөттөө"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Үнсүз кылынбасын"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Үнсүз кылынып же бөгөттөлбөсүн"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Маанилүүлүк жөндөөлөрү толук көрсөтүлсүн"</string> <string name="blocked_importance" msgid="5198578988978234161">"Бөгөттөлгөн"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Маанилүүлүгү эң төмөн"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Эскертмелер тизмесинин соңунда үнсүз көрсөтүлсүн"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Бул эскертмелер үнсүз көрсөтүлсүн"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Бул эскертмелер добуш чыгарышына уруксат берилсин"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Үн менен коштолуп, экранга чыгарылсын"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Эскертмелер тизмесинин эң башында көрсөтүлүп, үн менен коштолуп, экранга чыгарылсын"</string> <string name="notification_more_settings" msgid="816306283396553571">"Дагы жөндөөлөр"</string> <string name="notification_done" msgid="5279426047273930175">"Аткарылды"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Түсү жана көрүнүшү"</string> @@ -497,7 +485,7 @@ <string name="use_dark_theme" msgid="2900938704964299312">"Android OS үчүн караңгы тема колдонуу"</string> <string name="adjust_tint" msgid="3398569573231409878">"Кошумча түсүн тууралоо"</string> <string name="adjust_brightness" msgid="980039329808178246">"Жарыктыгын тууралоо"</string> - <string name="night_mode_disclaimer" msgid="598914896926759578">"Адатта жарык темада көрсөтүлгөн Android OS\'тин, Жөндөөлөр сыяктуу негизги аймактарына караңгы тема колдонулат."</string> + <string name="night_mode_disclaimer" msgid="598914896926759578">"Адатта жарык темада көрсөтүлүүчү Android тутумунун негизги элементтерине (Жөндөөлөр сыяктуу) колдонула турган караңгы тема."</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> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Кубаттоо учурунда пайызы көрсөтүлсүн (демейки)"</item> <item msgid="3327323682209964956">"Бул сөлөкөт көрсөтүлбөсүн"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Башка"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Экранды бөлгүч"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Төмөн жылдыруу"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Жогору жылдыруу"</string> diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml index a33c76f2a1e0..bb49c393b603 100644 --- a/packages/SystemUI/res/values-lt/strings.xml +++ b/packages/SystemUI/res/values-lt/strings.xml @@ -209,8 +209,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Daugiau laiko."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Mažiau laiko."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Blykstė išjungta."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Blykstė nepasiekiama."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Blykstė įjungta."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Blykstė išjungta."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Blykstė įjungta."</string> @@ -458,34 +457,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Įjungti „Bluetooth“?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Kad galėtumėte prijungti klaviatūrą prie planšetinio kompiuterio, pirmiausia turite įjungti „Bluetooth“."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Įjungti"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Tyliai rodyti pranešimus"</string> + <string name="block" msgid="2734508760962682611">"Blokuoti visus pranešimus"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Netylėti"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Netylėti arba blokuoti"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Rodyti visos svarbos nustatymus"</string> <string name="blocked_importance" msgid="5198578988978234161">"Užblokuota"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Min. svarba"</string> <string name="low_importance" msgid="4109929986107147930">"Maža svarba"</string> <string name="default_importance" msgid="8192107689995742653">"Įprasta svarba"</string> <string name="high_importance" msgid="1527066195614050263">"Didelė svarba"</string> <string name="max_importance" msgid="5089005872719563894">"Skubi svarba"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Niekada nerodyti šių pranešimų"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Tyliai rodyti pranešimų sąrašo apačioje"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Tyliai rodyti šiuos pranešimus"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Leisti šiems pranešimams skambėti"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Rodyti ekrane ir leisti skambėti"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Rodyti pranešimų sąrašo viršuje, rodyti ekrane ir leisti skambėti"</string> <string name="notification_more_settings" msgid="816306283396553571">"Daugiau nustatymų"</string> <string name="notification_done" msgid="5279426047273930175">"Atlikta"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Spalva ir išvaizda"</string> @@ -558,8 +546,7 @@ <item msgid="2139628951880142927">"Rodyti procentus kraunant (numatytasis nustatymas)"</item> <item msgid="3327323682209964956">"Nerodyti šios piktogramos"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Kita"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Skaidyto ekrano daliklis"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Perkelti žemyn"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Perkelti aukštyn"</string> diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml index 683e00a03eb6..574889eea686 100644 --- a/packages/SystemUI/res/values-lv/strings.xml +++ b/packages/SystemUI/res/values-lv/strings.xml @@ -208,8 +208,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Vairāk laika."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Mazāk laika."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Apgaismojums ir izslēgts."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Zibspuldze nav pieejama."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Apgaismojums ir ieslēgts."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Apgaismojums ir izslēgts."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Apgaismojums ir ieslēgts."</string> @@ -457,34 +456,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Vai ieslēgt Bluetooth savienojumu?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Lai pievienotu tastatūru planšetdatoram, vispirms ir jāieslēdz Bluetooth savienojums."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Ieslēgt"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Rādīt paziņojumus bez skaņas signāla"</string> + <string name="block" msgid="2734508760962682611">"Bloķēt visus paziņojumus"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Neizslēgt skaņu"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Neizslēgt skaņu vai nebloķēt"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Rādīt ļoti svarīgu paziņojumu iestatījumus"</string> <string name="blocked_importance" msgid="5198578988978234161">"Bloķēts"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Minimāls svarīguma līmenis"</string> <string name="low_importance" msgid="4109929986107147930">"Nav svarīgs"</string> <string name="default_importance" msgid="8192107689995742653">"Parasts"</string> <string name="high_importance" msgid="1527066195614050263">"Ļoti svarīgs"</string> <string name="max_importance" msgid="5089005872719563894">"Steidzams"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Nekad nerādīt šos paziņojumus"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Rādīt paziņojumu saraksta apakšdaļā bez skaņas signāla"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Rādīt šos paziņojumus bez skaņas signāla"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Atļaut skaņas signālu šiem paziņojumiem"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Rādīt ekrānā un atļaut skaņas signālu"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Rādīt paziņojumu saraksta augšdaļā, rādīt ekrānā ar skaņas signālu"</string> <string name="notification_more_settings" msgid="816306283396553571">"Citi iestatījumi"</string> <string name="notification_done" msgid="5279426047273930175">"Gatavs"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Krāsas un izskats"</string> @@ -557,8 +545,7 @@ <item msgid="2139628951880142927">"Rādīt procentuālo vērtību uzlādes laikā (noklusējums)"</item> <item msgid="3327323682209964956">"Nerādīt šo ikonu"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Citi"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Ekrāna sadalītājs"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Pārvietot uz leju"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Pārvietot uz augšu"</string> diff --git a/packages/SystemUI/res/values-mn-rMN/strings.xml b/packages/SystemUI/res/values-mn-rMN/strings.xml index fea38a9ee754..a69be1fe5b14 100644 --- a/packages/SystemUI/res/values-mn-rMN/strings.xml +++ b/packages/SystemUI/res/values-mn-rMN/strings.xml @@ -205,8 +205,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Хугацаа нэмэх."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Хугацаа хасах."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Флаш гэрэл унтарсан."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Гэрэлтүүлэгч боломжгүй байна."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Флаш гэрэл ассан."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Флаш гэрлийг унтраасан."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Флаш гэрлийг асаасан."</string> @@ -454,34 +453,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth-г асаах уу?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Компьютерийн гараа таблетад холбохын тулд эхлээд Bluetooth-г асаана уу."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Асаах"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Мэдэгдлийг чимээгүй харуулах"</string> + <string name="block" msgid="2734508760962682611">"Бүх мэдэгдлийг блоклох"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Дуугүй болгох хэрэггүй"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Дууг нь хаах эсвэл блоклох хэрэггүй"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Бүрэн ач холбогдлын тохиргоог харуулах"</string> <string name="blocked_importance" msgid="5198578988978234161">"Блоклосон"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Хамгийн бага ач холбогдол"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Мэдэгдлийг жагсаалтын доод хэсэгт дуугүй харуулах"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Эдгээр мэдэгдлийг дуугүй харуулах"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Эдгээр мэдэгдлийг дуу гаргахыг зөвшөөрөх"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Дэлгэцэд яаралтайгаар дуутай гаргах"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Мэдэгдлийг жагсаалтын эхэнд яаралтай дуутай харуулах"</string> <string name="notification_more_settings" msgid="816306283396553571">"Бусад тохиргоо"</string> <string name="notification_done" msgid="5279426047273930175">"Дууссан"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Өнгө, харагдах байдал"</string> @@ -554,8 +542,7 @@ <item msgid="2139628951880142927">"Цэнэглэх үед хувийг тогтмол харуулах (өгөгдмөл)"</item> <item msgid="3327323682209964956">"Энэ дүрс тэмдгийг бүү үзүүл"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Бусад"</string> <string name="accessibility_divider" msgid="5903423481953635044">"\"Дэлгэц хуваах\" хуваагч"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Доош зөөх"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Дээш зөөх"</string> diff --git a/packages/SystemUI/res/values-mr-rIN/strings.xml b/packages/SystemUI/res/values-mr-rIN/strings.xml index acd9d4e833c9..d99678c52a77 100644 --- a/packages/SystemUI/res/values-mr-rIN/strings.xml +++ b/packages/SystemUI/res/values-mr-rIN/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"अधिक वेळ."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"कमी वेळ."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"फ्लॅशलाइट बंद."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"फ्लॅशलाइट अनुपलब्ध आहे."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"फ्लॅशलाइट चालू."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"फ्लॅशलाइट बंद केला."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"फ्लॅशलाइट चालू केला."</string> @@ -456,34 +455,23 @@ <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 show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"सूचना शांतपणे दर्शवा"</string> + <string name="block" msgid="2734508760962682611">"सर्व सूचना अवरोधित करा"</string> + <string name="do_not_silence" msgid="6878060322594892441">"शांत करू नका"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"शांत किंवा अवरोधित करू नका"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"पूर्ण महत्त्व सेटिंग्ज दर्शवा"</string> <string name="blocked_importance" msgid="5198578988978234161">"अवरोधित केले"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"किमान महत्त्व"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"सूचना सूचीच्या तळाशी शांतपणे दर्शवा"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"या सूचना शांतपणे दर्शवा"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"या सूचनांना ध्वनी चालू करण्याची अनुमती द्या"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"स्क्रीनवर पहा आणि ध्वनीस अनुमती द्या ध्वनीस अनुमती द्या"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"सूचनांच्या शीर्षस्थानी दर्शवा, स्क्रीनवर पहा आणि ध्वनीस अनुमती द्या"</string> <string name="notification_more_settings" msgid="816306283396553571">"अधिक सेटिंग्ज"</string> <string name="notification_done" msgid="5279426047273930175">"पूर्ण झाले"</string> <string name="color_and_appearance" msgid="1254323855964993144">"रंग आणि स्वरूप"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"चार्ज करताना टक्केवारी दर्शवा (डीफॉल्ट)"</item> <item msgid="3327323682209964956">"हे चिन्ह दर्शवू नका"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"अन्य"</string> <string name="accessibility_divider" msgid="5903423481953635044">"विभाजित-स्क्रीन विभाजक"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"खाली हलवा"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"वर हलवा"</string> diff --git a/packages/SystemUI/res/values-ms-rMY/strings.xml b/packages/SystemUI/res/values-ms-rMY/strings.xml index d2048300be52..a716eef62236 100644 --- a/packages/SystemUI/res/values-ms-rMY/strings.xml +++ b/packages/SystemUI/res/values-ms-rMY/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Lagi masa."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Kurang masa."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Lampu suluh dimatikan."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Lampu suluh tidak tersedia."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Lampu suluh dihidupkan."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Lampu suluh dimatikan."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Lampu suluh dihidupkan."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Hidupkan Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Untuk menyambungkan papan kekunci anda dengan tablet, anda perlu menghidupkan Bluetooth terlebih dahulu."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Hidupkan"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Tunjukkan pemberitahuan secara senyap"</string> + <string name="block" msgid="2734508760962682611">"Sekat semua pemberitahuan"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Jangan senyapkan"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Jangan senyapkan atau sekat"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Tunjukkan tetapan kepentingan penuh"</string> <string name="blocked_importance" msgid="5198578988978234161">"Disekat"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Kurang penting"</string> <string name="low_importance" msgid="4109929986107147930">"Kepentingan rendah"</string> <string name="default_importance" msgid="8192107689995742653">"Kepentingan biasa"</string> <string name="high_importance" msgid="1527066195614050263">"Kepentingan tinggi"</string> <string name="max_importance" msgid="5089005872719563894">"Kepentingan segera"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Jangan sekali-kali tunjukkan pemberitahuan ini"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Tunjukkan pada bahagian bawah senarai pemberitahuan secara senyap"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Tunjukkan pemberitahuan ini secara senyap"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Benarkan pemberitahuan ini berbunyi"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Intai pada skrin dan benarkan bunyi"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Tunjukkan pada bahagian atas senarai pemberitahuan, intai pada skrin dan benarkan bunyi"</string> <string name="notification_more_settings" msgid="816306283396553571">"Lagi tetapan"</string> <string name="notification_done" msgid="5279426047273930175">"Selesai"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Warna dan penampilan"</string> @@ -556,9 +544,8 @@ <item msgid="2139628951880142927">"Tunjukkan peratusan semasa mengecas (lalai)"</item> <item msgid="3327323682209964956">"Jangan tunjukkan ikon ini"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> - <string name="accessibility_divider" msgid="5903423481953635044">"Pembahagi skrin terpisah"</string> + <string name="other" msgid="4060683095962566764">"Lain-lain"</string> + <string name="accessibility_divider" msgid="5903423481953635044">"Pembahagi skrin pisah"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Alih ke bawah"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Alih ke atas"</string> <string name="accessibility_action_divider_move_left" msgid="9218189832115847253">"Alih ke kiri"</string> diff --git a/packages/SystemUI/res/values-my-rMM/strings.xml b/packages/SystemUI/res/values-my-rMM/strings.xml index c88eda2521fd..503b91f1134b 100644 --- a/packages/SystemUI/res/values-my-rMM/strings.xml +++ b/packages/SystemUI/res/values-my-rMM/strings.xml @@ -306,8 +306,8 @@ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> ကို ဘေးကင်းလုံခြုံသည့်မုဒ်တွင် ပိတ်ထားပါသည်။"</string> <string name="recents_history_button_label" msgid="5153358867807604821">"မှတ်တမ်း"</string> <string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"ရှင်းလင်းပါ"</string> - <string name="recents_drag_non_dockable_task_message" msgid="2935843902795166158">"ဤအက်ပ်သည် ဝင်းဒိုးများစွာတွင်ဖွင့်ရန် မပံ့ပိုးထားပါ"</string> - <string name="recents_launch_non_dockable_task_label" msgid="7862379814938391888">"အက်ပ်သည် ဝင်းဒိုးများစွာတွင်ဖွင့်ရန် မပံ့ပိုးထားပါ"</string> + <string name="recents_drag_non_dockable_task_message" msgid="2935843902795166158">"ဤအက်ပ်သည် ဝင်းဒိုးများစွာဖွင့်ခြင်းကို ပံ့ပိုးမထားပါ"</string> + <string name="recents_launch_non_dockable_task_label" msgid="7862379814938391888">"အက်ပ်သည် ဝင်းဒိုးများစွာဖွင့်ခြင်းကို ပံ့ပိုးမထားပါ"</string> <string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"ရေပြင်ညီ ပိုင်းမည်"</string> <string name="recents_multistack_add_stack_dialog_split_vertical" msgid="9075292233696180813">"ဒေါင်လိုက်ပိုင်းမည်"</string> <string name="recents_multistack_add_stack_dialog_split_custom" msgid="4177837597513701943">"စိတ်ကြိုက် ပိုင်းမည်"</string> @@ -545,7 +545,7 @@ <item msgid="3327323682209964956">"ဤသင်္ကေတပုံကို မပြပါနှင့်"</item> </string-array> <string name="other" msgid="4060683095962566764">"အခြား"</string> - <string name="accessibility_divider" msgid="5903423481953635044">"မျက်နှာပြင်ခွဲခြမ်းခြင်း ပိုင်းခြားပေးသည့်စနစ်"</string> + <string name="accessibility_divider" msgid="5903423481953635044">"မျက်နှာပြင်ခွဲခြမ်း ပိုင်းခြားပေးသည့်စနစ်"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"အောက်သို့ရွှေ့ပါ"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"အပေါ်သို့ရွှေ့ပါ"</string> <string name="accessibility_action_divider_move_left" msgid="9218189832115847253">"ဘယ်ဘက်သို့ရွှေ့ပါ"</string> diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml index ac8cc8ddf3c4..b3de2399fbfe 100644 --- a/packages/SystemUI/res/values-nb/strings.xml +++ b/packages/SystemUI/res/values-nb/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Mer tid."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Mindre tid."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Lommelykten er av."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Lommelykt er ikke tilgjengelig."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Lommelykten er på."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Lommelykten er slått av."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Lommelykten er slått på."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Vil du slå på Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"For å koble tastaturet til nettbrettet ditt må du først slå på Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Slå på"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Vis varsler uten lyd"</string> + <string name="block" msgid="2734508760962682611">"Blokkér alle varsler"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Ikke slå av lyden"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Ikke slå av lyden eller blokkér anrop"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Vis alle viktighetsinnstillingene"</string> <string name="blocked_importance" msgid="5198578988978234161">"Blokkert"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Laveste prioritet"</string> <string name="low_importance" msgid="4109929986107147930">"Lav viktighet"</string> <string name="default_importance" msgid="8192107689995742653">"Vanlig viktighet"</string> <string name="high_importance" msgid="1527066195614050263">"Høy viktighet"</string> <string name="max_importance" msgid="5089005872719563894">"Svært høy viktighet"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Aldri vis disse varslene"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Vis nederst på varsellisten uten lyd"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Vis disse varslene uten lyd"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Tillat at disse varslene vises med lyd"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Vis fort på skjermen og tillat lyd"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Vis øverst på varsellisten, vis fort på skjermen og tillat lyd"</string> <string name="notification_more_settings" msgid="816306283396553571">"Flere innstillinger"</string> <string name="notification_done" msgid="5279426047273930175">"Ferdig"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Farge og utseende"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Vis prosentandel under lading (standard)"</item> <item msgid="3327323682209964956">"Ikke vis dette ikonet"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Annet"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Skilleelement for delt skjerm"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Flytt ned"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Flytt opp"</string> diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml index c9821eea5ed9..974685c80358 100644 --- a/packages/SystemUI/res/values-pl/strings.xml +++ b/packages/SystemUI/res/values-pl/strings.xml @@ -209,8 +209,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Więcej czasu."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Mniej czasu."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Latarka wyłączona."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Latarka niedostępna."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Latarka włączona."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Latarka została wyłączona."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Latarka została włączona."</string> @@ -458,34 +457,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Włączyć Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Aby połączyć klawiaturę z tabletem, musisz najpierw włączyć Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Włącz"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Pokazuj powiadomienia bez sygnału dźwiękowego"</string> + <string name="block" msgid="2734508760962682611">"Blokuj wszystkie powiadomienia"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Nie ignoruj"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Nie ignoruj ani nie blokuj"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Pokaż pełne ustawienia ważności"</string> <string name="blocked_importance" msgid="5198578988978234161">"Zablokowane"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Najmniejsza ważność"</string> <string name="low_importance" msgid="4109929986107147930">"Mało 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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Pokazuj na końcu listy powiadomień bez sygnału dźwiękowego"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Pokazuj te powiadomienia bez sygnału dźwiękowego"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Zezwól na sygnalizowanie tych powiadomień dźwiękiem"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Wyświetlaj na ekranie i sygnalizuj dźwiękiem"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Pokazuj na początku listy powiadomień, wyświetlaj na ekranie i sygnalizuj dźwiękiem"</string> <string name="notification_more_settings" msgid="816306283396553571">"Więcej ustawień"</string> <string name="notification_done" msgid="5279426047273930175">"Gotowe"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Kolor i wygląd"</string> @@ -558,8 +546,7 @@ <item msgid="2139628951880142927">"Pokazuj procent podczas ładowania (domyślnie)"</item> <item msgid="3327323682209964956">"Nie pokazuj tej ikony"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Inne"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Linia dzielenia ekranu"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Przesuń w dół"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Przesuń w górę"</string> diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml index a15a789cc00f..3797adcce447 100644 --- a/packages/SystemUI/res/values-pt-rBR/strings.xml +++ b/packages/SystemUI/res/values-pt-rBR/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Mais tempo."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Menos tempo."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Lanterna desativada."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Lanterna indisponível."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Lanterna ativada."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"A lanterna foi desativada."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"A lanterna foi ativada."</string> @@ -457,34 +456,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Ativar o Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Para conectar o teclado ao tablet, é preciso primeiro ativar o Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Ativar"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Mostrar notificações de forma silenciosa"</string> + <string name="block" msgid="2734508760962682611">"Bloquear todas as notificações"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Não silenciar"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Não silenciar ou bloquear"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Mostrar todas as configurações de importância"</string> <string name="blocked_importance" msgid="5198578988978234161">"Bloqueadas"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Importância mínima"</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 elevada"</string> <string name="max_importance" msgid="5089005872719563894">"Importância urgente"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Nunca mostrar essas notificações"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Mostrar na parte inferior da lista de notificações de forma silenciosa"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Mostrar essas notificações de forma silenciosa"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Permitir que essas notificações emitam sons"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Mostrar parcialmente na tela e permitir som"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Mostrar na parte superior da lista de notificações, mostrar parcialmente na tela e permitir sons"</string> <string name="notification_more_settings" msgid="816306283396553571">"Mais configurações"</string> <string name="notification_done" msgid="5279426047273930175">"Concluído"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Cor e aparência"</string> @@ -498,7 +486,7 @@ <string name="use_dark_theme" msgid="2900938704964299312">"Usar o tema escuro para o SO Android"</string> <string name="adjust_tint" msgid="3398569573231409878">"Ajustar tonalidade"</string> <string name="adjust_brightness" msgid="980039329808178246">"Ajustar brilho"</string> - <string name="night_mode_disclaimer" msgid="598914896926759578">"O tema escuro é aplicado a áreas centrais do sistema operacional Android que normalmente são exibidas em um tema claro, como asconfigurações."</string> + <string name="night_mode_disclaimer" msgid="598914896926759578">"O tema escuro é aplicado a áreas centrais do sistema operacional Android que normalmente são exibidas em um tema claro, como as configurações."</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> @@ -557,8 +545,7 @@ <item msgid="2139628951880142927">"Mostrar porcentagem durante o carregamento (padrão)"</item> <item msgid="3327323682209964956">"Não mostrar este ícone"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Outros"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Divisor de tela"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Mover para baixo"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Mover para cima"</string> diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml index 85d4c7953398..7ee2554e8093 100644 --- a/packages/SystemUI/res/values-pt-rPT/strings.xml +++ b/packages/SystemUI/res/values-pt-rPT/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Mais tempo."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Menos tempo."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Lanterna desligada."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Lanterna indisponível."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Lanterna ligada."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Lanterna desligada."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Lanterna ligada."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Pretende ativar o Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Para ligar o teclado ao tablet, tem de ativar primeiro o Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Ativar"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Mostrar notificações sem som"</string> + <string name="block" msgid="2734508760962682611">"Bloquear todas as notificações"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Não silenciar"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Não silenciar nem bloquear"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Mostrar definições de importância completas"</string> <string name="blocked_importance" msgid="5198578988978234161">"Bloqueado"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Importância mín."</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">"Urgente"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Nunca mostrar estas notificações"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Mostrar na parte inferior da lista de notificações sem som"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Mostrar estas notificações sem som"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Permitir que estas notificações emitam sons"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Mostrar no ecrã e permitir som"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Mostrar na parte superior da lista de notificações, mostrar no ecrã e permitir som"</string> <string name="notification_more_settings" msgid="816306283396553571">"Mais definições"</string> <string name="notification_done" msgid="5279426047273930175">"Concluído"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Cor e aspeto"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Mostrar a percentagem durante o carregamento (predefinição)"</item> <item msgid="3327323682209964956">"Não mostrar este ícone"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Outro"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Divisor do ecrã dividido"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Mover para baixo"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Mover para cima"</string> diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml index a15a789cc00f..3797adcce447 100644 --- a/packages/SystemUI/res/values-pt/strings.xml +++ b/packages/SystemUI/res/values-pt/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Mais tempo."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Menos tempo."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Lanterna desativada."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Lanterna indisponível."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Lanterna ativada."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"A lanterna foi desativada."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"A lanterna foi ativada."</string> @@ -457,34 +456,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Ativar o Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Para conectar o teclado ao tablet, é preciso primeiro ativar o Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Ativar"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Mostrar notificações de forma silenciosa"</string> + <string name="block" msgid="2734508760962682611">"Bloquear todas as notificações"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Não silenciar"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Não silenciar ou bloquear"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Mostrar todas as configurações de importância"</string> <string name="blocked_importance" msgid="5198578988978234161">"Bloqueadas"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Importância mínima"</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 elevada"</string> <string name="max_importance" msgid="5089005872719563894">"Importância urgente"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Nunca mostrar essas notificações"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Mostrar na parte inferior da lista de notificações de forma silenciosa"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Mostrar essas notificações de forma silenciosa"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Permitir que essas notificações emitam sons"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Mostrar parcialmente na tela e permitir som"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Mostrar na parte superior da lista de notificações, mostrar parcialmente na tela e permitir sons"</string> <string name="notification_more_settings" msgid="816306283396553571">"Mais configurações"</string> <string name="notification_done" msgid="5279426047273930175">"Concluído"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Cor e aparência"</string> @@ -498,7 +486,7 @@ <string name="use_dark_theme" msgid="2900938704964299312">"Usar o tema escuro para o SO Android"</string> <string name="adjust_tint" msgid="3398569573231409878">"Ajustar tonalidade"</string> <string name="adjust_brightness" msgid="980039329808178246">"Ajustar brilho"</string> - <string name="night_mode_disclaimer" msgid="598914896926759578">"O tema escuro é aplicado a áreas centrais do sistema operacional Android que normalmente são exibidas em um tema claro, como asconfigurações."</string> + <string name="night_mode_disclaimer" msgid="598914896926759578">"O tema escuro é aplicado a áreas centrais do sistema operacional Android que normalmente são exibidas em um tema claro, como as configurações."</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> @@ -557,8 +545,7 @@ <item msgid="2139628951880142927">"Mostrar porcentagem durante o carregamento (padrão)"</item> <item msgid="3327323682209964956">"Não mostrar este ícone"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Outros"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Divisor de tela"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Mover para baixo"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Mover para cima"</string> diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml index fc1ed2f67ffc..c2bec081e7f4 100644 --- a/packages/SystemUI/res/values-ro/strings.xml +++ b/packages/SystemUI/res/values-ro/strings.xml @@ -208,8 +208,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Mai mult timp."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Mai puțin timp."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Lanterna este dezactivată."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Lanterna nu este disponibilă."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Lanterna este activată."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Lanterna este dezactivată."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Lanterna este activată."</string> @@ -457,34 +456,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Activați Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Pentru a conecta tastatura la tabletă, mai întâi trebuie să activați Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Activați"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Notificările se afișează fără a se emite un sunet"</string> + <string name="block" msgid="2734508760962682611">"Blocați toate notificările"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Nu dezactivați sunetul"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Nu dezactivați sunetul și nu blocați"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Afișați toate setările privind importanța"</string> <string name="blocked_importance" msgid="5198578988978234161">"Blocate"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Importanță minimă"</string> <string name="low_importance" msgid="4109929986107147930">"Importanță redusă"</string> <string name="default_importance" msgid="8192107689995742653">"Importanță normală"</string> <string name="high_importance" msgid="1527066195614050263">"Importanță ridicată"</string> <string name="max_importance" msgid="5089005872719563894">"Importanță: urgente"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Aceste notificări nu se afișează niciodată"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Se afișează în partea de jos a listei cu notificări fără a se emite un sunet"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Aceste notificări se afișează fără a se emite un sunet"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Permiteți acestor notificări să emită sunete"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Se afișează pentru o scurtă durată pe ecran și se permite un sunet"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Apar în partea de sus a listei cu notificări, se afișează pentru scurt timp pe ecran și se permite un sunet"</string> <string name="notification_more_settings" msgid="816306283396553571">"Mai multe setări"</string> <string name="notification_done" msgid="5279426047273930175">"Terminat"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Culoare și aspect"</string> @@ -557,8 +545,7 @@ <item msgid="2139628951880142927">"Afișează procentajul când se încarcă (prestabilit)"</item> <item msgid="3327323682209964956">"Nu afișa această pictogramă"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Altele"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Separator pentru ecranul împărțit"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Mutați în jos"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Mutați în sus"</string> diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml index 5340d95ded54..8ece7faed224 100644 --- a/packages/SystemUI/res/values-ru/strings.xml +++ b/packages/SystemUI/res/values-ru/strings.xml @@ -209,8 +209,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Увеличить время."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Уменьшить время."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Фонарик отключен."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Фонарик недоступен."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Фонарик включен."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Фонарик отключен."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Фонарик включен."</string> @@ -458,34 +457,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Подключение по Bluetooth"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Чтобы подключить клавиатуру к планшету, включите Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Включить"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Показывать без звука"</string> + <string name="block" msgid="2734508760962682611">"Блокировать все уведомления"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Показывать со звуком"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Не блокировать, показывать со звуком"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Показывать все настройки важности"</string> <string name="blocked_importance" msgid="5198578988978234161">"Блокировка"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Наименьшая важность"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Показывать без звука в конце списка уведомлений"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Показывать без звука"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Показывать со звуком"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Показывать со звуком поверх всех окон"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Показывать со звуком в начале списка уведомлений и поверх всех окон"</string> <string name="notification_more_settings" msgid="816306283396553571">"Другие настройки"</string> <string name="notification_done" msgid="5279426047273930175">"Готово"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Цвета и стиль"</string> @@ -558,8 +546,7 @@ <item msgid="2139628951880142927">"Показывать процент во время зарядки (по умолчанию)"</item> <item msgid="3327323682209964956">"Не показывать этот значок"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Другое"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Разделитель экрана"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Опустить"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Поднять"</string> diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml index 446590f3b61c..40daf19e09d2 100644 --- a/packages/SystemUI/res/values-sk/strings.xml +++ b/packages/SystemUI/res/values-sk/strings.xml @@ -75,7 +75,7 @@ <string name="screenshot_saved_title" msgid="6461865960961414961">"Snímka obrazovky bola zaznamenaná."</string> <string name="screenshot_saved_text" msgid="1152839647677558815">"Snímku obrazovky zobrazíte dotykom."</string> <string name="screenshot_failed_title" msgid="705781116746922771">"Snímku obrazovky sa nepodarilo zachytiť."</string> - <string name="screenshot_failed_to_save_text" msgid="2592658083866306296">"Snímku obrazovky nie je možné vytvoriť z dôvodu nedostatku miesta na úložisku."</string> + <string name="screenshot_failed_to_save_text" msgid="2592658083866306296">"Snímku obrazovky nie je možné vytvoriť z dôvodu nedostatku miesta v úložisku."</string> <string name="screenshot_failed_to_capture_text" msgid="7602391003979898374">"Vytváranie snímok obrazovky je zakázané aplikáciou alebo vašou organizáciou."</string> <string name="usb_preference_title" msgid="6551050377388882787">"Možnosti prenosu súborov USB"</string> <string name="use_mtp_button_title" msgid="4333504413563023626">"Pripojiť ako prehrávač médií (MTP)"</string> @@ -209,8 +209,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Dlhší čas"</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Kratší čas"</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Svietidlo je vypnuté."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Svietidlo nie je k dispozícii."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Svietidlo je zapnuté."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Svietidlo je vypnuté."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Svietidlo je zapnuté."</string> @@ -458,34 +457,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Zapnúť Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Ak chcete klávesnicu pripojiť k tabletu, najprv musíte zapnúť Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Zapnúť"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Zobrazovať upozornenia bez zvukového signálu"</string> + <string name="block" msgid="2734508760962682611">"Blokovať všetky upozornenia"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Nestíšiť"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Nestíšiť ani neblokovať"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Zobraziť nastavenia vysokej dôležitosti"</string> <string name="blocked_importance" msgid="5198578988978234161">"Zablokované"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Minimálna dôležitosť"</string> <string name="low_importance" msgid="4109929986107147930">"Nízka dôležitosť"</string> <string name="default_importance" msgid="8192107689995742653">"Normálna dôležitosť"</string> <string name="high_importance" msgid="1527066195614050263">"Vysoká dôležitosť"</string> <string name="max_importance" msgid="5089005872719563894">"Neodkladná dôležitosť"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Tieto upozornenia nikdy nezobrazovať"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Zobrazovať v dolnej časti zoznamu upozornení bez zvukového signálu"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Tieto upozornenia zobrazovať bez zvukového signálu"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Umožniť týmto upozorneniam vydávať zvukové signály"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Zobrazovať cez obrazovku a povoliť zvukový signál"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Zobrazovať v hornej časti zoznamu upozornení, zobrazovať cez obrazovku a povoliť zvukový signál"</string> <string name="notification_more_settings" msgid="816306283396553571">"Ďalšie nastavenia"</string> <string name="notification_done" msgid="5279426047273930175">"Hotovo"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Farba a vzhľad"</string> @@ -499,7 +487,7 @@ <string name="use_dark_theme" msgid="2900938704964299312">"Použiť tmavý motív pre systém Android OS"</string> <string name="adjust_tint" msgid="3398569573231409878">"Upraviť tónovanie"</string> <string name="adjust_brightness" msgid="980039329808178246">"Upraviť jas"</string> - <string name="night_mode_disclaimer" msgid="598914896926759578">"V hlavných oblastiach systému Android OS (ako sú Nastavenia), ktoré sú obyčajne zobrazené v svetlom motíve, je použitý tmavý motív."</string> + <string name="night_mode_disclaimer" msgid="598914896926759578">"V hlavných oblastiach systému Android OS (ako sú Nastavenia), ktoré sú obyčajne zobrazené vo svetlom motíve, je použitý tmavý motív."</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> @@ -558,8 +546,7 @@ <item msgid="2139628951880142927">"Zobrazovať percentá počas nabíjania (predvolené)"</item> <item msgid="3327323682209964956">"Nezobrazovať túto ikonu"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Ďalšie"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Rozdeľovač obrazovky"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Posunúť nadol"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Posunúť nahor"</string> diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml index 327e55336b8a..991e9e2718b2 100644 --- a/packages/SystemUI/res/values-sr/strings.xml +++ b/packages/SystemUI/res/values-sr/strings.xml @@ -208,8 +208,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Више времена."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Мање времена."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Батеријска лампа је искључена."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Лампа није доступна."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Батеријска лампа је укључена."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Батеријска лампа је искључена."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Батеријска лампа је укључена."</string> @@ -457,34 +456,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Желите ли да укључите Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Да бисте повезали тастатуру са таблетом, прво морате да укључите Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Укључи"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Приказуј обавештења без звука"</string> + <string name="block" msgid="2734508760962682611">"Блокирај сва обавештења"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Не искључуј звук"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Не искључују звук нити блокирај"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Прикажи комплетна подешавања важности"</string> <string name="blocked_importance" msgid="5198578988978234161">"Блокирана"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Веома мала важност"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Приказују се у дну листе обавештења без звука"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Ова обавештења се приказују без звука"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Дозволите да ова обавештења емитују звук"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Накратко се приказују на екрану и емитују звук"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Приказују се у врху листе обавештења, накратко се приказују на екрану и емитују звук"</string> <string name="notification_more_settings" msgid="816306283396553571">"Још подешавања"</string> <string name="notification_done" msgid="5279426047273930175">"Готово"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Боја и изглед"</string> @@ -557,8 +545,7 @@ <item msgid="2139628951880142927">"Прикажи проценат током пуњења (подразумевано)"</item> <item msgid="3327323682209964956">"Не приказуј ову икону"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Друго"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Разделник подељеног екрана"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Помери надоле"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Помери нагоре"</string> diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml index a23aba9074be..d35fad5770cf 100644 --- a/packages/SystemUI/res/values-sv/strings.xml +++ b/packages/SystemUI/res/values-sv/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Längre tid."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Kortare tid."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Ficklampa av."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Ficklampan är inte tillgänglig."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Ficklampa på."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Ficklampan har inaktiverats."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Ficklampan har aktiverats."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Vill du aktivera Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Om du vill ansluta tangentbordet till surfplattan måste du först aktivera Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Aktivera"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Visa aviseringar utan ljud"</string> + <string name="block" msgid="2734508760962682611">"Blockera alla aviseringar"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Stäng inte av ljudet"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Stäng inte av ljudet och blockera inte"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Visa alla relevansinställningarna"</string> <string name="blocked_importance" msgid="5198578988978234161">"Blockerad"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Oviktig avisering"</string> <string name="low_importance" msgid="4109929986107147930">"Oviktig avisering"</string> <string name="default_importance" msgid="8192107689995742653">"Vanlig avisering"</string> <string name="high_importance" msgid="1527066195614050263">"Viktig avisering"</string> <string name="max_importance" msgid="5089005872719563894">"Brådskande avisering"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Visa aldrig de här aviseringarna"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Visa längst ned i listan, utan ljud"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Visa aviseringarna utan ljud"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Tillåt ljud för de här aviseringarna"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Visa med snabbtitt på skärmen och tillåt ljud"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Visa högst upp i aviseringslistan och med snabbtitt på skärmen samt tillåt ljud"</string> <string name="notification_more_settings" msgid="816306283396553571">"Fler inställningar"</string> <string name="notification_done" msgid="5279426047273930175">"Klar"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Färg och utseende"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Visa procent under laddning (standard)"</item> <item msgid="3327323682209964956">"Visa inte den här ikonen"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Annat"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Avdelare för delad skärm"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Flytta nedåt"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Flytta uppåt"</string> diff --git a/packages/SystemUI/res/values-ta-rIN/strings.xml b/packages/SystemUI/res/values-ta-rIN/strings.xml index 02a193a92e7a..66a14963a823 100644 --- a/packages/SystemUI/res/values-ta-rIN/strings.xml +++ b/packages/SystemUI/res/values-ta-rIN/strings.xml @@ -73,8 +73,8 @@ <string name="screenshot_saved_title" msgid="6461865960961414961">"ஸ்கிரீன் ஷாட் எடுக்கப்பட்டது."</string> <string name="screenshot_saved_text" msgid="1152839647677558815">"உங்கள் ஸ்க்ரீன் ஷாட்டைப் பார்க்க தொடவும்."</string> <string name="screenshot_failed_title" msgid="705781116746922771">"ஸ்க்ரீன் ஷாட்டை எடுக்க முடியவில்லை."</string> - <string name="screenshot_failed_to_save_text" msgid="2592658083866306296">"போதுமான சேமிப்பிடம் இல்லாததால் ஸ்கிரீன் ஷாட்டைச் சேமிக்க முடியவில்லை."</string> - <string name="screenshot_failed_to_capture_text" msgid="7602391003979898374">"பயன்பாடு அல்லது உங்கள் நிறுவனம் ஸ்கிரீன் ஷாட்டுகளை எடுக்க அனுமதிக்கவில்லை."</string> + <string name="screenshot_failed_to_save_text" msgid="2592658083866306296">"போதுமான சேமிப்பிடம் இல்லாததால் ஸ்கிரீன்ஷாட்டைச் சேமிக்க முடியவில்லை."</string> + <string name="screenshot_failed_to_capture_text" msgid="7602391003979898374">"பயன்பாடு அல்லது உங்கள் நிறுவனம் ஸ்கிரீன்ஷாட்டுகளை எடுக்க அனுமதிக்கவில்லை."</string> <string name="usb_preference_title" msgid="6551050377388882787">"USB கோப்பு இடமாற்ற விருப்பங்கள்"</string> <string name="use_mtp_button_title" msgid="4333504413563023626">"(MTP) மீடியா பிளேயராக ஏற்று"</string> <string name="use_ptp_button_title" msgid="7517127540301625751">"(PTP) கேமராவாக ஏற்று"</string> @@ -306,7 +306,7 @@ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"பாதுகாப்புப் பயன்முறையில் <xliff:g id="APP">%s</xliff:g> முடக்கப்பட்டது."</string> <string name="recents_history_button_label" msgid="5153358867807604821">"வரலாறு"</string> <string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"அழி"</string> - <string name="recents_drag_non_dockable_task_message" msgid="2935843902795166158">"பயன்பாடு பல சாளர அம்சத்தை ஆதரிக்காது"</string> + <string name="recents_drag_non_dockable_task_message" msgid="2935843902795166158">"இந்தப் பயன்பாடு பல சாளர அம்சத்தை ஆதரிக்கவில்லை"</string> <string name="recents_launch_non_dockable_task_label" msgid="7862379814938391888">"பயன்பாடு பல சாளர அம்சத்தை ஆதரிக்காது"</string> <string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"கிடைமட்டமாகப் பிரி"</string> <string name="recents_multistack_add_stack_dialog_split_vertical" msgid="9075292233696180813">"செங்குத்தாகப் பிரி"</string> diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml index 33a07ec86716..9b1ea748fca4 100644 --- a/packages/SystemUI/res/values-th/strings.xml +++ b/packages/SystemUI/res/values-th/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"เวลามากขึ้น"</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"เวลาน้อยลง"</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"ไฟฉายปิดอยู่"</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"ไฟฉายไม่พร้อมใช้งาน"</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"ไฟฉายเปิดอยู่"</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"ปิดไฟฉายแล้ว"</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"เปิดไฟฉายแล้ว"</string> @@ -456,34 +455,23 @@ <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 show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"แสดงการแจ้งเตือนโดยไม่ส่งเสียง"</string> + <string name="block" msgid="2734508760962682611">"บล็อกการแจ้งเตือนทั้งหมด"</string> + <string name="do_not_silence" msgid="6878060322594892441">"ไม่ปิดเสียง"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"ไม่ปิดเสียงหรือบล็อก"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"แสดงการตั้งค่าความสำคัญแบบเต็ม"</string> <string name="blocked_importance" msgid="5198578988978234161">"บล็อกแล้ว"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"ความสำคัญน้อย"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"แสดงที่ด้านล่างของรายการแจ้งเตือนโดยไม่ส่งเสียง"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"แสดงการแจ้งเตือนเหล่านี้โดยไม่ส่งเสียง"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"ให้การแจ้งเตือนเหล่านี้ส่งเสียงได้"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"แสดงบนหน้าจอและให้ส่งเสียงได้"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"แสดงที่ด้านบนของรายการการแจ้งเตือน แสดงบนหน้าจอและให้ส่งเสียงได้"</string> <string name="notification_more_settings" msgid="816306283396553571">"การตั้งค่าเพิ่มเติม"</string> <string name="notification_done" msgid="5279426047273930175">"เสร็จสิ้น"</string> <string name="color_and_appearance" msgid="1254323855964993144">"สีและลักษณะที่ปรากฏ"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"แสดงเปอร์เซ็นต์เมื่อชาร์จ (ค่าเริ่มต้น)"</item> <item msgid="3327323682209964956">"อย่าแสดงไอคอนนี้"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"อื่นๆ"</string> <string name="accessibility_divider" msgid="5903423481953635044">"เส้นแบ่งหน้าจอ"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"เลื่อนลง"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"เลื่อนขึ้น"</string> diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml index 99fa7a2a9b5f..d131c84a8e61 100644 --- a/packages/SystemUI/res/values-tl/strings.xml +++ b/packages/SystemUI/res/values-tl/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Higit pang oras."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Mas kaunting oras."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Naka-off ang flashlight."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Hindi available ang flashlight."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Naka-on ang flashlight."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Na-off ang flashlight."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Na-on ang flashlight."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"I-on ang Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Upang ikonekta ang iyong keyboard sa iyong tablet, kailangan mo munang i-on ang Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"I-on"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Tahimik na ipakita ang mga notification"</string> + <string name="block" msgid="2734508760962682611">"I-block ang lahat ng notification"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Huwag i-silent"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Huwag i-silent o i-block"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Ipakita ang kumpletong mga setting ng kahalagahan"</string> <string name="blocked_importance" msgid="5198578988978234161">"Na-block"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Hindi masyadong mahalaga"</string> <string name="low_importance" msgid="4109929986107147930">"Hindi masyadong mahalaga"</string> <string name="default_importance" msgid="8192107689995742653">"Mahalaga"</string> <string name="high_importance" msgid="1527066195614050263">"Napakahalaga"</string> <string name="max_importance" msgid="5089005872719563894">"Mahalagang-mahalaga"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Huwag kailanman ipakita ang mga notification na ito"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Tahimik na ipakita sa ibaba ng listahan ng notification"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Tahimik na ipakita ang mga notification na ito"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Payagan ang mga notification na ito na tumunog"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Palitawin sa screen at payagang tumunog"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Ipakita sa itaas ng listahan ng mga notification, palitawin sa screen at payagang tumunog"</string> <string name="notification_more_settings" msgid="816306283396553571">"Higit pang mga setting"</string> <string name="notification_done" msgid="5279426047273930175">"Tapos Na"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Kulay at hitsura"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Ipakita ang porsyento kapag nagcha-charge (default)"</item> <item msgid="3327323682209964956">"Huwag ipakita ang icon na ito"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Iba pa"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Divider ng split-screen"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Ilipat pababa"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Ilipat pataas"</string> diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml index 050f1f7bfa2a..fd9e14ce2fcb 100644 --- a/packages/SystemUI/res/values-tr/strings.xml +++ b/packages/SystemUI/res/values-tr/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Daha uzun süre."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Daha kısa süre."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"El feneri kapalı."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"El feneri kullanılamıyor."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"El feneri açık."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"El feneri kapatıldı."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"El feneri açıldı."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth açılsın mı?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Klavyenizi tabletinize bağlamak için önce Bluetooth\'u açmanız gerekir."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Aç"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Bildirimleri sessizce göster"</string> + <string name="block" msgid="2734508760962682611">"Tüm bildirimleri engelle"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Sessiz moda alma"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Sessiz moda alma veya engelleme"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Tüm önem ayarlarını göster"</string> <string name="blocked_importance" msgid="5198578988978234161">"Engellendi"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Önemi en düşük"</string> <string name="low_importance" msgid="4109929986107147930">"Önem düzeyi düşük"</string> <string name="default_importance" msgid="8192107689995742653">"Önem düzeyi normal"</string> <string name="high_importance" msgid="1527066195614050263">"Önem düzeyi yüksek"</string> <string name="max_importance" msgid="5089005872719563894">"Önem düzeyi acil"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Bu bildirimleri hiçbir zaman gösterme"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Bildirim listesinin en altında sessizce göster"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Bu bildirimleri sessizce göster"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Bu bildirimlerin ses çıkarmasına izin ver"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Ekrana getir ve sesli bildirime izin ver"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Bildirim listesinin üstünde göster, ekrana getir ve sesli bildirime izin ver"</string> <string name="notification_more_settings" msgid="816306283396553571">"Diğer ayarlar"</string> <string name="notification_done" msgid="5279426047273930175">"Bitti"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Renk ve görünüm"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Şarj olurken yüzdeyi göster (varsayılan)"</item> <item msgid="3327323682209964956">"Bu simgeyi gösterme"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Diğer"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Bölünmüş ekran ayırıcı"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Aşağı taşı"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Yukarı taşı"</string> diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml index 485e2b201ebc..e5bf06dd880e 100644 --- a/packages/SystemUI/res/values-uk/strings.xml +++ b/packages/SystemUI/res/values-uk/strings.xml @@ -209,8 +209,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Більше часу."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Менше часу."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Ліхтарик вимк."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Ліхтарик недоступний."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Ліхтарик увімк."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Ліхтарик вимкнено."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Ліхтарик увімкнено."</string> @@ -458,34 +457,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Увімкнути Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Щоб під’єднати клавіатуру до планшета, спершу потрібно ввімкнути Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Увімкнути"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Показувати сповіщення без звукового сигналу"</string> + <string name="block" msgid="2734508760962682611">"Блокувати всі сповіщення"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Не вимикати звуковий сигнал"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Не вимикати звуковий сигнал і не блокувати"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Показати налаштування пріоритетності"</string> <string name="blocked_importance" msgid="5198578988978234161">"Заблоковано"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Низький пріоритет"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Показувати сповіщення внизу списку без звукового сигналу"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Показувати ці сповіщення без звукового сигналу"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Увімкнути звуковий сигнал для цих сповіщень"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Показувати сповіщення на екрані зі звуковим сигналом"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Показувати сповіщення вгорі списку, на екрані та зі звуковим сигналом"</string> <string name="notification_more_settings" msgid="816306283396553571">"Більше налаштувань"</string> <string name="notification_done" msgid="5279426047273930175">"Готово"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Колір і вигляд"</string> @@ -558,8 +546,7 @@ <item msgid="2139628951880142927">"Показувати відсотки під час заряджання (за умовчанням)"</item> <item msgid="3327323682209964956">"Не показувати цей значок"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Інше"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Розділювач екрана"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Перемістити вниз"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Перемістити вгору"</string> diff --git a/packages/SystemUI/res/values-ur-rPK/strings.xml b/packages/SystemUI/res/values-ur-rPK/strings.xml index 20a2a6f5750b..7a10732d832d 100644 --- a/packages/SystemUI/res/values-ur-rPK/strings.xml +++ b/packages/SystemUI/res/values-ur-rPK/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"مزید وقت۔"</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"کم وقت۔"</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"فلیش لائٹ آف ہے۔"</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"فلیش لائٹ دستیاب نہیں ہے"</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"فلیش لائٹ آن ہے۔"</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"فلیش لائٹ کو آف کر دیا گیا۔"</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"فلیش لائٹ کو آن کر دیا گیا۔"</string> @@ -456,34 +455,23 @@ <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 show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"اطلاعات خاموشی سے دکھائیں"</string> + <string name="block" msgid="2734508760962682611">"تمام اطلاعات کو مسدود کریں"</string> + <string name="do_not_silence" msgid="6878060322594892441">"خاموش نہ کریں"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"خاموش یا مسدود نہ کریں"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"اہمیت کی پوری ترتیبات دکھائیں"</string> <string name="blocked_importance" msgid="5198578988978234161">"مسدود کردہ"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"کم سے کم اہمیت"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"اطلاعات کی فہرست کے سب سے نیچے خاموشی سے دکھائیں"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"خاموشی سے یہ اطلاعات دکھائیں"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"ان اطلاعات کو آواز نکالنے کی اجازت دیں"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"اسکرین پر دکھائیں اور آواز کی اجازت دیں"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"اطلاعات کی فہرست پر سب سے اوپر دکھائیں، اسکرین پر دکھائیں اور آواز کی اجازت دیں"</string> <string name="notification_more_settings" msgid="816306283396553571">"مزید ترتیبات"</string> <string name="notification_done" msgid="5279426047273930175">"ہوگیا"</string> <string name="color_and_appearance" msgid="1254323855964993144">"رنگ اور ظہور"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"چارج ہوتے وقت فیصد دکھائیں (ڈیفالٹ)"</item> <item msgid="3327323682209964956">"یہ آئیکن نہ دکھائیں"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"دیگر"</string> <string name="accessibility_divider" msgid="5903423481953635044">"سپلٹ اسکرین تقسیم کار"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"نیچے منتقل کریں"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"اوپر منتقل کریں"</string> diff --git a/packages/SystemUI/res/values-uz-rUZ/strings.xml b/packages/SystemUI/res/values-uz-rUZ/strings.xml index 3fc7aad034f9..79729dcf107e 100644 --- a/packages/SystemUI/res/values-uz-rUZ/strings.xml +++ b/packages/SystemUI/res/values-uz-rUZ/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Ko‘proq vaqt."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Kamroq vaqt."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Fonar o‘chirilgan."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"Bu yerda fonar yo‘q."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Fonar yoqilgan."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Fonar o‘chirildi."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Fonar yoqildi."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth yoqilsinmi?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Klaviaturani planshetingizga ulash uchun Bluetooth xizmatini yoqishingiz kerak."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Yoqish"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Bildirishnomalar ovozsiz ko‘rsatilsin"</string> + <string name="block" msgid="2734508760962682611">"Barcha bildirishnomalar bloklansin"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Ovozi o‘chirilmasin"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Ovozi o‘chirilmasin yoki bloklanmasin"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Barcha muhimlik sozlamalarini ko‘rsatish"</string> <string name="blocked_importance" msgid="5198578988978234161">"Bloklangan"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Kamroq muhim"</string> <string name="low_importance" msgid="4109929986107147930">"Kamroq muhim"</string> <string name="default_importance" msgid="8192107689995742653">"O‘rtacha muhim"</string> <string name="high_importance" msgid="1527066195614050263">"Juda muhim"</string> <string name="max_importance" msgid="5089005872719563894">"Favqulodda muhim"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Bu bildirishnomalar boshqa ko‘rsatilmasin"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Bildirishnomalar ro‘yxatining oxirida ovozsiz ko‘rsatilsin"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Bu bildirishnomalar ovozsiz ko‘rsatilsin"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Bu bildirishnomalar ovoz bilan ko‘rsatilsin"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Barcha oynalar ustida ovoz bilan ko‘rsatilsin"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Bildirishnomalar ro‘yxatining boshida va barcha oynalar ustida ovoz bilan ko‘rsatilsin"</string> <string name="notification_more_settings" msgid="816306283396553571">"Boshqa sozlamalar"</string> <string name="notification_done" msgid="5279426047273930175">"Tayyor"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Rang va ko‘rinishi"</string> @@ -497,7 +485,7 @@ <string name="use_dark_theme" msgid="2900938704964299312">"Android uchun to‘q rangli mavzudan foydalanish"</string> <string name="adjust_tint" msgid="3398569573231409878">"Rang tusini o‘zgartirish"</string> <string name="adjust_brightness" msgid="980039329808178246">"Yorqinlikni o‘zgartirish"</string> - <string name="night_mode_disclaimer" msgid="598914896926759578">"To‘q rangli mavzu Android OS’ning o‘zak sahifalariga ham qo‘llaniladi va bu Sozlamalar kabi och rangli mavzularda odatdagiday ko‘rsatiladi."</string> + <string name="night_mode_disclaimer" msgid="598914896926759578">"To‘q rangli mavzu Android tizimining odatda och rangda ko‘rsatiladigan o‘zak sahifalariga (masalan, Sozlamalar) nisbatan qo‘llaniladi."</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> @@ -556,9 +544,8 @@ <item msgid="2139628951880142927">"Quvvat olayotganda foizda ko‘rsatilsin (birlamchi)"</item> <item msgid="3327323682209964956">"Bu belgi boshqa ko‘rsatilmasin"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> - <string name="accessibility_divider" msgid="5903423481953635044">"Ekranni ikkiga bo‘lgich"</string> + <string name="other" msgid="4060683095962566764">"Boshqa"</string> + <string name="accessibility_divider" msgid="5903423481953635044">"Ekranni ikkiga bo‘lish chizig‘i"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Pastga siljitish"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Tepaga siljitish"</string> <string name="accessibility_action_divider_move_left" msgid="9218189832115847253">"Chapga siljitish"</string> diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml index d48a9e6e056d..f82830626740 100644 --- a/packages/SystemUI/res/values-zh-rCN/strings.xml +++ b/packages/SystemUI/res/values-zh-rCN/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"延长时间。"</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"缩短时间。"</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"手电筒关闭。"</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"无法使用手电筒。"</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"手电筒打开。"</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"手电筒已关闭。"</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"手电筒已打开。"</string> @@ -456,34 +455,23 @@ <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 show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"显示通知,但不发出提示音"</string> + <string name="block" msgid="2734508760962682611">"屏蔽所有通知"</string> + <string name="do_not_silence" msgid="6878060322594892441">"不静音"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"不静音或不屏蔽"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"显示完整的重要性设置"</string> <string name="blocked_importance" msgid="5198578988978234161">"屏蔽"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"最低重要性"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"在通知列表底部显示,但不发出提示音"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"显示这些通知,但不发出提示音"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"允许这些通知发出提示音"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"在屏幕上短暂显示,并发出提示音"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"在通知列表顶部显示,同时在屏幕上短暂显示,并发出提示音"</string> <string name="notification_more_settings" msgid="816306283396553571">"更多设置"</string> <string name="notification_done" msgid="5279426047273930175">"完成"</string> <string name="color_and_appearance" msgid="1254323855964993144">"颜色和外观"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"充电时显示百分比(默认)"</item> <item msgid="3327323682209964956">"不显示此图标"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"其他"</string> <string name="accessibility_divider" msgid="5903423481953635044">"分屏分隔线"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"下移"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"上移"</string> diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml index 609f94d2b7be..bd379b716a74 100644 --- a/packages/SystemUI/res/values-zh-rHK/strings.xml +++ b/packages/SystemUI/res/values-zh-rHK/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"增加時間。"</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"減少時間。"</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"閃光燈已關閉。"</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"無法使用手電筒。"</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"閃光燈已開啟。"</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"閃光燈已關閉。"</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"閃光燈已開啟。"</string> @@ -456,34 +455,23 @@ <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 show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"顯示通知,但不發出音效"</string> + <string name="block" msgid="2734508760962682611">"封鎖所有通知"</string> + <string name="do_not_silence" msgid="6878060322594892441">"不設為靜音"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"不設為靜音或封鎖"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"顯示所有重要性設定"</string> <string name="blocked_importance" msgid="5198578988978234161">"已封鎖"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"最低重要性"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"在通知清單底部顯示但不發出音效"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"顯示這些通知但不發出音效"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"允許這些通知發出音效"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"不時於螢幕出現並發出音效"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"在通知清單頂部顯示,並不時於螢幕出現及發出音效"</string> <string name="notification_more_settings" msgid="816306283396553571">"更多設定"</string> <string name="notification_done" msgid="5279426047273930175">"完成"</string> <string name="color_and_appearance" msgid="1254323855964993144">"顏色和外觀"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"充電時顯示百分比 (預設)"</item> <item msgid="3327323682209964956">"不顯示這個圖示"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"其他"</string> <string name="accessibility_divider" msgid="5903423481953635044">"分割畫面分隔線"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"向下移"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"向上移"</string> diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml index 2188c3c2b920..d580b28d63f5 100644 --- a/packages/SystemUI/res/values-zh-rTW/strings.xml +++ b/packages/SystemUI/res/values-zh-rTW/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"增加時間。"</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"減少時間。"</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"閃光燈已關閉。"</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"無法使用手電筒。"</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"閃光燈已開啟。"</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"閃光燈已關閉。"</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"閃光燈已開啟。"</string> @@ -456,34 +455,23 @@ <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 show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"顯示通知,但不發出任何音效"</string> + <string name="block" msgid="2734508760962682611">"封鎖所有通知"</string> + <string name="do_not_silence" msgid="6878060322594892441">"不設定靜音"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"不設定靜音或封鎖"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"顯示完整的重要性設定"</string> <string name="blocked_importance" msgid="5198578988978234161">"封鎖"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"最低重要性"</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> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"顯示在通知清單底端,但不發出任何音效"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"顯示這些通知,但不發出任何音效"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"允許這些通知發出音效"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"短暫顯示在畫面上並發出音效"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"顯示在通知清單頂端,同時短暫顯示在畫面上並發出音效"</string> <string name="notification_more_settings" msgid="816306283396553571">"更多設定"</string> <string name="notification_done" msgid="5279426047273930175">"完成"</string> <string name="color_and_appearance" msgid="1254323855964993144">"顏色和外觀"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"充電時顯示百分比 (預設)"</item> <item msgid="3327323682209964956">"不顯示這個圖示"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"其他"</string> <string name="accessibility_divider" msgid="5903423481953635044">"分割畫面分隔線"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"向下移"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"向上移"</string> diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml index 69c85ab94e6c..9382b260f1df 100644 --- a/packages/SystemUI/res/values-zu/strings.xml +++ b/packages/SystemUI/res/values-zu/strings.xml @@ -207,8 +207,7 @@ <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Isikhathi esiningi."</string> <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Isikhathi esincane."</string> <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"I-Flashlight ivaliwe."</string> - <!-- no translation found for accessibility_quick_settings_flashlight_unavailable (8012811023312280810) --> - <skip /> + <string name="accessibility_quick_settings_flashlight_unavailable" msgid="8012811023312280810">"I-Flashlight ayitholakali."</string> <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"I-Flashlight ivuliwe."</string> <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"I-Flashlight ivaliwe."</string> <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"I-Flashlight ivuliwe."</string> @@ -456,34 +455,23 @@ <string name="enable_bluetooth_title" msgid="5027037706500635269">"Vula i-Bluetooth?"</string> <string name="enable_bluetooth_message" msgid="9106595990708985385">"Ukuze uxhume ikhibhodi yakho nethebhulethi yakho, kufanele uqale ngokuvula i-Bluetooth."</string> <string name="enable_bluetooth_confirmation_ok" msgid="6258074250948309715">"Vula"</string> - <!-- no translation found for show_silently (6841966539811264192) --> - <skip /> - <!-- no translation found for block (2734508760962682611) --> - <skip /> - <!-- no translation found for do_not_silence (6878060322594892441) --> - <skip /> - <!-- no translation found for do_not_silence_block (4070647971382232311) --> - <skip /> - <!-- no translation found for tuner_full_importance_settings (8103289238676424226) --> - <skip /> + <string name="show_silently" msgid="6841966539811264192">"Bonisa izaziso ngokuthulile"</string> + <string name="block" msgid="2734508760962682611">"Vimbela zonke izaziso"</string> + <string name="do_not_silence" msgid="6878060322594892441">"Ungathulisi"</string> + <string name="do_not_silence_block" msgid="4070647971382232311">"Ungathulisi noma uvimbele"</string> + <string name="tuner_full_importance_settings" msgid="8103289238676424226">"Bonisa izilungiselelo ezibalulekile ezigcwele"</string> <string name="blocked_importance" msgid="5198578988978234161">"Kuvinjelwe"</string> - <!-- no translation found for min_importance (1901894910809414782) --> - <skip /> + <string name="min_importance" msgid="1901894910809414782">"Okubaluleke kancane"</string> <string name="low_importance" msgid="4109929986107147930">"Ukubaluleka okuphansi"</string> <string name="default_importance" msgid="8192107689995742653">"Ukubaluleka okujwayelekile"</string> <string name="high_importance" msgid="1527066195614050263">"Ukubaluleka okuphezulu"</string> <string name="max_importance" msgid="5089005872719563894">"Ukubaluleka okusheshayo"</string> <string name="notification_importance_blocked" msgid="2397192642657872872">"Ungalokothi ubonise lezi zaziso"</string> - <!-- no translation found for notification_importance_min (1938190340516905748) --> - <skip /> - <!-- no translation found for notification_importance_low (3657252049508213048) --> - <skip /> - <!-- no translation found for notification_importance_default (4466466472622442175) --> - <skip /> - <!-- no translation found for notification_importance_high (2135428926525093825) --> - <skip /> - <!-- no translation found for notification_importance_max (5806278962376556491) --> - <skip /> + <string name="notification_importance_min" msgid="1938190340516905748">"Bonisa ngokuthulile ngaphansi kohlu lwesaziso"</string> + <string name="notification_importance_low" msgid="3657252049508213048">"Bonisa ngokuthulile lezi zaziso"</string> + <string name="notification_importance_default" msgid="4466466472622442175">"Vumela lezi zaziso ukwenza umsindo"</string> + <string name="notification_importance_high" msgid="2135428926525093825">"Beka kusikrini futhi uvumele umsindo"</string> + <string name="notification_importance_max" msgid="5806278962376556491">"Bonisa phezulu kohlu lwezaziso, beka phezu kwesikrini futhi uvumele umsindo"</string> <string name="notification_more_settings" msgid="816306283396553571">"Izilungiselelo eziningi"</string> <string name="notification_done" msgid="5279426047273930175">"Kwenziwe"</string> <string name="color_and_appearance" msgid="1254323855964993144">"Umbala nokubonakala"</string> @@ -556,8 +544,7 @@ <item msgid="2139628951880142927">"Bonisa iphesentheji uma ishaja (okuzenzakalelayo)"</item> <item msgid="3327323682209964956">"Ungabonisi lesi sithonjana"</item> </string-array> - <!-- no translation found for other (4060683095962566764) --> - <skip /> + <string name="other" msgid="4060683095962566764">"Okunye"</string> <string name="accessibility_divider" msgid="5903423481953635044">"Isihlukanisi sokuhlukanisa isikrini"</string> <string name="accessibility_action_divider_move_down" msgid="704893304141890042">"Iya phansi"</string> <string name="accessibility_action_divider_move_up" msgid="4580103171609248006">"Iya phezulu"</string> diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml index a51b9317db6a..11df6817d7af 100644 --- a/packages/SystemUI/res/values/styles.xml +++ b/packages/SystemUI/res/values/styles.xml @@ -214,7 +214,7 @@ <style name="QSBorderlessButton"> <item name="android:padding">12dp</item> - <item name="android:background">@drawable/btn_borderless_rect</item> + <item name="android:background">@drawable/qs_btn_borderless_rect</item> <item name="android:gravity">center</item> </style> diff --git a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java index 2c5cb89b3531..8ccf60d38650 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java +++ b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java @@ -77,7 +77,9 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { @Override public int getOffsetTop(TileRecord tile) { - return ((ViewGroup) tile.tileView.getParent()).getTop() + getTop(); + final ViewGroup parent = (ViewGroup) tile.tileView.getParent(); + if (parent == null) return 0; + return parent.getTop() + getTop(); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java b/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java index 225c10fc49e4..5e02428a3dc2 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java +++ b/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java @@ -87,6 +87,7 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene mToolbar.setOnMenuItemClickListener(this); mToolbar.getMenu().add(Menu.NONE, MENU_RESET, 0, mContext.getString(com.android.internal.R.string.reset)); + mToolbar.setTitle(R.string.qs_edit); mRecyclerView = (RecyclerView) findViewById(android.R.id.list); mTileAdapter = new TileAdapter(getContext()); diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/BatteryTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/BatteryTile.java index 39d14473b271..548bffd7af16 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/BatteryTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/BatteryTile.java @@ -172,6 +172,7 @@ public class BatteryTile extends QSTile<QSTile.State> implements BatteryControll } private void postBindView() { + if (mCurrentView == null) return; mCurrentView.post(new Runnable() { @Override public void run() { diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java index c41098f3c0ee..d7c12ba329f3 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java +++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java @@ -636,7 +636,7 @@ public class RecentsActivity extends Activity implements ViewTreeObserver.OnPreD // Focus the next task EventBus.getDefault().send(new FocusNextTaskViewEvent(timerIndicatorDuration)); - MetricsLogger.action(this, MetricsEvent.OVERVIEW_PAGE); + MetricsLogger.action(this, MetricsEvent.ACTION_OVERVIEW_PAGE); } } diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java index 28b2faed58fb..86b03c850da4 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java +++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java @@ -568,11 +568,14 @@ public class RecentsImpl implements ActivityOptions.OnAnimationFinishedListener // Make sure we inform DividerView before we actually start the activity so we can change // the resize mode already. - EventBus.getDefault().send(new DockingTopTaskEvent(dragMode)); - ssp.moveTaskToDockedStack(topTaskId, stackCreateMode, initialBounds); - showRecents(false /* triggeredFromAltTab */, - dragMode == NavigationBarGestureHelper.DRAG_MODE_RECENTS, false /* animate */, - true /* reloadTasks*/); + if (ssp.moveTaskToDockedStack(topTaskId, stackCreateMode, initialBounds)) { + EventBus.getDefault().send(new DockingTopTaskEvent(dragMode)); + showRecents( + false /* triggeredFromAltTab */, + dragMode == NavigationBarGestureHelper.DRAG_MODE_RECENTS, + false /* animate */, + true /* reloadTasks*/); + } } /** diff --git a/packages/SystemUI/src/com/android/systemui/recents/history/RecentsHistoryAdapter.java b/packages/SystemUI/src/com/android/systemui/recents/history/RecentsHistoryAdapter.java index d7b9b9e71d69..5eeda72637ea 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/history/RecentsHistoryAdapter.java +++ b/packages/SystemUI/src/com/android/systemui/recents/history/RecentsHistoryAdapter.java @@ -161,7 +161,7 @@ public class RecentsHistoryAdapter extends RecyclerView.Adapter<RecentsHistoryAd ssp.startActivityFromRecents(v.getContext(), task.key.id, task.title, ActivityOptions.makeBasic()); - MetricsLogger.action(v.getContext(), MetricsEvent.OVERVIEW_SELECT, + MetricsLogger.action(v.getContext(), MetricsEvent.ACTION_OVERVIEW_SELECT, task.key.getComponent().toString()); } diff --git a/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java b/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java index 4b29c2986e4d..7c5a931eee09 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java +++ b/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java @@ -338,15 +338,18 @@ public class SystemServicesProxy { } /** Docks an already resumed task to the side of the screen. */ - public void moveTaskToDockedStack(int taskId, int createMode, Rect initialBounds) { - if (mIam == null) return; + public boolean moveTaskToDockedStack(int taskId, int createMode, Rect initialBounds) { + if (mIam == null) { + return false; + } try { - mIam.moveTaskToDockedStack(taskId, createMode, true /* onTop */, false /* animate */, - initialBounds); + return mIam.moveTaskToDockedStack( + taskId, createMode, true /* onTop */, false /* animate */, initialBounds); } catch (RemoteException e) { e.printStackTrace(); } + return false; } /** Returns the focused stack id. */ diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java index 0c78e6aa0063..2e7c7f2e640c 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java @@ -603,7 +603,7 @@ public class TaskView extends FixedSizeFrameLayout implements Task.TaskCallbacks EventBus.getDefault().send(new LaunchTaskEvent(this, mTask, null, INVALID_STACK_ID, screenPinningRequested)); - MetricsLogger.action(v.getContext(), MetricsEvent.OVERVIEW_SELECT, + MetricsLogger.action(v.getContext(), MetricsEvent.ACTION_OVERVIEW_SELECT, mTask.key.getComponent().toString()); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/TextViewTransformState.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/TextViewTransformState.java index 5ab441dca6e8..d3393b330355 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/TextViewTransformState.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/TextViewTransformState.java @@ -16,6 +16,7 @@ package com.android.systemui.statusbar.notification; +import android.text.Layout; import android.text.TextUtils; import android.util.Pools; import android.view.View; @@ -28,14 +29,13 @@ public class TextViewTransformState extends TransformState { private static Pools.SimplePool<TextViewTransformState> sInstancePool = new Pools.SimplePool<>(40); - private CharSequence mText; + private TextView mText; @Override public void initFrom(View view) { super.initFrom(view); if (view instanceof TextView) { - TextView txt = (TextView) view; - mText = txt.getText(); + mText = (TextView) view; } } @@ -43,11 +43,27 @@ public class TextViewTransformState extends TransformState { protected boolean sameAs(TransformState otherState) { if (otherState instanceof TextViewTransformState) { TextViewTransformState otherTvs = (TextViewTransformState) otherState; - return TextUtils.equals(otherTvs.mText, mText); + if(TextUtils.equals(otherTvs.mText.getText(), mText.getText())) { + int ownEllipsized = getEllipsisCount(); + int otherEllipsized = otherTvs.getEllipsisCount(); + return ownEllipsized == otherEllipsized; + } } return super.sameAs(otherState); } + private int getEllipsisCount() { + Layout l = mText.getLayout(); + if (l != null) { + int lines = l.getLineCount(); + if (lines > 0) { + // we only care about the first line + return l.getEllipsisCount(0); + } + } + return 0; + } + public static TextViewTransformState obtain() { TextViewTransformState instance = sInstancePool.acquire(); if (instance != null) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java index b6a32343448e..cedc3c7eef2f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java @@ -362,6 +362,19 @@ public class UserSwitcherController { switchToUserId(id); } + public void switchTo(int userId) { + final int count = mUsers.size(); + for (int i = 0; i < count; ++i) { + UserRecord record = mUsers.get(i); + if (record.info != null && record.info.id == userId) { + switchTo(record); + return; + } + } + + Log.e(TAG, "Couldn't switch to user, id=" + userId); + } + private void switchToUserId(int id) { try { pauseRefreshUsers(); diff --git a/packages/SystemUI/src/com/android/systemui/tv/pip/PipMenuActivity.java b/packages/SystemUI/src/com/android/systemui/tv/pip/PipMenuActivity.java index fb7fa4de088f..fd753e9a7044 100644 --- a/packages/SystemUI/src/com/android/systemui/tv/pip/PipMenuActivity.java +++ b/packages/SystemUI/src/com/android/systemui/tv/pip/PipMenuActivity.java @@ -25,6 +25,9 @@ import android.widget.ImageView; import android.widget.TextView; import com.android.systemui.R; +import com.android.systemui.SystemUI; +import com.android.systemui.SystemUIApplication; +import com.android.systemui.recents.Recents; import static android.content.pm.PackageManager.FEATURE_LEANBACK; import static android.content.pm.PackageManager.FEATURE_PICTURE_IN_PICTURE; @@ -214,4 +217,18 @@ public class PipMenuActivity extends Activity implements PipManager.Listener { mPipManager.suspendPipResizing( PipManager.SUSPEND_PIP_RESIZE_REASON_WAITING_FOR_MENU_ACTIVITY_FINISH); } + + @Override + public void finish() { + super.finish(); + if (mPipManager.isRecentsShown()) { + SystemUI[] services = ((SystemUIApplication) getApplication()).getServices(); + for (int i = services.length - 1; i >= 0; i--) { + if (services[i] instanceof Recents) { + ((Recents) services[i]).showRecents(false, null); + break; + } + } + } + } } diff --git a/proto/src/metrics_constants.proto b/proto/src/metrics_constants.proto index 077b121b9adf..5d693c988fd0 100644 --- a/proto/src/metrics_constants.proto +++ b/proto/src/metrics_constants.proto @@ -24,334 +24,1734 @@ message MetricsEvent { // Known visual elements: views or controls. enum View { + // Unknown view VIEW_UNKNOWN = 0; + + // OBSOLETE MAIN_SETTINGS = 1; + + // OPEN: Settings > Accessibility + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACCESSIBILITY = 2; + + // OPEN: Settings > Accessibility > Captions + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACCESSIBILITY_CAPTION_PROPERTIES = 3; + + // OPEN: Settings > Accessibility > [Service] + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACCESSIBILITY_SERVICE = 4; + + // OPEN: Settings > Accessibility > Color correction + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACCESSIBILITY_TOGGLE_DALTONIZER = 5; + + // OPEN: Settings > Accessibility > Accessibility shortcut + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACCESSIBILITY_TOGGLE_GLOBAL_GESTURE = 6; + + // OPEN: Settings > Accessibility > Magnification gestures + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFICATION = 7; + + // OPEN: Settings > Accounts + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACCOUNT = 8; + + // OPEN: Settings > Accounts > [Single Account Sync Settings] + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACCOUNTS_ACCOUNT_SYNC = 9; + + // OPEN: Settings > Accounts > Add an account + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACCOUNTS_CHOOSE_ACCOUNT_ACTIVITY = 10; + + // OPEN: Settings > Accounts > [List of accounts when more than one] + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACCOUNTS_MANAGE_ACCOUNTS = 11; + + // OPEN: Settings > Cellular network settings > APNs + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 APN = 12; + + // OPEN: Settings > More > Cellular network settings > APNs > [Edit APN] + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 APN_EDITOR = 13; + + // OBSOLETE APP_OPS_DETAILS = 14; + + // OBSOLETE APP_OPS_SUMMARY = 15; + + // OBSOLETE APPLICATION = 16; + + // OPEN: Settings > Apps > Configure apps > App links > [App] + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 APPLICATIONS_APP_LAUNCH = 17; + + // OBSOLETE APPLICATIONS_APP_PERMISSION = 18; + + // OPEN: Settings > Internal storage > Apps storage > [App] + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 APPLICATIONS_APP_STORAGE = 19; + + // OPEN: Settings > Apps > [App info] + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 APPLICATIONS_INSTALLED_APP_DETAILS = 20; + + // OPEN: Settings > Memory > App usage > [App Memory usage] + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 APPLICATIONS_PROCESS_STATS_DETAIL = 21; + + // OBSOLETE APPLICATIONS_PROCESS_STATS_MEM_DETAIL = 22; + + // OPEN: Settings > Memory > App usage + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 APPLICATIONS_PROCESS_STATS_UI = 23; + + // OPEN: Settings > Bluetooth + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 BLUETOOTH = 24; + + // OPEN: Choose Bluetooth device (ex: when sharing) + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 BLUETOOTH_DEVICE_PICKER = 25; + + // OBSOLETE BLUETOOTH_DEVICE_PROFILES = 26; + + // OPEN: Settings > Security > Choose screen lock + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 CHOOSE_LOCK_GENERIC = 27; + + // OPEN: Settings > Security > Choose screen lock > Choose your password + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 CHOOSE_LOCK_PASSWORD = 28; + + // OPEN: Settings > Security > Choose screen lock > Choose your pattern + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 CHOOSE_LOCK_PATTERN = 29; + + // OPEN: Settings > Security > Choose screen lock > Confirm your password + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 CONFIRM_LOCK_PASSWORD = 30; + + // OPEN: Settings > Security > Choose screen lock > Confirm your pattern + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 CONFIRM_LOCK_PATTERN = 31; + + // OPEN: Settings > Security > Encrypt phone + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 CRYPT_KEEPER = 32; + + // OPEN: Settings > Security > Encrypt phone > Confirm + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 CRYPT_KEEPER_CONFIRM = 33; + + // OPEN: Settings > Search results + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 DASHBOARD_SEARCH_RESULTS = 34; + + // OPEN: Settings (Root page) + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 DASHBOARD_SUMMARY = 35; + + // OBSOLETE DATA_USAGE = 36; + + // OPEN: Settings > Data usage + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 DATA_USAGE_SUMMARY = 37; + + // OPEN: Settings > Date & time + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 DATE_TIME = 38; + + // OPEN: Settings > Developer options + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 DEVELOPMENT = 39; + + // OPEN: Settings > About phone + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 DEVICEINFO = 40; + + // OPEN: Settings > About phone > Status > IMEI information + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 DEVICEINFO_IMEI_INFORMATION = 41; + + // OPEN: Settings > Internal storage + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 DEVICEINFO_STORAGE = 42; + + // OPEN: Settings > About phone > Status > SIM status + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 DEVICEINFO_SIM_STATUS = 43; + + // OPEN: Settings > About phone > Status + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 DEVICEINFO_STATUS = 44; + + // OBSOLETE DEVICEINFO_USB = 45; + + // OPEN: Settings > Display + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 DISPLAY = 46; + + // OPEN: Settings > Display > Daydream + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 DREAM = 47; + + // OPEN: Settings > Security > Screen lock > Secure start-up + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ENCRYPTION = 48; + + // OPEN: Settings > Security > Nexus Imprint + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 FINGERPRINT = 49; + + // OBSOLETE FINGERPRINT_ENROLL = 50; + + // OPEN: Settings > Battery > History details + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 FUELGAUGE_BATTERY_HISTORY_DETAIL = 51; + + // OPEN: Settings > Battery > Battery saver + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 FUELGAUGE_BATTERY_SAVER = 52; + + // OPEN: Settings > Battery > [App Use details] + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 FUELGAUGE_POWER_USAGE_DETAIL = 53; + + // OPEN: Settings > Battery + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 FUELGAUGE_POWER_USAGE_SUMMARY = 54; + + // OPEN: Settings > Home + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 HOME = 55; + + // OPEN: Settings > Security > SIM card lock settings + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ICC_LOCK = 56; + + // OPEN: Settings > Language & input + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 INPUTMETHOD_LANGUAGE = 57; + + // OPEN: Settings > Language & input > Physical keyboard + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 INPUTMETHOD_KEYBOARD = 58; + + // OPEN: Settings > Language & input > Spell checker + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 INPUTMETHOD_SPELL_CHECKERS = 59; + + // OBSOLETE INPUTMETHOD_SUBTYPE_ENABLER = 60; + + // OPEN: Settings > Language & input > Personal dictionary + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 INPUTMETHOD_USER_DICTIONARY = 61; + + // OPEN: Settings > Language & input > Add word + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 INPUTMETHOD_USER_DICTIONARY_ADD_WORD = 62; + + // OPEN: Settings > Location + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 LOCATION = 63; + + // OPEN: Settings > Location > Location mode + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 LOCATION_MODE = 64; + + // OPEN: Settings > Apps + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 MANAGE_APPLICATIONS = 65; + + // OPEN: Settings > Backup & reset > Factory data reset + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 MASTER_CLEAR = 66; + + // OPEN: Settings > Backup & reset > Factory data reset > Confirm + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 MASTER_CLEAR_CONFIRM = 67; + + // OPEN: Settings > Data usage > Network restrictions + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 NET_DATA_USAGE_METERED = 68; + + // OPEN: Settings > More > Android Beam + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 NFC_BEAM = 69; + + // OPEN: Settings > Tap & pay + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 NFC_PAYMENT = 70; + + // OPEN: Settings > Sound & notification + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 NOTIFICATION = 71; + + // OPEN: Settings > Sound & notification > App notifications > [App] + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 NOTIFICATION_APP_NOTIFICATION = 72; + + // OPEN: Settings > Sound & notification > Other sounds + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 NOTIFICATION_OTHER_SOUND = 73; + + // OBSOLETE NOTIFICATION_REDACTION = 74; + + // OPEN: Settings Widget > Notification log + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 NOTIFICATION_STATION = 75; + + // OPEN: Settings > Sound & notification > Do not disturb + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 NOTIFICATION_ZEN_MODE = 76; + + // OPEN: OBSOLETE OWNER_INFO = 77; + + // OPEN: Print job notification > Print job settings + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 PRINT_JOB_SETTINGS = 78; + + // OPEN: Settings > Printing > [Print Service] + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 PRINT_SERVICE_SETTINGS = 79; + + // OPEN: Settings > Printing + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 PRINT_SETTINGS = 80; + + // OPEN: Settings > Backup & reset + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 PRIVACY = 81; + + //OBSOLETE PROXY_SELECTOR = 82; + + // OPEN: Settings > Backup & reset > Network settings reset + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 RESET_NETWORK = 83; + + // OPEN: Settings > Backup & reset > Network settings reset > Confirm + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 RESET_NETWORK_CONFIRM = 84; + + // OPEN: Settings > Developer Options > Running Services + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 RUNNING_SERVICE_DETAILS = 85; + + // OPEN: Settings > Security > Screen pinning + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 SCREEN_PINNING = 86; + + // OPEN: Settings > Security + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 SECURITY = 87; + + // OPEN: Settings > SIM cards + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 SIM = 88; + + // OBSOLETE TESTING = 89; + + // OPEN: Settings > More > Tethering & portable hotspot + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 TETHER = 90; + + // OPEN: Settings > Security > Trust agents + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 TRUST_AGENT = 91; + + // OPEN: Settings > Security > Trusted credentials + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 TRUSTED_CREDENTIALS = 92; + + // OPEN: Settings > Language & input > TTS output > [Engine] > Settings + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 TTS_ENGINE_SETTINGS = 93; + + // OPEN: Settings > Language & input > Text-to-speech output + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 TTS_TEXT_TO_SPEECH = 94; + + // OPEN: Settings > Security > Apps with usage access + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 USAGE_ACCESS = 95; + + // OPEN: Settings > Users + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 USER = 96; + + // OPEN: Settings > Users > [Restricted profile app & content access] + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 USERS_APP_RESTRICTIONS = 97; + + // OPEN: Settings > Users > [User settings] + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 USER_DETAILS = 98; + + // OBSOLETE VOICE_INPUT = 99; + + // OPEN: Settings > More > VPN + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 VPN = 100; + + // OPEN: Settings > Display > Choose wallpaper from + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 WALLPAPER_TYPE = 101; + + // OPEN: Settings > Display > Cast + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 WFD_WIFI_DISPLAY = 102; + + // OPEN: Settings > Wi-Fi + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 WIFI = 103; + + // OPEN: Settings > Wi-Fi > Advanced Wi-Fi + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 WIFI_ADVANCED = 104; + + // OPEN: Settings > More > Wi-Fi Calling + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 WIFI_CALLING = 105; + + // OPEN: Settings > Wi-Fi > Saved networks + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 WIFI_SAVED_ACCESS_POINTS = 106; + + // OBSOLETE WIFI_APITEST = 107; + + // OBSOLETE WIFI_INFO = 108; + + // OPEN: Settings > Wi-Fi > Advanced Wi-Fi > Wi-Fi Direct + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 WIFI_P2P = 109; + + // OPEN: Settings > More + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 WIRELESS = 110; + + // OPEN: Quick Settings Panel + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.26 QS_PANEL = 111; + + // OPEN: QS Airplane mode tile shown + // ACTION: QS Airplane mode tile tapped + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.46 QS_AIRPLANEMODE = 112; + + // OPEN: QS Bluetooth tile shown + // ACTION: QS Bluetooth tile tapped + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.46 QS_BLUETOOTH = 113; + + // OPEN: QS Cast tile shown + // ACTION: QS Cast tile tapped + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.46 QS_CAST = 114; + + // OPEN: QS Cellular tile shown + // ACTION: QS Cellular tile tapped + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.46 QS_CELLULAR = 115; + + // OPEN: QS Color inversion tile shown + // ACTION: QS Color inversion tile tapped + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.46 QS_COLORINVERSION = 116; + + // OPEN: QS Cellular tile > Cellular detail panel + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.46 QS_DATAUSAGEDETAIL = 117; + + // OPEN: QS Do not disturb tile shown + // ACTION: QS Do not disturb tile tapped + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.46 QS_DND = 118; + + // OPEN: QS Flashlight tile shown + // ACTION: QS Flashlight tile tapped + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.46 QS_FLASHLIGHT = 119; + + // OPEN: QS Hotspot tile shown + // ACTION: QS Hotspot tile tapped + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.46 QS_HOTSPOT = 120; + + // OPEN: QS 3P tile shown + // ACTION: QS 3P tile tapped + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.46 QS_INTENT = 121; + + // OPEN: QS Location tile shown + // ACTION: QS Location tile tapped + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.46 QS_LOCATION = 122; + + // OPEN: QS Rotation tile shown + // ACTION: QS Rotation tile tapped + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.46 QS_ROTATIONLOCK = 123; + + // OBSOLETE QS_USERDETAILITE = 124; + + // OPEN: QS User list panel + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.46 QS_USERDETAIL = 125; + + // OPEN: QS WiFi tile shown + // ACTION: QS WiFi tile tapped + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.46 QS_WIFI = 126; + + // OPEN: Notification Panel (including lockscreen) + // CATEGORY: NOTIFICATION + // OS: 5.1.1 + // GMS: 7.5.26 NOTIFICATION_PANEL = 127; + + // OPEN: Notification in panel became visible. + // PACKAGE: App that posted the notification. + // ACTION: Notification is tapped. + // PACKAGE: App that posted the notification + // DETAIL: Notification is expanded by user. + // PACKAGE: App that posted the notification + // DISMISS: Notification is dismissed. + // PACKAGE: App that posted the notification + // SUBTYPE: Dismiss reason from NotificationManagerService.java + // CATEGORY: NOTIFICATION + // OS: 5.1.1 + // GMS: 7.5.26 NOTIFICATION_ITEM = 128; + + // ACTION: User tapped notification action + // PACKAGE: App that posted the notification + // SUBTYPE: Index of action on notification + // CATEGORY: NOTIFICATION + // OS: 5.0 + // GMS: 7.5.26 NOTIFICATION_ITEM_ACTION = 129; + + // OPEN: Settings > Apps > Configure apps > App permissions + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 APPLICATIONS_ADVANCED = 130; + + // OPEN: Settings > Location > Scanning + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 LOCATION_SCANNING = 131; + + // OBSOLETE MANAGE_APPLICATIONS_ALL = 132; + + // OPEN: Settings > Sound & notification > App notifications + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 MANAGE_APPLICATIONS_NOTIFICATIONS = 133; + + // ACTION: Settings > Wi-Fi > Overflow > Add Network + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_WIFI_ADD_NETWORK = 134; + + // ACTION: Settings > Wi-Fi > [Long press network] > Connect to network + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_WIFI_CONNECT = 135; + + // ACTION: Settings > Wi-Fi > Overflow > Refresh + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_WIFI_FORCE_SCAN = 136; + + // ACTION: Settings > Wi-Fi > [Long press network] > Forget network + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_WIFI_FORGET = 137; + + // ACTION: Settings > Wi-Fi > Toggle off + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_WIFI_OFF = 138; + + // ACTION: Settings > Wi-Fi > Toggle on + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_WIFI_ON = 139; + + // OBSOLETE MANAGE_PERMISSIONS = 140; + + // OPEN: Settings > Sound & notification > DND > Priority only allows + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 NOTIFICATION_ZEN_MODE_PRIORITY = 141; + + // OPEN: Settings > Sound & notification > DND > Automatic rules + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 NOTIFICATION_ZEN_MODE_AUTOMATION = 142; + + // OPEN: Settings > Apps > Configure apps > App links + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 MANAGE_DOMAIN_URLS = 143; + + // OPEN: Settings > Sound & notification > DND > [Time based rule] + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 NOTIFICATION_ZEN_MODE_SCHEDULE_RULE = 144; + + // OPEN: Settings > Sound & notification > DND > [External rule] + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 NOTIFICATION_ZEN_MODE_EXTERNAL_RULE = 145; + + // OPEN: Settings > Sound & notification > DND > [Event rule] + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 NOTIFICATION_ZEN_MODE_EVENT_RULE = 146; + + // ACTION: App notification settings > Block Notifications + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_BAN_APP_NOTES = 147; + + // ACTION: Notification shade > Dismiss all button + // CATEGORY: NOTIFICATION + // OS: 6.0 + // GMS: 7.5.26 ACTION_DISMISS_ALL_NOTES = 148; + + // OPEN: QS Do Not Disturb detail panel + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.26 QS_DND_DETAILS = 149; + + // OPEN: QS Bluetooth detail panel + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.26 QS_BLUETOOTH_DETAILS = 150; + + // OPEN: QS Cast detail panel + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.26 QS_CAST_DETAILS = 151; + + // OPEN: QS Wi-Fi detail panel + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.26 QS_WIFI_DETAILS = 152; + + // ACTION: QS Wi-Fi detail panel > Wi-Fi toggle + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.26 QS_WIFI_TOGGLE = 153; + + // ACTION: QS Bluetooth detail panel > Bluetooth toggle + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.26 QS_BLUETOOTH_TOGGLE = 154; + + // ACTION: QS Cellular detail panel > Cellular toggle + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.26 QS_CELLULAR_TOGGLE = 155; + + // ACTION: QS User list panel > Select different user + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.26 QS_SWITCH_USER = 156; + + // ACTION: QS Cast detail panel > Select cast device + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.26 QS_CAST_SELECT = 157; + + // ACTION: QS Cast detail panel > Disconnect cast device + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.26 QS_CAST_DISCONNECT = 158; + + // ACTION: Settings > Bluetooth > Toggle + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_BLUETOOTH_TOGGLE = 159; + + // ACTION: Settings > Bluetooth > Overflow > Refresh + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_BLUETOOTH_SCAN = 160; + + // ACTION: Settings > Bluetooth > Overflow > Rename this device + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_BLUETOOTH_RENAME = 161; + + // ACTION: Settings > Bluetooth > Overflow > Show received files + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_BLUETOOTH_FILES = 162; + + // ACTION: QS DND details panel > Increase / Decrease exit time + // SUBTYPE: true is increase, false is decrease + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.26 QS_DND_TIME = 163; + + // ACTION: QS DND details panel > [Exit condition] + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.26 QS_DND_CONDITION_SELECT = 164; + + // ACTION: QS DND details panel > [DND mode] + // SUBTYPE: 1 is priority, 2 is silence, 3 is alarms only + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.26 QS_DND_ZEN_SELECT = 165; + + // ACTION: QS DND detail panel > DND toggle + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.26 QS_DND_TOGGLE = 166; + + // ACTION: DND Settings > Priority only allows > Reminder toggle + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_ZEN_ALLOW_REMINDERS = 167; + + // ACTION: DND Settings > Priority only allows > Event toggle + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_ZEN_ALLOW_EVENTS = 168; + + // ACTION: DND Settings > Priority only allows > Messages + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_ZEN_ALLOW_MESSAGES = 169; + + // ACTION: DND Settings > Priority only allows > Calls + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_ZEN_ALLOW_CALLS = 170; + + // ACTION: DND Settings > Priority only allows > Repeat callers toggle + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_ZEN_ALLOW_REPEAT_CALLS = 171; + + // ACTION: DND Settings > Automatic rules > Add rule + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_ZEN_ADD_RULE = 172; + + // ACTION: DND Settings > Automatic rules > Add rule > OK + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_ZEN_ADD_RULE_OK = 173; + + // ACTION: DND Settings > Automatic rules > [Rule] > Delete rule + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_ZEN_DELETE_RULE = 174; + + // ACTION: DND Settings > Automatic rules > [Rule] > Delete rule > Delete + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_ZEN_DELETE_RULE_OK = 175; + + // ACTION: DND Settings > Automatic rules > [Rule] > Toggle + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_ZEN_ENABLE_RULE = 176; + + // ACTION: Settings > More > Airplane mode toggle + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_AIRPLANE_TOGGLE = 177; + + // ACTION: Settings > Data usage > Cellular data toggle + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_CELL_DATA_TOGGLE = 178; + + // OPEN: Settings > Sound & notification > Notification access + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 NOTIFICATION_ACCESS = 179; + + // OPEN: Settings > Sound & notification > Do Not Disturb access + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 NOTIFICATION_ZEN_MODE_ACCESS = 180; + + // OPEN: Settings > Apps > Configure apps > Default Apps + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 APPLICATIONS_DEFAULT_APPS = 181; + + // OPEN: Settings > Internal storage > Apps storage + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 APPLICATIONS_STORAGE_APPS = 182; + + // OPEN: Settings > Security > Usage access + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 APPLICATIONS_USAGE_ACCESS_DETAIL = 183; + + // OPEN: Settings > Battery > Battery optimization + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 APPLICATIONS_HIGH_POWER_APPS = 184; + + // OBSOLETE FUELGAUGE_HIGH_POWER_DETAILS = 185; + + // ACTION: Lockscreen > Unlock gesture + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 5.1.1 + // GMS: 7.8.22 ACTION_LS_UNLOCK = 186; + + // ACTION: Lockscreen > Pull shade open + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 5.1.1 + // GMS: 7.8.22 ACTION_LS_SHADE = 187; + + // ACTION: Lockscreen > Tap on lock, shows hint + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 5.1.1 + // GMS: 7.8.22 ACTION_LS_HINT = 188; + + // ACTION: Lockscreen > Camera + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 5.1.1 + // GMS: 7.8.22 ACTION_LS_CAMERA = 189; + + // ACTION: Lockscreen > Dialer + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 5.1.1 + // GMS: 7.8.22 ACTION_LS_DIALER = 190; + + // ACTION: Lockscreen > Tap on lock, locks phone + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 5.1.1 + // GMS: 7.8.22 ACTION_LS_LOCK = 191; + + // ACTION: Lockscreen > Tap on notification, false touch rejection + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 5.1.1 + // GMS: 7.8.22 ACTION_LS_NOTE = 192; + + // ACTION: Lockscreen > Swipe down to open quick settings + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.8.22 ACTION_LS_QS = 193; + + // ACTION: Swipe down to open quick settings when unlocked + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.8.22 ACTION_SHADE_QS_PULL = 194; + + // ACTION: Notification shade > Tap to open quick settings + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.8.22 ACTION_SHADE_QS_TAP = 195; + + // OPEN: Lockscreen + // SUBTYPE: 0 is unsecure, 1 is secured by password / pattern / PIN + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 5.1.1 + // GMS: 7.8.22 LOCKSCREEN = 196; + + // OPEN: Lockscreen > Screen to enter password / pattern / PIN + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 5.1.1 + // GMS: 7.8.22 BOUNCER = 197; + + // OPEN: Screen turned on + // SUBTYPE: 2 is user action + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 5.1.1 + // GMS: 7.8.22 SCREEN = 198; + + // OPEN: Notification caused sound, vibration, and/or LED blink + // SUBTYPE: 1 is buzz, 2 is beep, blink is 4, or'd together + // CATEGORY: NOTIFICATION + // OS: 5.1.1 + // GMS: 7.8.53 NOTIFICATION_ALERT = 199; + + // ACTION: Lockscreen > Emergency Call button + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 5.1.1 + // GMS: 7.5.26 ACTION_EMERGENCY_CALL = 200; + + // OPEN: Settings > Apps > Configure > Default apps > Assist & voice input + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 APPLICATIONS_MANAGE_ASSIST = 201; + + // OPEN: Settings > Memory + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 PROCESS_STATS_SUMMARY = 202; + + // ACTION: Settings > Display > When device is rotated + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_ROTATION_LOCK = 203; + + // ACTION: Long press on notification to view controls + // CATEGORY: NOTIFICATION + // OS: 6.0 + // GMS: 7.5.26 ACTION_NOTE_CONTROLS = 204; + + // ACTION: Notificatoin controls > Info button + // CATEGORY: NOTIFICATION + // OS: 6.0 + // GMS: 7.5.26 ACTION_NOTE_INFO = 205; + + // ACTION: Notification controls > Settings button + // CATEGORY: NOTIFICATION + // OS: 6.0 + // GMS: 7.5.26 ACTION_APP_NOTE_SETTINGS = 206; + + // OPEN: Volume Dialog (with hardware buttons) + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.5.26 VOLUME_DIALOG = 207; + + // OPEN: Volume dialog > Expanded volume dialog (multiple sliders) + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.5.26 VOLUME_DIALOG_DETAILS = 208; + + // ACTION: Volume dialog > Adjust volume slider + // SUBTYPE: volume level (0-7) + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.5.26 ACTION_VOLUME_SLIDER = 209; + + // ACTION: Volume dialog > Select non-active stream + // SUBTYPE: stream (defined in AudioSystem.java) + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.5.26 ACTION_VOLUME_STREAM = 210; + + // ACTION: Adjust volume with hardware key + // SUBTYPE: volume level (0-7) + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.5.26 ACTION_VOLUME_KEY = 211; + + // ACTION: Volume dialog > Mute a stream by tapping icon + // SUBTYPE: mute is 1, audible is 2 + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.5.26 ACTION_VOLUME_ICON = 212; + + // ACTION: Volume dialog > Change ringer mode by tapping icon + // SUBTYPE: 2 is audible, 3 is vibrate + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.5.26 ACTION_RINGER_MODE = 213; + + // ACTION: Chooser shown (share target, file open, etc.) + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.5.26 ACTION_ACTIVITY_CHOOSER_SHOWN = 214; + + // ACTION: Chooser > User taps an app target + // SUBTYPE: Index of target + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.5.26 ACTION_ACTIVITY_CHOOSER_PICKED_APP_TARGET = 215; + + // ACTION: Chooser > User taps a service target + // SUBTYPE: Index of target + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.5.26 ACTION_ACTIVITY_CHOOSER_PICKED_SERVICE_TARGET = 216; + + // ACTION: Chooser > User taps a standard target + // SUBTYPE: Index of target + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.5.26 ACTION_ACTIVITY_CHOOSER_PICKED_STANDARD_TARGET = 217; + + // ACTION: QS Brightness Slider (with auto brightness disabled) + // SUBTYPE: slider value + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_BRIGHTNESS = 218; + + // ACTION: QS Brightness Slider (with auto brightness enabled) + // SUBTYPE: slider value + // CATEGORY: QUICK_SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_BRIGHTNESS_AUTO = 219; + + // OPEN: Settings > Display > Brightness Slider + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 BRIGHTNESS_DIALOG = 220; + + // OPEN: Settings > Apps > Configure Apps > Draw over other apps + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 SYSTEM_ALERT_WINDOW_APPS = 221; + + // OPEN: Display has entered dream mode + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.5.26 DREAMING = 222; + + // OPEN: Display has entered ambient notification mode + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.5.26 DOZING = 223; + + // OPEN: Overview + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.5.26 OVERVIEW_ACTIVITY = 224; + + // OPEN: Settings > About phone > Legal information + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ABOUT_LEGAL_SETTINGS = 225; + + // OPEN: Settings > Search > Perform search + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 ACTION_SEARCH_RESULTS = 226; + + // OPEN: Settings > System UI Tuner + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 TUNER = 227; + + // OPEN: Settings > System UI Tuner > Quick Settings + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 TUNER_QS = 228; + + // OPEN: Settings > System UI Tuner > Demo mode + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 TUNER_DEMO_MODE = 229; + + // ACTION: Settings > System UI Tuner > Quick Settings > Move tile + // PACKAGE: Tile + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 TUNER_QS_REORDER = 230; + + // ACTION: Settings > System UI Tuner > Quick Settings > Add tile + // PACKAGE: Tile + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 TUNER_QS_ADD = 231; + + // ACTION: Settings > System UI Tuner > Quick Settings > Remove tile + // PACKAGE: Tile + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 TUNER_QS_REMOVE = 232; + + // ACTION: Settings > System UI Tuner > Status bar > Enable icon + // PACKAGE: Icon + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 TUNER_STATUS_BAR_ENABLE = 233; + + // ACTION: Settings > System UI Tuner > Status bar > Disable icon + // PACKAGE: Icon + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 TUNER_STATUS_BAR_DISABLE = 234; + + // ACTION: Settings > System UI Tuner > Demo mode > Enable demo mode + // SUBTYPE: false is disabled, true is enabled + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 TUNER_DEMO_MODE_ENABLED = 235; + + // ACTION: Settings > System UI Tuner > Demo mode > Show demo mode + // SUBTYPE: false is disabled, true is enabled + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 TUNER_DEMO_MODE_ON = 236; + + // ACTION: Settings > System UI Tuner > Show embedded battery percentage + // SUBTYPE: 0 is disabled, 1 is enabled + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 TUNER_BATTERY_PERCENTAGE = 237; + + // OPEN: Settings > Developer options > Inactive apps + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.5.26 FUELGAUGE_INACTIVE_APPS = 238; + + // ACTION: Long press home to bring up assistant + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.5.26 ACTION_ASSIST_LONG_PRESS = 239; + + // OPEN: Settings > Security > Nexus Imprint > Add Fingerprint + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.8.99 FINGERPRINT_ENROLLING = 240; + + // OPEN: Fingerprint Enroll > Find Sensor + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.8.99 FINGERPRINT_FIND_SENSOR = 241; + + // OPEN: Fingerprint Enroll > Fingerprint Enrolled! + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.8.99 FINGERPRINT_ENROLL_FINISH = 242; + + // OPEN: Fingerprint Enroll introduction + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.8.99 FINGERPRINT_ENROLL_INTRO = 243; + + // OPEN: Fingerprint Enroll onboarding + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.8.99 FINGERPRINT_ENROLL_ONBOARD = 244; + + // OPEN: Fingerprint Enroll > Let's Start! + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.8.99 FINGERPRINT_ENROLL_SIDECAR = 245; + + // OPEN: Fingerprint Enroll SUW > Let's Start! + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.8.99 FINGERPRINT_ENROLLING_SETUP = 246; + + // OPEN: Fingerprint Enroll SUW > Find Sensor + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.8.99 FINGERPRINT_FIND_SENSOR_SETUP = 247; + + // OPEN: Fingerprint Enroll SUW > Fingerprint Enrolled! + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.8.99 FINGERPRINT_ENROLL_FINISH_SETUP = 248; + + // OPEN: Fingerprint Enroll SUW introduction + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.8.99 FINGERPRINT_ENROLL_INTRO_SETUP = 249; + + // OPEN: Fingerprint Enroll SUW onboarding + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.8.99 FINGERPRINT_ENROLL_ONBOARD_SETUP = 250; + + // ACTION: Add fingerprint > Enroll fingerprint + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.8.99 ACTION_FINGERPRINT_ENROLL = 251; + + // ACTION: Authenticate using fingerprint + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.8.99 ACTION_FINGERPRINT_AUTH = 252; + + // ACTION: Settings > Security > Nexus Imprint > [Fingerprint] > Delete + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.8.99 ACTION_FINGERPRINT_DELETE = 253; + + // ACTION: Settings > Security > Nexus Imprint > [Fingerprint] > Rename + // CATEGORY: SETTINGS + // OS: 6.0 + // GMS: 7.8.99 ACTION_FINGERPRINT_RENAME = 254; + + // ACTION: Double tap camera shortcut + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.8.99 ACTION_DOUBLE_TAP_POWER_CAMERA_GESTURE = 255; + + // ACTION: Double twist camera shortcut + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: 6.0 + // GMS: 7.8.99 ACTION_WIGGLE_CAMERA_GESTURE = 256; + + // OPEN: QS Work Mode tile shown + // ACTION: QS Work Mode tile tapped + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: QUICK_SETTINGS + // OS: N + // GMS: 7.8.99 QS_WORKMODE = 257; + + // OPEN: Settings > Developer Options > Background Check + // CATEGORY: SETTINGS + // OS: N + // GMS: 7.8.99 BACKGROUND_CHECK_SUMMARY = 258; + + // OPEN: QS Lock tile shown + // ACTION: QS Lock tile tapped + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: QUICK_SETTINGS + // OS: N + // GMS: 7.8.99 QS_LOCK_TILE = 259; + + // OPEN: QS User Tile shown + // CATEGORY: QUICK_SETTINGS + // OS: N + // GMS: 7.8.99 QS_USER_TILE = 260; + + // OPEN: QS Battery tile shown + // CATEGORY: QUICK_SETTINGS + // OS: N + // GMS: 7.8.99 QS_BATTERY_TILE = 261; + + // OPEN: Settings > Sound > Do not disturb > Visual interruptions + // CATEGORY: SETTINGS + // OS: N + // GMS: 7.8.99 NOTIFICATION_ZEN_MODE_VISUAL_INTERRUPTIONS = 262; + + // ACTION: Visual interruptions > No screen interuptions toggle + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: SETTINGS + // OS: N + // GMS: 7.8.99 ACTION_ZEN_ALLOW_WHEN_SCREEN_OFF = 263; - // Dead + + // ACTION: Visual interruptions > No notification light toggle + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: SETTINGS + // OS: N + // GMS: 7.8.99 ACTION_ZEN_ALLOW_LIGHTS = 264; + + // OPEN: Settings > Notifications > [App] > Topic Notifications + // CATEGORY: SETTINGS + // OS: N + // GMS: 7.8.99 NOTIFICATION_TOPIC_NOTIFICATION = 265; + + // ACTION: Settings > Apps > Default Apps > Select different SMS app + // PACKAGE: Selected SMS app + // CATEGORY: SETTINGS + // OS: N + // GMS: 7.8.99 ACTION_DEFAULT_SMS_APP_CHANGED = 266; + + // OPEN: QS Color modification tile shown + // ACTION: QS Color modification tile tapped + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: QUICK_SETTINGS + // OS: N + // GMS: 7.8.99 QS_COLOR_MATRIX = 267; + + // OPEN: QS Custom tile shown + // ACTION: QS Work Mode tile tapped + // CATEGORY: QUICK_SETTINGS + // OS: N + // GMS: 7.8.99 QS_CUSTOM = 268; + + // ACTION: Visual interruptions > Never turn off the screen toggle + // SUBTYPE: 0 is off, 1 is on + // CATEGORY: SETTINGS + // OS: N + // GMS: 7.8.99 ACTION_ZEN_ALLOW_WHEN_SCREEN_ON = 269; - // Logged when the user docks a window from recents by - // longpressing a task and dragging it to the dock area. + // ACTION: Overview > Long-press task, drag to enter split-screen + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: N + // GMS: 7.8.99 ACTION_WINDOW_DOCK_DRAG_DROP = 270; - // Logged when the user docks a fullscreen window by long pressing - // recents which also opens recents on the lower/right side. + // ACTION: In App > Long-press Overview button to enter split-screen + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: N + // GMS: 7.8.99 ACTION_WINDOW_DOCK_LONGPRESS = 271; - // Logged when the user docks a window by dragging from the navbar - // which also opens recents on the lower/right side. + // ACTION: In App > Swipe Overview button to enter split-screen + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: N + // GMS: 7.8.99 ACTION_WINDOW_DOCK_SWIPE = 272; - // Logged when the user launches a profile-specific app and we - // intercept it with the confirm credentials UI. + // ACTION: Launch profile-specific app > Confirm credentials + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: N + // GMS: 7.8.99 PROFILE_CHALLENGE = 273; + // OPEN: QS Battery detail panel + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: N + // GMS: 7.8.99 QS_BATTERY_DETAIL = 274; - // Logged when the user goes into the overview history. + // OPEN: Overview > History + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: N + // GMS: 7.8.99 OVERVIEW_HISTORY = 275; - // Logged when the user pages through overview. - OVERVIEW_PAGE = 276; + // ACTION: Overview > Page by tapping Overview button + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: N + // GMS: 7.8.99 + ACTION_OVERVIEW_PAGE = 276; - // Logged when the user launches a task from overview. - OVERVIEW_SELECT = 277; + // ACTION: Overview > Select app + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: N + // GMS: 7.8.99 + ACTION_OVERVIEW_SELECT = 277; - // Logged when the user views the emergency info. + // ACTION: View emergency info + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: N + // GMS: 7.8.99 ACTION_VIEW_EMERGENCY_INFO = 278; - // Logged when the user views the edit emergency info activity. + // ACTION: Edit emergency info activity + // CATEGORY: SETTINGS + // OS: N + // GMS: 7.8.99 ACTION_EDIT_EMERGENCY_INFO = 279; - // Logged when the user edits an emergency info field. + // ACTION: Edit emergency info field + // CATEGORY: SETTINGS + // OS: N + // GMS: 7.8.99 ACTION_EDIT_EMERGENCY_INFO_FIELD = 280; - // Logged when the user adds a new emergency contact. + // ACTION: Add emergency contact + // CATEGORY: SETTINGS + // OS: N + // GMS: 7.8.99 ACTION_ADD_EMERGENCY_CONTACT = 281; - // Logged when the user deletes an emergency contact. + // ACTION: Delete emergency contact + // CATEGORY: SETTINGS + // OS: N + // GMS: 7.8.99 ACTION_DELETE_EMERGENCY_CONTACT = 282; - // Logged when the user calls an emergency contact. + // ACTION: Call emergency contact + // CATEGORY: SETTINGS + // OS: N + // GMS: 7.8.99 ACTION_CALL_EMERGENCY_CONTACT = 283; - // QS Tile for Data Saver. + // OPEN: QS Data Saver tile shown + // ACTION: QS Data Saver tile tapped + // CATEGORY: QUICK_SETTINGS QS_DATA_SAVER = 284; // OPEN: Settings > Security > User credentials // CATEGORY: Settings - // OS: 6.1 + // OS: N // GMS: 7.8.99 USER_CREDENTIALS = 285; - // Logged when the user undocks a previously docked window by long pressing recents while in - // docked mode. + // ACTION: In App (splitscreen) > Long-press Overview to exit split-screen + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: N + // GMS: 7.8.99 ACTION_WINDOW_UNDOCK_LONGPRESS = 286; // Logged when the user scrolls through overview manually @@ -370,43 +1770,66 @@ message MetricsEvent { // indicate the user lowered the importance; positive means they increased it. ACTION_SAVE_IMPORTANCE = 291; - // Interactive bug report initiated from power menu. + // ACTION: Long-press power button, then tap "Take bug report" option. + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: N + // GMS: 7.8.99 ACTION_BUGREPORT_FROM_POWER_MENU_INTERACTIVE = 292; - // Full bug report initiated from power menu. + // ACTION: Long-press power button, then long-press "Take bug report" option. + // CATEGORY: GLOBAL_SYSTEM_UI + // OS: N + // GMS: 7.8.99 ACTION_BUGREPORT_FROM_POWER_MENU_FULL = 293; + // ACTION: Settings -> Developer Options -> Take bug report -> Interactive report + // CATEGORY: SETTINGS + // OS: N + // GMS: 7.8.99 // Interactive bug report initiated from Settings. ACTION_BUGREPORT_FROM_SETTINGS_INTERACTIVE = 294; - // Full bug report initiated from Settings. + // ACTION: Settings -> Developer Options -> Take bug report -> Full report + // CATEGORY: SETTINGS + // OS: N + // GMS: 7.8.99 + // Interactive bug report initiated from Settings. ACTION_BUGREPORT_FROM_SETTINGS_FULL = 295; - // Bug report canceled using system notification. + // ACTION: User tapped notification action to cancel a bug report + // CATEGORY: NOTIFICATION ACTION_BUGREPORT_NOTIFICATION_ACTION_CANCEL = 296; - // Bug report details screen open using system notification. + // ACTION: User tapped notification action to launch bug report details screen + // CATEGORY: NOTIFICATION ACTION_BUGREPORT_NOTIFICATION_ACTION_DETAILS = 297; - // Additional Bug report screen shot taken using system notification. + // ACTION: User tapped notification action to take adition screenshot on bug report + // CATEGORY: NOTIFICATION ACTION_BUGREPORT_NOTIFICATION_ACTION_SCREENSHOT = 298; - // Bug report shared by user using system notification. + // ACTION: User tapped notification to share bug report + // CATEGORY: NOTIFICATION ACTION_BUGREPORT_NOTIFICATION_ACTION_SHARE = 299; - // User changed bug report name using the details screen. + // ACTION: User changed bug report name using the details screen + // CATEGORY: GLOBAL_SYSTEM_UI ACTION_BUGREPORT_DETAILS_NAME_CHANGED = 300; - // User changed bug report title using the details screen. + // ACTION: User changed bug report title using the details screen + // CATEGORY: GLOBAL_SYSTEM_UI ACTION_BUGREPORT_DETAILS_TITLE_CHANGED = 301; - // User changed bug report description using the details screen. + // ACTION: User changed bug report description using the details screen + // CATEGORY: GLOBAL_SYSTEM_UI ACTION_BUGREPORT_DETAILS_DESCRIPTION_CHANGED = 302; - // Changes made on bug report details screen were saved by user. + // ACTION: User tapped Save in the bug report details screen. + // CATEGORY: GLOBAL_SYSTEM_UI ACTION_BUGREPORT_DETAILS_SAVED = 303; - // Changes made on bug report details screen were canceled by user. + // ACTION: User tapped Cancel in the bug report details screen. + // CATEGORY: GLOBAL_SYSTEM_UI ACTION_BUGREPORT_DETAILS_CANCELED = 304; // Tuner: Open/close calibrate dialog. diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java index f537d182035e..8603981ec88a 100644 --- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java +++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java @@ -16,9 +16,14 @@ package com.android.server.appwidget; +import static android.content.Context.KEYGUARD_SERVICE; +import static android.content.Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS; +import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; + import android.app.AlarmManager; import android.app.AppGlobals; import android.app.AppOpsManager; +import android.app.KeyguardManager; import android.app.PendingIntent; import android.app.admin.DevicePolicyManagerInternal; import android.app.admin.DevicePolicyManagerInternal.OnCrossProfileWidgetProvidersChangeListener; @@ -72,10 +77,12 @@ import android.util.SparseIntArray; import android.util.TypedValue; import android.util.Xml; import android.view.Display; +import android.view.View; import android.view.WindowManager; import android.widget.RemoteViews; import com.android.internal.R; +import com.android.internal.app.UnlaunchableAppActivity; import com.android.internal.appwidget.IAppWidgetHost; import com.android.internal.appwidget.IAppWidgetService; import com.android.internal.os.BackgroundThread; @@ -146,7 +153,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku final int userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, UserHandle.USER_NULL); if (DEBUG) { - Slog.i(TAG, "Received broadcast: " + action); + Slog.i(TAG, "Received broadcast: " + action + " on user " + userId); } if (Intent.ACTION_CONFIGURATION_CHANGED.equals(action)) { @@ -156,10 +163,10 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku } else if (Intent.ACTION_USER_STOPPED.equals(action)) { onUserStopped(userId); } else if (Intent.ACTION_USER_SWITCHED.equals(action)) { - reloadWidgetsMaskedStateForUser(userId); + reloadWidgetsMaskedStateForGroup(userId); } else if (Intent.ACTION_MANAGED_PROFILE_AVAILABILITY_CHANGED.equals(action)) { synchronized (mLock) { - reloadWidgetProfileUnavailableMaskedStateLocked(userId); + reloadWidgetsMaskedState(userId); } } else if (Intent.ACTION_PACKAGES_SUSPENDED.equals(action)) { String[] packages = intent.getStringArrayExtra(Intent.EXTRA_CHANGED_PACKAGE_LIST); @@ -202,6 +209,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku private final AlarmManager mAlarmManager; private final UserManager mUserManager; private final AppOpsManager mAppOpsManager; + private final KeyguardManager mKeyguardManager; private final SecurityPolicy mSecurityPolicy; @@ -223,6 +231,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku mAlarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE); mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE); mAppOpsManager = (AppOpsManager) mContext.getSystemService(Context.APP_OPS_SERVICE); + mKeyguardManager = (KeyguardManager) mContext.getSystemService(KEYGUARD_SERVICE); mSaveStateHandler = BackgroundThread.getHandler(); mCallbackHandler = new CallbackHandler(mContext.getMainLooper()); mBackupRestoreController = new BackupRestoreController(); @@ -436,48 +445,51 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku /** * Reload all widgets' masked state for the given user and its associated profiles, including * due to user not being available and package suspension. + * userId must be the group parent. */ - private void reloadWidgetsMaskedStateForUser(int userId) { - if (!mUserManager.isUserUnlocked(userId) || - isProfileWithLockedParent(userId)) { + private void reloadWidgetsMaskedStateForGroup(int userId) { + if (!mUserManager.isUserUnlocked(userId)) { return; } synchronized (mLock) { - reloadWidgetPackageSuspensionMaskedStateLocked(userId); + reloadWidgetsMaskedState(userId); List<UserInfo> profiles = mUserManager.getEnabledProfiles(userId); if (profiles != null) { for (int i = 0; i < profiles.size(); i++) { UserInfo user = profiles.get(i); - reloadWidgetProfileUnavailableMaskedStateLocked(user.id); - reloadWidgetPackageSuspensionMaskedStateLocked(user.id); + reloadWidgetsMaskedState(user.id); } } } } - /** - * Mask/unmask widgets in the given profile, depending on the quiet state - * or locked state of the profile. - */ - private void reloadWidgetProfileUnavailableMaskedStateLocked(int profileId) { + private void reloadWidgetsMaskedState(int userId) { final long identity = Binder.clearCallingIdentity(); try { - if (!isProfileWithUnlockedParent(profileId)) { - return; - } - UserInfo user = mUserManager.getUserInfo(profileId); - boolean shouldMask = user.isQuietModeEnabled() || - !mUserManager.isUserUnlocked(user.getUserHandle()); + UserInfo user = mUserManager.getUserInfo(userId); + + boolean lockedProfile = !mUserManager.isUserUnlocked(userId); + boolean quietProfile = user.isQuietModeEnabled(); final int N = mProviders.size(); for (int i = 0; i < N; i++) { Provider provider = mProviders.get(i); int providerUserId = provider.getUserId(); - if (providerUserId != profileId) { + if (providerUserId != userId) { continue; } - if (provider.setMaskedByProfileUnavailabledLocked(shouldMask)) { + + boolean changed = provider.setMaskedByLockedProfileLocked(lockedProfile); + changed |= provider.setMaskedByQuietProfileLocked(quietProfile); + try { + boolean suspended = mPackageManager.isPackageSuspendedForUser( + provider.info.provider.getPackageName(), provider.getUserId()); + changed |= provider.setMaskedBySuspendedPackageLocked(suspended); + } catch (RemoteException e) { + Slog.e(TAG, "Failed to query application info", e); + } + if (changed) { if (provider.isMaskedLocked()) { - maskWidgetsViewsLocked(provider); + maskWidgetsViewsLocked(provider, null); } else { unmaskWidgetsViewsLocked(provider); } @@ -489,33 +501,6 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku } /** - * Reload widget's masked state due to package suspension state. - */ - private void reloadWidgetPackageSuspensionMaskedStateLocked(int profileId) { - final int N = mProviders.size(); - for (int i = 0; i < N; i++) { - Provider provider = mProviders.get(i); - int providerUserId = provider.getUserId(); - if (providerUserId != profileId) { - continue; - } - try { - boolean suspended = mPackageManager.isPackageSuspendedForUser( - provider.info.provider.getPackageName(), provider.getUserId()); - if (provider.setMaskedBySuspendedPackageLocked(suspended)) { - if (provider.isMaskedLocked()) { - maskWidgetsViewsLocked(provider); - } else { - unmaskWidgetsViewsLocked(provider); - } - } - } catch (RemoteException e) { - Slog.e(TAG, "Failed to query application info", e); - } - } - } - - /** * Incrementally update the masked state due to package suspension state. */ private void updateWidgetPackageSuspensionMaskedState(String[] packagesArray, boolean suspended, @@ -535,7 +520,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku } if (provider.setMaskedBySuspendedPackageLocked(suspended)) { if (provider.isMaskedLocked()) { - maskWidgetsViewsLocked(provider); + maskWidgetsViewsLocked(provider, null); } else { unmaskWidgetsViewsLocked(provider); } @@ -544,14 +529,13 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku } } - private Bitmap createMaskedWidgetBitmap(Provider provider) { + private Bitmap createMaskedWidgetBitmap(String providerPackage, int providerUserId) { final long identity = Binder.clearCallingIdentity(); try { // Load the unbadged application icon and pass it to the widget to appear on // the masked view. - final String providerPackage = provider.info.provider.getPackageName(); Context userContext = mContext.createPackageContextAsUser(providerPackage, 0, - UserHandle.of(provider.getUserId())); + UserHandle.of(providerUserId)); PackageManager pm = userContext.getPackageManager(); Drawable icon = pm.getApplicationInfo(providerPackage, 0).loadUnbadgedIcon(pm); // Create a bitmap of the icon which is what the widget's remoteview requires. @@ -566,18 +550,73 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku } } - private void maskWidgetsViewsLocked(Provider provider) { - Bitmap iconBitmap = createMaskedWidgetBitmap(provider); + private RemoteViews createMaskedWidgetRemoteViews(Bitmap icon, boolean showBadge, + PendingIntent onClickIntent) { + RemoteViews views = new RemoteViews(mContext.getPackageName(), + R.layout.work_widget_mask_view); + if (icon != null) { + views.setImageViewBitmap(R.id.work_widget_app_icon, icon); + } + if (!showBadge) { + views.setViewVisibility(R.id.work_widget_badge_icon, View.INVISIBLE); + } + if (onClickIntent != null) { + views.setOnClickPendingIntent(R.id.work_widget_mask_frame, onClickIntent); + } + return views; + } + + /** + * Mask the target widget belonging to the specified provider, or all active widgets + * of the provider if target widget == null. + */ + private void maskWidgetsViewsLocked(Provider provider, Widget targetWidget) { + final int widgetCount = provider.widgets.size(); + if (widgetCount == 0) { + return; + } + final String providerPackage = provider.info.provider.getPackageName(); + final int providerUserId = provider.getUserId(); + Bitmap iconBitmap = createMaskedWidgetBitmap(providerPackage, providerUserId); if (iconBitmap == null) { return; } + final boolean showBadge; + final Intent onClickIntent; + if (provider.maskedBySuspendedPackage) { + final long identity = Binder.clearCallingIdentity(); + try { + UserInfo userInfo = mUserManager.getUserInfo(providerUserId); + showBadge = userInfo.isManagedProfile(); + onClickIntent = UnlaunchableAppActivity.createPackageSuspendedDialogIntent( + providerPackage, providerUserId); + } finally { + Binder.restoreCallingIdentity(identity); + } + } else if (provider.maskedByQuietProfile) { + showBadge = true; + onClickIntent = UnlaunchableAppActivity.createInQuietModeDialogIntent( + providerUserId); + } else /* provider.maskedByLockedProfile */ { + showBadge = true; + onClickIntent = mKeyguardManager.createConfirmDeviceCredentialIntent(null, null, + providerUserId); + if (onClickIntent != null) { + onClickIntent.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); + } + } - final int widgetCount = provider.widgets.size(); for (int j = 0; j < widgetCount; j++) { Widget widget = provider.widgets.get(j); - if (widget.replaceWithMaskedViewsLocked(mContext, iconBitmap)) { - scheduleNotifyUpdateAppWidgetLocked(widget, - widget.getEffectiveViewsLocked()); + if (targetWidget != null && targetWidget != widget) continue; + PendingIntent intent = null; + if (onClickIntent != null) { + intent = PendingIntent.getActivity(mContext, widget.appWidgetId, + onClickIntent, PendingIntent.FLAG_UPDATE_CURRENT); + } + RemoteViews views = createMaskedWidgetRemoteViews(iconBitmap, showBadge, intent); + if (widget.replaceWithMaskedViewsLocked(views)) { + scheduleNotifyUpdateAppWidgetLocked(widget, widget.getEffectiveViewsLocked()); } } } @@ -587,8 +626,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku for (int j = 0; j < widgetCount; j++) { Widget widget = provider.widgets.get(j); if (widget.clearMaskedViewsLocked()) { - scheduleNotifyUpdateAppWidgetLocked(widget, - widget.getEffectiveViewsLocked()); + scheduleNotifyUpdateAppWidgetLocked(widget, widget.getEffectiveViewsLocked()); } } } @@ -2472,7 +2510,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku } synchronized (mLock) { ensureGroupStateLoadedLocked(userId); - reloadWidgetsMaskedStateForUser(userId); + reloadWidgetsMaskedStateForGroup(mSecurityPolicy.getGroupParent(userId)); final int N = mProviders.size(); for (int i = 0; i < N; i++) { @@ -2614,10 +2652,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku // If we are adding a widget it might be for a provider that // is currently masked, if so mask the widget. if (widget.provider.isMaskedLocked()) { - Bitmap bitmap = createMaskedWidgetBitmap(widget.provider); - if (bitmap != null) { - widget.replaceWithMaskedViewsLocked(mContext, bitmap); - } + maskWidgetsViewsLocked(widget.provider, widget); } else { widget.clearMaskedViewsLocked(); } @@ -3014,7 +3049,6 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku private void onUserStopped(int userId) { synchronized (mLock) { - boolean providersChanged = false; boolean crossProfileWidgetsChanged = false; // Remove widgets that have both host and provider in the user. @@ -3050,16 +3084,8 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku } } - // Remove the providers and notify hosts in other profiles. - final int providerCount = mProviders.size(); - for (int i = providerCount - 1; i >= 0; i--) { - Provider provider = mProviders.get(i); - if (provider.getUserId() == userId) { - crossProfileWidgetsChanged |= !provider.widgets.isEmpty(); - providersChanged = true; - deleteProviderLocked(provider); - } - } + // Leave the providers present as hosts will show the widgets + // masked while the user is stopped. // Remove grants for this user. final int grantCount = mPackagesWithBindWidgetPermission.size(); @@ -3082,11 +3108,6 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku mNextAppWidgetIds.removeAt(nextIdIndex); } - // Announce removed provider changes to all hosts in the group. - if (providersChanged) { - scheduleNotifyGroupHostsForProvidersChangedLocked(userId); - } - // Save state if removing a profile changed the group state. // Nothing will be saved if the group parent was removed. if (crossProfileWidgetsChanged) { @@ -3624,7 +3645,8 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku PendingIntent broadcast; boolean zombie; // if we're in safe mode, don't prune this just because nobody references it - boolean maskedByProfileUnavailable; + boolean maskedByLockedProfile; + boolean maskedByQuietProfile; boolean maskedBySuspendedPackage; int tag = TAG_UNDEFINED; // for use while saving state (the index) @@ -3656,22 +3678,29 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku return "Provider{" + id + (zombie ? " Z" : "") + '}'; } - // returns true if the provider's masked state is changed as a result - public boolean setMaskedByProfileUnavailabledLocked(boolean masked) { - boolean oldMaskedState = isMaskedLocked(); - maskedByProfileUnavailable = masked; - return isMaskedLocked() != oldMaskedState; + // returns true if it's different from previous state. + public boolean setMaskedByQuietProfileLocked(boolean masked) { + boolean oldState = maskedByQuietProfile; + maskedByQuietProfile = masked; + return masked != oldState; + } + + // returns true if it's different from previous state. + public boolean setMaskedByLockedProfileLocked(boolean masked) { + boolean oldState = maskedByLockedProfile; + maskedByLockedProfile = masked; + return masked != oldState; } - // returns true if the provider's masked state is changed as a result + // returns true if it's different from previous state. public boolean setMaskedBySuspendedPackageLocked(boolean masked) { - boolean oldMaskedState = isMaskedLocked(); + boolean oldState = maskedBySuspendedPackage; maskedBySuspendedPackage = masked; - return isMaskedLocked() != oldMaskedState; + return masked != oldState; } public boolean isMaskedLocked() { - return maskedByProfileUnavailable || maskedBySuspendedPackage; + return maskedByQuietProfile || maskedByLockedProfile || maskedBySuspendedPackage; } } @@ -3828,14 +3857,8 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku return "AppWidgetId{" + appWidgetId + ':' + host + ':' + provider + '}'; } - private boolean replaceWithMaskedViewsLocked(Context context, Bitmap icon) { - if (maskedViews != null) { - return false; - } - maskedViews = new RemoteViews(context.getPackageName(), R.layout.work_widget_mask_view); - if (icon != null) { - maskedViews.setImageViewBitmap(R.id.work_widget_app_icon, icon); - } + private boolean replaceWithMaskedViewsLocked(RemoteViews views) { + maskedViews = views; return true; } diff --git a/services/core/java/com/android/server/NetworkTimeUpdateService.java b/services/core/java/com/android/server/NetworkTimeUpdateService.java index 3f0664defbf9..b64c65dd5827 100644 --- a/services/core/java/com/android/server/NetworkTimeUpdateService.java +++ b/services/core/java/com/android/server/NetworkTimeUpdateService.java @@ -23,8 +23,10 @@ import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.pm.PackageManager; import android.database.ContentObserver; import android.net.ConnectivityManager; +import android.os.Binder; import android.os.Handler; import android.os.HandlerThread; import android.os.Looper; @@ -34,10 +36,14 @@ import android.os.PowerManager; import android.provider.Settings; import android.util.Log; import android.util.NtpTrustedTime; +import android.util.TimeUtils; import android.util.TrustedTime; import com.android.internal.telephony.TelephonyIntents; +import java.io.FileDescriptor; +import java.io.PrintWriter; + /** * Monitors the network time and updates the system time if it is out of sync * and there hasn't been any NITZ update from the carrier recently. @@ -48,7 +54,7 @@ import com.android.internal.telephony.TelephonyIntents; * available. * </p> */ -public class NetworkTimeUpdateService { +public class NetworkTimeUpdateService extends Binder { private static final String TAG = "NetworkTimeUpdateService"; private static final boolean DBG = false; @@ -59,6 +65,8 @@ public class NetworkTimeUpdateService { private static final String ACTION_POLL = "com.android.server.NetworkTimeUpdateService.action.POLL"; + + private static final int NETWORK_CHANGE_EVENT_DELAY_MS = 1000; private static int POLL_REQUEST = 0; private static final long NOT_SET = -1; @@ -245,6 +253,7 @@ public class NetworkTimeUpdateService { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); + if (DBG) Log.d(TAG, "Received " + action); if (TelephonyIntents.ACTION_NETWORK_SET_TIME.equals(action)) { mNitzTimeSetTime = SystemClock.elapsedRealtime(); } else if (TelephonyIntents.ACTION_NETWORK_SET_TIMEZONE.equals(action)) { @@ -260,8 +269,11 @@ public class NetworkTimeUpdateService { public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (ConnectivityManager.CONNECTIVITY_ACTION.equals(action)) { + if (DBG) Log.d(TAG, "Received CONNECTIVITY_ACTION "); // Don't bother checking if we have connectivity, NtpTrustedTime does that for us. - mHandler.obtainMessage(EVENT_NETWORK_CHANGED).sendToTarget(); + Message message = mHandler.obtainMessage(EVENT_NETWORK_CHANGED); + // Send with a short delay to make sure the network is ready for use + mHandler.sendMessageDelayed(message, NETWORK_CHANGE_EVENT_DELAY_MS); } } }; @@ -308,4 +320,28 @@ public class NetworkTimeUpdateService { mHandler.obtainMessage(mMsg).sendToTarget(); } } + + @Override + protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DUMP) + != PackageManager.PERMISSION_GRANTED) { + pw.println("Permission Denial: can't dump NetworkTimeUpdateService from from pid=" + + Binder.getCallingPid() + + ", uid=" + Binder.getCallingUid() + + " without permission " + + android.Manifest.permission.DUMP); + return; + } + pw.print("PollingIntervalMs: "); + TimeUtils.formatDuration(mPollingIntervalMs, pw); + pw.print("\nPollingIntervalShorterMs: "); + TimeUtils.formatDuration(mPollingIntervalShorterMs, pw); + pw.println("\nTryAgainTimesMax: " + mTryAgainTimesMax); + pw.print("TimeErrorThresholdMs: "); + TimeUtils.formatDuration(mTimeErrorThresholdMs, pw); + pw.println("\nTryAgainCounter: " + mTryAgainCounter); + pw.print("LastNtpFetchTime: "); + TimeUtils.formatDuration(mLastNtpFetchTime, pw); + pw.println(); + } } diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 12ebf44cba26..7f297a875bcf 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -5359,17 +5359,6 @@ public final class ActivityManagerService extends ActivityManagerNative @Override public void killAllBackgroundProcesses() { - killAllBackgroundProcesses(-1); - } - - /** - * Kills all background processes with targetSdkVersion below the specified - * target SDK version. - * - * @param targetSdkVersion the target SDK version below which to kill - * processes, or {@code -1} to kill all processes - */ - private void killAllBackgroundProcesses(int targetSdkVersion) { if (checkCallingPermission(android.Manifest.permission.KILL_BACKGROUND_PROCESSES) != PackageManager.PERMISSION_GRANTED) { final String msg = "Permission Denial: killAllBackgroundProcesses() from pid=" @@ -5393,10 +5382,6 @@ public final class ActivityManagerService extends ActivityManagerNative // We don't kill persistent processes. continue; } - if (targetSdkVersion > 0 - && app.info.targetSdkVersion >= targetSdkVersion) { - continue; - } if (app.removed) { procs.add(app); } else if (app.setAdj >= ProcessList.CACHED_APP_MIN_ADJ) { @@ -5421,6 +5406,55 @@ public final class ActivityManagerService extends ActivityManagerNative } } + /** + * Kills all background processes, except those matching any of the + * specified properties. + * + * @param minTargetSdk the target SDK version at or above which to preserve + * processes, or {@code -1} to ignore the target SDK + * @param maxProcState the process state at or below which to preserve + * processes, or {@code -1} to ignore the process state + */ + private void killAllBackgroundProcessesExcept(int minTargetSdk, int maxProcState) { + if (checkCallingPermission(android.Manifest.permission.KILL_BACKGROUND_PROCESSES) + != PackageManager.PERMISSION_GRANTED) { + final String msg = "Permission Denial: killAllBackgroundProcessesExcept() from pid=" + + Binder.getCallingPid() + ", uid=" + Binder.getCallingUid() + + " requires " + android.Manifest.permission.KILL_BACKGROUND_PROCESSES; + Slog.w(TAG, msg); + throw new SecurityException(msg); + } + + final long callingId = Binder.clearCallingIdentity(); + try { + synchronized (this) { + final ArrayList<ProcessRecord> procs = new ArrayList<>(); + final int NP = mProcessNames.getMap().size(); + for (int ip = 0; ip < NP; ip++) { + final SparseArray<ProcessRecord> apps = mProcessNames.getMap().valueAt(ip); + final int NA = apps.size(); + for (int ia = 0; ia < NA; ia++) { + final ProcessRecord app = apps.valueAt(ia); + if (app.removed) { + procs.add(app); + } else if ((minTargetSdk < 0 || app.info.targetSdkVersion < minTargetSdk) + && (maxProcState < 0 || app.setProcState > maxProcState)) { + app.removed = true; + procs.add(app); + } + } + } + + final int N = procs.size(); + for (int i = 0; i < N; i++) { + removeProcessLocked(procs.get(i), false, true, "kill all background except"); + } + } + } finally { + Binder.restoreCallingIdentity(callingId); + } + } + @Override public void forceStopPackage(final String packageName, int userId) { if (checkCallingPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) @@ -9493,7 +9527,7 @@ public final class ActivityManagerService extends ActivityManagerNative * docked stack. Pass {@code null} to use default bounds. */ @Override - public void moveTaskToDockedStack(int taskId, int createMode, boolean toTop, boolean animate, + public boolean moveTaskToDockedStack(int taskId, int createMode, boolean toTop, boolean animate, Rect initialBounds) { enforceCallingPermission(MANAGE_ACTIVITY_STACKS, "moveTaskToDockedStack()"); synchronized (this) { @@ -9502,7 +9536,8 @@ public final class ActivityManagerService extends ActivityManagerNative if (DEBUG_STACK) Slog.d(TAG_STACK, "moveTaskToDockedStack: moving task=" + taskId + " to createMode=" + createMode + " toTop=" + toTop); mWindowManager.setDockedStackCreateState(createMode, initialBounds); - mStackSupervisor.moveTaskToStackLocked(taskId, DOCKED_STACK_ID, toTop, !FORCE_FOCUS, + return mStackSupervisor.moveTaskToStackLocked( + taskId, DOCKED_STACK_ID, toTop, !FORCE_FOCUS, "moveTaskToDockedStack", animate); } finally { Binder.restoreCallingIdentity(ident); @@ -18055,7 +18090,8 @@ public final class ActivityManagerService extends ActivityManagerNative final boolean isDensityChange = (changes & ActivityInfo.CONFIG_DENSITY) != 0; if (isDensityChange) { - killAllBackgroundProcesses(Build.VERSION_CODES.N); + killAllBackgroundProcessesExcept(Build.VERSION_CODES.N, + ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE); } for (int i=mLruProcesses.size()-1; i>=0; i--) { diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java index c7fc5e24669a..c68136040fb6 100644 --- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java +++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java @@ -2213,18 +2213,18 @@ public final class ActivityStackSupervisor implements DisplayListener { return stack; } - void moveTaskToStackLocked(int taskId, int stackId, boolean toTop, boolean forceFocus, + boolean moveTaskToStackLocked(int taskId, int stackId, boolean toTop, boolean forceFocus, String reason, boolean animate) { final TaskRecord task = anyTaskForIdLocked(taskId); if (task == null) { Slog.w(TAG, "moveTaskToStack: no task for id=" + taskId); - return; + return false; } if (task.stack != null && task.stack.mStackId == stackId) { // You are already in the right stack silly... Slog.i(TAG, "moveTaskToStack: taskId=" + taskId + " already in stackId=" + stackId); - return; + return true; } if (stackId == FREEFORM_WORKSPACE_STACK_ID && !mService.mSupportsFreeformWindowManagement) { @@ -2293,6 +2293,8 @@ public final class ActivityStackSupervisor implements DisplayListener { resumeFocusedStackTopActivityLocked(); showNonResizeableDockToastIfNeeded(task, preferredLaunchStackId, stackId); + + return (preferredLaunchStackId == stackId); } boolean moveTopStackActivityToPinnedStackLocked(int stackId, Rect bounds) { diff --git a/services/core/java/com/android/server/connectivity/NetworkMonitor.java b/services/core/java/com/android/server/connectivity/NetworkMonitor.java index 4504bdb08945..fb8b110fbcab 100644 --- a/services/core/java/com/android/server/connectivity/NetworkMonitor.java +++ b/services/core/java/com/android/server/connectivity/NetworkMonitor.java @@ -566,7 +566,7 @@ public class NetworkMonitor extends StateMachine { @Override public void enter() { final String cmdName = ACTION_LINGER_EXPIRED + "." + mNetworkAgentInfo.network.netId; - mWakeupMessage = new WakeupMessage(mContext, getHandler(), cmdName, CMD_LINGER_EXPIRED); + mWakeupMessage = makeWakeupMessage(mContext, getHandler(), cmdName, CMD_LINGER_EXPIRED); long wakeupTime = SystemClock.elapsedRealtime() + mLingerDelayMs; mWakeupMessage.schedule(wakeupTime); } @@ -823,4 +823,9 @@ public class NetworkMonitor extends StateMachine { } DEFAULT_LINGER_DELAY_MS = time_ms; } + + @VisibleForTesting + protected WakeupMessage makeWakeupMessage(Context c, Handler h, String s, int i) { + return new WakeupMessage(c, h, s, i); + } } diff --git a/services/core/java/com/android/server/wm/WindowManagerDebugConfig.java b/services/core/java/com/android/server/wm/WindowManagerDebugConfig.java index 0979cd32a1e2..ccba88ddeb17 100644 --- a/services/core/java/com/android/server/wm/WindowManagerDebugConfig.java +++ b/services/core/java/com/android/server/wm/WindowManagerDebugConfig.java @@ -35,7 +35,7 @@ public class WindowManagerDebugConfig { static final boolean DEBUG_RESIZE = false; static final boolean DEBUG = false; - static final boolean DEBUG_ADD_REMOVE = false; + static final boolean DEBUG_ADD_REMOVE = true; static final boolean DEBUG_FOCUS = false; static final boolean DEBUG_FOCUS_LIGHT = DEBUG_FOCUS || false; static final boolean DEBUG_ANIM = false; diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 40b6b50da6dd..e8f1b5d8d326 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -1902,6 +1902,12 @@ final class WindowState implements WindowManagerPolicy.WindowState { mWinAnimator.hide("saved surface"); mWinAnimator.mDrawState = WindowStateAnimator.NO_SURFACE; setHasSurface(false); + // The client should have disconnected at this point, but if it doesn't, + // we need to make sure it's disconnected. Otherwise when we reuse the surface + // the client can't reconnect to the buffer queue, and rendering will fail. + if (mWinAnimator.mSurfaceController != null) { + mWinAnimator.mSurfaceController.disconnectInTransaction(); + } } else { mWinAnimator.destroySurfaceLocked(); } diff --git a/services/core/java/com/android/server/wm/WindowSurfaceController.java b/services/core/java/com/android/server/wm/WindowSurfaceController.java index 2972a248b00d..2cdf471c1420 100644 --- a/services/core/java/com/android/server/wm/WindowSurfaceController.java +++ b/services/core/java/com/android/server/wm/WindowSurfaceController.java @@ -152,6 +152,20 @@ class WindowSurfaceController { } } + void disconnectInTransaction() { + if (SHOW_TRANSACTIONS || SHOW_SURFACE_ALLOC) { + Slog.i(TAG, "Disconnecting client: " + this); + } + + try { + if (mSurfaceControl != null) { + mSurfaceControl.disconnect(); + } + } catch (RuntimeException e) { + Slog.w(TAG, "Error disconnecting surface in: " + this, e); + } + } + void setCropInTransaction(Rect clipRect, boolean recoveringMemory) { if (SHOW_TRANSACTIONS) logSurface( "CROP " + clipRect.toShortString(), null); diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 0ece6aafc742..9aa2b9452b87 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -1036,6 +1036,7 @@ public final class SystemServer { traceBeginAndSlog("StartNetworkTimeUpdateService"); try { networkTimeUpdater = new NetworkTimeUpdateService(context); + ServiceManager.addService("network_time_update_service", networkTimeUpdater); } catch (Throwable e) { reportWtf("starting NetworkTimeUpdate service", e); } diff --git a/services/net/java/android/net/ip/IpManager.java b/services/net/java/android/net/ip/IpManager.java index 46ecc50aeafc..afae9563cb19 100644 --- a/services/net/java/android/net/ip/IpManager.java +++ b/services/net/java/android/net/ip/IpManager.java @@ -66,9 +66,6 @@ public class IpManager extends StateMachine { private static final boolean DBG = true; private static final boolean VDBG = false; - private static final boolean NO_CALLBACKS = false; - private static final boolean SEND_CALLBACKS = true; - // For message logging. private static final Class[] sMessageClasses = { IpManager.class, DhcpClient.class }; private static final SparseArray<String> sWhatToString = @@ -98,6 +95,10 @@ public class IpManager extends StateMachine { public void onProvisioningSuccess(LinkProperties newLp) {} public void onProvisioningFailure(LinkProperties newLp) {} + // This is called whenever 464xlat is being enabled or disabled (i.e. + // started or stopped). + public void on464XlatChange(boolean enabled) {} + // Invoked on LinkProperties changes. public void onLinkPropertiesChange(LinkProperties newLp) {} @@ -207,6 +208,13 @@ public class IpManager extends StateMachine { private static final int MAX_LOG_RECORDS = 1000; + private static final boolean NO_CALLBACKS = false; + private static final boolean SEND_CALLBACKS = true; + + // This must match the interface prefix in clatd.c. + // TODO: Revert this hack once IpManager and Nat464Xlat work in concert. + private static final String CLAT_PREFIX = "v4-"; + private final Object mLock = new Object(); private final State mStoppedState = new StoppedState(); private final State mStoppingState = new StoppingState(); @@ -215,6 +223,7 @@ public class IpManager extends StateMachine { private final String mTag; private final Context mContext; private final String mInterfaceName; + private final String mClatInterfaceName; @VisibleForTesting protected final Callback mCallback; private final INetworkManagementService mNwService; @@ -255,6 +264,7 @@ public class IpManager extends StateMachine { mContext = context; mInterfaceName = ifName; + mClatInterfaceName = CLAT_PREFIX + ifName; mCallback = callback; mNwService = nwService; @@ -265,7 +275,22 @@ public class IpManager extends StateMachine { public void update() { sendMessage(EVENT_NETLINK_LINKPROPERTIES_CHANGED); } - }); + }) { + @Override + public void interfaceAdded(String iface) { + if (mClatInterfaceName.equals(iface)) { + mCallback.on464XlatChange(true); + } + } + + @Override + public void interfaceRemoved(String iface) { + if (mClatInterfaceName.equals(iface)) { + mCallback.on464XlatChange(false); + } + } + }; + try { mNwService.registerObserver(mNetlinkTracker); } catch (RemoteException e) { diff --git a/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java b/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java index 587442916d51..69f12eb5b08c 100644 --- a/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java @@ -59,14 +59,17 @@ import android.os.Message; import android.os.MessageQueue; import android.os.Messenger; import android.os.MessageQueue.IdleHandler; +import android.os.SystemClock; import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.LargeTest; import android.test.suitebuilder.annotation.SmallTest; import android.util.Log; import android.util.LogPrinter; +import com.android.internal.util.WakeupMessage; import com.android.server.connectivity.NetworkAgentInfo; import com.android.server.connectivity.NetworkMonitor; +import com.android.server.net.NetworkPinner; import java.net.InetAddress; import java.util.concurrent.CountDownLatch; @@ -87,10 +90,30 @@ public class ConnectivityServiceTest extends AndroidTestCase { private BroadcastInterceptingContext mServiceContext; private WrappedConnectivityService mService; - private ConnectivityManager mCm; + private WrappedConnectivityManager mCm; private MockNetworkAgent mWiFiNetworkAgent; private MockNetworkAgent mCellNetworkAgent; + // This class exists to test bindProcessToNetwork and getBoundNetworkForProcess. These methods + // do not go through ConnectivityService but talk to netd directly, so they don't automatically + // reflect the state of our test ConnectivityService. + private class WrappedConnectivityManager extends ConnectivityManager { + private Network mFakeBoundNetwork; + + public synchronized boolean bindProcessToNetwork(Network network) { + mFakeBoundNetwork = network; + return true; + } + + public synchronized Network getBoundNetworkForProcess() { + return mFakeBoundNetwork; + } + + public WrappedConnectivityManager(Context context, ConnectivityService service) { + super(context, service); + } + } + private class MockContext extends BroadcastInterceptingContext { MockContext(Context base) { super(base); @@ -484,6 +507,35 @@ public class ConnectivityServiceTest extends AndroidTestCase { } } + private class FakeWakeupMessage extends WakeupMessage { + private static final int UNREASONABLY_LONG_WAIT = 1000; + + public FakeWakeupMessage(Context context, Handler handler, String cmdName, int cmd) { + super(context, handler, cmdName, cmd); + } + + @Override + public void schedule(long when) { + long delayMs = when - SystemClock.elapsedRealtime(); + if (delayMs < 0) delayMs = 0; + if (delayMs > UNREASONABLY_LONG_WAIT) { + fail("Attempting to send msg more than " + UNREASONABLY_LONG_WAIT + + "ms into the future: " + delayMs); + } + mHandler.sendEmptyMessageDelayed(mCmd, delayMs); + } + + @Override + public void cancel() { + mHandler.removeMessages(mCmd); + } + + @Override + public void onAlarm() { + throw new AssertionError("Should never happen. Update this fake."); + } + } + // NetworkMonitor implementation allowing overriding of Internet connectivity probe result. private class WrappedNetworkMonitor extends NetworkMonitor { // HTTP response code fed back to NetworkMonitor for Internet connectivity probe. @@ -498,6 +550,12 @@ public class ConnectivityServiceTest extends AndroidTestCase { protected int isCaptivePortal() { return gen204ProbeResult; } + + @Override + protected WakeupMessage makeWakeupMessage( + Context context, Handler handler, String cmdName, int cmd) { + return new FakeWakeupMessage(context, handler, cmdName, cmd); + } } private class WrappedConnectivityService extends ConnectivityService { @@ -575,10 +633,10 @@ public class ConnectivityServiceTest extends AndroidTestCase { int delays = 0; while (!criteria.get()) { try { - Thread.sleep(100); + Thread.sleep(50); } catch (InterruptedException e) { } - if (++delays == 5) fail(); + if (++delays == 10) fail(); } } @@ -594,6 +652,8 @@ public class ConnectivityServiceTest extends AndroidTestCase { public void setUp() throws Exception { super.setUp(); + NetworkMonitor.SetDefaultLingerTime(120); + // InstrumentationTestRunner prepares a looper, but AndroidJUnitRunner does not. // http://b/25897652 . if (Looper.myLooper() == null) { @@ -607,7 +667,8 @@ public class ConnectivityServiceTest extends AndroidTestCase { mock(INetworkPolicyManager.class)); mService.systemReady(); - mCm = new ConnectivityManager(getContext(), mService); + mCm = new WrappedConnectivityManager(getContext(), mService); + mCm.bindProcessToNetwork(null); } private int transportToLegacyType(int transport) { @@ -674,8 +735,6 @@ public class ConnectivityServiceTest extends AndroidTestCase { @LargeTest public void testLingering() throws Exception { - // Decrease linger timeout to the minimum allowed by AlarmManagerService. - NetworkMonitor.SetDefaultLingerTime(5000); verifyNoNetwork(); mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR); mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI); @@ -702,10 +761,8 @@ public class ConnectivityServiceTest extends AndroidTestCase { assertTrue(mCm.getAllNetworks()[0].equals(mCellNetworkAgent.getNetwork()) || mCm.getAllNetworks()[1].equals(mCellNetworkAgent.getNetwork())); // Test cellular linger timeout. - try { - Thread.sleep(6000); - } catch (InterruptedException e) { - } + waitFor(new Criteria() { + public boolean get() { return mCm.getAllNetworks().length == 1; } }); verifyActiveNetwork(TRANSPORT_WIFI); assertEquals(1, mCm.getAllNetworks().length); assertEquals(mCm.getAllNetworks()[0], mCm.getActiveNetwork()); @@ -1543,4 +1600,103 @@ public class ConnectivityServiceTest extends AndroidTestCase { String url = mCm.getCaptivePortalServerUrl(); assertEquals("http://connectivitycheck.gstatic.com/generate_204", url); } + + private static class TestNetworkPinner extends NetworkPinner { + public static boolean awaitPin(int timeoutMs) { + synchronized(sLock) { + if (sNetwork == null) { + try { + sLock.wait(timeoutMs); + } catch (InterruptedException e) {} + } + return sNetwork != null; + } + } + + public static boolean awaitUnpin(int timeoutMs) { + synchronized(sLock) { + if (sNetwork != null) { + try { + sLock.wait(timeoutMs); + } catch (InterruptedException e) {} + } + return sNetwork == null; + } + } + } + + private void assertPinnedToWifiWithCellDefault() { + assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getBoundNetworkForProcess()); + assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork()); + } + + private void assertPinnedToWifiWithWifiDefault() { + assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getBoundNetworkForProcess()); + assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork()); + } + + private void assertNotPinnedToWifi() { + assertNull(mCm.getBoundNetworkForProcess()); + assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork()); + } + + @SmallTest + public void testNetworkPinner() { + NetworkRequest wifiRequest = new NetworkRequest.Builder() + .addTransportType(TRANSPORT_WIFI) + .build(); + assertNull(mCm.getBoundNetworkForProcess()); + + TestNetworkPinner.pin(mServiceContext, wifiRequest); + assertNull(mCm.getBoundNetworkForProcess()); + + mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR); + mCellNetworkAgent.connect(true); + mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI); + mWiFiNetworkAgent.connect(false); + + // When wi-fi connects, expect to be pinned. + assertTrue(TestNetworkPinner.awaitPin(100)); + assertPinnedToWifiWithCellDefault(); + + // Disconnect and expect the pin to drop. + mWiFiNetworkAgent.disconnect(); + assertTrue(TestNetworkPinner.awaitUnpin(100)); + assertNotPinnedToWifi(); + + // Reconnecting does not cause the pin to come back. + mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI); + mWiFiNetworkAgent.connect(false); + assertFalse(TestNetworkPinner.awaitPin(100)); + assertNotPinnedToWifi(); + + // Pinning while connected causes the pin to take effect immediately. + TestNetworkPinner.pin(mServiceContext, wifiRequest); + assertTrue(TestNetworkPinner.awaitPin(100)); + assertPinnedToWifiWithCellDefault(); + + // Explicitly unpin and expect to use the default network again. + TestNetworkPinner.unpin(); + assertNotPinnedToWifi(); + + // Disconnect cell and wifi. + ConditionVariable cv = waitForConnectivityBroadcasts(3); // cell down, wifi up, wifi down. + mCellNetworkAgent.disconnect(); + mWiFiNetworkAgent.disconnect(); + waitFor(cv); + + // Pinning takes effect even if the pinned network is the default when the pin is set... + TestNetworkPinner.pin(mServiceContext, wifiRequest); + mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI); + mWiFiNetworkAgent.connect(false); + assertTrue(TestNetworkPinner.awaitPin(100)); + assertPinnedToWifiWithWifiDefault(); + + // ... and is maintained even when that network is no longer the default. + cv = waitForConnectivityBroadcasts(1); + mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI); + mCellNetworkAgent.connect(true); + waitFor(cv); + assertPinnedToWifiWithCellDefault(); + } } diff --git a/test-runner/src/android/test/mock/MockPackageManager.java b/test-runner/src/android/test/mock/MockPackageManager.java index 48f2fb30ecd4..c34d4a919242 100644 --- a/test-runner/src/android/test/mock/MockPackageManager.java +++ b/test-runner/src/android/test/mock/MockPackageManager.java @@ -518,14 +518,6 @@ public class MockPackageManager extends PackageManager { throw new UnsupportedOperationException(); } - /** @hide */ - @Override - public Drawable getManagedUserBadgedDrawableForDensity(Drawable drawable, Rect badgeLocation, - int badgeDensity) { - throw new UnsupportedOperationException(); - } - - @Override public Drawable getUserBadgedIcon(Drawable icon, UserHandle user) { throw new UnsupportedOperationException(); diff --git a/tests/HwAccelerationTest/res/drawable/default_wallpaper.jpg b/tests/HwAccelerationTest/res/drawable/default_wallpaper.jpg Binary files differdeleted file mode 100644 index 5acad947cc83..000000000000 --- a/tests/HwAccelerationTest/res/drawable/default_wallpaper.jpg +++ /dev/null diff --git a/tests/HwAccelerationTest/res/drawable/default_wallpaper.png b/tests/HwAccelerationTest/res/drawable/default_wallpaper.png Binary files differnew file mode 100644 index 000000000000..91ad252507e5 --- /dev/null +++ b/tests/HwAccelerationTest/res/drawable/default_wallpaper.png diff --git a/tests/HwAccelerationTest/res/layout/projection_clipping.xml b/tests/HwAccelerationTest/res/layout/projection_clipping.xml index 1f2b93946f48..1ea9f9cd49f6 100644 --- a/tests/HwAccelerationTest/res/layout/projection_clipping.xml +++ b/tests/HwAccelerationTest/res/layout/projection_clipping.xml @@ -3,24 +3,32 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> - <FrameLayout + <ScrollView + android:orientation="vertical" android:translationX="50dp" android:translationY="50dp" android:elevation="30dp" android:layout_width="200dp" android:layout_height="200dp" android:background="@drawable/round_rect_background"> - <View - android:id="@+id/clickable1" - android:layout_width="100dp" - android:layout_height="100dp" - android:background="?android:attr/selectableItemBackgroundBorderless"/> - <View - android:id="@+id/clickable2" - android:translationX="50dp" - android:translationY="10dp" - android:layout_width="150dp" - android:layout_height="100dp" - android:background="?android:attr/selectableItemBackgroundBorderless"/> - </FrameLayout> + <FrameLayout + android:layout_width="200dp" + android:layout_height="wrap_content"> + <View + android:layout_width="200dp" + android:layout_height="2000dp"/> + <View + android:id="@+id/clickable1" + android:layout_width="100dp" + android:layout_height="100dp" + android:background="?android:attr/selectableItemBackgroundBorderless"/> + <View + android:id="@+id/clickable2" + android:translationX="50dp" + android:translationY="10dp" + android:layout_width="150dp" + android:layout_height="100dp" + android:background="?android:attr/selectableItemBackgroundBorderless"/> + </FrameLayout> + </ScrollView> </LinearLayout> diff --git a/tools/layoutlib/.idea/libraries/junit.xml b/tools/layoutlib/.idea/libraries/junit.xml new file mode 100644 index 000000000000..c889f5ff6c97 --- /dev/null +++ b/tools/layoutlib/.idea/libraries/junit.xml @@ -0,0 +1,11 @@ +<component name="libraryTable"> + <library name="junit"> + <CLASSES> + <root url="jar://$PROJECT_DIR$/../../../../out/host/common/obj/JAVA_LIBRARIES/junit_intermediates/javalib.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES> + <root url="file://$PROJECT_DIR$/../../../../external/junit/src" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/tools/layoutlib/.idea/runConfigurations/Create.xml b/tools/layoutlib/.idea/runConfigurations/Create.xml index 58f057ac7289..fb798b6e6dab 100644 --- a/tools/layoutlib/.idea/runConfigurations/Create.xml +++ b/tools/layoutlib/.idea/runConfigurations/Create.xml @@ -2,7 +2,7 @@ <configuration default="false" name="Create" type="Application" factoryName="Application" singleton="true"> <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> <option name="MAIN_CLASS_NAME" value="com.android.tools.layoutlib.create.Main" /> - <option name="VM_PARAMETERS" value="" /> + <option name="VM_PARAMETERS" value="-ea" /> <option name="PROGRAM_PARAMETERS" value="out/host/common/obj/JAVA_LIBRARIES/temp_layoutlib_intermediates/javalib.jar out/target/common/obj/JAVA_LIBRARIES/core-libart_intermediates/classes.jar out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar out/target/common/obj/JAVA_LIBRARIES/icu4j-icudata-jarjar_intermediates/classes.jar out/target/common/obj/JAVA_LIBRARIES/icu4j-icutzdata-jarjar_intermediates/classes.jar out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes.jar out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/javalib.jar" /> <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/../../../../" /> <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> diff --git a/tools/layoutlib/bridge/bridge.iml b/tools/layoutlib/bridge/bridge.iml index ccc10b325b77..57d08cb22c7e 100644 --- a/tools/layoutlib/bridge/bridge.iml +++ b/tools/layoutlib/bridge/bridge.iml @@ -84,6 +84,6 @@ </SOURCES> </library> </orderEntry> - <orderEntry type="library" scope="TEST" name="JUnit4" level="application" /> + <orderEntry type="library" scope="TEST" name="junit" level="project" /> </component> </module>
\ No newline at end of file diff --git a/tools/layoutlib/bridge/tests/src/com/android/layoutlib/bridge/intensive/Main.java b/tools/layoutlib/bridge/tests/src/com/android/layoutlib/bridge/intensive/Main.java index 6b23da71861a..27260421a938 100644 --- a/tools/layoutlib/bridge/tests/src/com/android/layoutlib/bridge/intensive/Main.java +++ b/tools/layoutlib/bridge/tests/src/com/android/layoutlib/bridge/intensive/Main.java @@ -335,7 +335,7 @@ public class Main { .setNavigation(Navigation.NONAV); SessionParams params = getSessionParams(parser, customConfigGenerator, - layoutLibCallback, "Theme.Material.NoActionBar.Fullscreen", false, + layoutLibCallback, "Theme.Material.Light.NoActionBar.Fullscreen", false, RenderingMode.V_SCROLL, 22); renderAndVerify(params, "expand_vert_layout.png"); @@ -348,7 +348,7 @@ public class Main { parser = new LayoutPullParser(APP_TEST_RES + "/layout/" + "expand_horz_layout.xml"); params = getSessionParams(parser, customConfigGenerator, - layoutLibCallback, "Theme.Material.NoActionBar.Fullscreen", false, + layoutLibCallback, "Theme.Material.Light.NoActionBar.Fullscreen", false, RenderingMode.H_SCROLL, 22); renderAndVerify(params, "expand_horz_layout.png"); diff --git a/tools/layoutlib/create/create.iml b/tools/layoutlib/create/create.iml index b2b14b4e8a91..368b46bc92dc 100644 --- a/tools/layoutlib/create/create.iml +++ b/tools/layoutlib/create/create.iml @@ -22,6 +22,6 @@ </SOURCES> </library> </orderEntry> - <orderEntry type="library" scope="TEST" name="JUnit4" level="application" /> + <orderEntry type="library" scope="TEST" name="junit" level="project" /> </component> </module>
\ No newline at end of file diff --git a/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/DelegateClassAdapterTest.java b/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/DelegateClassAdapterTest.java index 0912fb1e105c..afaa3997adf7 100644 --- a/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/DelegateClassAdapterTest.java +++ b/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/DelegateClassAdapterTest.java @@ -53,12 +53,10 @@ public class DelegateClassAdapterTest { private MockLog mLog; - private static final String NATIVE_CLASS_NAME = ClassWithNative.class.getCanonicalName(); - private static final String OUTER_CLASS_NAME = OuterClass.class.getCanonicalName(); - private static final String INNER_CLASS_NAME = OuterClass.class.getCanonicalName() + "$" + - InnerClass.class.getSimpleName(); - private static final String STATIC_INNER_CLASS_NAME = - OuterClass.class.getCanonicalName() + "$" + StaticInnerClass.class.getSimpleName(); + private static final String NATIVE_CLASS_NAME = ClassWithNative.class.getName(); + private static final String OUTER_CLASS_NAME = OuterClass.class.getName(); + private static final String INNER_CLASS_NAME = InnerClass.class.getName(); + private static final String STATIC_INNER_CLASS_NAME = StaticInnerClass.class.getName(); @Before public void setUp() throws Exception { @@ -69,12 +67,12 @@ public class DelegateClassAdapterTest { /** * Tests that a class not being modified still works. */ - @SuppressWarnings("unchecked") @Test public void testNoOp() throws Throwable { // create an instance of the class that will be modified // (load the class in a distinct class loader so that we can trash its definition later) ClassLoader cl1 = new ClassLoader(this.getClass().getClassLoader()) { }; + @SuppressWarnings("unchecked") Class<ClassWithNative> clazz1 = (Class<ClassWithNative>) cl1.loadClass(NATIVE_CLASS_NAME); ClassWithNative instance1 = clazz1.newInstance(); assertEquals(42, instance1.add(20, 22)); diff --git a/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/StubMethodAdapterTest.java b/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/StubMethodAdapterTest.java new file mode 100644 index 000000000000..3db3e2364eec --- /dev/null +++ b/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/StubMethodAdapterTest.java @@ -0,0 +1,132 @@ +/* + * Copyright (C) 2016 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.tools.layoutlib.create; + +import com.android.tools.layoutlib.create.dataclass.StubClass; + +import org.junit.Assert; +import org.junit.Test; +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Type; + +import java.lang.reflect.Method; +import java.util.function.BiPredicate; +import java.util.function.Consumer; + +import static org.junit.Assert.*; + +public class StubMethodAdapterTest { + + private static final String STUB_CLASS_NAME = StubClass.class.getName(); + + /** + * Load a dummy class, stub one of its method and ensure that the modified class works as + * intended. + */ + @Test + public void testBoolean() throws Exception { + final String methodName = "returnTrue"; + // First don't change the method and assert that it returns true + testBoolean((name, type) -> false, Assert::assertTrue, methodName); + // Change the method now and assert that it returns false. + testBoolean((name, type) -> methodName.equals(name) && + Type.BOOLEAN_TYPE.equals(type.getReturnType()), Assert::assertFalse, methodName); + } + + /** + * @param methodPredicate tests if the method should be replaced + */ + private void testBoolean(BiPredicate<String, Type> methodPredicate, Consumer<Boolean> assertion, + String methodName) throws Exception { + ClassWriter writer = new ClassWriter(ClassWriter.COMPUTE_MAXS); + // Always rename the class to avoid conflict with the original class. + String newClassName = STUB_CLASS_NAME + '_'; + new ClassReader(STUB_CLASS_NAME).accept( + new ClassAdapter(newClassName, writer, methodPredicate), 0); + MyClassLoader myClassLoader = new MyClassLoader(newClassName, writer.toByteArray()); + Class<?> aClass = myClassLoader.loadClass(newClassName); + assertTrue("StubClass not loaded by the classloader. Likely a bug in the test.", + myClassLoader.findClassCalled); + Method method = aClass.getMethod(methodName); + Object o = aClass.newInstance(); + assertion.accept((Boolean) method.invoke(o)); + } + + private static class ClassAdapter extends ClassVisitor { + + private final String mClassName; + private final BiPredicate<String, Type> mMethodPredicate; + + private ClassAdapter(String className, ClassVisitor cv, + BiPredicate<String, Type> methodPredicate) { + super(Main.ASM_VERSION, cv); + mClassName = className.replace('.', '/'); + mMethodPredicate = methodPredicate; + } + + @Override + public void visit(int version, int access, String name, String signature, String superName, + String[] interfaces) { + super.visit(version, access, mClassName, signature, superName, + interfaces); + } + + @Override + public MethodVisitor visitMethod(int access, String name, String desc, String signature, + String[] exceptions) { + // Copied partly from + // com.android.tools.layoutlib.create.DelegateClassAdapter.visitMethod() + // but not generating the _Original method. + boolean isStatic = (access & Opcodes.ACC_STATIC) != 0; + boolean isNative = (access & Opcodes.ACC_NATIVE) != 0; + MethodVisitor originalMethod = + super.visitMethod(access, name, desc, signature, exceptions); + Type descriptor = Type.getMethodType(desc); + if (mMethodPredicate.test(name, descriptor)) { + String methodSignature = mClassName + "#" + name; + String invokeSignature = methodSignature + desc; + return new StubMethodAdapter(originalMethod, name, descriptor.getReturnType(), + invokeSignature, isStatic, isNative); + } + return originalMethod; + } + } + + private static class MyClassLoader extends ClassLoader { + private final String mName; + private final byte[] mBytes; + private boolean findClassCalled; + + private MyClassLoader(String name, byte[] bytes) { + mName = name; + mBytes = bytes; + } + + @Override + protected Class<?> findClass(String name) throws ClassNotFoundException { + if (name.equals(mName)) { + findClassCalled = true; + return defineClass(name, mBytes, 0, mBytes.length); + } + return super.findClass(name); + } + } +} diff --git a/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/dataclass/StubClass.java b/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/dataclass/StubClass.java new file mode 100644 index 000000000000..3ae8e47de6e3 --- /dev/null +++ b/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/dataclass/StubClass.java @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2016 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.tools.layoutlib.create.dataclass; + +import com.android.tools.layoutlib.create.StubMethodAdapterTest; + +/** + * Used by {@link StubMethodAdapterTest} + */ +@SuppressWarnings("unused") +public class StubClass { + + public boolean returnTrue() { + return true; + } +} diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java index 55cb63a7ac79..e2dd11121c17 100644 --- a/wifi/java/android/net/wifi/WifiManager.java +++ b/wifi/java/android/net/wifi/WifiManager.java @@ -39,9 +39,9 @@ import android.os.WorkSource; import android.util.Log; import android.util.SparseArray; -import com.android.internal.annotations.GuardedBy; import com.android.internal.util.AsyncChannel; import com.android.internal.util.Protocol; +import com.android.server.net.NetworkPinner; import java.net.InetAddress; import java.util.ArrayList; @@ -678,11 +678,6 @@ public class WifiManager { private static int sThreadRefCount; private static HandlerThread sHandlerThread; - @GuardedBy("sCM") - // TODO: Introduce refcounting and make this a per-process static callback, instead of a - // per-WifiManager callback. - private PinningNetworkCallback mNetworkCallback; - /** * Create a new WifiManager instance. * Applications will almost always want to use @@ -956,7 +951,11 @@ public class WifiManager { public boolean enableNetwork(int netId, boolean disableOthers) { final boolean pin = disableOthers && mTargetSdkVersion < Build.VERSION_CODES.LOLLIPOP; if (pin) { - registerPinningNetworkCallback(); + NetworkRequest request = new NetworkRequest.Builder() + .clearCapabilities() + .addTransportType(NetworkCapabilities.TRANSPORT_WIFI) + .build(); + NetworkPinner.pin(mContext, request); } boolean success; @@ -967,7 +966,7 @@ public class WifiManager { } if (pin && !success) { - unregisterPinningNetworkCallback(); + NetworkPinner.unpin(); } return success; @@ -2015,100 +2014,6 @@ public class WifiManager { "No permission to access and change wifi or a bad initialization"); } - private void initConnectivityManager() { - // TODO: what happens if an app calls a WifiManager API before ConnectivityManager is - // registered? Can we fix this by starting ConnectivityService before WifiService? - if (sCM == null) { - sCM = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); - if (sCM == null) { - throw new IllegalStateException("Bad luck, ConnectivityService not started."); - } - } - } - - /** - * A NetworkCallback that pins the process to the first wifi network to connect. - * - * We use this to maintain compatibility with pre-M apps that call WifiManager.enableNetwork() - * to connect to a Wi-Fi network that has no Internet access, and then assume that they will be - * able to use that network because it's the system default. - * - * In order to maintain compatibility with apps that call setProcessDefaultNetwork themselves, - * we try not to set the default network unless they have already done so, and we try not to - * clear the default network unless we set it ourselves. - * - * This should maintain behaviour that's compatible with L, which would pin the whole system to - * any wifi network that was created via enableNetwork(..., true) until that network - * disconnected. - * - * Note that while this hack allows network traffic to flow, it is quite limited. For example: - * - * 1. setProcessDefaultNetwork only affects this process, so: - * - Any subprocesses spawned by this process will not be pinned to Wi-Fi. - * - If this app relies on any other apps on the device also being on Wi-Fi, that won't work - * either, because other apps on the device will not be pinned. - * 2. The behaviour of other APIs is not modified. For example: - * - getActiveNetworkInfo will return the system default network, not Wi-Fi. - * - There will be no CONNECTIVITY_ACTION broadcasts about TYPE_WIFI. - * - getProcessDefaultNetwork will not return null, so if any apps are relying on that, they - * will be surprised as well. - */ - private class PinningNetworkCallback extends NetworkCallback { - private Network mPinnedNetwork; - - @Override - public void onPreCheck(Network network) { - if (sCM.getProcessDefaultNetwork() == null && mPinnedNetwork == null) { - sCM.setProcessDefaultNetwork(network); - mPinnedNetwork = network; - Log.d(TAG, "Wifi alternate reality enabled on network " + network); - } - } - - @Override - public void onLost(Network network) { - if (network.equals(mPinnedNetwork) && network.equals(sCM.getProcessDefaultNetwork())) { - sCM.setProcessDefaultNetwork(null); - Log.d(TAG, "Wifi alternate reality disabled on network " + network); - mPinnedNetwork = null; - unregisterPinningNetworkCallback(); - } - } - } - - private void registerPinningNetworkCallback() { - initConnectivityManager(); - synchronized (sCM) { - if (mNetworkCallback == null) { - // TODO: clear all capabilities. - NetworkRequest request = new NetworkRequest.Builder() - .addTransportType(NetworkCapabilities.TRANSPORT_WIFI) - .removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - .build(); - mNetworkCallback = new PinningNetworkCallback(); - try { - sCM.registerNetworkCallback(request, mNetworkCallback); - } catch (SecurityException e) { - Log.d(TAG, "Failed to register network callback", e); - } - } - } - } - - private void unregisterPinningNetworkCallback() { - initConnectivityManager(); - synchronized (sCM) { - if (mNetworkCallback != null) { - try { - sCM.unregisterNetworkCallback(mNetworkCallback); - } catch (SecurityException e) { - Log.d(TAG, "Failed to unregister network callback", e); - } - mNetworkCallback = null; - } - } - } - /** * Connect to a network with the given configuration. The network also * gets added to the supplicant configuration. |