diff options
180 files changed, 801 insertions, 2321 deletions
diff --git a/api/current.txt b/api/current.txt index 047f8d5c0ca9..299a33cdac9a 100644 --- a/api/current.txt +++ b/api/current.txt @@ -25582,10 +25582,6 @@ package android.provider { public static final class Telephony.Mms.Intents { field public static final java.lang.String CONTENT_CHANGED_ACTION = "android.intent.action.CONTENT_CHANGED"; field public static final java.lang.String DELETED_CONTENTS = "deleted_contents"; - field public static final java.lang.String EXTRA_MMS_CONTENT_URI = "android.provider.Telephony.extra.MMS_CONTENT_URI"; - field public static final java.lang.String EXTRA_MMS_LOCATION_URL = "android.provider.Telephony.extra.MMS_LOCATION_URL"; - field public static final java.lang.String MMS_DOWNLOAD_ACTION = "android.provider.Telephony.MMS_DOWNLOAD"; - field public static final java.lang.String MMS_SEND_ACTION = "android.provider.Telephony.MMS_SEND"; } public static final class Telephony.Mms.Outbox implements android.provider.Telephony.BaseMmsColumns { @@ -25689,10 +25685,8 @@ package android.provider { field public static final java.lang.String SMS_CB_RECEIVED_ACTION = "android.provider.Telephony.SMS_CB_RECEIVED"; field public static final java.lang.String SMS_DELIVER_ACTION = "android.provider.Telephony.SMS_DELIVER"; field public static final java.lang.String SMS_EMERGENCY_CB_RECEIVED_ACTION = "android.provider.Telephony.SMS_EMERGENCY_CB_RECEIVED"; - field public static final java.lang.String SMS_FILTER_ACTION = "android.provider.Telephony.SMS_FILTER"; field public static final java.lang.String SMS_RECEIVED_ACTION = "android.provider.Telephony.SMS_RECEIVED"; field public static final java.lang.String SMS_REJECTED_ACTION = "android.provider.Telephony.SMS_REJECTED"; - field public static final java.lang.String SMS_SEND_ACTION = "android.provider.Telephony.SMS_SEND"; field public static final java.lang.String SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED_ACTION = "android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED"; field public static final java.lang.String WAP_PUSH_DELIVER_ACTION = "android.provider.Telephony.WAP_PUSH_DELIVER"; field public static final java.lang.String WAP_PUSH_RECEIVED_ACTION = "android.provider.Telephony.WAP_PUSH_RECEIVED"; @@ -28374,14 +28368,10 @@ package android.telephony { method public void downloadMultimediaMessage(android.content.Context, java.lang.String, android.net.Uri, android.os.Bundle, android.app.PendingIntent); method public android.os.Bundle getCarrierConfigValues(); method public static android.telephony.SmsManager getDefault(); - method public void injectSmsPdu(byte[], java.lang.String, android.app.PendingIntent); method public void sendDataMessage(java.lang.String, java.lang.String, short, byte[], android.app.PendingIntent, android.app.PendingIntent); method public void sendMultimediaMessage(android.content.Context, android.net.Uri, java.lang.String, android.os.Bundle, android.app.PendingIntent); method public void sendMultipartTextMessage(java.lang.String, java.lang.String, java.util.ArrayList<java.lang.String>, java.util.ArrayList<android.app.PendingIntent>, java.util.ArrayList<android.app.PendingIntent>); method public void sendTextMessage(java.lang.String, java.lang.String, java.lang.String, android.app.PendingIntent, android.app.PendingIntent); - method public void updateMmsDownloadStatus(android.content.Context, int, int, android.net.Uri); - method public void updateMmsSendStatus(android.content.Context, int, byte[], int, android.net.Uri); - method public void updateSmsSendStatus(int, boolean); field public static final java.lang.String EXTRA_MMS_DATA = "android.telephony.extra.MMS_DATA"; field public static final java.lang.String MMS_CONFIG_ALIAS_ENABLED = "aliasEnabled"; field public static final java.lang.String MMS_CONFIG_ALIAS_MAX_CHARS = "aliasMaxChars"; @@ -28514,7 +28504,6 @@ package android.telephony { method public java.lang.String getSubscriberId(); method public java.lang.String getVoiceMailAlphaTag(); method public java.lang.String getVoiceMailNumber(); - method public int hasCarrierPrivileges(); method public boolean hasIccCard(); method public boolean iccCloseLogicalChannel(int); method public byte[] iccExchangeSimIO(int, int, int, int, int, java.lang.String); @@ -28525,18 +28514,11 @@ package android.telephony { method public boolean isSmsCapable(); method public void listen(android.telephony.PhoneStateListener, int); method public java.lang.String sendEnvelopeWithStatus(java.lang.String); - method public boolean setGlobalPreferredNetworkType(); - method public void setLine1NumberForDisplay(java.lang.String, java.lang.String); - method public boolean setOperatorBrandOverride(java.lang.String); field public static final java.lang.String ACTION_PHONE_STATE_CHANGED = "android.intent.action.PHONE_STATE"; field public static final java.lang.String ACTION_RESPOND_VIA_MESSAGE = "android.intent.action.RESPOND_VIA_MESSAGE"; field public static final int CALL_STATE_IDLE = 0; // 0x0 field public static final int CALL_STATE_OFFHOOK = 2; // 0x2 field public static final int CALL_STATE_RINGING = 1; // 0x1 - field public static final int CARRIER_PRIVILEGE_STATUS_ERROR_LOADING_RULES = -2; // 0xfffffffe - field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1 - field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0 - field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff field public static final int DATA_ACTIVITY_DORMANT = 4; // 0x4 field public static final int DATA_ACTIVITY_IN = 1; // 0x1 field public static final int DATA_ACTIVITY_INOUT = 3; // 0x3 diff --git a/core/java/android/bluetooth/BluetoothGatt.java b/core/java/android/bluetooth/BluetoothGatt.java index 22762297f927..c203a8e69e75 100644 --- a/core/java/android/bluetooth/BluetoothGatt.java +++ b/core/java/android/bluetooth/BluetoothGatt.java @@ -51,7 +51,6 @@ public final class BluetoothGatt implements BluetoothProfile { private int mConnState; private final Object mStateLock = new Object(); private Boolean mDeviceBusy = false; - private Boolean mIsCongested = false; private int mTransport; private static final int CONN_STATE_IDLE = 0; @@ -607,21 +606,6 @@ public final class BluetoothGatt implements BluetoothProfile { Log.w(TAG, "Unhandled exception in callback", ex); } } - - /** - * Callback indicating the remote device connection is congested. - * @hide - */ - public void onConnectionCongested(String address, boolean congested) { - if (DBG) Log.d(TAG, "onConnectionCongested() - Device=" + address - + " congested=" + congested); - if (!address.equals(mDevice.getAddress())) return; - try { - mIsCongested = congested; - } catch (Exception ex) { - Log.w(TAG, "Unhandled exception in callback", ex); - } - } }; /*package*/ BluetoothGatt(Context context, IBluetoothGatt iGatt, BluetoothDevice device, diff --git a/core/java/android/bluetooth/BluetoothGattCallbackWrapper.java b/core/java/android/bluetooth/BluetoothGattCallbackWrapper.java index da992f55f253..cdb24f40e2de 100644 --- a/core/java/android/bluetooth/BluetoothGattCallbackWrapper.java +++ b/core/java/android/bluetooth/BluetoothGattCallbackWrapper.java @@ -120,10 +120,6 @@ public class BluetoothGattCallbackWrapper extends IBluetoothGattCallback.Stub { } @Override - public void onConnectionCongested(String address, boolean congested) throws RemoteException { - } - - @Override public void onFoundOrLost(boolean onFound, ScanResult scanResult) throws RemoteException { } diff --git a/core/java/android/bluetooth/BluetoothGattServer.java b/core/java/android/bluetooth/BluetoothGattServer.java index a7f117b44c50..e94a8cea216d 100644 --- a/core/java/android/bluetooth/BluetoothGattServer.java +++ b/core/java/android/bluetooth/BluetoothGattServer.java @@ -48,7 +48,6 @@ public final class BluetoothGattServer implements BluetoothProfile { private BluetoothAdapter mAdapter; private IBluetoothGatt mService; private BluetoothGattServerCallback mCallback; - private Boolean mIsCongested = false; private Object mServerIfLock = new Object(); private int mServerIf; @@ -285,24 +284,6 @@ public final class BluetoothGattServer implements BluetoothProfile { Log.w(TAG, "Unhandled exception: " + ex); } } - - /** - * Callback indicating the remote device connection is congested. - * @hide - */ - public void onConnectionCongested(String address, boolean congested) { - if (DBG) Log.d(TAG, "onConnectionCongested() - Device=" + address - + " congested=" + congested); - - BluetoothDevice device = mAdapter.getRemoteDevice(address); - if (device == null) return; - - try { - mIsCongested = congested; - } catch (Exception ex) { - Log.w(TAG, "Unhandled exception in callback", ex); - } - } }; /** diff --git a/core/java/android/bluetooth/IBluetoothGattCallback.aidl b/core/java/android/bluetooth/IBluetoothGattCallback.aidl index 00b6b1b7f540..91e62ea65c73 100644 --- a/core/java/android/bluetooth/IBluetoothGattCallback.aidl +++ b/core/java/android/bluetooth/IBluetoothGattCallback.aidl @@ -68,6 +68,5 @@ oneway interface IBluetoothGattCallback { void onMultiAdvertiseCallback(in int status, boolean isStart, in AdvertiseSettings advertiseSettings); void onConfigureMTU(in String address, in int mtu, in int status); - void onConnectionCongested(in String address, in boolean congested); void onFoundOrLost(in boolean onFound, in ScanResult scanResult); } diff --git a/core/java/android/bluetooth/IBluetoothGattServerCallback.aidl b/core/java/android/bluetooth/IBluetoothGattServerCallback.aidl index 6e31da1d31e0..5d4d6c63efd1 100644 --- a/core/java/android/bluetooth/IBluetoothGattServerCallback.aidl +++ b/core/java/android/bluetooth/IBluetoothGattServerCallback.aidl @@ -59,5 +59,4 @@ oneway interface IBluetoothGattServerCallback { in byte[] value); void onExecuteWrite(in String address, in int transId, in boolean execWrite); void onNotificationSent(in String address, in int status); - void onConnectionCongested(in String address, in boolean congested); } diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index 702ac6baf822..77981f49daed 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -2723,6 +2723,9 @@ public class Intent implements Parcelable, Cloneable { public static final String ACTION_OPEN_DOCUMENT_TREE = "android.intent.action.OPEN_DOCUMENT_TREE"; + /** {@hide} */ + public static final String ACTION_MASTER_CLEAR = "android.intent.action.MASTER_CLEAR"; + // --------------------------------------------------------------------- // --------------------------------------------------------------------- // Standard intent categories (see addCategory()). @@ -3425,6 +3428,9 @@ public class Intent implements Parcelable, Cloneable { public static final String EXTRA_TIME_PREF_24_HOUR_FORMAT = "android.intent.extra.TIME_PREF_24_HOUR_FORMAT"; + /** {@hide} */ + public static final String EXTRA_REASON = "android.intent.extra.REASON"; + // --------------------------------------------------------------------- // --------------------------------------------------------------------- // Intent flags (see mFlags variable). diff --git a/core/java/android/hardware/camera2/legacy/BurstHolder.java b/core/java/android/hardware/camera2/legacy/BurstHolder.java index c141c51bce64..b9c89f8b34fe 100644 --- a/core/java/android/hardware/camera2/legacy/BurstHolder.java +++ b/core/java/android/hardware/camera2/legacy/BurstHolder.java @@ -22,6 +22,7 @@ import android.util.Log; import android.view.Surface; import java.util.ArrayList; +import java.util.Collection; import java.util.List; /** @@ -38,14 +39,16 @@ public class BurstHolder { * * @param requestId id of the burst request. * @param repeating true if this burst is repeating. - * @param requests a {@link java.util.List} of {@link CaptureRequest}s in this burst. + * @param requests a {@link List} of {@link CaptureRequest}s in this burst. + * @param jpegSurfaceIds a {@link Collection} of IDs for the surfaces that have jpeg outputs. */ - public BurstHolder(int requestId, boolean repeating, List<CaptureRequest> requests) { - mRequestBuilders = new ArrayList<RequestHolder.Builder>(); + public BurstHolder(int requestId, boolean repeating, List<CaptureRequest> requests, + Collection<Long> jpegSurfaceIds) { + mRequestBuilders = new ArrayList<>(); int i = 0; for (CaptureRequest r : requests) { mRequestBuilders.add(new RequestHolder.Builder(requestId, /*subsequenceId*/i, - /*request*/r, repeating)); + /*request*/r, repeating, jpegSurfaceIds)); ++i; } mRepeating = repeating; diff --git a/core/java/android/hardware/camera2/legacy/LegacyCameraDevice.java b/core/java/android/hardware/camera2/legacy/LegacyCameraDevice.java index a724b4142274..4587c6fa5231 100644 --- a/core/java/android/hardware/camera2/legacy/LegacyCameraDevice.java +++ b/core/java/android/hardware/camera2/legacy/LegacyCameraDevice.java @@ -522,7 +522,7 @@ public class LegacyCameraDevice implements AutoCloseable { return surfaceIds; } - static boolean containsSurfaceId(Surface s, List<Long> ids) { + static boolean containsSurfaceId(Surface s, Collection<Long> ids) { long id = getSurfaceId(s); return ids.contains(id); } diff --git a/core/java/android/hardware/camera2/legacy/RequestHolder.java b/core/java/android/hardware/camera2/legacy/RequestHolder.java index 69c140b5ef65..edd8e4ef64fe 100644 --- a/core/java/android/hardware/camera2/legacy/RequestHolder.java +++ b/core/java/android/hardware/camera2/legacy/RequestHolder.java @@ -43,71 +43,6 @@ public class RequestHolder { private volatile boolean mFailed = false; /** - * Returns true if the given surface requires jpeg buffers. - * - * @param s a {@link android.view.Surface} to check. - * @return true if the surface requires a jpeg buffer. - */ - public static boolean jpegType(Surface s) - throws LegacyExceptionUtils.BufferQueueAbandonedException { - return LegacyCameraDevice.detectSurfaceType(s) == - CameraMetadataNative.NATIVE_JPEG_FORMAT; - } - - /** - * Returns true if the given surface requires non-jpeg buffer types. - * - * <p> - * "Jpeg buffer" refers to the buffers returned in the jpeg - * {@link android.hardware.Camera.PictureCallback}. Non-jpeg buffers are created using a tee - * of the preview stream drawn to the surface - * set via {@link android.hardware.Camera#setPreviewDisplay(android.view.SurfaceHolder)} or - * equivalent methods. - * </p> - * @param s a {@link android.view.Surface} to check. - * @return true if the surface requires a non-jpeg buffer type. - */ - public static boolean previewType(Surface s) - throws LegacyExceptionUtils.BufferQueueAbandonedException { - return LegacyCameraDevice.detectSurfaceType(s) != - CameraMetadataNative.NATIVE_JPEG_FORMAT; - } - - /** - * Returns the number of surfaces targeted by the request that require jpeg buffers. - */ - private static int numJpegTargets(CaptureRequest request) { - int count = 0; - for (Surface s : request.getTargets()) { - try { - if (jpegType(s)) { - ++count; - } - } catch (LegacyExceptionUtils.BufferQueueAbandonedException e) { - Log.w(TAG, "Surface abandoned, skipping...", e); - } - } - return count; - } - - /** - * Returns the number of surfaces targeted by the request that require non-jpeg buffers. - */ - private static int numPreviewTargets(CaptureRequest request) { - int count = 0; - for (Surface s : request.getTargets()) { - try { - if (previewType(s)) { - ++count; - } - } catch (LegacyExceptionUtils.BufferQueueAbandonedException e) { - Log.w(TAG, "Surface abandoned, skipping...", e); - } - } - return count; - } - - /** * A builder class for {@link RequestHolder} objects. * * <p> @@ -121,6 +56,7 @@ public class RequestHolder { private final boolean mRepeating; private final int mNumJpegTargets; private final int mNumPreviewTargets; + private final Collection<Long> mJpegSurfaceIds; /** * Construct a new {@link Builder} to generate {@link RequestHolder} objects. @@ -132,17 +68,81 @@ public class RequestHolder { * @param repeating {@code true} if the request is repeating. */ public Builder(int requestId, int subsequenceId, CaptureRequest request, - boolean repeating) { + boolean repeating, Collection<Long> jpegSurfaceIds) { checkNotNull(request, "request must not be null"); mRequestId = requestId; mSubsequenceId = subsequenceId; mRequest = request; mRepeating = repeating; + mJpegSurfaceIds = jpegSurfaceIds; mNumJpegTargets = numJpegTargets(mRequest); mNumPreviewTargets = numPreviewTargets(mRequest); } /** + * Returns true if the given surface requires jpeg buffers. + * + * @param s a {@link android.view.Surface} to check. + * @return true if the surface requires a jpeg buffer. + */ + private boolean jpegType(Surface s) + throws LegacyExceptionUtils.BufferQueueAbandonedException { + return LegacyCameraDevice.containsSurfaceId(s, mJpegSurfaceIds); + } + + /** + * Returns true if the given surface requires non-jpeg buffer types. + * + * <p> + * "Jpeg buffer" refers to the buffers returned in the jpeg + * {@link android.hardware.Camera.PictureCallback}. Non-jpeg buffers are created using a tee + * of the preview stream drawn to the surface + * set via {@link android.hardware.Camera#setPreviewDisplay(android.view.SurfaceHolder)} or + * equivalent methods. + * </p> + * @param s a {@link android.view.Surface} to check. + * @return true if the surface requires a non-jpeg buffer type. + */ + private boolean previewType(Surface s) + throws LegacyExceptionUtils.BufferQueueAbandonedException { + return !jpegType(s); + } + + /** + * Returns the number of surfaces targeted by the request that require jpeg buffers. + */ + private int numJpegTargets(CaptureRequest request) { + int count = 0; + for (Surface s : request.getTargets()) { + try { + if (jpegType(s)) { + ++count; + } + } catch (LegacyExceptionUtils.BufferQueueAbandonedException e) { + Log.d(TAG, "Surface abandoned, skipping...", e); + } + } + return count; + } + + /** + * Returns the number of surfaces targeted by the request that require non-jpeg buffers. + */ + private int numPreviewTargets(CaptureRequest request) { + int count = 0; + for (Surface s : request.getTargets()) { + try { + if (previewType(s)) { + ++count; + } + } catch (LegacyExceptionUtils.BufferQueueAbandonedException e) { + Log.d(TAG, "Surface abandoned, skipping...", e); + } + } + return count; + } + + /** * Build a new {@link RequestHolder} using with parameters generated from this * {@link Builder}. * diff --git a/core/java/android/hardware/camera2/legacy/RequestQueue.java b/core/java/android/hardware/camera2/legacy/RequestQueue.java index 7598f99d00e4..c995029c3416 100644 --- a/core/java/android/hardware/camera2/legacy/RequestQueue.java +++ b/core/java/android/hardware/camera2/legacy/RequestQueue.java @@ -39,8 +39,11 @@ public class RequestQueue { private long mCurrentFrameNumber = 0; private long mCurrentRepeatingFrameNumber = INVALID_FRAME; private int mCurrentRequestId = 0; + private final List<Long> mJpegSurfaceIds; - public RequestQueue() {} + public RequestQueue(List<Long> jpegSurfaceIds) { + mJpegSurfaceIds = jpegSurfaceIds; + } /** * Return and remove the next burst on the queue. @@ -117,7 +120,7 @@ public class RequestQueue { public synchronized int submit(List<CaptureRequest> requests, boolean repeating, /*out*/LongParcelable frameNumber) { int requestId = mCurrentRequestId++; - BurstHolder burst = new BurstHolder(requestId, repeating, requests); + BurstHolder burst = new BurstHolder(requestId, repeating, requests, mJpegSurfaceIds); long ret = INVALID_FRAME; if (burst.isRepeating()) { Log.i(TAG, "Repeating capture request set."); diff --git a/core/java/android/hardware/camera2/legacy/RequestThreadManager.java b/core/java/android/hardware/camera2/legacy/RequestThreadManager.java index 788b6d8db16a..a9981d8952cb 100644 --- a/core/java/android/hardware/camera2/legacy/RequestThreadManager.java +++ b/core/java/android/hardware/camera2/legacy/RequestThreadManager.java @@ -78,7 +78,7 @@ public class RequestThreadManager { private static final int MAX_IN_FLIGHT_REQUESTS = 2; - private static final int PREVIEW_FRAME_TIMEOUT = 300; // ms + private static final int PREVIEW_FRAME_TIMEOUT = 1000; // ms private static final int JPEG_FRAME_TIMEOUT = 3000; // ms (same as CTS for API2) private static final int REQUEST_COMPLETE_TIMEOUT = 3000; // ms (same as JPEG timeout) @@ -91,9 +91,11 @@ public class RequestThreadManager { private SurfaceTexture mPreviewTexture; private Camera.Parameters mParams; + private final List<Long> mJpegSurfaceIds = new ArrayList<>(); + private Size mIntermediateBufferSize; - private final RequestQueue mRequestQueue = new RequestQueue(); + private final RequestQueue mRequestQueue = new RequestQueue(mJpegSurfaceIds); private LegacyRequest mLastRequest = null; private SurfaceTexture mDummyTexture; private Surface mDummySurface; @@ -102,6 +104,10 @@ public class RequestThreadManager { private final FpsCounter mPrevCounter = new FpsCounter("Incoming Preview"); private final FpsCounter mRequestCounter = new FpsCounter("Incoming Requests"); + // Stuff JPEGs into HAL_PIXEL_FORMAT_RGBA_8888 gralloc buffers to get around SW write + // limitations for (b/17379185). + private static final boolean USE_BLOB_FORMAT_OVERRIDE = true; + /** * Container object for Configure messages. */ @@ -197,10 +203,13 @@ public class RequestThreadManager { } for (Surface s : holder.getHolderTargets()) { try { - if (RequestHolder.jpegType(s)) { + if (LegacyCameraDevice.containsSurfaceId(s, mJpegSurfaceIds)) { Log.i(TAG, "Producing jpeg buffer..."); - LegacyCameraDevice.setSurfaceDimens(s, data.length + - LegacyCameraDevice.nativeGetJpegFooterSize(), /*height*/1); + + int totalSize = data.length + LegacyCameraDevice.nativeGetJpegFooterSize(); + totalSize += ((totalSize - 1) & ~0x3) + 4; // align to next octonibble + + LegacyCameraDevice.setSurfaceDimens(s, totalSize, /*height*/1); LegacyCameraDevice.setNextTimestamp(s, timestamp); LegacyCameraDevice.produceFrame(s, data, data.length, /*height*/1, CameraMetadataNative.NATIVE_JPEG_FORMAT); @@ -316,6 +325,7 @@ public class RequestThreadManager { mGLThreadManager.ignoreNewFrames(); mGLThreadManager.waitUntilIdle(); } + resetJpegSurfaceFormats(mCallbackOutputs); mPreviewOutputs.clear(); mCallbackOutputs.clear(); mPreviewTexture = null; @@ -329,6 +339,12 @@ public class RequestThreadManager { LegacyCameraDevice.setSurfaceOrientation(s, facing, orientation); switch (format) { case CameraMetadataNative.NATIVE_JPEG_FORMAT: + if (USE_BLOB_FORMAT_OVERRIDE) { + // Override to RGBA_8888 format. + LegacyCameraDevice.setSurfaceFormat(s, + LegacyMetadataMapper.HAL_PIXEL_FORMAT_RGBA_8888); + } + mJpegSurfaceIds.add(LegacyCameraDevice.getSurfaceId(s)); mCallbackOutputs.add(s); break; default: @@ -426,8 +442,19 @@ public class RequestThreadManager { } mCamera.setParameters(mParams); - // TODO: configure the JPEG surface with some arbitrary size - // using LegacyCameraDevice.nativeConfigureSurface + } + + private void resetJpegSurfaceFormats(Collection<Surface> surfaces) { + if (!USE_BLOB_FORMAT_OVERRIDE || surfaces == null) { + return; + } + for(Surface s : surfaces) { + try { + LegacyCameraDevice.setSurfaceFormat(s, LegacyMetadataMapper.HAL_PIXEL_FORMAT_BLOB); + } catch (LegacyExceptionUtils.BufferQueueAbandonedException e) { + Log.w(TAG, "Surface abandoned, skipping...", e); + } + } } /** @@ -459,9 +486,8 @@ public class RequestThreadManager { List<Size> configuredJpegSizes = new ArrayList<Size>(); for (Surface callbackSurface : callbackOutputs) { try { - int format = LegacyCameraDevice.detectSurfaceType(callbackSurface); - if (format != CameraMetadataNative.NATIVE_JPEG_FORMAT) { + if (!LegacyCameraDevice.containsSurfaceId(callbackSurface, mJpegSurfaceIds)) { continue; // Ignore non-JPEG callback formats } @@ -821,6 +847,7 @@ public class RequestThreadManager { if (mCamera != null) { mCamera.release(); } + resetJpegSurfaceFormats(mCallbackOutputs); break; default: throw new AssertionError("Unhandled message " + msg.what + diff --git a/core/java/android/hardware/camera2/legacy/SurfaceTextureRenderer.java b/core/java/android/hardware/camera2/legacy/SurfaceTextureRenderer.java index c018c3e37cec..c0d1d5e563c2 100644 --- a/core/java/android/hardware/camera2/legacy/SurfaceTextureRenderer.java +++ b/core/java/android/hardware/camera2/legacy/SurfaceTextureRenderer.java @@ -581,6 +581,7 @@ public class SurfaceTextureRenderer { // If pixel conversions aren't handled by egl, use a pbuffer try { if (LegacyCameraDevice.needsConversion(s)) { + // Always override to YV12 output for YUV surface formats. LegacyCameraDevice.setSurfaceFormat(s, ImageFormat.YV12); EGLSurfaceHolder holder = new EGLSurfaceHolder(); holder.surface = s; diff --git a/core/java/android/os/RecoverySystem.java b/core/java/android/os/RecoverySystem.java index 7a46e40c5368..b879c83eeadc 100644 --- a/core/java/android/os/RecoverySystem.java +++ b/core/java/android/os/RecoverySystem.java @@ -20,6 +20,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.UserManager; +import android.text.TextUtils; import android.util.Log; import java.io.ByteArrayInputStream; @@ -333,9 +334,10 @@ public class RecoverySystem { throws IOException { String filename = packageFile.getCanonicalPath(); Log.w(TAG, "!!! REBOOTING TO INSTALL " + filename + " !!!"); - String arg = "--update_package=" + filename + - "\n--locale=" + Locale.getDefault().toString(); - bootCommand(context, arg); + + final String filenameArg = "--update_package=" + filename; + final String localeArg = "--locale=" + Locale.getDefault().toString(); + bootCommand(context, filenameArg, localeArg); } /** @@ -352,7 +354,18 @@ public class RecoverySystem { * @throws SecurityException if the current user is not allowed to wipe data. */ public static void rebootWipeUserData(Context context) throws IOException { - rebootWipeUserData(context, false); + rebootWipeUserData(context, false, context.getPackageName()); + } + + /** {@hide} */ + public static void rebootWipeUserData(Context context, String reason) throws IOException { + rebootWipeUserData(context, false, reason); + } + + /** {@hide} */ + public static void rebootWipeUserData(Context context, boolean shutdown) + throws IOException { + rebootWipeUserData(context, shutdown, context.getPackageName()); } /** @@ -373,8 +386,8 @@ public class RecoverySystem { * * @hide */ - public static void rebootWipeUserData(Context context, boolean shutdown) - throws IOException { + public static void rebootWipeUserData(Context context, boolean shutdown, String reason) + throws IOException { UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE); if (um.hasUserRestriction(UserManager.DISALLOW_FACTORY_RESET)) { throw new SecurityException("Wiping data is not allowed for this user."); @@ -395,13 +408,18 @@ public class RecoverySystem { // Block until the ordered broadcast has completed. condition.block(); - String shutdownArg = ""; + String shutdownArg = null; if (shutdown) { - shutdownArg = "--shutdown_after\n"; + shutdownArg = "--shutdown_after"; + } + + String reasonArg = null; + if (!TextUtils.isEmpty(reason)) { + reasonArg = "--reason=" + sanitizeArg(reason); } - bootCommand(context, shutdownArg + "--wipe_data\n--locale=" + - Locale.getDefault().toString()); + final String localeArg = "--locale=" + Locale.getDefault().toString(); + bootCommand(context, shutdownArg, "--wipe_data", reasonArg, localeArg); } /** @@ -409,23 +427,38 @@ public class RecoverySystem { * @throws IOException if something goes wrong. */ public static void rebootWipeCache(Context context) throws IOException { - bootCommand(context, "--wipe_cache\n--locale=" + Locale.getDefault().toString()); + rebootWipeCache(context, context.getPackageName()); + } + + /** {@hide} */ + public static void rebootWipeCache(Context context, String reason) throws IOException { + String reasonArg = null; + if (!TextUtils.isEmpty(reason)) { + reasonArg = "--reason=" + sanitizeArg(reason); + } + + final String localeArg = "--locale=" + Locale.getDefault().toString(); + bootCommand(context, "--wipe_cache", reasonArg, localeArg); } /** * Reboot into the recovery system with the supplied argument. - * @param arg to pass to the recovery utility. + * @param args to pass to the recovery utility. * @throws IOException if something goes wrong. */ - private static void bootCommand(Context context, String arg) throws IOException { + private static void bootCommand(Context context, String... args) throws IOException { RECOVERY_DIR.mkdirs(); // In case we need it COMMAND_FILE.delete(); // In case it's not writable LOG_FILE.delete(); FileWriter command = new FileWriter(COMMAND_FILE); try { - command.write(arg); - command.write("\n"); + for (String arg : args) { + if (!TextUtils.isEmpty(arg)) { + command.write(arg); + command.write("\n"); + } + } } finally { command.close(); } @@ -470,5 +503,15 @@ public class RecoverySystem { return log; } + /** + * Internally, recovery treats each line of the command file as a separate + * argv, so we only need to protect against newlines and nulls. + */ + private static String sanitizeArg(String arg) { + arg = arg.replace('\0', '?'); + arg = arg.replace('\n', '?'); + return arg; + } + private void RecoverySystem() { } // Do not instantiate } diff --git a/core/java/android/service/notification/NotificationListenerService.java b/core/java/android/service/notification/NotificationListenerService.java index b22fd9c9b621..35fff7407a21 100644 --- a/core/java/android/service/notification/NotificationListenerService.java +++ b/core/java/android/service/notification/NotificationListenerService.java @@ -478,7 +478,7 @@ public abstract class NotificationListenerService extends Service { public final int getCurrentInterruptionFilter() { if (!isBound()) return 0; try { - return getNotificationInterface().getHintsFromListener(mWrapper); + return getNotificationInterface().getInterruptionFilterFromListener(mWrapper); } catch (android.os.RemoteException ex) { Log.v(TAG, "Unable to contact notification manager", ex); return 0; diff --git a/core/java/android/view/WindowManagerGlobal.java b/core/java/android/view/WindowManagerGlobal.java index 08160c8976a1..dffcca4152ba 100644 --- a/core/java/android/view/WindowManagerGlobal.java +++ b/core/java/android/view/WindowManagerGlobal.java @@ -434,11 +434,12 @@ public final class WindowManagerGlobal { boolean hasVisibleWindows = false; synchronized (mLock) { for (int i = mRoots.size() - 1; i >= 0; --i) { - if (mRoots.get(i).getHostVisibility() == View.VISIBLE - && mRoots.get(i).mAttachInfo.mHardwareRenderer != null) { + final ViewRootImpl root = mRoots.get(i); + if (root.mView != null && root.getHostVisibility() == View.VISIBLE + && root.mAttachInfo.mHardwareRenderer != null) { hasVisibleWindows = true; } else { - mRoots.get(i).destroyHardwareResources(); + root.destroyHardwareResources(); } } } diff --git a/core/java/com/android/internal/os/storage/ExternalStorageFormatter.java b/core/java/com/android/internal/os/storage/ExternalStorageFormatter.java index fb7f21560756..a5299238caa8 100644 --- a/core/java/com/android/internal/os/storage/ExternalStorageFormatter.java +++ b/core/java/com/android/internal/os/storage/ExternalStorageFormatter.java @@ -50,6 +50,7 @@ public class ExternalStorageFormatter extends Service private boolean mFactoryReset = false; private boolean mAlwaysReset = false; + private String mReason = null; StorageEventListener mStorageListener = new StorageEventListener() { @Override @@ -84,6 +85,7 @@ public class ExternalStorageFormatter extends Service mAlwaysReset = true; } + mReason = intent.getStringExtra(Intent.EXTRA_REASON); mStorageVolume = intent.getParcelableExtra(StorageVolume.EXTRA_STORAGE_VOLUME); if (mProgressDialog == null) { @@ -135,7 +137,10 @@ public class ExternalStorageFormatter extends Service void fail(int msg) { Toast.makeText(this, msg, Toast.LENGTH_LONG).show(); if (mAlwaysReset) { - sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR")); + Intent intent = new Intent(Intent.ACTION_MASTER_CLEAR); + intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND); + intent.putExtra(Intent.EXTRA_REASON, mReason); + sendBroadcast(intent); } stopSelf(); } @@ -179,7 +184,10 @@ public class ExternalStorageFormatter extends Service } if (success) { if (mFactoryReset) { - sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR")); + Intent intent = new Intent(Intent.ACTION_MASTER_CLEAR); + intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND); + intent.putExtra(Intent.EXTRA_REASON, mReason); + sendBroadcast(intent); // Intent handling is asynchronous -- assume it will happen soon. stopSelf(); return; @@ -188,7 +196,10 @@ public class ExternalStorageFormatter extends Service // If we didn't succeed, or aren't doing a full factory // reset, then it is time to remount the storage. if (!success && mAlwaysReset) { - sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR")); + Intent intent = new Intent(Intent.ACTION_MASTER_CLEAR); + intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND); + intent.putExtra(Intent.EXTRA_REASON, mReason); + sendBroadcast(intent); } else { try { mountService.mountVolume(extStoragePath); diff --git a/core/jni/android/graphics/BitmapFactory.cpp b/core/jni/android/graphics/BitmapFactory.cpp index 8ea28eca476b..6796134d1f19 100644 --- a/core/jni/android/graphics/BitmapFactory.cpp +++ b/core/jni/android/graphics/BitmapFactory.cpp @@ -478,7 +478,7 @@ static jobject nativeDecodeFileDescriptor(JNIEnv* env, jobject clazz, jobject fi NPE_CHECK_RETURN_ZERO(env, fileDescriptor); - jint descriptor = jniGetFDFromFileDescriptor(env, fileDescriptor); + int descriptor = jniGetFDFromFileDescriptor(env, fileDescriptor); struct stat fdStat; if (fstat(descriptor, &fdStat) == -1) { @@ -486,16 +486,22 @@ static jobject nativeDecodeFileDescriptor(JNIEnv* env, jobject clazz, jobject fi return nullObjectReturn("fstat return -1"); } - // Restore the descriptor's offset on exiting this function. - AutoFDSeek autoRestore(descriptor); + // Duplicate the descriptor here to prevent leaking memory. A leak occurs + // if we only close the file descriptor and not the file object it is used to + // create. If we don't explicitly clean up the file (which in turn closes the + // descriptor) the buffers allocated internally by fseek will be leaked. + int dupDescriptor = dup(descriptor); - FILE* file = fdopen(descriptor, "r"); + FILE* file = fdopen(dupDescriptor, "r"); if (file == NULL) { + // cleanup the duplicated descriptor since it will not be closed when the + // file is cleaned up (fclose). + close(dupDescriptor); return nullObjectReturn("Could not open file"); } SkAutoTUnref<SkFILEStream> fileStream(new SkFILEStream(file, - SkFILEStream::kCallerRetains_Ownership)); + SkFILEStream::kCallerPasses_Ownership)); // Use a buffered stream. Although an SkFILEStream can be rewound, this // ensures that SkImageDecoder::Factory never rewinds beyond the diff --git a/core/jni/android_hardware_camera2_legacy_LegacyCameraDevice.cpp b/core/jni/android_hardware_camera2_legacy_LegacyCameraDevice.cpp index 980ead0c8fc1..ee00161ad4f2 100644 --- a/core/jni/android_hardware_camera2_legacy_LegacyCameraDevice.cpp +++ b/core/jni/android_hardware_camera2_legacy_LegacyCameraDevice.cpp @@ -200,7 +200,7 @@ static status_t produceFrame(const sp<ANativeWindow>& anw, switch(pixelFmt) { case HAL_PIXEL_FORMAT_YCrCb_420_SP: { if (bufSize < width * height * 4) { - ALOGE("%s: PixelBuffer size %" PRId32 " to small for given dimensions", + ALOGE("%s: PixelBuffer size %" PRId32 " too small for given dimensions", __FUNCTION__, bufSize); return BAD_VALUE; } @@ -222,7 +222,7 @@ static status_t produceFrame(const sp<ANativeWindow>& anw, } case HAL_PIXEL_FORMAT_YV12: { if (bufSize < width * height * 4) { - ALOGE("%s: PixelBuffer size %" PRId32 " to small for given dimensions", + ALOGE("%s: PixelBuffer size %" PRId32 " too small for given dimensions", __FUNCTION__, bufSize); return BAD_VALUE; } @@ -259,7 +259,7 @@ static status_t produceFrame(const sp<ANativeWindow>& anw, // Software writes with YCbCr_420_888 format are unsupported // by the gralloc module for now if (bufSize < width * height * 4) { - ALOGE("%s: PixelBuffer size %" PRId32 " to small for given dimensions", + ALOGE("%s: PixelBuffer size %" PRId32 " too small for given dimensions", __FUNCTION__, bufSize); return BAD_VALUE; } @@ -281,6 +281,18 @@ static status_t produceFrame(const sp<ANativeWindow>& anw, return BAD_VALUE; } int8_t* img = NULL; + struct camera3_jpeg_blob footer = { + jpeg_blob_id: CAMERA3_JPEG_BLOB_ID, + jpeg_size: (uint32_t)width + }; + + size_t totalSize = static_cast<size_t>(width) + sizeof(footer); + size_t padding = ((totalSize - 1) & ~0x3) + 4; // align to next octonibble + totalSize += padding; + if (anb->width != totalSize) { + ALOGE("%s: gralloc buffer wrong size to hold jpeg, failed to produce buffer."); + return BAD_VALUE; + } ALOGV("%s: Lock buffer from %p for write", __FUNCTION__, anw.get()); err = buf->lock(GRALLOC_USAGE_SW_WRITE_OFTEN, (void**)(&img)); @@ -289,12 +301,9 @@ static status_t produceFrame(const sp<ANativeWindow>& anw, err); return err; } - struct camera3_jpeg_blob footer = { - jpeg_blob_id: CAMERA3_JPEG_BLOB_ID, - jpeg_size: (uint32_t)width - }; memcpy(img, pixelBuffer, width); - memcpy(img + anb->width - sizeof(footer), &footer, sizeof(footer)); + memset(img + width, 0, padding); + memcpy(img + totalSize - sizeof(footer), &footer, sizeof(footer)); break; } default: { diff --git a/core/jni/android_os_Debug.cpp b/core/jni/android_os_Debug.cpp index 87ee6184563d..7b3528b23823 100644 --- a/core/jni/android_os_Debug.cpp +++ b/core/jni/android_os_Debug.cpp @@ -271,27 +271,19 @@ static void read_mapinfo(FILE *fp, stats_t* stats) whichHeap = HEAP_DALVIK_OTHER; if (strstr(name, "/dev/ashmem/dalvik-LinearAlloc") == name) { subHeap = HEAP_DALVIK_LINEARALLOC; - } else if ((strstr(name, "/dev/ashmem/dalvik-mark") == name) || - (strstr(name, "/dev/ashmem/dalvik-allocspace alloc space live-bitmap") == name) || - (strstr(name, "/dev/ashmem/dalvik-allocspace alloc space mark-bitmap") == name) || - (strstr(name, "/dev/ashmem/dalvik-card table") == name) || - (strstr(name, "/dev/ashmem/dalvik-allocation stack") == name) || - (strstr(name, "/dev/ashmem/dalvik-live stack") == name) || - (strstr(name, "/dev/ashmem/dalvik-imagespace") == name) || - (strstr(name, "/dev/ashmem/dalvik-bitmap") == name) || - (strstr(name, "/dev/ashmem/dalvik-card-table") == name) || - (strstr(name, "/dev/ashmem/dalvik-mark-stack") == name) || - (strstr(name, "/dev/ashmem/dalvik-aux-structure") == name)) { - subHeap = HEAP_DALVIK_ACCOUNTING; - } else if (strstr(name, "/dev/ashmem/dalvik-large") == name) { + } else if ((strstr(name, "/dev/ashmem/dalvik-alloc space") == name) || + (strstr(name, "/dev/ashmem/dalvik-main space") == name) || + (strstr(name, "/dev/ashmem/dalvik-non moving space") == name)) { + // This is the regular Dalvik heap. + whichHeap = HEAP_DALVIK; + subHeap = HEAP_DALVIK_NORMAL; + } else if (strstr(name, "/dev/ashmem/dalvik-large object space") == name) { whichHeap = HEAP_DALVIK; subHeap = HEAP_DALVIK_LARGE; } else if (strstr(name, "/dev/ashmem/dalvik-jit-code-cache") == name) { subHeap = HEAP_DALVIK_CODE_CACHE; } else { - // This is the regular Dalvik heap. - whichHeap = HEAP_DALVIK; - subHeap = HEAP_DALVIK_NORMAL; + subHeap = HEAP_DALVIK_ACCOUNTING; // Default to accounting. } } else if (strncmp(name, "/dev/ashmem/CursorWindow", 24) == 0) { whichHeap = HEAP_CURSOR; diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml index 2e3dd46e937d..a01a1548f4eb 100644 --- a/core/res/res/values-hi/strings.xml +++ b/core/res/res/values-hi/strings.xml @@ -108,7 +108,7 @@ <string name="serviceClassPAD" msgid="3235259085648271037">"PAD"</string> <string name="roamingText0" msgid="7170335472198694945">"रोमिंग संकेतक चालू"</string> <string name="roamingText1" msgid="5314861519752538922">"रोमिंग संकेतक बंद"</string> - <string name="roamingText2" msgid="8969929049081268115">"रोमिंग संकेतक चमक रहा है"</string> + <string name="roamingText2" msgid="8969929049081268115">"रोमिंग संकेतक स्क्रीन की रोशनी रहा है"</string> <string name="roamingText3" msgid="5148255027043943317">"मोहल्ले से बाहर"</string> <string name="roamingText4" msgid="8808456682550796530">"भवन से बाहर"</string> <string name="roamingText5" msgid="7604063252850354350">"रोमिंग - पसंदीदा सिस्टम"</string> @@ -588,7 +588,7 @@ <string name="permlab_performCdmaProvisioning" product="tablet" msgid="4842576994144604821">"सीधे CDMA टेबलेट सेटअप प्रारंभ करें"</string> <string name="permlab_performCdmaProvisioning" product="default" msgid="5604848095315421425">"सीधे CDMA फ़ोन सेटअप प्रारंभ करें"</string> <string name="permdesc_performCdmaProvisioning" msgid="1994193538802314186">"ऐप्स को CDMA प्रावधान प्रारंभ करने देता है. दुर्भावनापूर्ण ऐप्स अनावश्यक रूप से CDMA प्रावधान प्रारंभ कर सकते हैं."</string> - <string name="permlab_locationUpdates" msgid="7785408253364335740">"स्थान के बारे में नई जानकारी की सूचनाओं को नियंत्रित करें"</string> + <string name="permlab_locationUpdates" msgid="7785408253364335740">"स्थान के बारे में नई जानकारी की नोटिफिकेशन को नियंत्रित करें"</string> <string name="permdesc_locationUpdates" msgid="1120741557891438876">"एप को रेडियो से स्थान के बारे में नई जानकारी की सूचनाएं सक्षम/अक्षम करने देता है. सामान्य ऐप्स द्वारा उपयोग करने के लिए नहीं."</string> <string name="permlab_checkinProperties" msgid="7855259461268734914">"चेकइन गुणों में पहुंचें"</string> <string name="permdesc_checkinProperties" msgid="4024526968630194128">"ऐप्स को चेकइन सेवा द्वारा अपलोड किए गए गुणों पर पढ़ें/लिखें पहुंच देता है. सामान्य ऐप्स द्वारा उपयोग करने के लिए नहीं."</string> @@ -726,8 +726,8 @@ <string name="permdesc_manageNetworkPolicy" msgid="7537586771559370668">"ऐप्स को नेटवर्क नीतियां प्रबंधित करने और ऐप्स-विशिष्ट नियमों को परिभाषित करने देता है."</string> <string name="permlab_modifyNetworkAccounting" msgid="5088217309088729650">"नेटवर्क उपयोग हिसाब बदलें"</string> <string name="permdesc_modifyNetworkAccounting" msgid="5443412866746198123">"ऐप्स को यह संशोधित करने देता है कि ऐप्स की तुलना में नेटवर्क उपयोग का मूल्यांकन कैसे किया जाता है. सामान्य ऐप्स द्वारा उपयोग करने के लिए नहीं."</string> - <string name="permlab_accessNotifications" msgid="7673416487873432268">"सूचनाओं तक पहुंचें"</string> - <string name="permdesc_accessNotifications" msgid="458457742683431387">"ऐप्स को सूचनाओं को प्राप्त करने, जांच करने, और साफ़ करने देता है, जिनमें अन्य ऐप्स के द्वारा पोस्ट की गई सूचनाएं भी शामिल हैं."</string> + <string name="permlab_accessNotifications" msgid="7673416487873432268">"नोटिफिकेशन तक पहुंचें"</string> + <string name="permdesc_accessNotifications" msgid="458457742683431387">"ऐप्स को नोटिफिकेशन को प्राप्त करने, जांच करने, और साफ़ करने देता है, जिनमें अन्य ऐप्स के द्वारा पोस्ट की गई सूचनाएं भी शामिल हैं."</string> <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"नोटिफिकेशन श्रवणकर्ता सेवा से जुड़ें"</string> <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"धारक को नोटिफिकेशन श्रवणकर्ता सेवा के शीर्ष स्तरीय इंटरफ़ेस से जुड़ने देती है. सामान्य ऐप्स के लिए कभी भी आवश्यक नहीं होनी चाहिए."</string> <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"किसी स्थिति प्रदाता सेवा से आबद्ध हों"</string> diff --git a/core/res/res/values-lo-rLA/strings.xml b/core/res/res/values-lo-rLA/strings.xml index a40c056ea007..e8cb675d0aaa 100644 --- a/core/res/res/values-lo-rLA/strings.xml +++ b/core/res/res/values-lo-rLA/strings.xml @@ -1229,7 +1229,7 @@ <string name="smv_application" msgid="3307209192155442829">"ແອັບຯ <xliff:g id="APPLICATION">%1$s</xliff:g> (ໂປຣເຊສ <xliff:g id="PROCESS">%2$s</xliff:g>) ໄດ້ລະເມີດນະໂຍບາຍ StrictMode ທີ່ບັງຄັບໃຊ້ດ້ວຍໂຕເອງ."</string> <string name="smv_process" msgid="5120397012047462446">"ໂປຣເຊສ <xliff:g id="PROCESS">%1$s</xliff:g> ລະເມີດນະໂຍບາຍບັງຄັບໃຊ້ເອງ StrictMode."</string> <string name="android_upgrading_title" msgid="1584192285441405746">"ກຳລັງອັບເກຣດ Android..."</string> - <string name="android_upgrading_apk" msgid="7904042682111526169">"ກຳລັງປັບປຸງປະສິດຕິພາບແອັບຯທີ <xliff:g id="NUMBER_0">%1$d</xliff:g> ຈາກທັງໝົດ <xliff:g id="NUMBER_1">%2$d</xliff:g>."</string> + <string name="android_upgrading_apk" msgid="7904042682111526169">"ກຳລັງປັບປຸງປະສິດທິພາບແອັບຯທີ <xliff:g id="NUMBER_0">%1$d</xliff:g> ຈາກທັງໝົດ <xliff:g id="NUMBER_1">%2$d</xliff:g> ແອັບຯ."</string> <string name="android_upgrading_starting_apps" msgid="451464516346926713">"ກຳລັງເປີດແອັບຯ."</string> <string name="android_upgrading_complete" msgid="1405954754112999229">"ກຳລັງສຳເລັດການເປີດລະບົບ."</string> <string name="heavy_weight_notification" msgid="9087063985776626166">"<xliff:g id="APP">%1$s</xliff:g> ກຳລັງເຮັດວຽກ"</string> diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml index 746eb4fd796f..ae2f8661f3b5 100644 --- a/core/res/res/values-pl/strings.xml +++ b/core/res/res/values-pl/strings.xml @@ -1640,7 +1640,7 @@ <string name="accessibility_enabled" msgid="1381972048564547685">"Włączono ułatwienia dostępu."</string> <string name="enable_accessibility_canceled" msgid="3833923257966635673">"Ułatwienia dostępu zostały anulowane."</string> <string name="user_switched" msgid="3768006783166984410">"Bieżący użytkownik: <xliff:g id="NAME">%1$s</xliff:g>."</string> - <string name="user_switching_message" msgid="2871009331809089783">"Przełączam na <xliff:g id="NAME">%1$s</xliff:g>…"</string> + <string name="user_switching_message" msgid="2871009331809089783">"Przełączam na użytkownika <xliff:g id="NAME">%1$s</xliff:g>…"</string> <string name="owner_name" msgid="2716755460376028154">"Właściciel"</string> <string name="error_message_title" msgid="4510373083082500195">"Błąd"</string> <string name="error_message_change_not_allowed" msgid="1347282344200417578">"Ta zmiana nie jest dozwolona przez administratora"</string> diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml index 08beb14bf5e3..1ef185fcc596 100644 --- a/core/res/res/values-tr/strings.xml +++ b/core/res/res/values-tr/strings.xml @@ -1131,7 +1131,7 @@ <item quantity="other" msgid="2973062968038355991">"<xliff:g id="COUNT">%d</xliff:g> gün içinde"</item> </plurals> <string name="preposition_for_date" msgid="9093949757757445117">"<xliff:g id="DATE">%s</xliff:g> tarihinde"</string> - <string name="preposition_for_time" msgid="5506831244263083793">"<xliff:g id="TIME">%s</xliff:g> saatinde"</string> + <string name="preposition_for_time" msgid="5506831244263083793">"<xliff:g id="TIME">%s</xliff:g>"</string> <string name="preposition_for_year" msgid="5040395640711867177">"<xliff:g id="YEAR">%s</xliff:g> yılında"</string> <string name="day" msgid="8144195776058119424">"gün"</string> <string name="days" msgid="4774547661021344602">"gün"</string> diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 38f146bc46ac..bd9e2f6df681 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -365,6 +365,8 @@ <integer translatable="false" name="config_wifi_framework_wifi_score_bad_link_speed_5">12</integer> <integer translatable="false" name="config_wifi_framework_wifi_score_good_link_speed_24">24</integer> <integer translatable="false" name="config_wifi_framework_wifi_score_good_link_speed_5">36</integer> + <string translatable="false" name="config_wifi_random_mac_oui">DA-A1-19</string> + <bool translatable="false" name="config_wifi_framework_cellular_handover_enable_user_triggered_adjustment">true</bool> <!-- Integer packet threshold used to allow scan while associated --> @@ -1844,4 +1846,9 @@ <item>71610</item> <item>732101</item> </string-array> + + <!-- Config determines whether to update phone object when voice registration + state changes. Voice radio tech change will always trigger an update of + phone object irrespective of this config --> + <bool name="config_switch_phone_on_voice_reg_state_change">true</bool> </resources> diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml index a794b626f631..8ebcd6d27130 100644 --- a/core/res/res/values/public.xml +++ b/core/res/res/values/public.xml @@ -2583,4 +2583,13 @@ <public type="raw" name="loaderror" id="0x01100000" /> <!-- WebView error page for when domain lookup fails. @hide @SystemApi --> <public type="raw" name="nodomain" id="0x01100001" /> + + <!-- =============================================================== + Insert space from public API 21 attributes to private attributes + =============================================================== --> + <eat-comment /> + + <!-- @hide --> + <public-padding type="attr" name="private_resource_pad" end="0x01010500" /> + </resources> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 5c246a4a084e..2620c27c4c14 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -322,6 +322,8 @@ <java-symbol type="integer" name="config_wifi_framework_wifi_score_bad_link_speed_5" /> <java-symbol type="integer" name="config_wifi_framework_wifi_score_good_link_speed_24" /> <java-symbol type="integer" name="config_wifi_framework_wifi_score_good_link_speed_5" /> + <java-symbol type="string" name="config_wifi_random_mac_oui" /> + <java-symbol type="bool" name="editable_voicemailnumber" /> <java-symbol type="bool" name="config_wifi_framework_cellular_handover_enable_user_triggered_adjustment" /> @@ -2064,4 +2066,5 @@ <java-symbol type="array" name="dial_string_replace" /> <java-symbol type="bool" name="config_restart_radio_on_pdp_fail_regular_deactivation" /> <java-symbol type="array" name="networks_not_clear_data" /> + <java-symbol type="bool" name="config_switch_phone_on_voice_reg_state_change" /> </resources> diff --git a/docs/html/app.yaml b/docs/html/app.yaml index 9ffb775f4177..520ee995f690 100644 --- a/docs/html/app.yaml +++ b/docs/html/app.yaml @@ -1,38 +1,25 @@ application: androidappdocs-staging version: 1 -runtime: python +runtime: python27 +threadsafe: true api_version: 1 +# compatibility: gae-1.9.4+ -# This file defines two mutually exclusive -# hander blocks: -# - a handler for use on a local dev_appserver -# during development or non-production doc build -# - a handler for use on a production gae -# instance. This handler requires that the -# docs files in the app have been compressed -# with divide_and_compress.py and that main.py -# and gae_shell/ are present. -# -# Only one of the handler blocks should be -# uncommented at any given time. By default, -# the development handler is exposed. +# handler for local staging servers +# WARNING: NOT FOR USE IN PRODUCTION + +# Use this handler definition with +# Google App Engine 1.9.4 or higher. +# NOT compatible with prior GAE versions handlers: # DEVELOPMENT HANDLER -# (this handler block *must* be commented -# out before pushing to a production server) -- url: / - static_dir: / +- url: /(.+) + static_files: \1 + upload: (.+) -# PRODUCTION GAE HANDLER -#- url: /gae_shell/static -# static_dir: gae_shell/static -# expiration: 1d -# -#- url: /gae_shell/.* -# script: /gae_shell/shell.py -# login: admin -# -#- url: .* -# script: main.py +# Direct default, blank requests +- url: / + static_files: index.html + upload: index.html
\ No newline at end of file diff --git a/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java b/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java index 49e8b9da5f89..df1b126a79ee 100644 --- a/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java +++ b/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java @@ -137,8 +137,7 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { private boolean mMutated; public AnimatedVectorDrawable() { - mAnimatedVectorState = new AnimatedVectorDrawableState( - new AnimatedVectorDrawableState(null)); + mAnimatedVectorState = new AnimatedVectorDrawableState(null); } private AnimatedVectorDrawable(AnimatedVectorDrawableState state, Resources res, @@ -160,10 +159,16 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { @Override public ConstantState getConstantState() { + mAnimatedVectorState.mChangingConfigurations = getChangingConfigurations(); return mAnimatedVectorState; } @Override + public int getChangingConfigurations() { + return super.getChangingConfigurations() | mAnimatedVectorState.mChangingConfigurations; + } + + @Override public void draw(Canvas canvas) { mAnimatedVectorState.mVectorDrawable.draw(canvas); if (isStarted()) { @@ -347,6 +352,8 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { mTargetNameMap.put(animClone, targetName); } } + } else { + mVectorDrawable = new VectorDrawable(); } } diff --git a/media/java/android/media/CamcorderProfile.java b/media/java/android/media/CamcorderProfile.java index 5651fc932589..9609c3551106 100644 --- a/media/java/android/media/CamcorderProfile.java +++ b/media/java/android/media/CamcorderProfile.java @@ -337,6 +337,24 @@ public class CamcorderProfile /** * Returns true if camcorder profile exists for the first back-facing * camera at the given quality level. + * + * <p> + * When using the Camera 2 API in {@code LEGACY} mode (i.e. when + * {@link android.hardware.camera2.CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL} is set + * to + * {@link android.hardware.camera2.CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY}), + * {@link #hasProfile} may return {@code true} for unsupported resolutions. To ensure a + * a given resolution is supported in LEGACY mode, the configuration given in + * {@link android.hardware.camera2.CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP} + * must contain the the resolution in the supported output sizes. The recommended way to check + * this is with + * {@link android.hardware.camera2.params.StreamConfigurationMap#getOutputSizes(Class)} with the + * class of the desired recording endpoint, and check that the desired resolution is contained + * in the list returned. + * </p> + * @see android.hardware.camera2.CameraManager + * @see android.hardware.camera2.CameraCharacteristics + * * @param quality the target quality level for the camcorder profile */ public static boolean hasProfile(int quality) { @@ -354,6 +372,24 @@ public class CamcorderProfile /** * Returns true if camcorder profile exists for the given camera at * the given quality level. + * + * <p> + * When using the Camera 2 API in LEGACY mode (i.e. when + * {@link android.hardware.camera2.CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL} is set + * to + * {@link android.hardware.camera2.CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY}), + * {@link #hasProfile} may return {@code true} for unsupported resolutions. To ensure a + * a given resolution is supported in LEGACY mode, the configuration given in + * {@link android.hardware.camera2.CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP} + * must contain the the resolution in the supported output sizes. The recommended way to check + * this is with + * {@link android.hardware.camera2.params.StreamConfigurationMap#getOutputSizes(Class)} with the + * class of the desired recording endpoint, and check that the desired resolution is contained + * in the list returned. + * </p> + * @see android.hardware.camera2.CameraManager + * @see android.hardware.camera2.CameraCharacteristics + * * @param cameraId the id for the camera * @param quality the target quality level for the camcorder profile */ diff --git a/media/java/android/media/ImageReader.java b/media/java/android/media/ImageReader.java index b786f9424854..b5414546d0b0 100644 --- a/media/java/android/media/ImageReader.java +++ b/media/java/android/media/ImageReader.java @@ -642,7 +642,7 @@ public class ImageReader implements AutoCloseable { private void createSurfacePlanes() { mPlanes = new SurfacePlane[ImageReader.this.mNumPlanes]; for (int i = 0; i < ImageReader.this.mNumPlanes; i++) { - mPlanes[i] = nativeCreatePlane(i); + mPlanes[i] = nativeCreatePlane(i, ImageReader.this.mFormat); } } private class SurfacePlane extends android.media.Image.Plane { @@ -661,7 +661,8 @@ public class ImageReader implements AutoCloseable { if (mBuffer != null) { return mBuffer; } else { - mBuffer = SurfaceImage.this.nativeImageGetBuffer(mIndex); + mBuffer = SurfaceImage.this.nativeImageGetBuffer(mIndex, + ImageReader.this.mFormat); // Set the byteBuffer order according to host endianness (native order), // otherwise, the byteBuffer order defaults to ByteOrder.BIG_ENDIAN. return mBuffer.order(ByteOrder.nativeOrder()); @@ -711,8 +712,8 @@ public class ImageReader implements AutoCloseable { private SurfacePlane[] mPlanes; private boolean mIsImageValid; - private synchronized native ByteBuffer nativeImageGetBuffer(int idx); - private synchronized native SurfacePlane nativeCreatePlane(int idx); + private synchronized native ByteBuffer nativeImageGetBuffer(int idx, int readerFormat); + private synchronized native SurfacePlane nativeCreatePlane(int idx, int readerFormat); } private synchronized native void nativeInit(Object weakSelf, int w, int h, diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java index 5fb4f126301a..420510a93369 100644 --- a/media/java/android/media/MediaCodec.java +++ b/media/java/android/media/MediaCodec.java @@ -827,8 +827,13 @@ final public class MediaCodec { invalidateByteBuffer(mCachedInputBuffers, index); mDequeuedInputBuffers.remove(index); } - native_queueInputBuffer( - index, offset, size, presentationTimeUs, flags); + try { + native_queueInputBuffer( + index, offset, size, presentationTimeUs, flags); + } catch (CryptoException | IllegalStateException e) { + revalidateByteBuffer(mCachedInputBuffers, index); + throw e; + } } private native final void native_queueInputBuffer( @@ -947,8 +952,13 @@ final public class MediaCodec { invalidateByteBuffer(mCachedInputBuffers, index); mDequeuedInputBuffers.remove(index); } - native_queueSecureInputBuffer( - index, offset, info, presentationTimeUs, flags); + try { + native_queueSecureInputBuffer( + index, offset, info, presentationTimeUs, flags); + } catch (CryptoException | IllegalStateException e) { + revalidateByteBuffer(mCachedInputBuffers, index); + throw e; + } } private native final void native_queueSecureInputBuffer( @@ -1270,6 +1280,18 @@ final public class MediaCodec { } } + private final void revalidateByteBuffer( + ByteBuffer[] buffers, int index) { + synchronized(mBufferLock) { + if (buffers != null && index >= 0 && index < buffers.length) { + ByteBuffer buffer = buffers[index]; + if (buffer != null) { + buffer.setAccessible(true); + } + } + } + } + private final void validateOutputByteBuffer( ByteBuffer[] buffers, int index, BufferInfo info) { if (buffers != null && index >= 0 && index < buffers.length) { @@ -1307,7 +1329,7 @@ final public class MediaCodec { } private final void freeAllTrackedBuffers() { - synchronized (mBufferLock) { + synchronized(mBufferLock) { freeByteBuffers(mCachedInputBuffers); freeByteBuffers(mCachedOutputBuffers); mCachedInputBuffers = null; diff --git a/media/java/android/media/MediaCodecList.java b/media/java/android/media/MediaCodecList.java index 0dcbd6528783..bb848d971bc7 100644 --- a/media/java/android/media/MediaCodecList.java +++ b/media/java/android/media/MediaCodecList.java @@ -204,7 +204,7 @@ final public class MediaCodecList { * requests, or {@code null} if no such codec has been found. */ public final String findEncoderForFormat(MediaFormat format) { - return findCodecForFormat(false /* encoder */, format); + return findCodecForFormat(true /* encoder */, format); } private String findCodecForFormat(boolean encoder, MediaFormat format) { diff --git a/media/jni/android_media_ImageReader.cpp b/media/jni/android_media_ImageReader.cpp index fa4439d56c38..a7347745bd86 100644 --- a/media/jni/android_media_ImageReader.cpp +++ b/media/jni/android_media_ImageReader.cpp @@ -317,8 +317,18 @@ static uint32_t Image_getJpegSize(CpuConsumer::LockedBuffer* buffer) return size; } +static int32_t applyFormatOverrides(int32_t bufferFormat, int32_t readerCtxFormat) +{ + // Using HAL_PIXEL_FORMAT_RGBA_8888 gralloc buffers containing JPEGs to get around SW + // write limitations for some platforms (b/17379185). + if (readerCtxFormat == HAL_PIXEL_FORMAT_BLOB && bufferFormat == HAL_PIXEL_FORMAT_RGBA_8888) { + return HAL_PIXEL_FORMAT_BLOB; + } + return bufferFormat; +} + static void Image_getLockedBufferInfo(JNIEnv* env, CpuConsumer::LockedBuffer* buffer, int idx, - uint8_t **base, uint32_t *size) + uint8_t **base, uint32_t *size, int32_t readerFormat) { ALOG_ASSERT(buffer != NULL, "Input buffer is NULL!!!"); ALOG_ASSERT(base != NULL, "base is NULL!!!"); @@ -334,6 +344,8 @@ static void Image_getLockedBufferInfo(JNIEnv* env, CpuConsumer::LockedBuffer* bu dataSize = ySize = cSize = cStride = 0; int32_t fmt = buffer->format; + + fmt = applyFormatOverrides(fmt, readerFormat); switch (fmt) { case HAL_PIXEL_FORMAT_YCbCr_420_888: pData = @@ -458,7 +470,8 @@ static void Image_getLockedBufferInfo(JNIEnv* env, CpuConsumer::LockedBuffer* bu *size = dataSize; } -static jint Image_imageGetPixelStride(JNIEnv* env, CpuConsumer::LockedBuffer* buffer, int idx) +static jint Image_imageGetPixelStride(JNIEnv* env, CpuConsumer::LockedBuffer* buffer, int idx, + int32_t readerFormat) { ALOGV("%s: buffer index: %d", __FUNCTION__, idx); ALOG_ASSERT((idx < IMAGE_READER_MAX_NUM_PLANES) && (idx >= 0), "Index is out of range:%d", idx); @@ -467,6 +480,9 @@ static jint Image_imageGetPixelStride(JNIEnv* env, CpuConsumer::LockedBuffer* bu ALOG_ASSERT(buffer != NULL, "buffer is NULL"); int32_t fmt = buffer->format; + + fmt = applyFormatOverrides(fmt, readerFormat); + switch (fmt) { case HAL_PIXEL_FORMAT_YCbCr_420_888: pixelStride = (idx == 0) ? 1 : buffer->chromaStep; @@ -515,7 +531,8 @@ static jint Image_imageGetPixelStride(JNIEnv* env, CpuConsumer::LockedBuffer* bu return pixelStride; } -static jint Image_imageGetRowStride(JNIEnv* env, CpuConsumer::LockedBuffer* buffer, int idx) +static jint Image_imageGetRowStride(JNIEnv* env, CpuConsumer::LockedBuffer* buffer, int idx, + int32_t readerFormat) { ALOGV("%s: buffer index: %d", __FUNCTION__, idx); ALOG_ASSERT((idx < IMAGE_READER_MAX_NUM_PLANES) && (idx >= 0)); @@ -525,6 +542,8 @@ static jint Image_imageGetRowStride(JNIEnv* env, CpuConsumer::LockedBuffer* buff int32_t fmt = buffer->format; + fmt = applyFormatOverrides(fmt, readerFormat); + switch (fmt) { case HAL_PIXEL_FORMAT_YCbCr_420_888: rowStride = (idx == 0) ? buffer->stride : buffer->chromaStride; @@ -777,9 +796,10 @@ static jint ImageReader_imageSetup(JNIEnv* env, jobject thiz, outputHeight = buffer->crop.getHeight(); } + int imgReaderFmt = ctx->getBufferFormat(); int imageReaderWidth = ctx->getBufferWidth(); int imageReaderHeight = ctx->getBufferHeight(); - if ((buffer->format != HAL_PIXEL_FORMAT_BLOB) && + if ((buffer->format != HAL_PIXEL_FORMAT_BLOB) && (imgReaderFmt != HAL_PIXEL_FORMAT_BLOB) && (imageReaderWidth != outputWidth || imageReaderHeight > outputHeight)) { /** * For video decoder, the buffer height is actually the vertical stride, @@ -795,15 +815,19 @@ static jint ImageReader_imageSetup(JNIEnv* env, jobject thiz, return -1; } - int imgReaderFmt = ctx->getBufferFormat(); int bufFmt = buffer->format; if (imgReaderFmt != bufFmt) { - // Special casing for when producer switches to a format compatible with flexible YUV - // (HAL_PIXEL_FORMAT_YCbCr_420_888). + if (imgReaderFmt == HAL_PIXEL_FORMAT_YCbCr_420_888 && (bufFmt == HAL_PIXEL_FORMAT_YCrCb_420_SP || bufFmt == HAL_PIXEL_FORMAT_YV12)) { + // Special casing for when producer switches to a format compatible with flexible YUV + // (HAL_PIXEL_FORMAT_YCbCr_420_888). ctx->setBufferFormat(bufFmt); - ALOGV("%s: Overriding buffer format YUV_420_888 to %x.", __FUNCTION__, bufFmt); + ALOGD("%s: Overriding buffer format YUV_420_888 to %x.", __FUNCTION__, bufFmt); + } else if (imgReaderFmt == HAL_PIXEL_FORMAT_BLOB && bufFmt == HAL_PIXEL_FORMAT_RGBA_8888) { + // Using HAL_PIXEL_FORMAT_RGBA_8888 gralloc buffers containing JPEGs to get around SW + // write limitations for (b/17379185). + ALOGD("%s: Receiving JPEG in HAL_PIXEL_FORMAT_RGBA_8888 buffer.", __FUNCTION__); } else { // Return the buffer to the queue. consumer->unlockBuffer(*buffer); @@ -843,7 +867,7 @@ static jobject ImageReader_getSurface(JNIEnv* env, jobject thiz) return android_view_Surface_createFromIGraphicBufferProducer(env, gbp); } -static jobject Image_createSurfacePlane(JNIEnv* env, jobject thiz, int idx) +static jobject Image_createSurfacePlane(JNIEnv* env, jobject thiz, int idx, int readerFormat) { int rowStride, pixelStride; ALOGV("%s: buffer index: %d", __FUNCTION__, idx); @@ -854,8 +878,11 @@ static jobject Image_createSurfacePlane(JNIEnv* env, jobject thiz, int idx) if (buffer == NULL) { jniThrowException(env, "java/lang/IllegalStateException", "Image was released"); } - rowStride = Image_imageGetRowStride(env, buffer, idx); - pixelStride = Image_imageGetPixelStride(env, buffer, idx); + + readerFormat = Image_getPixelFormat(env, readerFormat); + + rowStride = Image_imageGetRowStride(env, buffer, idx, readerFormat); + pixelStride = Image_imageGetPixelStride(env, buffer, idx, readerFormat); jobject surfPlaneObj = env->NewObject(gSurfacePlaneClassInfo.clazz, gSurfacePlaneClassInfo.ctor, thiz, idx, rowStride, pixelStride); @@ -863,7 +890,7 @@ static jobject Image_createSurfacePlane(JNIEnv* env, jobject thiz, int idx) return surfPlaneObj; } -static jobject Image_getByteBuffer(JNIEnv* env, jobject thiz, int idx) +static jobject Image_getByteBuffer(JNIEnv* env, jobject thiz, int idx, int readerFormat) { uint8_t *base = NULL; uint32_t size = 0; @@ -877,8 +904,10 @@ static jobject Image_getByteBuffer(JNIEnv* env, jobject thiz, int idx) jniThrowException(env, "java/lang/IllegalStateException", "Image was released"); } + readerFormat = Image_getPixelFormat(env, readerFormat); + // Create byteBuffer from native buffer - Image_getLockedBufferInfo(env, buffer, idx, &base, &size); + Image_getLockedBufferInfo(env, buffer, idx, &base, &size, readerFormat); if (size > static_cast<uint32_t>(INT32_MAX)) { // Byte buffer have 'int capacity', so check the range @@ -910,8 +939,8 @@ static JNINativeMethod gImageReaderMethods[] = { }; static JNINativeMethod gImageMethods[] = { - {"nativeImageGetBuffer", "(I)Ljava/nio/ByteBuffer;", (void*)Image_getByteBuffer }, - {"nativeCreatePlane", "(I)Landroid/media/ImageReader$SurfaceImage$SurfacePlane;", + {"nativeImageGetBuffer", "(II)Ljava/nio/ByteBuffer;", (void*)Image_getByteBuffer }, + {"nativeCreatePlane", "(II)Landroid/media/ImageReader$SurfaceImage$SurfacePlane;", (void*)Image_createSurfacePlane }, }; diff --git a/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java b/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java index eb2c9207e18d..85b2490c68fb 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java +++ b/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java @@ -412,8 +412,6 @@ public final class PageContentRepository { } private static final class AsyncRenderer implements ServiceConnection { - private static final int MALFORMED_PDF_FILE_ERROR = -2; - private final Object mLock = new Object(); private final Context mContext; @@ -486,7 +484,7 @@ public final class PageContentRepository { return mRenderer.openDocument(source); } catch (RemoteException re) { Log.e(LOG_TAG, "Cannot open PDF document"); - return MALFORMED_PDF_FILE_ERROR; + return PdfManipulationService.MALFORMED_PDF_FILE_ERROR; } finally { // Close the fd as we passed it to another process // which took ownership. @@ -497,7 +495,7 @@ public final class PageContentRepository { @Override public void onPostExecute(Integer pageCount) { - if (pageCount == MALFORMED_PDF_FILE_ERROR) { + if (pageCount == PdfManipulationService.MALFORMED_PDF_FILE_ERROR) { mOnMalformedPdfFileListener.onMalformedPdfFile(); mPageCount = PrintDocumentInfo.PAGE_COUNT_UNKNOWN; } else { diff --git a/packages/PrintSpooler/src/com/android/printspooler/renderer/PdfManipulationService.java b/packages/PrintSpooler/src/com/android/printspooler/renderer/PdfManipulationService.java index 62716b216851..00e505149d1d 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/renderer/PdfManipulationService.java +++ b/packages/PrintSpooler/src/com/android/printspooler/renderer/PdfManipulationService.java @@ -47,6 +47,8 @@ public final class PdfManipulationService extends Service { public static final String ACTION_GET_EDITOR = "com.android.printspooler.renderer.ACTION_GET_EDITOR"; + public static final int MALFORMED_PDF_FILE_ERROR = -2; + private static final String LOG_TAG = "PdfManipulationService"; private static final boolean DEBUG = false; @@ -88,7 +90,7 @@ public final class PdfManipulationService extends Service { } catch (IOException|IllegalStateException e) { IoUtils.closeQuietly(source); Log.e(LOG_TAG, "Cannot open file", e); - throw new RemoteException(e.toString()); + return MALFORMED_PDF_FILE_ERROR; } } } diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 30ccd2c13650..ba5d11df3eb2 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -56,6 +56,7 @@ import android.os.UserHandle; import android.os.UserManager; import android.provider.MediaStore; import android.provider.Settings; +import android.provider.Settings.Secure; import android.text.TextUtils; import android.util.Log; import android.util.LruCache; @@ -689,19 +690,30 @@ public class SettingsProvider extends ContentProvider { // Get methods if (Settings.CALL_METHOD_GET_SYSTEM.equals(method)) { if (LOCAL_LOGV) Slog.v(TAG, "call(system:" + request + ") for " + callingUser); - if (isManagedProfile(callingUser) && sSystemCloneToManagedKeys.contains(request)) { - callingUser = UserHandle.USER_OWNER; + // Check if this request should be (re)directed to the primary user's db + if (callingUser == UserHandle.USER_OWNER + || shouldShadowParentProfile(callingUser, sSystemCloneToManagedKeys, request)) { + dbHelper = getOrEstablishDatabase(UserHandle.USER_OWNER); + } else { + dbHelper = getOrEstablishDatabase(callingUser); } - dbHelper = getOrEstablishDatabase(callingUser); cache = sSystemCaches.get(callingUser); return lookupValue(dbHelper, TABLE_SYSTEM, cache, request); } if (Settings.CALL_METHOD_GET_SECURE.equals(method)) { if (LOCAL_LOGV) Slog.v(TAG, "call(secure:" + request + ") for " + callingUser); - if (isManagedProfile(callingUser) && sSecureCloneToManagedKeys.contains(request)) { - callingUser = UserHandle.USER_OWNER; + // Check if this is a setting to be copied from the primary user + if (shouldShadowParentProfile(callingUser, sSecureCloneToManagedKeys, request)) { + // If the request if for location providers and there's a restriction, return none + if (Secure.LOCATION_PROVIDERS_ALLOWED.equals(request) + && mUserManager.hasUserRestriction( + UserManager.DISALLOW_SHARE_LOCATION, new UserHandle(callingUser))) { + return sSecureCaches.get(callingUser).putIfAbsent(request, ""); + } + dbHelper = getOrEstablishDatabase(UserHandle.USER_OWNER); + } else { + dbHelper = getOrEstablishDatabase(callingUser); } - dbHelper = getOrEstablishDatabase(callingUser); cache = sSecureCaches.get(callingUser); return lookupValue(dbHelper, TABLE_SECURE, cache, request); } @@ -742,11 +754,10 @@ public class SettingsProvider extends ContentProvider { + callingUser); } // Extra check for USER_OWNER to optimize for the 99% - if (callingUser != UserHandle.USER_OWNER && isManagedProfile(callingUser)) { - if (sSystemCloneToManagedKeys.contains(request)) { - // Don't write these settings - return null; - } + if (callingUser != UserHandle.USER_OWNER && shouldShadowParentProfile(callingUser, + sSystemCloneToManagedKeys, request)) { + // Don't write these settings, as they are cloned from the parent profile + return null; } insertForUser(Settings.System.CONTENT_URI, values, callingUser); // Clone the settings to the managed profiles so that notifications can be sent out @@ -772,11 +783,10 @@ public class SettingsProvider extends ContentProvider { + callingUser); } // Extra check for USER_OWNER to optimize for the 99% - if (callingUser != UserHandle.USER_OWNER && isManagedProfile(callingUser)) { - if (sSecureCloneToManagedKeys.contains(request)) { - // Don't write these settings - return null; - } + if (callingUser != UserHandle.USER_OWNER && shouldShadowParentProfile(callingUser, + sSecureCloneToManagedKeys, request)) { + // Don't write these settings, as they are cloned from the parent profile + return null; } insertForUser(Settings.Secure.CONTENT_URI, values, callingUser); // Clone the settings to the managed profiles so that notifications can be sent out @@ -816,6 +826,14 @@ public class SettingsProvider extends ContentProvider { return null; } + /** + * Check if the user is a managed profile and name is one of the settings to be cloned + * from the parent profile. + */ + private boolean shouldShadowParentProfile(int userId, HashSet<String> keys, String name) { + return isManagedProfile(userId) && keys.contains(name); + } + // Looks up value 'key' in 'table' and returns either a single-pair Bundle, // possibly with a null value, or null on failure. private Bundle lookupValue(DatabaseHelper dbHelper, String table, diff --git a/packages/SystemUI/res/values-af/config.xml b/packages/SystemUI/res/values-af/config.xml deleted file mode 100644 index 38497cf39c9a..000000000000 --- a/packages/SystemUI/res/values-af/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 s,10 s,30 s,60 s,120 s"</string> -</resources> diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml index aadc2c4e4fd1..7750ec812623 100644 --- a/packages/SystemUI/res/values-af/strings.xml +++ b/packages/SystemUI/res/values-af/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Programinligting"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"sluit na program"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"soek"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Kon nie <xliff:g id="APP">%s</xliff:g> begin nie."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Gelaai"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Laai tans"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> tot vol"</string> diff --git a/packages/SystemUI/res/values-am/config.xml b/packages/SystemUI/res/values-am/config.xml deleted file mode 100644 index 97e30c93c9c9..000000000000 --- a/packages/SystemUI/res/values-am/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s፣10s፣30s፣60s፣120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml index 6a5aa472c090..13389a3961c4 100644 --- a/packages/SystemUI/res/values-am/strings.xml +++ b/packages/SystemUI/res/values-am/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"የመተግበሪያ መረጃ"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"መተግበሪያ-ጋር-ቆልፍ"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"ፈልግ"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g>ን መጀመር አልተቻለም።"</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"ባትሪ ሞልቷል"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"ኃይል በመሙላት ላይ"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> እስኪሞላ ድረስ"</string> diff --git a/packages/SystemUI/res/values-ar/config.xml b/packages/SystemUI/res/values-ar/config.xml deleted file mode 100644 index 4bbdea2560b1..000000000000 --- a/packages/SystemUI/res/values-ar/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s,10s,30s,60s,120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml index 2f37ce50aa0a..8501a691672d 100644 --- a/packages/SystemUI/res/values-ar/strings.xml +++ b/packages/SystemUI/res/values-ar/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"معلومات التطبيق"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"تقييد بالتطبيق"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"بحث"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"تعذر بدء <xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"تم الشحن"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"جارٍ الشحن"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> حتى الاكتمال"</string> diff --git a/packages/SystemUI/res/values-bg/config.xml b/packages/SystemUI/res/values-bg/config.xml deleted file mode 100644 index 3a6872f1d029..000000000000 --- a/packages/SystemUI/res/values-bg/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 с, 10 с, 30 с, 60 с, 120 с"</string> -</resources> diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml index 2cfe2b50adb9..4dc8b501d83f 100644 --- a/packages/SystemUI/res/values-bg/strings.xml +++ b/packages/SystemUI/res/values-bg/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Информация за приложението"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"заключване в приложението"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"търсене"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> не можа да стартира."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Заредена"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Зарежда се"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> до пълно зареждане"</string> diff --git a/packages/SystemUI/res/values-bn-rBD/config.xml b/packages/SystemUI/res/values-bn-rBD/config.xml deleted file mode 100644 index be49df5eac02..000000000000 --- a/packages/SystemUI/res/values-bn-rBD/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"১সে.,১০সে.,৩০সে.,৬০সে.,১২০সে."</string> -</resources> diff --git a/packages/SystemUI/res/values-bn-rBD/strings.xml b/packages/SystemUI/res/values-bn-rBD/strings.xml index b0a19e46d7b3..6bde9218d457 100644 --- a/packages/SystemUI/res/values-bn-rBD/strings.xml +++ b/packages/SystemUI/res/values-bn-rBD/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"অ্যাপ্লিকেশানের তথ্য"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"অ্যাপ্লিকেশানে লক করুন"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"অনুসন্ধান"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> শুরু করা যায়নি৷"</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"চার্জ হয়েছে"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"চার্জ হচ্ছে"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"পূর্ণ হতে <xliff:g id="CHARGING_TIME">%s</xliff:g> সময় লাগবে"</string> diff --git a/packages/SystemUI/res/values-ca/config.xml b/packages/SystemUI/res/values-ca/config.xml deleted file mode 100644 index f87a0a3b4db9..000000000000 --- a/packages/SystemUI/res/values-ca/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 s, 10 s, 30 s, 60 s, 120 s"</string> -</resources> diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml index ba2081ce5b2b..eac66555dcf4 100644 --- a/packages/SystemUI/res/values-ca/strings.xml +++ b/packages/SystemUI/res/values-ca/strings.xml @@ -281,8 +281,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Informació de l\'aplicació"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"bloqueig d\'aplicació"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"cerca"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"No s\'ha pogut iniciar <xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Carregada"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"S\'està carregant"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> per completar la càrrega"</string> diff --git a/packages/SystemUI/res/values-cs/config.xml b/packages/SystemUI/res/values-cs/config.xml deleted file mode 100644 index 4bbdea2560b1..000000000000 --- a/packages/SystemUI/res/values-cs/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s,10s,30s,60s,120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-da/config.xml b/packages/SystemUI/res/values-da/config.xml deleted file mode 100644 index f87a0a3b4db9..000000000000 --- a/packages/SystemUI/res/values-da/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 s, 10 s, 30 s, 60 s, 120 s"</string> -</resources> diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml index 5f2e7e955c7e..00583b19d069 100644 --- a/packages/SystemUI/res/values-da/strings.xml +++ b/packages/SystemUI/res/values-da/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Oplysninger om applikationen"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"Bliv i app"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"søg"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> kunne ikke startes."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Opladet"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Oplader"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> indtil fuld opladet"</string> diff --git a/packages/SystemUI/res/values-de/config.xml b/packages/SystemUI/res/values-de/config.xml deleted file mode 100644 index 4bbdea2560b1..000000000000 --- a/packages/SystemUI/res/values-de/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s,10s,30s,60s,120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml index db5c5c6e8113..a87800436ef3 100644 --- a/packages/SystemUI/res/values-de/strings.xml +++ b/packages/SystemUI/res/values-de/strings.xml @@ -281,8 +281,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"App-Info"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"App-Verriegelung"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"Suche"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> konnte nicht gestartet werden."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Aufgeladen"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Wird aufgeladen"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"Voll in <xliff:g id="CHARGING_TIME">%s</xliff:g>"</string> diff --git a/packages/SystemUI/res/values-el/config.xml b/packages/SystemUI/res/values-el/config.xml deleted file mode 100644 index f3cccde86a18..000000000000 --- a/packages/SystemUI/res/values-el/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 δ, 10 δ, 30 δ, 60 δ, 120 δ"</string> -</resources> diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml index 8b14fdd45ae1..d05bf29348a7 100644 --- a/packages/SystemUI/res/values-el/strings.xml +++ b/packages/SystemUI/res/values-el/strings.xml @@ -281,8 +281,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Πληροφορίες εφαρμογής"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"lock to app"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"αναζήτηση"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Δεν ήταν δυνατή η εκκίνηση της εφαρμογής <xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Φορτίστηκε"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Φόρτιση"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> για πλήρη φόρτιση"</string> diff --git a/packages/SystemUI/res/values-en-rGB/config.xml b/packages/SystemUI/res/values-en-rGB/config.xml deleted file mode 100644 index 4bbdea2560b1..000000000000 --- a/packages/SystemUI/res/values-en-rGB/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s,10s,30s,60s,120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-en-rIN/config.xml b/packages/SystemUI/res/values-en-rIN/config.xml deleted file mode 100644 index 4bbdea2560b1..000000000000 --- a/packages/SystemUI/res/values-en-rIN/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s,10s,30s,60s,120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-es-rUS/config.xml b/packages/SystemUI/res/values-es-rUS/config.xml deleted file mode 100644 index 0b667d0ab2af..000000000000 --- a/packages/SystemUI/res/values-es-rUS/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 s, 10 s, 30 s, 60 s, 120 s"</string> -</resources> diff --git a/packages/SystemUI/res/values-es/config.xml b/packages/SystemUI/res/values-es/config.xml deleted file mode 100644 index f87a0a3b4db9..000000000000 --- a/packages/SystemUI/res/values-es/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 s, 10 s, 30 s, 60 s, 120 s"</string> -</resources> diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml index 4f6dd03a3ca2..3fe55071776d 100644 --- a/packages/SystemUI/res/values-es/strings.xml +++ b/packages/SystemUI/res/values-es/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Información de la aplicación"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"bloqueo de aplicación"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"buscar"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"No se ha podido iniciar <xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Cargada"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Cargando"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> para completarse"</string> diff --git a/packages/SystemUI/res/values-et-rEE/config.xml b/packages/SystemUI/res/values-et-rEE/config.xml deleted file mode 100644 index f87a0a3b4db9..000000000000 --- a/packages/SystemUI/res/values-et-rEE/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 s, 10 s, 30 s, 60 s, 120 s"</string> -</resources> diff --git a/packages/SystemUI/res/values-et-rEE/strings.xml b/packages/SystemUI/res/values-et-rEE/strings.xml index 2025aa86adcc..009f25542c8d 100644 --- a/packages/SystemUI/res/values-et-rEE/strings.xml +++ b/packages/SystemUI/res/values-et-rEE/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Rakenduste teave"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"lukusta rakendusele"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"otsing"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Rakendust <xliff:g id="APP">%s</xliff:g> ei saanud käivitada."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Laetud"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Laadimine"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"Täislaadimiseks kulub <xliff:g id="CHARGING_TIME">%s</xliff:g>"</string> diff --git a/packages/SystemUI/res/values-eu-rES/config.xml b/packages/SystemUI/res/values-eu-rES/config.xml deleted file mode 100644 index f87a0a3b4db9..000000000000 --- a/packages/SystemUI/res/values-eu-rES/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 s, 10 s, 30 s, 60 s, 120 s"</string> -</resources> diff --git a/packages/SystemUI/res/values-eu-rES/strings.xml b/packages/SystemUI/res/values-eu-rES/strings.xml index 4cc0a0f2371a..b59e3e617bbf 100644 --- a/packages/SystemUI/res/values-eu-rES/strings.xml +++ b/packages/SystemUI/res/values-eu-rES/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Aplikazioaren informazioa"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"aplikazio bakarreko modua"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"bilatu"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Ezin izan da hasi <xliff:g id="APP">%s</xliff:g>."</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> diff --git a/packages/SystemUI/res/values-fa/config.xml b/packages/SystemUI/res/values-fa/config.xml deleted file mode 100644 index e938c9aa5903..000000000000 --- a/packages/SystemUI/res/values-fa/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"۱ ثانیه، ۱۰ ثانیه، ۳۰ ثانیه، ۶۰ ثانیه، ۱۲۰ ثانیه"</string> -</resources> diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml index ee25680f51c3..9ddf8224afb7 100644 --- a/packages/SystemUI/res/values-fa/strings.xml +++ b/packages/SystemUI/res/values-fa/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"اطلاعات برنامه"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"قفل به برنامه"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"جستجو"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> شروع نشد."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"شارژ کامل شد"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"در حال شارژ شدن"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> مانده تا شارژ کامل شود"</string> diff --git a/packages/SystemUI/res/values-fi/config.xml b/packages/SystemUI/res/values-fi/config.xml deleted file mode 100644 index af68cdb79511..000000000000 --- a/packages/SystemUI/res/values-fi/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 s,10 s, 30 s, 60 s, 120 s"</string> -</resources> diff --git a/packages/SystemUI/res/values-fr-rCA/config.xml b/packages/SystemUI/res/values-fr-rCA/config.xml deleted file mode 100644 index f87a0a3b4db9..000000000000 --- a/packages/SystemUI/res/values-fr-rCA/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 s, 10 s, 30 s, 60 s, 120 s"</string> -</resources> diff --git a/packages/SystemUI/res/values-fr/config.xml b/packages/SystemUI/res/values-fr/config.xml deleted file mode 100644 index 0b667d0ab2af..000000000000 --- a/packages/SystemUI/res/values-fr/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 s, 10 s, 30 s, 60 s, 120 s"</string> -</resources> diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml index de32089b3375..64fe17d40e1a 100644 --- a/packages/SystemUI/res/values-fr/strings.xml +++ b/packages/SystemUI/res/values-fr/strings.xml @@ -281,8 +281,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Informations sur l\'application"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"verrouiller sur l\'application"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"rechercher"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Impossible de lancer <xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Chargé"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"En charge"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"Chargé dans <xliff:g id="CHARGING_TIME">%s</xliff:g>"</string> diff --git a/packages/SystemUI/res/values-gl-rES/config.xml b/packages/SystemUI/res/values-gl-rES/config.xml deleted file mode 100644 index f134bdc90103..000000000000 --- a/packages/SystemUI/res/values-gl-rES/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 s, 10 s, 30 s, 60 s e 120 s"</string> -</resources> diff --git a/packages/SystemUI/res/values-gl-rES/strings.xml b/packages/SystemUI/res/values-gl-rES/strings.xml index 1cb1056f48cd..5ffb7aceb910 100644 --- a/packages/SystemUI/res/values-gl-rES/strings.xml +++ b/packages/SystemUI/res/values-gl-rES/strings.xml @@ -281,8 +281,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Información da aplicación"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"bloqueo de aplicación"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"buscar"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Non foi posible iniciar <xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Cargada"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Cargando"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> para completar a carga"</string> diff --git a/packages/SystemUI/res/values-hi/config.xml b/packages/SystemUI/res/values-hi/config.xml deleted file mode 100644 index 000d96f1a7d4..000000000000 --- a/packages/SystemUI/res/values-hi/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 से,10 से, 30 से, 60 से, 120 से"</string> -</resources> diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml index 6805d50467df..e5080e2a84ed 100644 --- a/packages/SystemUI/res/values-hi/strings.xml +++ b/packages/SystemUI/res/values-hi/strings.xml @@ -199,7 +199,7 @@ <string name="accessibility_quick_settings_hotspot_changed_off" msgid="5004708003447561394">"मोबाइल हॉटस्पॉट को बंद किया गया."</string> <string name="accessibility_quick_settings_hotspot_changed_on" msgid="2890951609226476206">"मोबाइल हॉटस्पॉट को चालू किया गया."</string> <string name="accessibility_casting_turned_off" msgid="1430668982271976172">"स्क्रीन कास्ट करना रुक गया."</string> - <string name="accessibility_brightness" msgid="8003681285547803095">"स्क्रीन की चमक"</string> + <string name="accessibility_brightness" msgid="8003681285547803095">"स्क्रीन की स्क्रीन की रोशनी"</string> <string name="data_usage_disabled_dialog_3g_title" msgid="2626865386971800302">"2G-3G डेटा बंद है"</string> <string name="data_usage_disabled_dialog_4g_title" msgid="4629078114195977196">"4G डेटा बंद है"</string> <string name="data_usage_disabled_dialog_mobile_title" msgid="5793456071535876132">"सेल्युलर डेटा बंद है"</string> @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"एप्लिकेशन जानकारी"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"ऐप्स पर लॉक करें"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"खोज"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> प्रारंभ नहीं किया जा सका."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"चार्ज हो गई है"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"चार्ज हो रही है"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"पूर्ण होने में <xliff:g id="CHARGING_TIME">%s</xliff:g> शेष"</string> diff --git a/packages/SystemUI/res/values-hr/config.xml b/packages/SystemUI/res/values-hr/config.xml deleted file mode 100644 index f87a0a3b4db9..000000000000 --- a/packages/SystemUI/res/values-hr/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 s, 10 s, 30 s, 60 s, 120 s"</string> -</resources> diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml index 46ac883e0dfa..2d291c25b0b3 100644 --- a/packages/SystemUI/res/values-hr/strings.xml +++ b/packages/SystemUI/res/values-hr/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Informacije o aplikaciji"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"zaključaj na aplikaciju"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"pretraži"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Aplikacija <xliff:g id="APP">%s</xliff:g> nije pokrenuta."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Napunjeno"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Punjenje"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> do napunjenosti"</string> diff --git a/packages/SystemUI/res/values-hu/config.xml b/packages/SystemUI/res/values-hu/config.xml deleted file mode 100644 index f5ccf756f096..000000000000 --- a/packages/SystemUI/res/values-hu/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1, 10, 30, 60, 120"</string> -</resources> diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml index 9885ee61d5c5..030462361ef0 100644 --- a/packages/SystemUI/res/values-hu/strings.xml +++ b/packages/SystemUI/res/values-hu/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Az alkalmazás adatai"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"alkalmazászárolás"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"keresés"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Nem lehet elindítani a következőt: <xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Feltöltve"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Töltés"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> a teljes töltöttségig"</string> diff --git a/packages/SystemUI/res/values-hy-rAM/config.xml b/packages/SystemUI/res/values-hy-rAM/config.xml deleted file mode 100644 index cc0d74a10def..000000000000 --- a/packages/SystemUI/res/values-hy-rAM/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1վ,10վ,30վ,60վ,120վ"</string> -</resources> diff --git a/packages/SystemUI/res/values-in/config.xml b/packages/SystemUI/res/values-in/config.xml deleted file mode 100644 index 2aa4b09bc208..000000000000 --- a/packages/SystemUI/res/values-in/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1dtk,10dtk,30dtk,60dtk,120dtk"</string> -</resources> diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml index 07d6784e4c4d..8220a8372920 100644 --- a/packages/SystemUI/res/values-in/strings.xml +++ b/packages/SystemUI/res/values-in/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Info Aplikasi"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"kunci ke aplikasi"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"telusuri"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Tidak dapat memulai <xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Terisi"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Mengisi daya"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> sampai penuh"</string> diff --git a/packages/SystemUI/res/values-is-rIS/config.xml b/packages/SystemUI/res/values-is-rIS/config.xml deleted file mode 100644 index 46f74562986c..000000000000 --- a/packages/SystemUI/res/values-is-rIS/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 sek.,10 sek., 30 sek., 60 sek.,120 sek."</string> -</resources> diff --git a/packages/SystemUI/res/values-is-rIS/strings.xml b/packages/SystemUI/res/values-is-rIS/strings.xml index f9963765f7ac..735cb885daa3 100644 --- a/packages/SystemUI/res/values-is-rIS/strings.xml +++ b/packages/SystemUI/res/values-is-rIS/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Forritsupplýsingar"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"forritslæsing"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"leita"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Ekki var hægt að ræsa <xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Fullhlaðin"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Í hleðslu"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> þar til fullri hleðslu er náð"</string> diff --git a/packages/SystemUI/res/values-it/config.xml b/packages/SystemUI/res/values-it/config.xml deleted file mode 100644 index f87a0a3b4db9..000000000000 --- a/packages/SystemUI/res/values-it/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 s, 10 s, 30 s, 60 s, 120 s"</string> -</resources> diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml index 68f491324117..239e2aa02b1d 100644 --- a/packages/SystemUI/res/values-it/strings.xml +++ b/packages/SystemUI/res/values-it/strings.xml @@ -281,8 +281,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Informazioni sull\'applicazione"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"blocca su app"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"cerca"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Impossibile avviare <xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Carica"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"In carica"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> al termine della carica"</string> diff --git a/packages/SystemUI/res/values-iw/config.xml b/packages/SystemUI/res/values-iw/config.xml deleted file mode 100644 index 42e8d6f3a1d4..000000000000 --- a/packages/SystemUI/res/values-iw/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"שנייה אחת, 10 שניות, 30 שניות, 60 שניות, 120 שניות"</string> -</resources> diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml index 961fbb48c6cf..eed8e1c9b4ac 100644 --- a/packages/SystemUI/res/values-iw/strings.xml +++ b/packages/SystemUI/res/values-iw/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"מידע על האפליקציה"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"נעל לאפליקציה"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"חפש"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"לא ניתן היה להפעיל את <xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"טעון"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"טוען"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> עד למילוי"</string> diff --git a/packages/SystemUI/res/values-ja/config.xml b/packages/SystemUI/res/values-ja/config.xml deleted file mode 100644 index d0aaa2241e3f..000000000000 --- a/packages/SystemUI/res/values-ja/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s、10s、30s、60s、120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml index 383985a313cc..b81ea5d9d99d 100644 --- a/packages/SystemUI/res/values-ja/strings.xml +++ b/packages/SystemUI/res/values-ja/strings.xml @@ -281,8 +281,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"アプリ情報"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"アプリロック"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"検索"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g>を開始できません。"</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"充電が完了しました"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"充電しています"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"充電完了まで<xliff:g id="CHARGING_TIME">%s</xliff:g>"</string> diff --git a/packages/SystemUI/res/values-ka-rGE/config.xml b/packages/SystemUI/res/values-ka-rGE/config.xml deleted file mode 100644 index 57f58de0038a..000000000000 --- a/packages/SystemUI/res/values-ka-rGE/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1წმ,10წმ,30წმ,60წმ,120წმ"</string> -</resources> diff --git a/packages/SystemUI/res/values-kk-rKZ/config.xml b/packages/SystemUI/res/values-kk-rKZ/config.xml deleted file mode 100644 index 2b93a22990bf..000000000000 --- a/packages/SystemUI/res/values-kk-rKZ/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1с,10с,30с,60с,120с"</string> -</resources> diff --git a/packages/SystemUI/res/values-kk-rKZ/strings.xml b/packages/SystemUI/res/values-kk-rKZ/strings.xml index 12b83f5c5b42..44245956adfe 100644 --- a/packages/SystemUI/res/values-kk-rKZ/strings.xml +++ b/packages/SystemUI/res/values-kk-rKZ/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Қолданба туралы ақпарат"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"қолданбаға бекіту"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"іздеу"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> іске қосу мүмкін болмады."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Зарядталды"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Зарядталуда"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"Толғанға дейін <xliff:g id="CHARGING_TIME">%s</xliff:g>"</string> diff --git a/packages/SystemUI/res/values-km-rKH/config.xml b/packages/SystemUI/res/values-km-rKH/config.xml deleted file mode 100644 index 4bbdea2560b1..000000000000 --- a/packages/SystemUI/res/values-km-rKH/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s,10s,30s,60s,120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-km-rKH/strings.xml b/packages/SystemUI/res/values-km-rKH/strings.xml index 67e42ada2256..e229dc6ff639 100644 --- a/packages/SystemUI/res/values-km-rKH/strings.xml +++ b/packages/SystemUI/res/values-km-rKH/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"ព័ត៌មានកម្មវិធី"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"ចាក់សោទៅកម្មវិធី"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"ស្វែងរក"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"មិនអាចចាប់ផ្ដើម <xliff:g id="APP">%s</xliff:g> ទេ។"</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"បានបញ្ចូលថ្ម"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"កំពុងបញ្ចូលថ្ម"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> រហូតដល់ពេញ"</string> diff --git a/packages/SystemUI/res/values-kn-rIN/config.xml b/packages/SystemUI/res/values-kn-rIN/config.xml deleted file mode 100644 index 4bbdea2560b1..000000000000 --- a/packages/SystemUI/res/values-kn-rIN/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s,10s,30s,60s,120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-kn-rIN/strings.xml b/packages/SystemUI/res/values-kn-rIN/strings.xml index 395d34657fce..bf55707e4ba5 100644 --- a/packages/SystemUI/res/values-kn-rIN/strings.xml +++ b/packages/SystemUI/res/values-kn-rIN/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"ಅಪ್ಲಿಕೇಶನ್ ಮಾಹಿತಿ"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"ಅಪ್ಲಿಕೇಶನ್ಗೆ ಲಾಕ್"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"ಹುಡುಕಾಟ"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> ಪ್ರಾರಂಭಿಸಲು ಸಾದ್ಯವಿಲ್ಲ."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"ಚಾರ್ಜ್ ಆಗಿದೆ"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"ಚಾರ್ಜ್ ಆಗುತ್ತಿದೆ"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> ಪೂರ್ಣಗೊಳ್ಳುವವರೆಗೆ"</string> diff --git a/packages/SystemUI/res/values-ko/config.xml b/packages/SystemUI/res/values-ko/config.xml deleted file mode 100644 index aa99bd513955..000000000000 --- a/packages/SystemUI/res/values-ko/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1초,10초,30초,60초,120초"</string> -</resources> diff --git a/packages/SystemUI/res/values-ky-rKG/config.xml b/packages/SystemUI/res/values-ky-rKG/config.xml deleted file mode 100644 index 70f9c98f5393..000000000000 --- a/packages/SystemUI/res/values-ky-rKG/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1сек.,10сек.,30сек.,60сек.,120сек."</string> -</resources> diff --git a/packages/SystemUI/res/values-ky-rKG/strings.xml b/packages/SystemUI/res/values-ky-rKG/strings.xml index dbc435408aa3..799241fa9f57 100644 --- a/packages/SystemUI/res/values-ky-rKG/strings.xml +++ b/packages/SystemUI/res/values-ky-rKG/strings.xml @@ -305,8 +305,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Колдонмо жөнүндө маалымат"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"колдонмого кулпулоо"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"издөө"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> баштай алган жок."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Кубатталды"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Кубатталууда"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> толгонго чейин"</string> diff --git a/packages/SystemUI/res/values-lo-rLA/config.xml b/packages/SystemUI/res/values-lo-rLA/config.xml deleted file mode 100644 index 3b10d52f6ffb..000000000000 --- a/packages/SystemUI/res/values-lo-rLA/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 ວິ,10 ວິ, 30 ວິ, 60 ວິ, 120 ວິ"</string> -</resources> diff --git a/packages/SystemUI/res/values-lo-rLA/strings.xml b/packages/SystemUI/res/values-lo-rLA/strings.xml index b862d98f95a5..0feefc4ed05e 100644 --- a/packages/SystemUI/res/values-lo-rLA/strings.xml +++ b/packages/SystemUI/res/values-lo-rLA/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"ຂໍ້ມູນແອັບພລິເຄຊັນ"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"lock to app"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"ຊອກຫາ"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"ບໍ່ສາມາດເລີ່ມ <xliff:g id="APP">%s</xliff:g> ໄດ້."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"ສາກເຕັມແລ້ວ."</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"ກຳລັງສາກໄຟ"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> ຈຶ່ງຈະເຕັມ"</string> diff --git a/packages/SystemUI/res/values-lt/config.xml b/packages/SystemUI/res/values-lt/config.xml deleted file mode 100644 index edfec94853ea..000000000000 --- a/packages/SystemUI/res/values-lt/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 sek., 10 sek., 30 sek., 60 sek., 120 sek."</string> -</resources> diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml index 7af8b7dcdf12..aa1fdb70983f 100644 --- a/packages/SystemUI/res/values-lt/strings.xml +++ b/packages/SystemUI/res/values-lt/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Programos informacija"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"Programos užrakinimo funkcija"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"paieška"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Nepavyko paleisti <xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Įkrautas"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Kraunamas"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> iki visiško įkrovimo"</string> diff --git a/packages/SystemUI/res/values-lv/config.xml b/packages/SystemUI/res/values-lv/config.xml deleted file mode 100644 index 0b667d0ab2af..000000000000 --- a/packages/SystemUI/res/values-lv/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 s, 10 s, 30 s, 60 s, 120 s"</string> -</resources> diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml index 4aac8d8115d2..c013a56109c7 100644 --- a/packages/SystemUI/res/values-lv/strings.xml +++ b/packages/SystemUI/res/values-lv/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Informācija par lietojumprogrammu"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"fiksēt lietotni"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"Meklēt"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Nevarēja palaist lietotni <xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Akumulators uzlādēts"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Notiek uzlāde"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> līdz pilnam akumulatoram"</string> diff --git a/packages/SystemUI/res/values-mk-rMK/config.xml b/packages/SystemUI/res/values-mk-rMK/config.xml deleted file mode 100644 index 024f528cb554..000000000000 --- a/packages/SystemUI/res/values-mk-rMK/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1сек., 10 сек., 30 сек., 60 сек., 120 сек."</string> -</resources> diff --git a/packages/SystemUI/res/values-mk-rMK/strings.xml b/packages/SystemUI/res/values-mk-rMK/strings.xml index b6399165e807..9c2b2a638b95 100644 --- a/packages/SystemUI/res/values-mk-rMK/strings.xml +++ b/packages/SystemUI/res/values-mk-rMK/strings.xml @@ -281,8 +281,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Информации за апликацијата"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"заклучи на апликација"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"пребарај"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> не може да се вклучи."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Наполнета"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Се полни"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> додека не се наполни"</string> diff --git a/packages/SystemUI/res/values-ml-rIN/config.xml b/packages/SystemUI/res/values-ml-rIN/config.xml deleted file mode 100644 index d2d29f9af5bf..000000000000 --- a/packages/SystemUI/res/values-ml-rIN/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1സെ,10സെ,30സെ,60സെ,120സെ"</string> -</resources> diff --git a/packages/SystemUI/res/values-ml-rIN/strings.xml b/packages/SystemUI/res/values-ml-rIN/strings.xml index 3940e45138a3..63fcec2db33d 100644 --- a/packages/SystemUI/res/values-ml-rIN/strings.xml +++ b/packages/SystemUI/res/values-ml-rIN/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"അപ്ലിക്കേഷൻ വിവരം"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"അപ്ലിക്കേഷനിലേക്ക് ലോക്കുചെയ്യൽ"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"തിരയുക"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> ആരംഭിക്കാനായില്ല."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"ചാർജ്ജുചെയ്തു"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"ചാർജ്ജുചെയ്യുന്നു"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"പൂർണ്ണമായും ചാർജ്ജാകുന്നതിന്, <xliff:g id="CHARGING_TIME">%s</xliff:g>"</string> diff --git a/packages/SystemUI/res/values-mn-rMN/config.xml b/packages/SystemUI/res/values-mn-rMN/config.xml deleted file mode 100644 index 2b93a22990bf..000000000000 --- a/packages/SystemUI/res/values-mn-rMN/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1с,10с,30с,60с,120с"</string> -</resources> diff --git a/packages/SystemUI/res/values-mr-rIN/config.xml b/packages/SystemUI/res/values-mr-rIN/config.xml deleted file mode 100644 index 4bbdea2560b1..000000000000 --- a/packages/SystemUI/res/values-mr-rIN/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s,10s,30s,60s,120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-mr-rIN/strings.xml b/packages/SystemUI/res/values-mr-rIN/strings.xml index 9e3baeda9020..cf591423b057 100644 --- a/packages/SystemUI/res/values-mr-rIN/strings.xml +++ b/packages/SystemUI/res/values-mr-rIN/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"अनुप्रयोग माहिती"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"अॅप-लॉक-करणे"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"शोधा"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> प्रारंभ करणे शक्य झाले नाही."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"चार्ज झाली"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"चार्ज होत आहे"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> पूर्ण होईपर्यंत"</string> diff --git a/packages/SystemUI/res/values-ms-rMY/config.xml b/packages/SystemUI/res/values-ms-rMY/config.xml deleted file mode 100644 index 4bbdea2560b1..000000000000 --- a/packages/SystemUI/res/values-ms-rMY/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s,10s,30s,60s,120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-my-rMM/config.xml b/packages/SystemUI/res/values-my-rMM/config.xml deleted file mode 100644 index 805d89328986..000000000000 --- a/packages/SystemUI/res/values-my-rMM/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"၁စက္ကန့်၊ ၁၀စက္ကန့်၊ ၃၀စက္ကန့်၊ 60စက္ကန့်၊ ၁၂၀စက္ကန့်"</string> -</resources> diff --git a/packages/SystemUI/res/values-my-rMM/strings.xml b/packages/SystemUI/res/values-my-rMM/strings.xml index 0e248c3f0f8c..479876ad2c02 100644 --- a/packages/SystemUI/res/values-my-rMM/strings.xml +++ b/packages/SystemUI/res/values-my-rMM/strings.xml @@ -277,8 +277,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"အပလီကေးရှင်း အင်ဖို"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"appသို့ သော့ခတ်ထားရန်"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"ရှာဖွေရန်"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> ကို မစနိုင်ပါ။"</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"အားသွင်းပြီး"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"အားသွင်းနေ"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> ပြည်သည့် အထိ"</string> diff --git a/packages/SystemUI/res/values-nb/config.xml b/packages/SystemUI/res/values-nb/config.xml deleted file mode 100644 index f87a0a3b4db9..000000000000 --- a/packages/SystemUI/res/values-nb/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 s, 10 s, 30 s, 60 s, 120 s"</string> -</resources> diff --git a/packages/SystemUI/res/values-ne-rNP/config.xml b/packages/SystemUI/res/values-ne-rNP/config.xml deleted file mode 100644 index 4bbdea2560b1..000000000000 --- a/packages/SystemUI/res/values-ne-rNP/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s,10s,30s,60s,120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-ne-rNP/strings.xml b/packages/SystemUI/res/values-ne-rNP/strings.xml index 9db7486a36dd..d10347442de6 100644 --- a/packages/SystemUI/res/values-ne-rNP/strings.xml +++ b/packages/SystemUI/res/values-ne-rNP/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"अनुप्रयोग जानकारी"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"अनुप्रयोग बन्द गर्न"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"खोजी गर्नुहोस्"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"सुरु गर्न सकिएन <xliff:g id="APP">%s</xliff:g>।"</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"चार्ज भयो"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"चार्ज हुँदै"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> पूर्ण नभएसम्म"</string> diff --git a/packages/SystemUI/res/values-nl/config.xml b/packages/SystemUI/res/values-nl/config.xml deleted file mode 100644 index 4bbdea2560b1..000000000000 --- a/packages/SystemUI/res/values-nl/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s,10s,30s,60s,120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml index f9d42910a5c8..0f80d6316d8d 100644 --- a/packages/SystemUI/res/values-nl/strings.xml +++ b/packages/SystemUI/res/values-nl/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"App-informatie"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"app-slot"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"zoeken"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Kan <xliff:g id="APP">%s</xliff:g> niet starten."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Opgeladen"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Opladen"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> tot volledig opgeladen"</string> diff --git a/packages/SystemUI/res/values-pl/config.xml b/packages/SystemUI/res/values-pl/config.xml deleted file mode 100644 index f87a0a3b4db9..000000000000 --- a/packages/SystemUI/res/values-pl/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 s, 10 s, 30 s, 60 s, 120 s"</string> -</resources> diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml index 85c8784ebe84..9dde31930048 100644 --- a/packages/SystemUI/res/values-pl/strings.xml +++ b/packages/SystemUI/res/values-pl/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Informacje o aplikacji"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"zablokuj na aplikacji"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"szukaj"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Nie udało się uruchomić aplikacji <xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Naładowana"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Ładuje się"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> do pełnego naładowania"</string> diff --git a/packages/SystemUI/res/values-pt-rPT/config.xml b/packages/SystemUI/res/values-pt-rPT/config.xml deleted file mode 100644 index f87a0a3b4db9..000000000000 --- a/packages/SystemUI/res/values-pt-rPT/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 s, 10 s, 30 s, 60 s, 120 s"</string> -</resources> diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml index ec2531324235..73c8e170ca26 100644 --- a/packages/SystemUI/res/values-pt-rPT/strings.xml +++ b/packages/SystemUI/res/values-pt-rPT/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Informações da aplicação"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"bloquear numa aplicação"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"pesquisar"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Não foi possível iniciar o <xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Carregada"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"A carregar"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> até ficar completa"</string> diff --git a/packages/SystemUI/res/values-pt/config.xml b/packages/SystemUI/res/values-pt/config.xml deleted file mode 100644 index 4bbdea2560b1..000000000000 --- a/packages/SystemUI/res/values-pt/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s,10s,30s,60s,120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-ro/config.xml b/packages/SystemUI/res/values-ro/config.xml deleted file mode 100644 index 4bbdea2560b1..000000000000 --- a/packages/SystemUI/res/values-ro/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s,10s,30s,60s,120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-ru/config.xml b/packages/SystemUI/res/values-ru/config.xml deleted file mode 100644 index 09db84be424a..000000000000 --- a/packages/SystemUI/res/values-ru/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 сек.,10 сек.,30 сек.,60 сек.,120 сек."</string> -</resources> diff --git a/packages/SystemUI/res/values-si-rLK/config.xml b/packages/SystemUI/res/values-si-rLK/config.xml deleted file mode 100644 index e693c1062adc..000000000000 --- a/packages/SystemUI/res/values-si-rLK/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"ත1,ත10,ත30,ත60,ත120"</string> -</resources> diff --git a/packages/SystemUI/res/values-sk/config.xml b/packages/SystemUI/res/values-sk/config.xml deleted file mode 100644 index f87a0a3b4db9..000000000000 --- a/packages/SystemUI/res/values-sk/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 s, 10 s, 30 s, 60 s, 120 s"</string> -</resources> diff --git a/packages/SystemUI/res/values-sl/config.xml b/packages/SystemUI/res/values-sl/config.xml deleted file mode 100644 index f87a0a3b4db9..000000000000 --- a/packages/SystemUI/res/values-sl/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 s, 10 s, 30 s, 60 s, 120 s"</string> -</resources> diff --git a/packages/SystemUI/res/values-sr/config.xml b/packages/SystemUI/res/values-sr/config.xml deleted file mode 100644 index f82a740ecbd9..000000000000 --- a/packages/SystemUI/res/values-sr/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 сек, 10 сек, 30 сек, 60 сек, 120 сек"</string> -</resources> diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml index 9cfeb712f105..5ce9ba0bfc0e 100644 --- a/packages/SystemUI/res/values-sr/strings.xml +++ b/packages/SystemUI/res/values-sr/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Информације о апликацији"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"закључај апликацију"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"претражи"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Покретање апликације <xliff:g id="APP">%s</xliff:g> није успело."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Напуњена је"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Пуњење"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> док се не напуни"</string> diff --git a/packages/SystemUI/res/values-sv/config.xml b/packages/SystemUI/res/values-sv/config.xml deleted file mode 100644 index 3b683a83006b..000000000000 --- a/packages/SystemUI/res/values-sv/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 sek,10 sek, 30 sek, 60 sek,120 sek"</string> -</resources> diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml index 1195affe46aa..c97278048037 100644 --- a/packages/SystemUI/res/values-sv/strings.xml +++ b/packages/SystemUI/res/values-sv/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Appinformation"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"lås till app"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"sök"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Det gick inte att starta appen <xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Laddat"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Laddar"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> tills batteriet är fulladdat"</string> diff --git a/packages/SystemUI/res/values-sw/config.xml b/packages/SystemUI/res/values-sw/config.xml deleted file mode 100644 index cfde15909d7e..000000000000 --- a/packages/SystemUI/res/values-sw/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"sek 1,sek 10,sek 30,sek 60,sek 120"</string> -</resources> diff --git a/packages/SystemUI/res/values-ta-rIN/config.xml b/packages/SystemUI/res/values-ta-rIN/config.xml deleted file mode 100644 index 4bbdea2560b1..000000000000 --- a/packages/SystemUI/res/values-ta-rIN/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s,10s,30s,60s,120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-ta-rIN/strings.xml b/packages/SystemUI/res/values-ta-rIN/strings.xml index 79be0a319e4c..12cf15488282 100644 --- a/packages/SystemUI/res/values-ta-rIN/strings.xml +++ b/packages/SystemUI/res/values-ta-rIN/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"பயன்பாட்டு தகவல்"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"லாக்-டு-ஆப்"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"தேடு"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g>ஐத் தொடங்க முடியவில்லை."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"சார்ஜ் செய்யப்பட்டது"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"சார்ஜாகிறது"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"முழுவதும் சார்ஜாக <xliff:g id="CHARGING_TIME">%s</xliff:g> ஆகும்"</string> diff --git a/packages/SystemUI/res/values-te-rIN/config.xml b/packages/SystemUI/res/values-te-rIN/config.xml deleted file mode 100644 index 7a4c0cbdc716..000000000000 --- a/packages/SystemUI/res/values-te-rIN/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1సె,10సె,30సె,60సె,120సె"</string> -</resources> diff --git a/packages/SystemUI/res/values-te-rIN/strings.xml b/packages/SystemUI/res/values-te-rIN/strings.xml index 2afb65f0cd99..ace82870ae5a 100644 --- a/packages/SystemUI/res/values-te-rIN/strings.xml +++ b/packages/SystemUI/res/values-te-rIN/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"అనువర్తన సమాచారం"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"లాక్ టు యాప్"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"శోధించు"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g>ని ప్రారంభించడం సాధ్యపడలేదు."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"ఛార్జ్ చేయబడింది"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"ఛార్జ్ అవుతోంది"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"పూర్తిగా నిండటానికి <xliff:g id="CHARGING_TIME">%s</xliff:g>"</string> diff --git a/packages/SystemUI/res/values-th/config.xml b/packages/SystemUI/res/values-th/config.xml deleted file mode 100644 index f08a88004836..000000000000 --- a/packages/SystemUI/res/values-th/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1, 10, 30, 60, 120 วินาที"</string> -</resources> diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml index 0e3754d2c772..510f75a605da 100644 --- a/packages/SystemUI/res/values-th/strings.xml +++ b/packages/SystemUI/res/values-th/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"ข้อมูลแอปพลิเคชัน"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"การล็อกแอป"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"ค้นหา"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"ไม่สามารถเริ่มใช้ <xliff:g id="APP">%s</xliff:g>"</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"ชาร์จแล้ว"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"กำลังชาร์จ"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"อีก <xliff:g id="CHARGING_TIME">%s</xliff:g> จึงจะเต็ม"</string> diff --git a/packages/SystemUI/res/values-tl/config.xml b/packages/SystemUI/res/values-tl/config.xml deleted file mode 100644 index 4bbdea2560b1..000000000000 --- a/packages/SystemUI/res/values-tl/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s,10s,30s,60s,120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml index ba3664362d16..cd4fda0ebe67 100644 --- a/packages/SystemUI/res/values-tl/strings.xml +++ b/packages/SystemUI/res/values-tl/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Impormasyon ng Application"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"lock to app"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"maghanap"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Hindi masimulan <xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Nasingil na"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Nagcha-charge"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> hanggang mapuno"</string> diff --git a/packages/SystemUI/res/values-tr/config.xml b/packages/SystemUI/res/values-tr/config.xml deleted file mode 100644 index 22b58731170d..000000000000 --- a/packages/SystemUI/res/values-tr/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 sn., 10 sn., 30 sn., 60 sn., 120 sn."</string> -</resources> diff --git a/packages/SystemUI/res/values-uk/config.xml b/packages/SystemUI/res/values-uk/config.xml deleted file mode 100644 index 3a6872f1d029..000000000000 --- a/packages/SystemUI/res/values-uk/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 с, 10 с, 30 с, 60 с, 120 с"</string> -</resources> diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml index 78f7986d57dc..3a6d195e9d5e 100644 --- a/packages/SystemUI/res/values-uk/strings.xml +++ b/packages/SystemUI/res/values-uk/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Інформація про додаток"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"блокування в додатку"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"пошук"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Не вдалося запустити <xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Заряджено"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Заряджається"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"До повного зарядження <xliff:g id="CHARGING_TIME">%s</xliff:g>"</string> diff --git a/packages/SystemUI/res/values-ur-rPK/config.xml b/packages/SystemUI/res/values-ur-rPK/config.xml deleted file mode 100644 index 4bbdea2560b1..000000000000 --- a/packages/SystemUI/res/values-ur-rPK/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s,10s,30s,60s,120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-uz-rUZ/config.xml b/packages/SystemUI/res/values-uz-rUZ/config.xml deleted file mode 100644 index 4bbdea2560b1..000000000000 --- a/packages/SystemUI/res/values-uz-rUZ/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s,10s,30s,60s,120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-uz-rUZ/strings.xml b/packages/SystemUI/res/values-uz-rUZ/strings.xml index 6eaaee674e51..737133010da8 100644 --- a/packages/SystemUI/res/values-uz-rUZ/strings.xml +++ b/packages/SystemUI/res/values-uz-rUZ/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Ilova haqida ma’lumot"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"ilovaga qulflash"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"qidirish"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"“<xliff:g id="APP">%s</xliff:g>” ilovasini ishga tushirib bo‘lmadi."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Batareya quvvati to‘ldi"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Quvvat olmoqda"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g>da to‘ladi"</string> diff --git a/packages/SystemUI/res/values-vi/config.xml b/packages/SystemUI/res/values-vi/config.xml deleted file mode 100644 index 17306ca950b0..000000000000 --- a/packages/SystemUI/res/values-vi/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 giây,10 giây,30 giây,60 giây,120 giây"</string> -</resources> diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml index 8546f8c02720..5665f9c8a619 100644 --- a/packages/SystemUI/res/values-vi/strings.xml +++ b/packages/SystemUI/res/values-vi/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Thông tin ứng dụng"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"khóa trong ứng dụng"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"tìm kiếm"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Không thể khởi động <xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Đã sạc"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Đang sạc"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> cho đến khi đầy"</string> diff --git a/packages/SystemUI/res/values-zh-rCN/config.xml b/packages/SystemUI/res/values-zh-rCN/config.xml deleted file mode 100644 index 73c3807cd586..000000000000 --- a/packages/SystemUI/res/values-zh-rCN/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1秒、10秒、30秒、60秒、120秒"</string> -</resources> diff --git a/packages/SystemUI/res/values-zh-rHK/config.xml b/packages/SystemUI/res/values-zh-rHK/config.xml deleted file mode 100644 index 1f7d76cbcb73..000000000000 --- a/packages/SystemUI/res/values-zh-rHK/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 秒、10 秒、30 秒、60 秒、120 秒"</string> -</resources> diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml index becba6224649..4552d6b6fd14 100644 --- a/packages/SystemUI/res/values-zh-rHK/strings.xml +++ b/packages/SystemUI/res/values-zh-rHK/strings.xml @@ -281,8 +281,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"應用程式資料"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"應用程式鎖定"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"搜尋"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"無法啟動「<xliff:g id="APP">%s</xliff:g>」。"</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"已完成充電"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"充電中"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g>後完成充電"</string> diff --git a/packages/SystemUI/res/values-zh-rTW/config.xml b/packages/SystemUI/res/values-zh-rTW/config.xml deleted file mode 100644 index 51eb00d38f45..000000000000 --- a/packages/SystemUI/res/values-zh-rTW/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1 秒,10 秒,30 秒,60 秒,120 秒"</string> -</resources> diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml index 705cea962e61..354f2214127b 100644 --- a/packages/SystemUI/res/values-zh-rTW/strings.xml +++ b/packages/SystemUI/res/values-zh-rTW/strings.xml @@ -281,8 +281,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"應用程式資訊"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"應用程式鎖定"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"搜尋"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"無法啟動「<xliff:g id="APP">%s</xliff:g>」。"</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"已充飽"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"充電中"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g>後充飽"</string> diff --git a/packages/SystemUI/res/values-zu/config.xml b/packages/SystemUI/res/values-zu/config.xml deleted file mode 100644 index 4bbdea2560b1..000000000000 --- a/packages/SystemUI/res/values-zu/config.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/* -** Copyright 2009, 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. -*/ - --> - -<!-- These resources are around just to allow their values to be customized - for different hardware and product builds. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="doze_pulse_schedule" msgid="1301215615981695214">"1s,10s,30s,60s,120s"</string> -</resources> diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml index 1441bd3b9d9e..10414c64dc98 100644 --- a/packages/SystemUI/res/values-zu/strings.xml +++ b/packages/SystemUI/res/values-zu/strings.xml @@ -279,8 +279,7 @@ <string name="recents_app_info_button_label" msgid="2890317189376000030">"Ulwazi lohlelo lokusebenza"</string> <string name="recents_lock_to_app_button_label" msgid="4793991421811647489">"ukukhiya kuhlelo lokusebenza"</string> <string name="recents_search_bar_label" msgid="8074997400187836677">"sesha"</string> - <!-- no translation found for recents_launch_error_message (2969287838120550506) --> - <skip /> + <string name="recents_launch_error_message" msgid="2969287838120550506">"Ayikwazanga ukuqala i-<xliff:g id="APP">%s</xliff:g>."</string> <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Kushajiwe"</string> <string name="expanded_header_battery_charging" msgid="205623198487189724">"Iyashaja"</string> <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> ize igcwale"</string> diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java index cb685fe0ee3d..6ef6e9e634ff 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java @@ -123,7 +123,7 @@ public abstract class QSTile<TState extends State> implements Listenable { } public void userSwitch(int newUserId) { - mHandler.obtainMessage(H.USER_SWITCH, newUserId).sendToTarget(); + mHandler.obtainMessage(H.USER_SWITCH, newUserId, 0).sendToTarget(); } public void fireToggleStateChanged(boolean state) { diff --git a/packages/SystemUI/src/com/android/systemui/qs/SecureSetting.java b/packages/SystemUI/src/com/android/systemui/qs/SecureSetting.java index 3ed3d30c5153..0ab66261ea46 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/SecureSetting.java +++ b/packages/SystemUI/src/com/android/systemui/qs/SecureSetting.java @@ -16,6 +16,7 @@ package com.android.systemui.qs; +import android.app.ActivityManager; import android.content.Context; import android.database.ContentObserver; import android.os.Handler; @@ -28,32 +29,33 @@ public abstract class SecureSetting extends ContentObserver implements Listenabl private final Context mContext; private final String mSettingName; + private boolean mListening; + private int mUserId; + protected abstract void handleValueChanged(int value); public SecureSetting(Context context, Handler handler, String settingName) { super(handler); mContext = context; mSettingName = settingName; - rebindForCurrentUser(); - } - - public void rebindForCurrentUser() { + mUserId = ActivityManager.getCurrentUser(); setListening(true); } public int getValue() { - return Secure.getInt(mContext.getContentResolver(), mSettingName, 0); + return Secure.getIntForUser(mContext.getContentResolver(), mSettingName, 0, mUserId); } public void setValue(int value) { - Secure.putInt(mContext.getContentResolver(), mSettingName, value); + Secure.putIntForUser(mContext.getContentResolver(), mSettingName, value, mUserId); } @Override public void setListening(boolean listening) { + mListening = listening; if (listening) { mContext.getContentResolver().registerContentObserver( - Secure.getUriFor(mSettingName), false, this); + Secure.getUriFor(mSettingName), false, this, mUserId); } else { mContext.getContentResolver().unregisterContentObserver(this); } @@ -63,4 +65,12 @@ public abstract class SecureSetting extends ContentObserver implements Listenabl public void onChange(boolean selfChange) { handleValueChanged(getValue()); } + + public void setUserId(int userId) { + mUserId = userId; + if (mListening) { + setListening(false); + setListening(true); + } + } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/ColorInversionTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/ColorInversionTile.java index a62bbffaa916..01849c106e31 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/ColorInversionTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/ColorInversionTile.java @@ -71,7 +71,8 @@ public class ColorInversionTile extends QSTile<QSTile.BooleanState> { @Override protected void handleUserSwitch(int newUserId) { - mSetting.rebindForCurrentUser(); + mSetting.setUserId(newUserId); + handleRefreshState(mSetting.getValue()); } @Override diff --git a/services/core/java/com/android/server/LockSettingsService.java b/services/core/java/com/android/server/LockSettingsService.java index adfbb165de3a..b708c3f96ae7 100644 --- a/services/core/java/com/android/server/LockSettingsService.java +++ b/services/core/java/com/android/server/LockSettingsService.java @@ -115,16 +115,20 @@ public class LockSettingsService extends ILockSettings.Stub { private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { - // Update keystore settings for profiles which use the same password as their parent if (Intent.ACTION_USER_ADDED.equals(intent.getAction())) { final int userHandle = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, 0); + final int userSysUid = UserHandle.getUid(userHandle, Process.SYSTEM_UID); + final KeyStore ks = KeyStore.getInstance(); + + // Clear up keystore in case anything was left behind by previous users + ks.resetUid(userSysUid); + + // If this user has a parent, sync with its keystore password final UserManager um = (UserManager) mContext.getSystemService(USER_SERVICE); final UserInfo parentInfo = um.getProfileParent(userHandle); if (parentInfo != null) { - final KeyStore ks = KeyStore.getInstance(); - final int profileUid = UserHandle.getUid(userHandle, Process.SYSTEM_UID); - final int parentUid = UserHandle.getUid(parentInfo.id, Process.SYSTEM_UID); - ks.syncUid(parentUid, profileUid); + final int parentSysUid = UserHandle.getUid(parentInfo.id, Process.SYSTEM_UID); + ks.syncUid(parentSysUid, userSysUid); } } } @@ -530,6 +534,10 @@ public class LockSettingsService extends ILockSettings.Stub { } finally { db.endTransaction(); } + + final KeyStore ks = KeyStore.getInstance(); + final int userUid = UserHandle.getUid(userId, Process.SYSTEM_UID); + ks.resetUid(userUid); } private void writeFile(String name, byte[] hash) { diff --git a/services/core/java/com/android/server/MasterClearReceiver.java b/services/core/java/com/android/server/MasterClearReceiver.java index e88bdf8683cf..f1d5aa3a2ad3 100644 --- a/services/core/java/com/android/server/MasterClearReceiver.java +++ b/services/core/java/com/android/server/MasterClearReceiver.java @@ -38,6 +38,7 @@ public class MasterClearReceiver extends BroadcastReceiver { } final boolean shutdown = intent.getBooleanExtra("shutdown", false); + final String reason = intent.getStringExtra(Intent.EXTRA_REASON); Slog.w(TAG, "!!! FACTORY RESET !!!"); // The reboot call is blocking, so we need to do it on another thread. @@ -45,7 +46,7 @@ public class MasterClearReceiver extends BroadcastReceiver { @Override public void run() { try { - RecoverySystem.rebootWipeUserData(context, shutdown); + RecoverySystem.rebootWipeUserData(context, shutdown, reason); Log.wtf(TAG, "Still running after master clear?!"); } catch (IOException e) { Slog.e(TAG, "Can't perform master clear/factory reset", e); diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java index 1b49029723eb..8e8e4a60a75d 100755 --- a/services/core/java/com/android/server/am/ActiveServices.java +++ b/services/core/java/com/android/server/am/ActiveServices.java @@ -1909,7 +1909,8 @@ public final class ActiveServices { } } - boolean attachApplicationLocked(ProcessRecord proc, String processName) throws Exception { + boolean attachApplicationLocked(ProcessRecord proc, String processName) + throws RemoteException { boolean didSomething = false; // Collect any services that are waiting for this process to come up. if (mPendingServices.size() > 0) { @@ -1929,7 +1930,7 @@ public final class ActiveServices { realStartServiceLocked(sr, proc, sr.createdFromFg); didSomething = true; } - } catch (Exception e) { + } catch (RemoteException e) { Slog.w(TAG, "Exception in new application when starting service " + sr.shortName, e); throw e; diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 2d6b4a248f13..d2e3d25efac9 100755 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -2629,7 +2629,7 @@ public final class ActivityManagerService extends ActivityManagerNative int lrui = mLruProcesses.lastIndexOf(app); if (lrui >= 0) { if (!app.killed) { - Slog.wtf(TAG, "Removing process that hasn't been killed: " + app); + Slog.wtfStack(TAG, "Removing process that hasn't been killed: " + app); Process.killProcessQuiet(app.pid); Process.killProcessGroup(app.info.uid, app.pid); } @@ -6126,7 +6126,7 @@ public final class ActivityManagerService extends ActivityManagerNative // todo: Yikes! What should we do? For now we will try to // start another process, but that could easily get us in // an infinite loop of restarting processes... - Slog.w(TAG, "Exception thrown during bind!", e); + Slog.wtf(TAG, "Exception thrown during bind of " + app, e); app.resetPackageList(mProcessStats); app.unlinkDeathRecipient(); @@ -6150,6 +6150,7 @@ public final class ActivityManagerService extends ActivityManagerNative didSomething = true; } } catch (Exception e) { + Slog.wtf(TAG, "Exception thrown launching activities in " + app, e); badApp = true; } } @@ -6159,6 +6160,7 @@ public final class ActivityManagerService extends ActivityManagerNative try { didSomething |= mServices.attachApplicationLocked(app, processName); } catch (Exception e) { + Slog.wtf(TAG, "Exception thrown starting services in " + app, e); badApp = true; } } @@ -6169,6 +6171,7 @@ public final class ActivityManagerService extends ActivityManagerNative didSomething |= sendPendingBroadcastsLocked(app); } catch (Exception e) { // If the app died trying to launch the receiver we declare it 'bad' + Slog.wtf(TAG, "Exception thrown dispatching broadcasts in " + app, e); badApp = true; } } @@ -6182,14 +6185,13 @@ public final class ActivityManagerService extends ActivityManagerNative compatibilityInfoForPackageLocked(mBackupTarget.appInfo), mBackupTarget.backupMode); } catch (Exception e) { - Slog.w(TAG, "Exception scheduling backup agent creation: "); - e.printStackTrace(); + Slog.wtf(TAG, "Exception thrown creating backup agent in " + app, e); + badApp = true; } } if (badApp) { - // todo: Also need to kill application to deal with all - // kinds of exceptions. + app.kill("error during init", true); handleAppDiedLocked(app, false, true); return false; } @@ -8398,6 +8400,10 @@ public final class ActivityManagerService extends ActivityManagerNative @Override public Bitmap getTaskDescriptionIcon(String filename) { + if (!FileUtils.isValidExtFilename(filename) + || !filename.contains(ActivityRecord.ACTIVITY_ICON_SUFFIX)) { + throw new IllegalArgumentException("Bad filename: " + filename); + } return mTaskPersister.getTaskDescriptionIcon(filename); } diff --git a/services/core/java/com/android/server/am/ActivityRecord.java b/services/core/java/com/android/server/am/ActivityRecord.java index 2db7cec61139..198273e8fd80 100755 --- a/services/core/java/com/android/server/am/ActivityRecord.java +++ b/services/core/java/com/android/server/am/ActivityRecord.java @@ -79,7 +79,7 @@ final class ActivityRecord { private static final String ATTR_LAUNCHEDFROMPACKAGE = "launched_from_package"; private static final String ATTR_RESOLVEDTYPE = "resolved_type"; private static final String ATTR_COMPONENTSPECIFIED = "component_specified"; - private static final String ACTIVITY_ICON_SUFFIX = "_activity_icon_"; + static final String ACTIVITY_ICON_SUFFIX = "_activity_icon_"; final ActivityManagerService service; // owner final IApplicationToken.Stub appToken; // window manager token diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java index 482a5829d7dd..83a8d45c5192 100644 --- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java +++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java @@ -503,7 +503,7 @@ public final class ActivityStackSupervisor implements DisplayListener { return resumedActivity; } - boolean attachApplicationLocked(ProcessRecord app) throws Exception { + boolean attachApplicationLocked(ProcessRecord app) throws RemoteException { final String processName = app.processName; boolean didSomething = false; for (int displayNdx = mActivityDisplays.size() - 1; displayNdx >= 0; --displayNdx) { @@ -521,7 +521,7 @@ public final class ActivityStackSupervisor implements DisplayListener { if (realStartActivityLocked(hr, app, true, true)) { didSomething = true; } - } catch (Exception e) { + } catch (RemoteException e) { Slog.w(TAG, "Exception in new application when starting activity " + hr.intent.getComponent().flattenToShortString(), e); throw e; diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index 2829e2b7aa2c..d8e5a982c44a 100644 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -154,6 +154,16 @@ public class NotificationManagerService extends SystemService { static final boolean ENABLE_BLOCKED_NOTIFICATIONS = true; static final boolean ENABLE_BLOCKED_TOASTS = true; + // When #matchesCallFilter is called from the ringer, wait at most + // 3s to resolve the contacts. This timeout is required since + // ContactsProvider might take a long time to start up. + // + // Return STARRED_CONTACT when the timeout is hit in order to avoid + // missed calls in ZEN mode "Important". + static final int MATCHES_CALL_FILTER_CONTACTS_TIMEOUT_MS = 3000; + static final float MATCHES_CALL_FILTER_TIMEOUT_AFFINITY = + ValidateNotificationPeople.STARRED_CONTACT; + private IActivityManager mAm; AudioManager mAudioManager; StatusBarManagerInternal mStatusBar; @@ -1474,8 +1484,12 @@ public class NotificationManagerService extends SystemService { @Override public boolean matchesCallFilter(Bundle extras) { enforceSystemOrSystemUI("INotificationManager.matchesCallFilter"); - return mZenModeHelper.matchesCallFilter(UserHandle.getCallingUserHandle(), extras, - mRankingHelper.findExtractor(ValidateNotificationPeople.class)); + return mZenModeHelper.matchesCallFilter( + UserHandle.getCallingUserHandle(), + extras, + mRankingHelper.findExtractor(ValidateNotificationPeople.class), + MATCHES_CALL_FILTER_CONTACTS_TIMEOUT_MS, + MATCHES_CALL_FILTER_TIMEOUT_AFFINITY); } }; diff --git a/services/core/java/com/android/server/notification/ValidateNotificationPeople.java b/services/core/java/com/android/server/notification/ValidateNotificationPeople.java index 1c1a034492b3..6e2a8ada32f0 100644 --- a/services/core/java/com/android/server/notification/ValidateNotificationPeople.java +++ b/services/core/java/com/android/server/notification/ValidateNotificationPeople.java @@ -22,6 +22,7 @@ import android.content.pm.PackageManager; import android.database.ContentObserver; import android.database.Cursor; import android.net.Uri; +import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; import android.os.UserHandle; @@ -37,6 +38,8 @@ import android.util.Slog; import java.util.ArrayList; import java.util.LinkedList; import java.util.Map; +import java.util.concurrent.Semaphore; +import java.util.concurrent.TimeUnit; /** * This {@link NotificationSignalExtractor} attempts to validate @@ -45,9 +48,10 @@ import java.util.Map; * {@hide} */ public class ValidateNotificationPeople implements NotificationSignalExtractor { - private static final String TAG = "ValidateNotificationPeople"; + // Using a shorter log tag since setprop has a limit of 32chars on variable name. + private static final String TAG = "ValidateNoPeople"; private static final boolean INFO = true; - private static final boolean DEBUG = false; + private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG); private static final boolean ENABLE_PEOPLE_VALIDATOR = true; private static final String SETTING_ENABLE_PEOPLE_VALIDATOR = @@ -132,7 +136,14 @@ public class ValidateNotificationPeople implements NotificationSignalExtractor { // ignore: config has no relevant information yet. } - public float getContactAffinity(UserHandle userHandle, Bundle extras) { + /** + * @param extras extras of the notification with EXTRA_PEOPLE populated + * @param timeoutMs timeout in milliseconds to wait for contacts response + * @param timeoutAffinity affinity to return when the timeout specified via + * <code>timeoutMs</code> is hit + */ + public float getContactAffinity(UserHandle userHandle, Bundle extras, int timeoutMs, + float timeoutAffinity) { if (DEBUG) Slog.d(TAG, "checking affinity for " + userHandle); if (extras == null) return NONE; final String key = Long.toString(System.nanoTime()); @@ -143,8 +154,31 @@ public class ValidateNotificationPeople implements NotificationSignalExtractor { } final PeopleRankingReconsideration prr = validatePeople(context, key, extras, affinityOut); float affinity = affinityOut[0]; + if (prr != null) { - prr.work(); + // Perform the heavy work on a background thread so we can abort when we hit the + // timeout. + final Semaphore s = new Semaphore(0); + AsyncTask.THREAD_POOL_EXECUTOR.execute(new Runnable() { + @Override + public void run() { + prr.work(); + s.release(); + } + }); + + try { + if (!s.tryAcquire(timeoutMs, TimeUnit.MILLISECONDS)) { + Slog.w(TAG, "Timeout while waiting for affinity: " + key + ". " + + "Returning timeoutAffinity=" + timeoutAffinity); + return timeoutAffinity; + } + } catch (InterruptedException e) { + Slog.w(TAG, "InterruptedException while waiting for affinity: " + key + ". " + + "Returning affinity=" + affinity, e); + return affinity; + } + affinity = Math.max(prr.getContactAffinity(), affinity); } return affinity; @@ -391,6 +425,7 @@ public class ValidateNotificationPeople implements NotificationSignalExtractor { @Override public void work() { if (INFO) Slog.i(TAG, "Executing: validation for: " + mKey); + long timeStartMs = System.currentTimeMillis(); for (final String handle: mPendingLookups) { LookupResult lookupResult = null; final Uri uri = Uri.parse(handle); @@ -415,6 +450,10 @@ public class ValidateNotificationPeople implements NotificationSignalExtractor { mContactAffinity = Math.max(mContactAffinity, lookupResult.getAffinity()); } } + if (DEBUG) { + Slog.d(TAG, "Validation finished in " + (System.currentTimeMillis() - timeStartMs) + + "ms"); + } } @Override diff --git a/services/core/java/com/android/server/notification/ZenModeHelper.java b/services/core/java/com/android/server/notification/ZenModeHelper.java index 5038d03a48af..557a44e0cb7b 100644 --- a/services/core/java/com/android/server/notification/ZenModeHelper.java +++ b/services/core/java/com/android/server/notification/ZenModeHelper.java @@ -376,14 +376,21 @@ public class ZenModeHelper { return record.isCategory(Notification.CATEGORY_MESSAGE) || isDefaultMessagingApp(record); } + /** + * @param extras extras of the notification with EXTRA_PEOPLE populated + * @param contactsTimeoutMs timeout in milliseconds to wait for contacts response + * @param timeoutAffinity affinity to return when the timeout specified via + * <code>contactsTimeoutMs</code> is hit + */ public boolean matchesCallFilter(UserHandle userHandle, Bundle extras, - ValidateNotificationPeople validator) { + ValidateNotificationPeople validator, int contactsTimeoutMs, float timeoutAffinity) { final int zen = mZenMode; if (zen == Global.ZEN_MODE_NO_INTERRUPTIONS) return false; // nothing gets through if (zen == Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS) { if (!mConfig.allowCalls) return false; // no calls get through if (validator != null) { - final float contactAffinity = validator.getContactAffinity(userHandle, extras); + final float contactAffinity = validator.getContactAffinity(userHandle, extras, + contactsTimeoutMs, timeoutAffinity); return audienceMatches(contactAffinity); } } diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 0baa2be0a6fd..b4a7f04272d9 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -1373,7 +1373,8 @@ final class WindowState implements WindowManagerPolicy.WindowState { final Rect stableInsets = mLastStableInsets; final boolean reportDraw = mWinAnimator.mDrawState == WindowStateAnimator.DRAW_PENDING; final Configuration newConfig = configChanged ? mConfiguration : null; - if (mClient instanceof IWindow.Stub) { + if (mAttrs.type != WindowManager.LayoutParams.TYPE_APPLICATION_STARTING + && mClient instanceof IWindow.Stub) { // To prevent deadlock simulate one-way call if win.mClient is a local object. mService.mH.post(new Runnable() { @Override diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DeviceOwner.java b/services/devicepolicy/java/com/android/server/devicepolicy/DeviceOwner.java index 5938819e34d5..9fd0e0960d89 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DeviceOwner.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DeviceOwner.java @@ -229,11 +229,20 @@ public class DeviceOwner { String profileOwnerComponentStr = parser.getAttributeValue(null, ATTR_COMPONENT_NAME); int userId = Integer.parseInt(parser.getAttributeValue(null, ATTR_USERID)); - OwnerInfo profileOwnerInfo; + OwnerInfo profileOwnerInfo = null; if (profileOwnerComponentStr != null) { - profileOwnerInfo = new OwnerInfo(profileOwnerName, - ComponentName.unflattenFromString(profileOwnerComponentStr)); - } else { + ComponentName admin = ComponentName.unflattenFromString( + profileOwnerComponentStr); + if (admin != null) { + profileOwnerInfo = new OwnerInfo(profileOwnerName, admin); + } else { + // This shouldn't happen but switch from package name -> component name + // might have written bad device owner files. b/17652534 + Slog.e(TAG, "Error parsing device-owner file. Bad component name " + + profileOwnerComponentStr); + } + } + if (profileOwnerInfo == null) { profileOwnerInfo = new OwnerInfo(profileOwnerName, profileOwnerPackageName); } mProfileOwners.put(userId, profileOwnerInfo); diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 59d3dc801b10..d1aba3c45009 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -2862,7 +2862,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { return false; } - void wipeDataLocked(int flags) { + void wipeDataLocked(int flags, String reason) { // If the SD card is encrypted and non-removable, we have to force a wipe. boolean forceExtWipe = !Environment.isExternalStorageRemovable() && isExtStorageEncrypted(); boolean wipeExtRequested = (flags&DevicePolicyManager.WIPE_EXTERNAL_STORAGE) != 0; @@ -2871,12 +2871,13 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { if ((forceExtWipe || wipeExtRequested) && !Environment.isExternalStorageEmulated()) { Intent intent = new Intent(ExternalStorageFormatter.FORMAT_AND_FACTORY_RESET); intent.putExtra(ExternalStorageFormatter.EXTRA_ALWAYS_RESET, true); + intent.putExtra(Intent.EXTRA_REASON, reason); intent.setComponent(ExternalStorageFormatter.COMPONENT_NAME); mWakeLock.acquire(10000); mContext.startService(intent); } else { try { - RecoverySystem.rebootWipeUserData(mContext); + RecoverySystem.rebootWipeUserData(mContext, reason); } catch (IOException e) { Slog.w(LOG_TAG, "Failed requesting data wipe", e); } catch (SecurityException e) { @@ -2885,6 +2886,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } } + @Override public void wipeData(int flags, final int userHandle) { if (!mHasFeature) { return; @@ -2896,20 +2898,34 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { synchronized (this) { // This API can only be called by an active device admin, // so try to retrieve it to check that the caller is one. - getActiveAdminForCallerLocked(null, + final ActiveAdmin admin = getActiveAdminForCallerLocked(null, DeviceAdminInfo.USES_POLICY_WIPE_DATA); + + final String source; + if (admin != null && admin.info != null) { + final ComponentName cname = admin.info.getComponent(); + if (cname != null) { + source = cname.flattenToShortString(); + } else { + source = admin.info.getPackageName(); + } + } else { + source = "?"; + } + long ident = Binder.clearCallingIdentity(); try { - wipeDeviceOrUserLocked(flags, userHandle); + wipeDeviceOrUserLocked(flags, userHandle, + "DevicePolicyManager.wipeData() from " + source); } finally { Binder.restoreCallingIdentity(ident); } } } - private void wipeDeviceOrUserLocked(int flags, final int userHandle) { + private void wipeDeviceOrUserLocked(int flags, final int userHandle, String reason) { if (userHandle == UserHandle.USER_OWNER) { - wipeDataLocked(flags); + wipeDataLocked(flags, reason); } else { mHandler.post(new Runnable() { public void run() { @@ -3061,7 +3077,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } if (wipeData) { // Call without holding lock. - wipeDeviceOrUserLocked(0, identifier); + wipeDeviceOrUserLocked(0, identifier, "reportFailedPasswordAttempt()"); } } finally { Binder.restoreCallingIdentity(ident); diff --git a/telecomm/java/android/telecom/PhoneAccount.java b/telecomm/java/android/telecom/PhoneAccount.java index ffe787ae3c2f..1d6d8bcc1147 100644 --- a/telecomm/java/android/telecom/PhoneAccount.java +++ b/telecomm/java/android/telecom/PhoneAccount.java @@ -286,9 +286,6 @@ public class PhoneAccount implements Parcelable { * The raw callback number used for this {@code PhoneAccount}, as distinct from * {@link #getAddress()}. For the majority of {@code PhoneAccount}s this should be registered * as {@code null}. It is used by the system for SIM-based {@code PhoneAccount} registration - * where {@link android.telephony.TelephonyManager#setLine1NumberForDisplay(String, String)} - * has been used to alter the callback number. - * <p> * * @return The subscription number, suitable for display to the user. */ diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 34b1454158d9..6ba151f66130 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -1746,6 +1746,7 @@ public class TelephonyManager { * * @param alphaTag alpha-tagging of the dailing nubmer * @param number The dialing number + * @hide */ public void setLine1NumberForDisplay(String alphaTag, String number) { setLine1NumberForDisplayForSubscriber(getDefaultSubscription(), alphaTag, number); @@ -2381,7 +2382,6 @@ public class TelephonyManager { * * <p>Requires Permission: * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} - * Or the calling app has carrier privileges. @see #hasCarrierPrivileges * * @param AID Application id. See ETSI 102.221 and 101.220. * @return an IccOpenLogicalChannelResponse object. @@ -2402,7 +2402,6 @@ public class TelephonyManager { * * <p>Requires Permission: * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} - * Or the calling app has carrier privileges. @see #hasCarrierPrivileges * * @param channel is the channel id to be closed as retruned by a successful * iccOpenLogicalChannel. @@ -2424,7 +2423,6 @@ public class TelephonyManager { * * <p>Requires Permission: * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} - * Or the calling app has carrier privileges. @see #hasCarrierPrivileges * * @param channel is the channel id to be closed as returned by a successful * iccOpenLogicalChannel. @@ -2456,7 +2454,6 @@ public class TelephonyManager { * * <p>Requires Permission: * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} - * Or the calling app has carrier privileges. @see #hasCarrierPrivileges * * @param cla Class of the APDU command. * @param instruction Instruction of the APDU command. @@ -2484,7 +2481,6 @@ public class TelephonyManager { * * <p>Requires Permission: * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} - * Or the calling app has carrier privileges. @see #hasCarrierPrivileges * * @param fileID * @param command @@ -2510,7 +2506,6 @@ public class TelephonyManager { * * <p>Requires Permission: * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} - * Or the calling app has carrier privileges. @see #hasCarrierPrivileges * * @param content String containing SAT/USAT response in hexadecimal * format starting with command tag. See TS 102 223 for @@ -2960,6 +2955,7 @@ public class TelephonyManager { * Or the calling app has carrier privileges. @see #hasCarrierPrivileges * * @return true on success; false on any failure. + * @hide */ public boolean setGlobalPreferredNetworkType() { return setPreferredNetworkType(RILConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA); @@ -2967,10 +2963,23 @@ public class TelephonyManager { /** * Values used to return status for hasCarrierPrivileges call. + * @hide */ public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; + /** + * Values used to return status for hasCarrierPrivileges call. + * @hide + */ public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; + /** + * Values used to return status for hasCarrierPrivileges call. + * @hide + */ public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; + /** + * Values used to return status for hasCarrierPrivileges call. + * @hide + */ public static final int CARRIER_PRIVILEGE_STATUS_ERROR_LOADING_RULES = -2; /** @@ -2987,6 +2996,7 @@ public class TelephonyManager { * CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED if the carrier rules are not loaded. * CARRIER_PRIVILEGE_STATUS_ERROR_LOADING_RULES if there was an error loading carrier * rules (or if there are no rules). + * @hide */ public int hasCarrierPrivileges() { try { @@ -3013,6 +3023,7 @@ public class TelephonyManager { * * @param brand The brand name to display/set. * @return true if the operation was executed correctly. + * @hide */ public boolean setOperatorBrandOverride(String brand) { try { diff --git a/tests/VectorDrawableTest/AndroidManifest.xml b/tests/VectorDrawableTest/AndroidManifest.xml index 4c835ec93b2e..7796953b4b25 100644 --- a/tests/VectorDrawableTest/AndroidManifest.xml +++ b/tests/VectorDrawableTest/AndroidManifest.xml @@ -99,6 +99,15 @@ </intent-filter> </activity> <activity + android:name="AnimatedVectorDrawableDupPerf" + android:label="Animated Vector Performance of clones" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="com.android.test.dynamic.TEST" /> + </intent-filter> + </activity> + <activity android:name="VectorDrawableStaticPerf" android:label="System icons" > <intent-filter> diff --git a/tests/VectorDrawableTest/res/drawable/vector_drawable24.xml b/tests/VectorDrawableTest/res/drawable/vector_drawable24.xml index 5c1ccaa03361..f0b46994dc23 100644 --- a/tests/VectorDrawableTest/res/drawable/vector_drawable24.xml +++ b/tests/VectorDrawableTest/res/drawable/vector_drawable24.xml @@ -19,8 +19,7 @@ android:viewportHeight="400" android:viewportWidth="400" > - <group android:name="backgroundGroup" - android:alpha = "0.5" > + <group android:name="backgroundGroup"> <path android:name="background1" android:fillColor="#FF000000" @@ -33,8 +32,7 @@ <group android:name="translateToCenterGroup" android:translateX="50.0" - android:translateY="90.0" - android:alpha = "0.5" > + android:translateY="90.0" > <path android:name="twoLines" android:pathData="@string/twoLinePathData" @@ -45,8 +43,7 @@ android:name="rotationGroup" android:pivotX="0.0" android:pivotY="0.0" - android:rotation="-45.0" - android:alpha = "0.5" > + android:rotation="-45.0"> <path android:name="twoLines1" android:pathData="@string/twoLinePathData" @@ -56,8 +53,7 @@ <group android:name="translateGroup" android:translateX="130.0" - android:translateY="160.0" - android:alpha = "0.5"> + android:translateY="160.0"> <group android:name="scaleGroup" > <path android:name="twoLines3" @@ -70,8 +66,7 @@ <group android:name="translateGroupHalf" android:translateX="65.0" - android:translateY="80.0" - android:alpha = "0.5"> + android:translateY="80.0"> <group android:name="scaleGroup" > <path android:name="twoLines2" diff --git a/tests/VectorDrawableTest/res/drawable/vector_drawable25.xml b/tests/VectorDrawableTest/res/drawable/vector_drawable25.xml index 069a53154495..f46d14eb89f1 100644 --- a/tests/VectorDrawableTest/res/drawable/vector_drawable25.xml +++ b/tests/VectorDrawableTest/res/drawable/vector_drawable25.xml @@ -21,12 +21,10 @@ <group android:name="FirstLevelGroup" - android:alpha="0.9" android:translateX="100.0" android:translateY="0.0" > <group android:name="SecondLevelGroup1" - android:alpha="0.9" android:translateX="-100.0" android:translateY="50.0" > <path @@ -35,7 +33,6 @@ <group android:name="ThridLevelGroup1" - android:alpha="0.9" android:translateX="-100.0" android:translateY="50.0" > <path @@ -44,7 +41,6 @@ </group> <group android:name="ThridLevelGroup2" - android:alpha="0.8" android:translateX="100.0" android:translateY="50.0" > <path @@ -54,7 +50,6 @@ </group> <group android:name="SecondLevelGroup2" - android:alpha="0.8" android:translateX="100.0" android:translateY="50.0" > <path @@ -63,7 +58,6 @@ <group android:name="ThridLevelGroup3" - android:alpha="0.9" android:translateX="-100.0" android:translateY="50.0" > <path @@ -72,7 +66,6 @@ </group> <group android:name="ThridLevelGroup4" - android:alpha="0.8" android:translateX="100.0" android:translateY="50.0" > <path diff --git a/tests/VectorDrawableTest/src/com/android/test/dynamic/AnimatedVectorDrawableDupPerf.java b/tests/VectorDrawableTest/src/com/android/test/dynamic/AnimatedVectorDrawableDupPerf.java new file mode 100644 index 000000000000..047e494a9551 --- /dev/null +++ b/tests/VectorDrawableTest/src/com/android/test/dynamic/AnimatedVectorDrawableDupPerf.java @@ -0,0 +1,122 @@ +/* + * Copyright (C) 2014 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.test.dynamic; + +import android.app.Activity; +import android.content.res.Resources; +import android.graphics.drawable.AnimatedVectorDrawable; +import android.graphics.drawable.VectorDrawable; +import android.os.Bundle; +import android.util.AttributeSet; +import android.util.Log; +import android.util.Xml; +import android.widget.Button; +import android.widget.GridLayout; +import android.widget.ScrollView; +import android.widget.TextView; + +import org.xmlpull.v1.XmlPullParser; +import org.xmlpull.v1.XmlPullParserException; + +import java.io.IOException; +import java.text.DecimalFormat; + + +@SuppressWarnings({"UnusedDeclaration"}) +public class AnimatedVectorDrawableDupPerf extends Activity { + + private static final String LOGTAG = "AnimatedVectorDrawableDupPerf"; + protected int[] icon = { + R.drawable.animation_vector_linear_progress_bar, + R.drawable.animation_vector_linear_progress_bar, + R.drawable.animation_vector_linear_progress_bar, + R.drawable.animation_vector_linear_progress_bar, + R.drawable.animation_vector_linear_progress_bar, + R.drawable.animation_vector_linear_progress_bar, + R.drawable.animation_vector_linear_progress_bar, + R.drawable.animation_vector_linear_progress_bar, + R.drawable.animation_vector_linear_progress_bar, + R.drawable.animation_vector_linear_progress_bar, + R.drawable.animation_vector_linear_progress_bar, + R.drawable.animation_vector_linear_progress_bar, + R.drawable.animation_vector_linear_progress_bar, + R.drawable.animation_vector_linear_progress_bar, + R.drawable.animation_vector_linear_progress_bar, + R.drawable.animation_vector_linear_progress_bar, + R.drawable.animation_vector_linear_progress_bar, + R.drawable.animation_vector_linear_progress_bar, + R.drawable.animation_vector_linear_progress_bar, + R.drawable.animation_vector_linear_progress_bar, + }; + + /** @hide */ + public static AnimatedVectorDrawable create(Resources resources, int rid) { + try { + final XmlPullParser parser = resources.getXml(rid); + final AttributeSet attrs = Xml.asAttributeSet(parser); + int type; + while ((type=parser.next()) != XmlPullParser.START_TAG && + type != XmlPullParser.END_DOCUMENT) { + // Empty loop + } + if (type != XmlPullParser.START_TAG) { + throw new XmlPullParserException("No start tag found"); + } + + final AnimatedVectorDrawable drawable = new AnimatedVectorDrawable(); + drawable.inflate(resources, parser, attrs); + + return drawable; + } catch (XmlPullParserException e) { + Log.e(LOGTAG, "parser error", e); + } catch (IOException e) { + Log.e(LOGTAG, "parser error", e); + } + return null; + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + ScrollView scrollView = new ScrollView(this); + GridLayout container = new GridLayout(this); + scrollView.addView(container); + container.setColumnCount(5); + Resources res = this.getResources(); + container.setBackgroundColor(0xFF888888); + AnimatedVectorDrawable []d = new AnimatedVectorDrawable[icon.length]; + long time = android.os.SystemClock.elapsedRealtimeNanos(); + for (int i = 0; i < icon.length; i++) { + d[i] = create(res,icon[i]); + } + time = android.os.SystemClock.elapsedRealtimeNanos()-time; + TextView t = new TextView(this); + DecimalFormat df = new DecimalFormat("#.##"); + t.setText("avgL=" + df.format(time / (icon.length * 1000000.)) + " ms"); + container.addView(t); + time = android.os.SystemClock.elapsedRealtimeNanos(); + for (int i = 0; i < icon.length; i++) { + Button button = new Button(this); + button.setWidth(200); + button.setBackgroundResource(icon[i]); + container.addView(button); + } + setContentView(scrollView); + time = android.os.SystemClock.elapsedRealtimeNanos()-time; + t = new TextView(this); + t.setText("avgS=" + df.format(time / (icon.length * 1000000.)) + " ms"); + container.addView(t); + } + +} |