Merge "DO NOT MERGE - Merge pie-platform-release (PPRL.190705.004) into master"

This commit is contained in:
Treehugger Robot
2019-07-11 03:52:58 +00:00
committed by Gerrit Code Review
25 changed files with 173 additions and 43 deletions

View File

@@ -812,7 +812,10 @@ public class Camera {
* *
* @throws RuntimeException if starting preview fails; usually this would be * @throws RuntimeException if starting preview fails; usually this would be
* because of a hardware or other low-level error, or because release() * because of a hardware or other low-level error, or because release()
* has been called on this Camera instance. * has been called on this Camera instance. The QCIF (176x144) exception
* mentioned in {@link Parameters#setPreviewSize setPreviewSize} and
* {@link Parameters#setPictureSize setPictureSize} can also cause this
* exception be thrown.
*/ */
public native final void startPreview(); public native final void startPreview();
@@ -2863,6 +2866,16 @@ public class Camera {
* orientation should also be considered while setting picture size and * orientation should also be considered while setting picture size and
* thumbnail size. * thumbnail size.
* *
* Exception on 176x144 (QCIF) resolution:
* Camera devices usually have a fixed capability for downscaling from
* larger resolution to smaller, and the QCIF resolution sometimes
* is not fully supported due to this limitation on devices with
* high-resolution image sensors. Therefore, trying to configure a QCIF
* preview size with any picture or video size larger than 1920x1080
* (either width or height) might not be supported, and
* {@link #setParameters(Camera.Parameters)} might throw a
* RuntimeException if it is not.
*
* @param width the width of the pictures, in pixels * @param width the width of the pictures, in pixels
* @param height the height of the pictures, in pixels * @param height the height of the pictures, in pixels
* @see #setDisplayOrientation(int) * @see #setDisplayOrientation(int)
@@ -2908,6 +2921,16 @@ public class Camera {
* preview can be different from the resolution of the recorded video * preview can be different from the resolution of the recorded video
* during video recording.</p> * during video recording.</p>
* *
* <p>Exception on 176x144 (QCIF) resolution:
* Camera devices usually have a fixed capability for downscaling from
* larger resolution to smaller, and the QCIF resolution sometimes
* is not fully supported due to this limitation on devices with
* high-resolution image sensors. Therefore, trying to configure a QCIF
* video resolution with any preview or picture size larger than
* 1920x1080 (either width or height) might not be supported, and
* {@link #setParameters(Camera.Parameters)} will throw a
* RuntimeException if it is not.</p>
*
* @return a list of Size object if camera has separate preview and * @return a list of Size object if camera has separate preview and
* video output; otherwise, null is returned. * video output; otherwise, null is returned.
* @see #getPreferredPreviewSizeForVideo() * @see #getPreferredPreviewSizeForVideo()
@@ -3202,6 +3225,16 @@ public class Camera {
* <p>Applications need to consider the display orientation. See {@link * <p>Applications need to consider the display orientation. See {@link
* #setPreviewSize(int,int)} for reference.</p> * #setPreviewSize(int,int)} for reference.</p>
* *
* <p>Exception on 176x144 (QCIF) resolution:
* Camera devices usually have a fixed capability for downscaling from
* larger resolution to smaller, and the QCIF resolution sometimes
* is not fully supported due to this limitation on devices with
* high-resolution image sensors. Therefore, trying to configure a QCIF
* picture size with any preview or video size larger than 1920x1080
* (either width or height) might not be supported, and
* {@link #setParameters(Camera.Parameters)} might throw a
* RuntimeException if it is not.</p>
*
* @param width the width for pictures, in pixels * @param width the width for pictures, in pixels
* @param height the height for pictures, in pixels * @param height the height for pictures, in pixels
* @see #setPreviewSize(int,int) * @see #setPreviewSize(int,int)

View File

@@ -2136,6 +2136,12 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* </table> * </table>
* <p>Refer to {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} for additional * <p>Refer to {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} for additional
* mandatory stream configurations on a per-capability basis.</p> * mandatory stream configurations on a per-capability basis.</p>
* <p>Exception on 176x144 (QCIF) resolution: camera devices usually have a fixed capability for
* downscaling from larger resolution to smaller, and the QCIF resolution sometimes is not
* fully supported due to this limitation on devices with high-resolution image sensors.
* Therefore, trying to configure a QCIF resolution stream together with any other
* stream larger than 1920x1080 resolution (either width or height) might not be supported,
* and capture session creation will fail if it is not.</p>
* <p>This key is available on all devices.</p> * <p>This key is available on all devices.</p>
* *
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
@@ -2331,6 +2337,12 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* ratio 4:3, and the JPEG encoder alignment requirement is 16, the maximum JPEG size will be * ratio 4:3, and the JPEG encoder alignment requirement is 16, the maximum JPEG size will be
* 3264x2448.</li> * 3264x2448.</li>
* </ul> * </ul>
* <p>Exception on 176x144 (QCIF) resolution: camera devices usually have a fixed capability on
* downscaling from larger resolution to smaller ones, and the QCIF resolution can sometimes
* not be fully supported due to this limitation on devices with high-resolution image
* sensors. Therefore, trying to configure a QCIF resolution stream together with any other
* stream larger than 1920x1080 resolution (either width or height) might not be supported,
* and capture session creation will fail if it is not.</p>
* <p>This key is available on all devices.</p> * <p>This key is available on all devices.</p>
* *
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
@@ -3188,7 +3200,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* <li><code>LEVEL_3</code> devices additionally support YUV reprocessing and RAW image capture, along * <li><code>LEVEL_3</code> devices additionally support YUV reprocessing and RAW image capture, along
* with additional output stream configurations.</li> * with additional output stream configurations.</li>
* <li><code>EXTERNAL</code> devices are similar to <code>LIMITED</code> devices with exceptions like some sensor or * <li><code>EXTERNAL</code> devices are similar to <code>LIMITED</code> devices with exceptions like some sensor or
* lens information not reorted or less stable framerates.</li> * lens information not reported or less stable framerates.</li>
* </ul> * </ul>
* <p>See the individual level enums for full descriptions of the supported capabilities. The * <p>See the individual level enums for full descriptions of the supported capabilities. The
* {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} entry describes the device's capabilities at a * {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} entry describes the device's capabilities at a

View File

@@ -433,6 +433,14 @@ public abstract class CameraDevice implements AutoCloseable {
* target combinations with sizes outside of these guarantees, but this can only be tested for * target combinations with sizes outside of these guarantees, but this can only be tested for
* by attempting to create a session with such targets.</p> * by attempting to create a session with such targets.</p>
* *
* <p>Exception on 176x144 (QCIF) resolution:
* Camera devices usually have a fixed capability for downscaling from larger resolution to
* smaller, and the QCIF resolution sometimes is not fully supported due to this
* limitation on devices with high-resolution image sensors. Therefore, trying to configure a
* QCIF resolution stream together with any other stream larger than 1920x1080 resolution
* (either width or height) might not be supported, and capture session creation will fail if it
* is not.</p>
*
* @param outputs The new set of Surfaces that should be made available as * @param outputs The new set of Surfaces that should be made available as
* targets for captured image data. * targets for captured image data.
* @param callback The callback to notify about the status of the new capture session. * @param callback The callback to notify about the status of the new capture session.

View File

@@ -75,7 +75,8 @@ public class SurfaceControl implements Parcelable {
boolean allLayers, boolean useIdentityTransform, int rotation); boolean allLayers, boolean useIdentityTransform, int rotation);
private static native GraphicBuffer nativeScreenshotToBuffer(IBinder displayToken, private static native GraphicBuffer nativeScreenshotToBuffer(IBinder displayToken,
Rect sourceCrop, int width, int height, int minLayer, int maxLayer, Rect sourceCrop, int width, int height, int minLayer, int maxLayer,
boolean allLayers, boolean useIdentityTransform, int rotation); boolean allLayers, boolean useIdentityTransform, int rotation,
boolean captureSecureLayers);
private static native void nativeScreenshot(IBinder displayToken, Surface consumer, private static native void nativeScreenshot(IBinder displayToken, Surface consumer,
Rect sourceCrop, int width, int height, int minLayer, int maxLayer, Rect sourceCrop, int width, int height, int minLayer, int maxLayer,
boolean allLayers, boolean useIdentityTransform); boolean allLayers, boolean useIdentityTransform);
@@ -1299,7 +1300,28 @@ public class SurfaceControl implements Parcelable {
IBinder displayToken = SurfaceControl.getBuiltInDisplay( IBinder displayToken = SurfaceControl.getBuiltInDisplay(
SurfaceControl.BUILT_IN_DISPLAY_ID_MAIN); SurfaceControl.BUILT_IN_DISPLAY_ID_MAIN);
return nativeScreenshotToBuffer(displayToken, sourceCrop, width, height, return nativeScreenshotToBuffer(displayToken, sourceCrop, width, height,
minLayer, maxLayer, false, useIdentityTransform, rotation); minLayer, maxLayer, false, useIdentityTransform, rotation,
false /* captureSecureLayers */);
}
/**
* Like screenshotToBuffer, but if the caller is AID_SYSTEM, allows
* for the capture of secure layers. This is used for the screen rotation
* animation where the system server takes screenshots but does
* not persist them or allow them to leave the server. However in other
* cases in the system server, we mostly want to omit secure layers
* like when we take a screenshot on behalf of the assistant.
*
* @hide
*/
public static GraphicBuffer screenshotToBufferWithSecureLayersUnsafe(Rect sourceCrop,
int width, int height, int minLayer, int maxLayer, boolean useIdentityTransform,
int rotation) {
IBinder displayToken = SurfaceControl.getBuiltInDisplay(
SurfaceControl.BUILT_IN_DISPLAY_ID_MAIN);
return nativeScreenshotToBuffer(displayToken, sourceCrop, width, height,
minLayer, maxLayer, false, useIdentityTransform, rotation,
true /* captureSecureLayers */);
} }
/** /**

View File

@@ -102,9 +102,11 @@ public class WebViewClient {
/** /**
* Notify the host application that a page has finished loading. This method * Notify the host application that a page has finished loading. This method
* is called only for main frame. When onPageFinished() is called, the * is called only for main frame. Receiving an {@code onPageFinished()} callback does not
* rendering picture may not be updated yet. To get the notification for the * guarantee that the next frame drawn by WebView will reflect the state of the DOM at this
* new Picture, use {@link WebView.PictureListener#onNewPicture}. * point. In order to be notified that the current DOM state is ready to be rendered, request a
* visual state callback with {@link WebView#postVisualStateCallback} and wait for the supplied
* callback to be triggered.
* *
* @param view The WebView that is initiating the callback. * @param view The WebView that is initiating the callback.
* @param url The url of the page. * @param url The url of the page.

View File

@@ -88,7 +88,7 @@ JHwBlob::JHwBlob(JNIEnv *env, jobject thiz, size_t size)
mOwnsBuffer(true), mOwnsBuffer(true),
mHandle(0) { mHandle(0) {
if (size > 0) { if (size > 0) {
mBuffer = malloc(size); mBuffer = calloc(size, 1);
} }
} }

View File

@@ -160,7 +160,7 @@ static Rect rectFromObj(JNIEnv* env, jobject rectObj) {
static jobject nativeScreenshotToBuffer(JNIEnv* env, jclass clazz, static jobject nativeScreenshotToBuffer(JNIEnv* env, jclass clazz,
jobject displayTokenObj, jobject sourceCropObj, jint width, jint height, jobject displayTokenObj, jobject sourceCropObj, jint width, jint height,
jint minLayer, jint maxLayer, bool allLayers, bool useIdentityTransform, jint minLayer, jint maxLayer, bool allLayers, bool useIdentityTransform,
int rotation) { int rotation, bool captureSecureLayers) {
sp<IBinder> displayToken = ibinderForJavaObject(env, displayTokenObj); sp<IBinder> displayToken = ibinderForJavaObject(env, displayTokenObj);
if (displayToken == NULL) { if (displayToken == NULL) {
return NULL; return NULL;
@@ -171,9 +171,10 @@ static jobject nativeScreenshotToBuffer(JNIEnv* env, jclass clazz,
maxLayer = INT32_MAX; maxLayer = INT32_MAX;
} }
sp<GraphicBuffer> buffer; sp<GraphicBuffer> buffer;
bool capturedSecureLayers = false;
status_t res = ScreenshotClient::capture(displayToken, status_t res = ScreenshotClient::capture(displayToken,
sourceCrop, width, height, minLayer, maxLayer, useIdentityTransform, sourceCrop, width, height, minLayer, maxLayer, useIdentityTransform,
rotation, &buffer); rotation, captureSecureLayers, &buffer, capturedSecureLayers);
if (res != NO_ERROR) { if (res != NO_ERROR) {
return NULL; return NULL;
} }
@@ -184,7 +185,8 @@ static jobject nativeScreenshotToBuffer(JNIEnv* env, jclass clazz,
buffer->getHeight(), buffer->getHeight(),
buffer->getPixelFormat(), buffer->getPixelFormat(),
(jint)buffer->getUsage(), (jint)buffer->getUsage(),
(jlong)buffer.get()); (jlong)buffer.get(),
capturedSecureLayers);
} }
static jobject nativeScreenshotBitmap(JNIEnv* env, jclass clazz, static jobject nativeScreenshotBitmap(JNIEnv* env, jclass clazz,
@@ -1026,7 +1028,7 @@ static const JNINativeMethod sSurfaceControlMethods[] = {
{"nativeGetHandle", "(J)Landroid/os/IBinder;", {"nativeGetHandle", "(J)Landroid/os/IBinder;",
(void*)nativeGetHandle }, (void*)nativeGetHandle },
{"nativeScreenshotToBuffer", {"nativeScreenshotToBuffer",
"(Landroid/os/IBinder;Landroid/graphics/Rect;IIIIZZI)Landroid/graphics/GraphicBuffer;", "(Landroid/os/IBinder;Landroid/graphics/Rect;IIIIZZIZ)Landroid/graphics/GraphicBuffer;",
(void*)nativeScreenshotToBuffer }, (void*)nativeScreenshotToBuffer },
{"nativeCaptureLayers", "(Landroid/os/IBinder;Landroid/graphics/Rect;F)Landroid/graphics/GraphicBuffer;", {"nativeCaptureLayers", "(Landroid/os/IBinder;Landroid/graphics/Rect;F)Landroid/graphics/GraphicBuffer;",
(void*)nativeCaptureLayers }, (void*)nativeCaptureLayers },
@@ -1082,7 +1084,7 @@ int register_android_view_SurfaceControl(JNIEnv* env)
jclass graphicsBufferClazz = FindClassOrDie(env, "android/graphics/GraphicBuffer"); jclass graphicsBufferClazz = FindClassOrDie(env, "android/graphics/GraphicBuffer");
gGraphicBufferClassInfo.clazz = MakeGlobalRefOrDie(env, graphicsBufferClazz); gGraphicBufferClassInfo.clazz = MakeGlobalRefOrDie(env, graphicsBufferClazz);
gGraphicBufferClassInfo.builder = GetStaticMethodIDOrDie(env, graphicsBufferClazz, gGraphicBufferClassInfo.builder = GetStaticMethodIDOrDie(env, graphicsBufferClazz,
"createFromExisting", "(IIIIJ)Landroid/graphics/GraphicBuffer;"); "createFromExisting", "(IIIIJZ)Landroid/graphics/GraphicBuffer;");
return err; return err;
} }

View File

@@ -1779,7 +1779,7 @@
<string name="zen_mode_rule_name_combination" msgid="191109939968076477">"<xliff:g id="FIRST">%1$s</xliff:g>/<xliff:g id="REST">%2$s</xliff:g>"</string> <string name="zen_mode_rule_name_combination" msgid="191109939968076477">"<xliff:g id="FIRST">%1$s</xliff:g>/<xliff:g id="REST">%2$s</xliff:g>"</string>
<string name="toolbar_collapse_description" msgid="2821479483960330739">"Suzi"</string> <string name="toolbar_collapse_description" msgid="2821479483960330739">"Suzi"</string>
<string name="zen_mode_feature_name" msgid="5254089399895895004">"Ne ometaj"</string> <string name="zen_mode_feature_name" msgid="5254089399895895004">"Ne ometaj"</string>
<string name="zen_mode_downtime_feature_name" msgid="2626974636779860146">"Prestanak rada"</string> <string name="zen_mode_downtime_feature_name" msgid="2626974636779860146">"Neaktivnost"</string>
<string name="zen_mode_default_weeknights_name" msgid="3081318299464998143">"Radni dan uvečer"</string> <string name="zen_mode_default_weeknights_name" msgid="3081318299464998143">"Radni dan uvečer"</string>
<string name="zen_mode_default_weekends_name" msgid="2786495801019345244">"Vikend"</string> <string name="zen_mode_default_weekends_name" msgid="2786495801019345244">"Vikend"</string>
<string name="zen_mode_default_events_name" msgid="8158334939013085363">"Događaj"</string> <string name="zen_mode_default_events_name" msgid="8158334939013085363">"Događaj"</string>

View File

@@ -255,7 +255,7 @@
<string name="notification_channel_vpn" msgid="8330103431055860618">"Estat de la VPN"</string> <string name="notification_channel_vpn" msgid="8330103431055860618">"Estat de la VPN"</string>
<string name="notification_channel_device_admin" msgid="1568154104368069249">"Administració del dispositiu"</string> <string name="notification_channel_device_admin" msgid="1568154104368069249">"Administració del dispositiu"</string>
<string name="notification_channel_alerts" msgid="4496839309318519037">"Alertes"</string> <string name="notification_channel_alerts" msgid="4496839309318519037">"Alertes"</string>
<string name="notification_channel_retail_mode" msgid="6088920674914038779">"Demostració comercial"</string> <string name="notification_channel_retail_mode" msgid="6088920674914038779">"Demostració per a botigues"</string>
<string name="notification_channel_usb" msgid="9006850475328924681">"Connexió USB"</string> <string name="notification_channel_usb" msgid="9006850475328924681">"Connexió USB"</string>
<string name="notification_channel_heavy_weight_app" msgid="6218742927792852607">"S\'està executant una aplicació"</string> <string name="notification_channel_heavy_weight_app" msgid="6218742927792852607">"S\'està executant una aplicació"</string>
<string name="notification_channel_foreground_service" msgid="3931987440602669158">"Aplicacions que consumeixen bateria"</string> <string name="notification_channel_foreground_service" msgid="3931987440602669158">"Aplicacions que consumeixen bateria"</string>

View File

@@ -375,13 +375,13 @@
<string name="permdesc_broadcastSticky" product="tv" msgid="6839285697565389467">"Umožňuje aplikaci odesílat trvalá vysílání, která přetrvávají i po skončení vysílání. Nadměrné používání může televizi zpomalit či způsobit její nestabilitu, protože bude používat příliš mnoho paměti."</string> <string name="permdesc_broadcastSticky" product="tv" msgid="6839285697565389467">"Umožňuje aplikaci odesílat trvalá vysílání, která přetrvávají i po skončení vysílání. Nadměrné používání může televizi zpomalit či způsobit její nestabilitu, protože bude používat příliš mnoho paměti."</string>
<string name="permdesc_broadcastSticky" product="default" msgid="2825803764232445091">"Umožňuje aplikaci odesílat trvalá vysílání, která přetrvávají i po skončení vysílání. Nadměrné používání může telefon zpomalit či způsobit jeho nestabilitu, protože bude používat příliš mnoho paměti."</string> <string name="permdesc_broadcastSticky" product="default" msgid="2825803764232445091">"Umožňuje aplikaci odesílat trvalá vysílání, která přetrvávají i po skončení vysílání. Nadměrné používání může telefon zpomalit či způsobit jeho nestabilitu, protože bude používat příliš mnoho paměti."</string>
<string name="permlab_readContacts" msgid="8348481131899886131">"čtení kontaktů"</string> <string name="permlab_readContacts" msgid="8348481131899886131">"čtení kontaktů"</string>
<string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"Umožňuje aplikaci číst údaje o kontaktech uložených v tabletu, včetně toho, jak často voláte, posíláte e-maily nebo jinak komunikujete s konkrétními osobami. Toto oprávnění umožňuje aplikacím ukládat údaje o kontaktech. Škodlivé aplikace mohou tyto údaje bez vašeho vědomí sdílet."</string> <string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"Umožňuje aplikaci číst údaje o kontaktech uložených v tabletu, včetně toho, jak často voláte, posíláte e‑maily nebo jinak komunikujete s konkrétními osobami. Toto oprávnění umožňuje aplikacím ukládat údaje o kontaktech. Škodlivé aplikace mohou tyto údaje bez vašeho vědomí sdílet."</string>
<string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"Umožňuje aplikaci číst údaje o kontaktech uložených v televizi včetně toho, jak často voláte, posíláte e-maily nebo jinými způsoby komunikujete s konkrétními kontakty. Toto oprávnění umožňuje aplikacím ukládat údaje o vašich kontaktech a škodlivé aplikace mohou sdílet údaje o kontaktech bez vašeho vědomí."</string> <string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"Umožňuje aplikaci číst údaje o kontaktech uložených v televizi včetně toho, jak často voláte, posíláte e‑maily nebo jinými způsoby komunikujete s konkrétními kontakty. Toto oprávnění umožňuje aplikacím ukládat údaje o vašich kontaktech a škodlivé aplikace mohou sdílet údaje o kontaktech bez vašeho vědomí."</string>
<string name="permdesc_readContacts" product="default" msgid="8440654152457300662">"Umožňuje aplikaci číst údaje o kontaktech uložených v telefonu, včetně toho, jak často voláte, posíláte e-maily nebo komunikujete jinými způsoby s konkrétními osobami. Toto oprávnění umožňuje aplikacím ukládat údaje o kontaktech. Škodlivé aplikace mohou tyto údaje bez vašeho vědomí sdílet."</string> <string name="permdesc_readContacts" product="default" msgid="8440654152457300662">"Umožňuje aplikaci číst údaje o kontaktech uložených v telefonu, včetně toho, jak často voláte, posíláte e‑maily nebo komunikujete jinými způsoby s konkrétními osobami. Toto oprávnění umožňuje aplikacím ukládat údaje o kontaktech. Škodlivé aplikace mohou tyto údaje bez vašeho vědomí sdílet."</string>
<string name="permlab_writeContacts" msgid="5107492086416793544">"úprava kontaktů"</string> <string name="permlab_writeContacts" msgid="5107492086416793544">"úprava kontaktů"</string>
<string name="permdesc_writeContacts" product="tablet" msgid="897243932521953602">"Umožňuje aplikaci upravit údaje o kontaktech uložených v tabletu včetně toho, jak často voláte, posíláte e-maily nebo komunikujete jinými způsoby s konkrétními kontakty. Toto oprávnění aplikacím umožňuje mazat údaje o kontaktech."</string> <string name="permdesc_writeContacts" product="tablet" msgid="897243932521953602">"Umožňuje aplikaci upravit údaje o kontaktech uložených v tabletu včetně toho, jak často voláte, posíláte e‑maily nebo komunikujete jinými způsoby s konkrétními kontakty. Toto oprávnění aplikacím umožňuje mazat údaje o kontaktech."</string>
<string name="permdesc_writeContacts" product="tv" msgid="5438230957000018959">"Umožňuje aplikaci upravit údaje o kontaktech uložených v televizi včetně toho, jak často voláte, posíláte e-maily nebo jinými způsoby komunikujete s konkrétními kontakty. Toto oprávnění aplikacím umožňuje mazat údaje o kontaktech."</string> <string name="permdesc_writeContacts" product="tv" msgid="5438230957000018959">"Umožňuje aplikaci upravit údaje o kontaktech uložených v televizi včetně toho, jak často voláte, posíláte e‑maily nebo jinými způsoby komunikujete s konkrétními kontakty. Toto oprávnění aplikacím umožňuje mazat údaje o kontaktech."</string>
<string name="permdesc_writeContacts" product="default" msgid="589869224625163558">"Umožňuje aplikaci upravit údaje o kontaktech uložených v telefonu včetně toho, jak často voláte, posíláte e-maily nebo komunikujete jinými způsoby s konkrétními kontakty. Toto oprávnění aplikacím umožňuje mazat údaje o kontaktech."</string> <string name="permdesc_writeContacts" product="default" msgid="589869224625163558">"Umožňuje aplikaci upravit údaje o kontaktech uložených v telefonu včetně toho, jak často voláte, posíláte e‑maily nebo komunikujete jinými způsoby s konkrétními kontakty. Toto oprávnění aplikacím umožňuje mazat údaje o kontaktech."</string>
<string name="permlab_readCallLog" msgid="3478133184624102739">"čtení seznamu hovorů"</string> <string name="permlab_readCallLog" msgid="3478133184624102739">"čtení seznamu hovorů"</string>
<string name="permdesc_readCallLog" msgid="3204122446463552146">"Tato aplikace může číst historii volání."</string> <string name="permdesc_readCallLog" msgid="3204122446463552146">"Tato aplikace může číst historii volání."</string>
<string name="permlab_writeCallLog" msgid="8552045664743499354">"zápis do seznamu hovorů"</string> <string name="permlab_writeCallLog" msgid="8552045664743499354">"zápis do seznamu hovorů"</string>

View File

@@ -63,7 +63,7 @@
<string name="CfMmi" msgid="5123218989141573515">"Rufweiterleitung"</string> <string name="CfMmi" msgid="5123218989141573515">"Rufweiterleitung"</string>
<string name="CwMmi" msgid="9129678056795016867">"Anklopfen"</string> <string name="CwMmi" msgid="9129678056795016867">"Anklopfen"</string>
<string name="BaMmi" msgid="455193067926770581">"Anrufsperre"</string> <string name="BaMmi" msgid="455193067926770581">"Anrufsperre"</string>
<string name="PwdMmi" msgid="7043715687905254199">"Passwort-Änderung"</string> <string name="PwdMmi" msgid="7043715687905254199">"Passwortänderung"</string>
<string name="PinMmi" msgid="3113117780361190304">"PIN-Änderung"</string> <string name="PinMmi" msgid="3113117780361190304">"PIN-Änderung"</string>
<string name="CnipMmi" msgid="3110534680557857162">"Rufnummer vorhanden"</string> <string name="CnipMmi" msgid="3110534680557857162">"Rufnummer vorhanden"</string>
<string name="CnirMmi" msgid="3062102121430548731">"Rufnummer begrenzt"</string> <string name="CnirMmi" msgid="3062102121430548731">"Rufnummer begrenzt"</string>

View File

@@ -134,7 +134,7 @@
<string name="wifi_calling_off_summary" msgid="8720659586041656098">"Desactivado"</string> <string name="wifi_calling_off_summary" msgid="8720659586041656098">"Desactivado"</string>
<string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Preferir Wi-Fi"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1994113411286935263">"Preferir Wi-Fi"</string>
<string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Preferir datos móviles"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="1988279625335345908">"Preferir datos móviles"</string>
<string name="wfc_mode_wifi_only_summary" msgid="2379919155237869320">"Solo conexión Wi-Fi"</string> <string name="wfc_mode_wifi_only_summary" msgid="2379919155237869320">"Solo Wi-Fi"</string>
<string name="cfTemplateNotForwarded" msgid="1683685883841272560">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: No desviada"</string> <string name="cfTemplateNotForwarded" msgid="1683685883841272560">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: No desviada"</string>
<string name="cfTemplateForwarded" msgid="1302922117498590521">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: <xliff:g id="DIALING_NUMBER">{1}</xliff:g>"</string> <string name="cfTemplateForwarded" msgid="1302922117498590521">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: <xliff:g id="DIALING_NUMBER">{1}</xliff:g>"</string>
<string name="cfTemplateForwardedTime" msgid="9206251736527085256">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: <xliff:g id="DIALING_NUMBER">{1}</xliff:g> transcurridos <xliff:g id="TIME_DELAY">{2}</xliff:g> segundos"</string> <string name="cfTemplateForwardedTime" msgid="9206251736527085256">"<xliff:g id="BEARER_SERVICE_CODE">{0}</xliff:g>: <xliff:g id="DIALING_NUMBER">{1}</xliff:g> transcurridos <xliff:g id="TIME_DELAY">{2}</xliff:g> segundos"</string>

View File

@@ -1195,7 +1195,7 @@
<string name="sms_short_code_confirm_deny" msgid="2927389840209170706">"Utzi"</string> <string name="sms_short_code_confirm_deny" msgid="2927389840209170706">"Utzi"</string>
<string name="sms_short_code_remember_choice" msgid="5289538592272218136">"Gogoratu aukera"</string> <string name="sms_short_code_remember_choice" msgid="5289538592272218136">"Gogoratu aukera"</string>
<string name="sms_short_code_remember_undo_instruction" msgid="4960944133052287484">"Hori geroago alda dezakezu Ezarpenak &gt; Aplikazioak atalean"</string> <string name="sms_short_code_remember_undo_instruction" msgid="4960944133052287484">"Hori geroago alda dezakezu Ezarpenak &gt; Aplikazioak atalean"</string>
<string name="sms_short_code_confirm_always_allow" msgid="3241181154869493368">"Onartu beti"</string> <string name="sms_short_code_confirm_always_allow" msgid="3241181154869493368">"Eman baimena beti"</string>
<string name="sms_short_code_confirm_never_allow" msgid="446992765774269673">"Ez onartu inoiz"</string> <string name="sms_short_code_confirm_never_allow" msgid="446992765774269673">"Ez onartu inoiz"</string>
<string name="sim_removed_title" msgid="6227712319223226185">"SIM txartela kendu da"</string> <string name="sim_removed_title" msgid="6227712319223226185">"SIM txartela kendu da"</string>
<string name="sim_removed_message" msgid="2333164559970958645">"Sare mugikorra ez da erabilgarri egongo baliozko SIM txartel bat sartuta berrabiarazten ez duzun arte."</string> <string name="sim_removed_message" msgid="2333164559970958645">"Sare mugikorra ez da erabilgarri egongo baliozko SIM txartel bat sartuta berrabiarazten ez duzun arte."</string>

View File

@@ -266,7 +266,7 @@
<string name="safeMode" msgid="2788228061547930246">"Mode sécurisé"</string> <string name="safeMode" msgid="2788228061547930246">"Mode sécurisé"</string>
<string name="android_system_label" msgid="6577375335728551336">"Système Android"</string> <string name="android_system_label" msgid="6577375335728551336">"Système Android"</string>
<string name="user_owner_label" msgid="8836124313744349203">"Passer au profil personnel"</string> <string name="user_owner_label" msgid="8836124313744349203">"Passer au profil personnel"</string>
<string name="managed_profile_label" msgid="8947929265267690522">"Passer au profil professionnel"</string> <string name="managed_profile_label" msgid="8947929265267690522">"Passer au profil pro"</string>
<string name="permgrouplab_contacts" msgid="3657758145679177612">"Contacts"</string> <string name="permgrouplab_contacts" msgid="3657758145679177612">"Contacts"</string>
<string name="permgroupdesc_contacts" msgid="6951499528303668046">"accéder à vos contacts"</string> <string name="permgroupdesc_contacts" msgid="6951499528303668046">"accéder à vos contacts"</string>
<string name="permgrouprequest_contacts" msgid="1601591667800538208">"Permettre à &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; d\'accéder à vos contacts"</string> <string name="permgrouprequest_contacts" msgid="1601591667800538208">"Permettre à &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; d\'accéder à vos contacts"</string>

View File

@@ -53,6 +53,7 @@ public class GraphicBuffer implements Parcelable {
private final int mHeight; private final int mHeight;
private final int mFormat; private final int mFormat;
private final int mUsage; private final int mUsage;
private final boolean mCapturedSecureLayers;
// Note: do not rename, this field is used by native code // Note: do not rename, this field is used by native code
@UnsupportedAppUsage @UnsupportedAppUsage
private final long mNativeObject; private final long mNativeObject;
@@ -87,12 +88,22 @@ public class GraphicBuffer implements Parcelable {
* Private use only. See {@link #create(int, int, int, int)}. * Private use only. See {@link #create(int, int, int, int)}.
*/ */
@UnsupportedAppUsage @UnsupportedAppUsage
private GraphicBuffer(int width, int height, int format, int usage, long nativeObject) { private GraphicBuffer(int width, int height, int format, int usage, long nativeObject,
boolean capturedSecureLayers) {
mWidth = width; mWidth = width;
mHeight = height; mHeight = height;
mFormat = format; mFormat = format;
mUsage = usage; mUsage = usage;
mNativeObject = nativeObject; mNativeObject = nativeObject;
mCapturedSecureLayers = capturedSecureLayers;
}
/**
* Private use only. See {@link #create(int, int, int, int)}.
*/
@UnsupportedAppUsage
private GraphicBuffer(int width, int height, int format, int usage, long nativeObject) {
this(width, height, format, usage, nativeObject, false);
} }
/** /**
@@ -101,14 +112,33 @@ public class GraphicBuffer implements Parcelable {
*/ */
@UnsupportedAppUsage @UnsupportedAppUsage
public static GraphicBuffer createFromExisting(int width, int height, public static GraphicBuffer createFromExisting(int width, int height,
int format, int usage, long unwrappedNativeObject) { int format, int usage, long unwrappedNativeObject,
boolean capturedSecureLayers) {
long nativeObject = nWrapGraphicBuffer(unwrappedNativeObject); long nativeObject = nWrapGraphicBuffer(unwrappedNativeObject);
if (nativeObject != 0) { if (nativeObject != 0) {
return new GraphicBuffer(width, height, format, usage, nativeObject); return new GraphicBuffer(width, height, format, usage, nativeObject,
capturedSecureLayers);
} }
return null; return null;
} }
/**
* For SurfaceControl JNI. Provides and ignored value for capturedSecureLayers for backwards
* compatibility
* @hide
*/
public static GraphicBuffer createFromExisting(int width, int height,
int format, int usage, long unwrappedNativeObject) {
return createFromExisting(width, height, format, usage, unwrappedNativeObject, false);
}
/**
* Returns true if the buffer contains visible secure layers.
*/
public boolean doesContainSecureLayers() {
return mCapturedSecureLayers;
}
/** /**
* Returns the width of this buffer in pixels. * Returns the width of this buffer in pixels.
*/ */

View File

@@ -20,7 +20,7 @@
package="com.android.cts.ctsshim" > package="com.android.cts.ctsshim" >
<uses-sdk android:minSdkVersion="24" <uses-sdk android:minSdkVersion="24"
android:targetSdkVersion="24" /> android:targetSdkVersion="28" />
<restrict-update <restrict-update
android:hash="__CAN_NOT_BE_UPDATED__" /> android:hash="__CAN_NOT_BE_UPDATED__" />

View File

@@ -20,7 +20,7 @@
package="com.android.cts.priv.ctsshim" > package="com.android.cts.priv.ctsshim" >
<uses-sdk android:minSdkVersion="24" <uses-sdk android:minSdkVersion="24"
android:targetSdkVersion="24" /> android:targetSdkVersion="28" />
<restrict-update <restrict-update
android:hash="__HASH__" /> android:hash="__HASH__" />

View File

@@ -20,7 +20,7 @@
package="com.android.cts.priv.ctsshim" > package="com.android.cts.priv.ctsshim" >
<uses-sdk android:minSdkVersion="24" <uses-sdk android:minSdkVersion="24"
android:targetSdkVersion="24" /> android:targetSdkVersion="28" />
<application <application
android:hasCode="false" android:hasCode="false"

View File

@@ -184,7 +184,7 @@
<string name="enable_adb_summary" msgid="4881186971746056635">"Fejlretningstilstand, når USB er tilsluttet"</string> <string name="enable_adb_summary" msgid="4881186971746056635">"Fejlretningstilstand, når USB er tilsluttet"</string>
<string name="clear_adb_keys" msgid="4038889221503122743">"Tilbagekald tilladelser for USB-fejlfinding"</string> <string name="clear_adb_keys" msgid="4038889221503122743">"Tilbagekald tilladelser for USB-fejlfinding"</string>
<string name="bugreport_in_power" msgid="7923901846375587241">"Genvej til fejlrapporting"</string> <string name="bugreport_in_power" msgid="7923901846375587241">"Genvej til fejlrapporting"</string>
<string name="bugreport_in_power_summary" msgid="1778455732762984579">"Vis en knap til oprettelse af fejlrapporter i menu for slukknap"</string> <string name="bugreport_in_power_summary" msgid="1778455732762984579">"Vis en knap til oprettelse af fejlrapporter i afbrydermenuen"</string>
<string name="keep_screen_on" msgid="1146389631208760344">"Lås ikke"</string> <string name="keep_screen_on" msgid="1146389631208760344">"Lås ikke"</string>
<string name="keep_screen_on_summary" msgid="2173114350754293009">"Skærmen går ikke i dvale under opladning"</string> <string name="keep_screen_on_summary" msgid="2173114350754293009">"Skærmen går ikke i dvale under opladning"</string>
<string name="bt_hci_snoop_log" msgid="3340699311158865670">"Aktivér Bluetooth HCI snoop log"</string> <string name="bt_hci_snoop_log" msgid="3340699311158865670">"Aktivér Bluetooth HCI snoop log"</string>

View File

@@ -192,7 +192,7 @@
<string name="oem_unlock_enable" msgid="6040763321967327691">"OEM-Entsperrung"</string> <string name="oem_unlock_enable" msgid="6040763321967327691">"OEM-Entsperrung"</string>
<string name="oem_unlock_enable_summary" msgid="4720281828891618376">"Bootloader-Entsperrung zulassen"</string> <string name="oem_unlock_enable_summary" msgid="4720281828891618376">"Bootloader-Entsperrung zulassen"</string>
<string name="confirm_enable_oem_unlock_title" msgid="4802157344812385674">"OEM-Entsperrung zulassen?"</string> <string name="confirm_enable_oem_unlock_title" msgid="4802157344812385674">"OEM-Entsperrung zulassen?"</string>
<string name="confirm_enable_oem_unlock_text" msgid="5517144575601647022">"Achtung: Die Geräteschutzfunktionen funktionieren auf diesem Gerät nicht, solange diese Einstellung aktiviert ist."</string> <string name="confirm_enable_oem_unlock_text" msgid="5517144575601647022">"Achtung: Der Geräteschutz funktioniert auf diesem Gerät nicht, solange diese Einstellung aktiviert ist."</string>
<string name="mock_location_app" msgid="7966220972812881854">"App für simulierte Standorte auswählen"</string> <string name="mock_location_app" msgid="7966220972812881854">"App für simulierte Standorte auswählen"</string>
<string name="mock_location_app_not_set" msgid="809543285495344223">"Keine App für simulierte Standorte eingerichtet"</string> <string name="mock_location_app_not_set" msgid="809543285495344223">"Keine App für simulierte Standorte eingerichtet"</string>
<string name="mock_location_app_set" msgid="8966420655295102685">"App für simulierte Standorte: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="mock_location_app_set" msgid="8966420655295102685">"App für simulierte Standorte: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>

View File

@@ -33,7 +33,7 @@
<string name="wifi_check_password_try_again" msgid="516958988102584767">"Egiaztatu pasahitza zuzena dela eta saiatu berriro"</string> <string name="wifi_check_password_try_again" msgid="516958988102584767">"Egiaztatu pasahitza zuzena dela eta saiatu berriro"</string>
<string name="wifi_not_in_range" msgid="1136191511238508967">"Urrunegi"</string> <string name="wifi_not_in_range" msgid="1136191511238508967">"Urrunegi"</string>
<string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Ez da konektatuko automatikoki"</string> <string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"Ez da konektatuko automatikoki"</string>
<string name="wifi_no_internet" msgid="4663834955626848401">"Ezin da atzitu Internet"</string> <string name="wifi_no_internet" msgid="4663834955626848401">"Ezin da konektatu Internetera"</string>
<string name="saved_network" msgid="4352716707126620811">"<xliff:g id="NAME">%1$s</xliff:g> aplikazioak gorde du"</string> <string name="saved_network" msgid="4352716707126620811">"<xliff:g id="NAME">%1$s</xliff:g> aplikazioak gorde du"</string>
<string name="connected_via_network_scorer" msgid="5713793306870815341">"%1$s bidez automatikoki konektatuta"</string> <string name="connected_via_network_scorer" msgid="5713793306870815341">"%1$s bidez automatikoki konektatuta"</string>
<string name="connected_via_network_scorer_default" msgid="7867260222020343104">"Automatikoki konektatuta sareen balorazioen hornitzailearen bidez"</string> <string name="connected_via_network_scorer_default" msgid="7867260222020343104">"Automatikoki konektatuta sareen balorazioen hornitzailearen bidez"</string>
@@ -67,7 +67,7 @@
<string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefono-deiak"</string> <string name="bluetooth_profile_headset" msgid="7815495680863246034">"Telefono-deiak"</string>
<string name="bluetooth_profile_opp" msgid="9168139293654233697">"Fitxategi-transferentzia"</string> <string name="bluetooth_profile_opp" msgid="9168139293654233697">"Fitxategi-transferentzia"</string>
<string name="bluetooth_profile_hid" msgid="3680729023366986480">"Sarrerako gailua"</string> <string name="bluetooth_profile_hid" msgid="3680729023366986480">"Sarrerako gailua"</string>
<string name="bluetooth_profile_pan" msgid="3391606497945147673">"Interneterako sarbidea"</string> <string name="bluetooth_profile_pan" msgid="3391606497945147673">"Interneteko konexioa"</string>
<string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Kontaktuak partekatzea"</string> <string name="bluetooth_profile_pbap" msgid="5372051906968576809">"Kontaktuak partekatzea"</string>
<string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Erabili kontaktuak partekatzeko"</string> <string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"Erabili kontaktuak partekatzeko"</string>
<string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Interneteko konexioa partekatzea"</string> <string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"Interneteko konexioa partekatzea"</string>
@@ -84,9 +84,9 @@
<string name="bluetooth_sap_profile_summary_connected" msgid="8561765057453083838">"SAP sarbide-puntura konektatuta"</string> <string name="bluetooth_sap_profile_summary_connected" msgid="8561765057453083838">"SAP sarbide-puntura konektatuta"</string>
<string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"Fitxategi-transferentziako zerbitzarira konektatu gabe"</string> <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"Fitxategi-transferentziako zerbitzarira konektatu gabe"</string>
<string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"Sarrerako gailura konektatuta"</string> <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"Sarrerako gailura konektatuta"</string>
<string name="bluetooth_pan_user_profile_summary_connected" msgid="6436258151814414028">"Gailura konektatuta Interneteko sarbiderako"</string> <string name="bluetooth_pan_user_profile_summary_connected" msgid="6436258151814414028">"Gailura konektatuta Internet atzitzeko"</string>
<string name="bluetooth_pan_nap_profile_summary_connected" msgid="1322694224800769308">"Tokiko Interneteko konexioa gailu batekin partekatzea"</string> <string name="bluetooth_pan_nap_profile_summary_connected" msgid="1322694224800769308">"Tokiko Interneteko konexioa gailu batekin partekatzea"</string>
<string name="bluetooth_pan_profile_summary_use_for" msgid="5736111170225304239">"Erabili Internet atzitzeko"</string> <string name="bluetooth_pan_profile_summary_use_for" msgid="5736111170225304239">"Erabili Internetera konektatzeko"</string>
<string name="bluetooth_map_profile_summary_use_for" msgid="5154200119919927434">"Erabili maparako"</string> <string name="bluetooth_map_profile_summary_use_for" msgid="5154200119919927434">"Erabili maparako"</string>
<string name="bluetooth_sap_profile_summary_use_for" msgid="7085362712786907993">"Erabili SIM txartelerako sarbiderako"</string> <string name="bluetooth_sap_profile_summary_use_for" msgid="7085362712786907993">"Erabili SIM txartelerako sarbiderako"</string>
<string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Erabili euskarriaren audiorako"</string> <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Erabili euskarriaren audiorako"</string>

View File

@@ -34,6 +34,7 @@
<string name="keyguard_password_wrong_pin_code" msgid="6535018036285012028">"Forkert pinkode."</string> <string name="keyguard_password_wrong_pin_code" msgid="6535018036285012028">"Forkert pinkode."</string>
<string name="keyguard_sim_error_message_short" msgid="592109500618448312">"Ugyldigt kort."</string> <string name="keyguard_sim_error_message_short" msgid="592109500618448312">"Ugyldigt kort."</string>
<string name="keyguard_charged" msgid="2222329688813033109">"Opladet"</string> <string name="keyguard_charged" msgid="2222329688813033109">"Opladet"</string>
<string name="keyguard_plugged_in_wireless" msgid="3004717438401575235">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Trådløs opladning"</string>
<string name="keyguard_plugged_in" msgid="3161102098900158923">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Oplader"</string> <string name="keyguard_plugged_in" msgid="3161102098900158923">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Oplader"</string>
<string name="keyguard_plugged_in_charging_fast" msgid="3684592786276709342">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Oplader hurtigt"</string> <string name="keyguard_plugged_in_charging_fast" msgid="3684592786276709342">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Oplader hurtigt"</string>
<string name="keyguard_plugged_in_charging_slowly" msgid="509533586841478405">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Oplader langsomt"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="509533586841478405">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Oplader langsomt"</string>

View File

@@ -399,6 +399,7 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Silenci\ntotal"</string> <string name="interruption_level_none_twoline" msgid="3957581548190765889">"Silenci\ntotal"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Només\ninterr. prior."</string> <string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Només\ninterr. prior."</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Només\nalarmes"</string> <string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Només\nalarmes"</string>
<string name="keyguard_indication_charging_time_wireless" msgid="5376059837186496558">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • S\'està carregant sense fils (temps restant: <xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time" msgid="2056340799276374421">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • S\'està carregant (temps restant: <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string> <string name="keyguard_indication_charging_time" msgid="2056340799276374421">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • S\'està carregant (temps restant: <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="7767562163577492332">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • Carregant ràpidament (temps restant: <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string> <string name="keyguard_indication_charging_time_fast" msgid="7767562163577492332">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • Carregant ràpidament (temps restant: <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="3769655133567307069">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • Carregant lentament (temps restant: <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string> <string name="keyguard_indication_charging_time_slowly" msgid="3769655133567307069">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • Carregant lentament (temps restant: <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>

View File

@@ -405,6 +405,7 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"שקט\nמוחלט"</string> <string name="interruption_level_none_twoline" msgid="3957581548190765889">"שקט\nמוחלט"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"הודעות בעדיפות\nבלבד"</string> <string name="interruption_level_priority_twoline" msgid="1564715335217164124">"הודעות בעדיפות\nבלבד"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"התראות\nבלבד"</string> <string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"התראות\nבלבד"</string>
<string name="keyguard_indication_charging_time_wireless" msgid="5376059837186496558">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • בטעינה אלחוטית (<xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g> עד לסיום)"</string>
<string name="keyguard_indication_charging_time" msgid="2056340799276374421">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • בטעינה (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> עד לסיום)"</string> <string name="keyguard_indication_charging_time" msgid="2056340799276374421">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • בטעינה (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> עד לסיום)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="7767562163577492332">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • בטעינה מהירה (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> עד לסיום)"</string> <string name="keyguard_indication_charging_time_fast" msgid="7767562163577492332">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • בטעינה מהירה (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> עד לסיום)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="3769655133567307069">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • בטעינה איטית (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> עד לסיום)"</string> <string name="keyguard_indication_charging_time_slowly" msgid="3769655133567307069">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • בטעינה איטית (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> עד לסיום)"</string>
@@ -800,8 +801,8 @@
<string name="pip_notification_message" msgid="5619512781514343311">"אם אינך רוצה שהתכונה הזו תשמש את <xliff:g id="NAME">%s</xliff:g>, יש להקיש כדי לפתוח את ההגדרות ולכבות את התכונה."</string> <string name="pip_notification_message" msgid="5619512781514343311">"אם אינך רוצה שהתכונה הזו תשמש את <xliff:g id="NAME">%s</xliff:g>, יש להקיש כדי לפתוח את ההגדרות ולכבות את התכונה."</string>
<string name="pip_play" msgid="1417176722760265888">"הפעל"</string> <string name="pip_play" msgid="1417176722760265888">"הפעל"</string>
<string name="pip_pause" msgid="8881063404466476571">"השהה"</string> <string name="pip_pause" msgid="8881063404466476571">"השהה"</string>
<string name="pip_skip_to_next" msgid="1948440006726306284">"ברצוני לדלג אל הבא"</string> <string name="pip_skip_to_next" msgid="1948440006726306284">"אפשר לדלג אל הבא"</string>
<string name="pip_skip_to_prev" msgid="1955311326688637914">"ברצוני לדלג אל הקודם"</string> <string name="pip_skip_to_prev" msgid="1955311326688637914">"אפשר לדלג אל הקודם"</string>
<string name="thermal_shutdown_title" msgid="4458304833443861111">"הטלפון כבה עקב התחממות"</string> <string name="thermal_shutdown_title" msgid="4458304833443861111">"הטלפון כבה עקב התחממות"</string>
<string name="thermal_shutdown_message" msgid="9006456746902370523">"הטלפון פועל כרגיל עכשיו"</string> <string name="thermal_shutdown_message" msgid="9006456746902370523">"הטלפון פועל כרגיל עכשיו"</string>
<string name="thermal_shutdown_dialog_message" msgid="566347880005304139">"הטלפון שלך התחמם יותר מדי וכבה כדי להתקרר. הטלפון פועל כרגיל עכשיו.\n\nייתכן שהטלפון יתחמם יותר מדי אם:\n • תשתמש באפליקציות עתירות משאבים (כגון משחקים, אפליקציות וידאו או אפליקציות ניווט)\n • תוריד או תעלה קבצים גדולים\n • תשתמש בטלפון בטמפרטורות גבוהות"</string> <string name="thermal_shutdown_dialog_message" msgid="566347880005304139">"הטלפון שלך התחמם יותר מדי וכבה כדי להתקרר. הטלפון פועל כרגיל עכשיו.\n\nייתכן שהטלפון יתחמם יותר מדי אם:\n • תשתמש באפליקציות עתירות משאבים (כגון משחקים, אפליקציות וידאו או אפליקציות ניווט)\n • תוריד או תעלה קבצים גדולים\n • תשתמש בטלפון בטמפרטורות גבוהות"</string>

View File

@@ -27,6 +27,7 @@ import static com.android.server.wm.ScreenRotationAnimationProto.ANIMATION_RUNNI
import static com.android.server.wm.ScreenRotationAnimationProto.STARTED; import static com.android.server.wm.ScreenRotationAnimationProto.STARTED;
import android.content.Context; import android.content.Context;
import android.graphics.GraphicBuffer;
import android.graphics.Matrix; import android.graphics.Matrix;
import android.graphics.Rect; import android.graphics.Rect;
import android.os.IBinder; import android.os.IBinder;
@@ -285,10 +286,27 @@ class ScreenRotationAnimation {
if (displayHandle != null) { if (displayHandle != null) {
Surface sur = new Surface(); Surface sur = new Surface();
sur.copyFrom(mSurfaceControl); sur.copyFrom(mSurfaceControl);
SurfaceControl.screenshot(displayHandle, sur); GraphicBuffer gb = SurfaceControl.screenshotToBufferWithSecureLayersUnsafe(
t.setLayer(mSurfaceControl, SCREEN_FREEZE_LAYER_SCREENSHOT); new Rect(), 0 /* width */, 0 /* height */, 0 /* minLayer */,
t.setAlpha(mSurfaceControl, 0); 0 /* maxLayer */, false /* useIdentityTransform */, 0 /* rotation */);
t.show(mSurfaceControl); if (gb != null) {
try {
sur.attachAndQueueBuffer(gb);
} catch (RuntimeException e) {
Slog.w(TAG, "Failed to attach screenshot - " + e.getMessage());
}
// If the screenshot contains secure layers, we have to make sure the
// screenshot surface we display it in also has FLAG_SECURE so that
// the user can not screenshot secure layers via the screenshot surface.
if (gb.doesContainSecureLayers()) {
t.setSecure(mSurfaceControl, true);
}
t.setLayer(mSurfaceControl, SCREEN_FREEZE_LAYER_SCREENSHOT);
t.setAlpha(mSurfaceControl, 0);
t.show(mSurfaceControl);
} else {
Slog.w(TAG, "Unable to take screenshot of display " + displayId);
}
sur.destroy(); sur.destroy();
} else { } else {
Slog.w(TAG, "Built-in display " + displayId + " is null."); Slog.w(TAG, "Built-in display " + displayId + " is null.");