Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 5cb9413c authored by Michael Bestas's avatar Michael Bestas
Browse files

Merge tag 'android-13.0.0_r11' into staging/lineage-20.0_merge-android-13.0.0_r11

Android 13.0.0 release 11

# -----BEGIN PGP SIGNATURE-----
#
# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCY0jiTAAKCRDorT+BmrEO
# eELPAJ9gR8BtxzQ9uQogm5IueC+SPMF5WwCfV9y39O92hcFKRc1AE/9vPcVqczQ=
# =r+Rl
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri Oct 14 07:15:08 2022 EEST
# gpg:                using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78
# gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [marginal]
# gpg: initial-contribution@android.com: Verified 1352 signatures in the past
#      11 months.  Encrypted 4 messages in the past 9 months.
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 4340 D135 70EF 945E 8381  0964 E8AD 3F81 9AB1 0E78

# By Bill Yi (262) and others
# Via Automerger Merge Worker (3668) and others
* tag 'android-13.0.0_r11': (512 commits)
  Skip sending VpnManager events for Settings VPNs
  Fix shade collapse on keyguard with bypass enabled
  RemoteViews: fix BitmapCache after immutable Bitmap switch
  [Output Switcher] Add platform config for Output Switcher
  [Output Swithcer] Fix volume control issue for Group
  Prevent loading of Icon resources from the wrong package
  Enforce zen rule limit on a package level.
  Move accountname and typeName length check from Account.java to AccountManagerService.
  Revert "Revert "Limit the number of concurrently snoozed notifications""
  Strip transition information from activityoptions when sent to app
  Revert "Strip transition information from activityoptions once it is read."
  Reduce blocking calls to Settings in main thread
  Fix race condition in QSTileHost
  Do not create starting window if there is no task.
  Updated keyguard to be robust against fpm
  Dump HWComposer when watchdog bites
  Improve UDFPS unlock animation experience
  Don't reset the keyguard on occlusion if it's going away.
  Fix keyguard dismiss animation with occludable activities.
  Supported UNKNOWN in IWLAN handover rule
  ...

 Conflicts:
	packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java
	packages/SystemUI/src/com/android/systemui/biometrics/UdfpsDialogMeasureAdapter.java
	packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java
	packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragment.java
	packages/SystemUI/tests/src/com/android/systemui/qs/QSTileHostTest.java
	services/core/java/com/android/server/display/DisplayPowerController.java

Change-Id: I5ba0243789f16539cc9a983e7d6ca9038d3e5070
parents 95d07659 cf4d533a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -308,7 +308,7 @@ import java.util.function.Consumer;
 * <li>The <b>foreground lifetime</b> of an activity happens between a call to
 * {@link android.app.Activity#onResume} until a corresponding call to
 * {@link android.app.Activity#onPause}.  During this time the activity is
 * in visible, active and interacting with the user.  An activity
 * visible, active and interacting with the user.  An activity
 * can frequently go between the resumed and paused states -- for example when
 * the device goes to sleep, when an activity result is delivered, when a new
 * intent is delivered -- so the code in these methods should be fairly
+14 −14
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package android.app;

import static android.Manifest.permission.CONTROL_KEYGUARD;
import static android.Manifest.permission.CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS;
import static android.Manifest.permission.START_TASKS_FROM_RECENTS;
import static android.app.WindowConfiguration.ACTIVITY_TYPE_UNDEFINED;
@@ -362,9 +363,8 @@ public class ActivityOptions extends ComponentOptions {
    private static final String KEY_LAUNCH_INTO_PIP_PARAMS =
            "android.activity.launchIntoPipParams";

    /** See {@link #setDismissKeyguardIfInsecure()}. */
    private static final String KEY_DISMISS_KEYGUARD_IF_INSECURE =
            "android.activity.dismissKeyguardIfInsecure";
    /** See {@link #setDismissKeyguard()}. */
    private static final String KEY_DISMISS_KEYGUARD = "android.activity.dismissKeyguard";

    private static final String KEY_IGNORE_PENDING_INTENT_CREATOR_FOREGROUND_STATE =
            "android.activity.ignorePendingIntentCreatorForegroundState";
@@ -465,7 +465,7 @@ public class ActivityOptions extends ComponentOptions {
    private boolean mLaunchedFromBubble;
    private boolean mTransientLaunch;
    private PictureInPictureParams mLaunchIntoPipParams;
    private boolean mDismissKeyguardIfInsecure;
    private boolean mDismissKeyguard;
    private boolean mIgnorePendingIntentCreatorForegroundState;

    /**
@@ -1270,7 +1270,7 @@ public class ActivityOptions extends ComponentOptions {
        mLaunchIntoPipParams = opts.getParcelable(KEY_LAUNCH_INTO_PIP_PARAMS);
        mIsEligibleForLegacyPermissionPrompt =
                opts.getBoolean(KEY_LEGACY_PERMISSION_PROMPT_ELIGIBLE);
        mDismissKeyguardIfInsecure = opts.getBoolean(KEY_DISMISS_KEYGUARD_IF_INSECURE);
        mDismissKeyguard = opts.getBoolean(KEY_DISMISS_KEYGUARD);
        mIgnorePendingIntentCreatorForegroundState = opts.getBoolean(
                KEY_IGNORE_PENDING_INTENT_CREATOR_FOREGROUND_STATE);
    }
@@ -1874,24 +1874,24 @@ public class ActivityOptions extends ComponentOptions {
    }

    /**
     * Sets whether the insecure keyguard should go away when this activity launches. In case the
     * keyguard is secure, this option will be ignored.
     * Sets whether the keyguard should go away when this activity launches.
     *
     * @see Activity#setShowWhenLocked(boolean)
     * @see android.R.attr#showWhenLocked
     * @hide
     */
    public void setDismissKeyguardIfInsecure() {
        mDismissKeyguardIfInsecure = true;
    @RequiresPermission(CONTROL_KEYGUARD)
    public void setDismissKeyguard() {
        mDismissKeyguard = true;
    }

    /**
     * @see #setDismissKeyguardIfInsecure()
     * @see #setDismissKeyguard()
     * @return whether the insecure keyguard should go away when the activity launches.
     * @hide
     */
    public boolean getDismissKeyguardIfInsecure() {
        return mDismissKeyguardIfInsecure;
    public boolean getDismissKeyguard() {
        return mDismissKeyguard;
    }

    /**
@@ -2172,8 +2172,8 @@ public class ActivityOptions extends ComponentOptions {
            b.putBoolean(KEY_LEGACY_PERMISSION_PROMPT_ELIGIBLE,
                    mIsEligibleForLegacyPermissionPrompt);
        }
        if (mDismissKeyguardIfInsecure) {
            b.putBoolean(KEY_DISMISS_KEYGUARD_IF_INSECURE, mDismissKeyguardIfInsecure);
        if (mDismissKeyguard) {
            b.putBoolean(KEY_DISMISS_KEYGUARD, mDismissKeyguard);
        }
        if (mIgnorePendingIntentCreatorForegroundState) {
            b.putBoolean(KEY_IGNORE_PENDING_INTENT_CREATOR_FOREGROUND_STATE,
+36 −0
Original line number Diff line number Diff line
@@ -1233,6 +1233,42 @@ public abstract class CameraCaptureSession implements AutoCloseable {
            // default empty implementation
        }

        /**
         * This method is called when the camera device has started reading out the output
         * image for the request, at the beginning of the sensor image readout.
         *
         * <p>For a capture request, this callback is invoked right after
         * {@link #onCaptureStarted}. Unlike {@link #onCaptureStarted}, instead of passing
         * a timestamp of start of exposure, this callback passes a timestamp of start of
         * camera data readout. This is useful because for a camera running at fixed frame
         * rate, the start of readout is at fixed interval, which is not necessarily true for
         * the start of exposure, particularly when autoexposure is changing exposure duration
         * between frames.</p>
         *
         * <p>This timestamp may not match {@link CaptureResult#SENSOR_TIMESTAMP the result
         * timestamp field}. It will, however, match the timestamp of buffers sent to the
         * output surfaces with {@link OutputConfiguration#TIMESTAMP_BASE_READOUT_SENSOR}
         * timestamp base.</p>
         *
         * <p>This callback will be called only if {@link
         * CameraCharacteristics#SENSOR_READOUT_TIMESTAMP} is
         * {@link CameraMetadata#SENSOR_READOUT_TIMESTAMP_HARDWARE}, and it's called
         * right after {@link #onCaptureStarted}.</p>
         *
         * @param session the session returned by {@link CameraDevice#createCaptureSession}
         * @param request the request for the readout that just began
         * @param timestamp the timestamp at start of readout for a regular request, or
         *                  the timestamp at the input image's start of readout for a
         *                  reprocess request, in nanoseconds.
         * @param frameNumber the frame number for this capture
         *
         * @hide
         */
        public void onReadoutStarted(@NonNull CameraCaptureSession session,
                @NonNull CaptureRequest request, long timestamp, long frameNumber) {
            // default empty implementation
        }

        /**
         * This method is called when some results from an image capture are
         * available.
+38 −0
Original line number Diff line number Diff line
@@ -1326,6 +1326,10 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
     * {@link android.hardware.camera2.CameraManager#turnOnTorchWithStrengthLevel }.
     * If this value is equal to 1, flashlight brightness control is not supported.
     * The value for this key will be null for devices with no flash unit.</p>
     * <p>The maximum value is guaranteed to be safe to use for an indefinite duration in
     * terms of device flashlight lifespan, but may be too bright for comfort for many
     * use cases. Use the default torch brightness value to avoid problems with an
     * over-bright flashlight.</p>
     * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
     */
    @PublicKey
@@ -4414,6 +4418,40 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
    public static final Key<android.graphics.Rect[]> SENSOR_OPTICAL_BLACK_REGIONS =
            new Key<android.graphics.Rect[]>("android.sensor.opticalBlackRegions", android.graphics.Rect[].class);

    /**
     * <p>Whether or not the camera device supports readout timestamp and
     * onReadoutStarted callback.</p>
     * <p>If this tag is HARDWARE, the camera device calls onReadoutStarted in addition to the
     * onCaptureStarted callback for each capture. The timestamp passed into the callback
     * is the start of camera image readout rather than the start of the exposure. In
     * addition, the application can configure an
     * {@link android.hardware.camera2.params.OutputConfiguration } with
     * TIMESTAMP_BASE_READOUT_SENSOR timestamp base, in which case, the timestamp of the
     * output surface matches the timestamp from the corresponding onReadoutStarted callback.</p>
     * <p>The readout timestamp is beneficial for video recording, because the encoder favors
     * uniform timestamps, and the readout timestamps better reflect the cadence camera sensors
     * output data.</p>
     * <p>If this tag is HARDWARE, the camera device produces the start-of-exposure and
     * start-of-readout together. As a result, the onReadoutStarted is called right after
     * onCaptureStarted. The difference in start-of-readout and start-of-exposure is the sensor
     * exposure time, plus certain constant offset. The offset is usually due to camera sensor
     * level crop, and it remains constant for a given camera sensor mode.</p>
     * <p><b>Possible values:</b></p>
     * <ul>
     *   <li>{@link #SENSOR_READOUT_TIMESTAMP_NOT_SUPPORTED NOT_SUPPORTED}</li>
     *   <li>{@link #SENSOR_READOUT_TIMESTAMP_HARDWARE HARDWARE}</li>
     * </ul>
     *
     * <p>This key is available on all devices.</p>
     * @see #SENSOR_READOUT_TIMESTAMP_NOT_SUPPORTED
     * @see #SENSOR_READOUT_TIMESTAMP_HARDWARE
     * @hide
     */
    @PublicKey
    @NonNull
    public static final Key<Integer> SENSOR_READOUT_TIMESTAMP =
            new Key<Integer>("android.sensor.readoutTimestamp", int.class);

    /**
     * <p>List of lens shading modes for {@link CaptureRequest#SHADING_MODE android.shading.mode} that are supported by this camera device.</p>
     * <p>This list contains lens shading modes that can be set for the camera device.
+22 −0
Original line number Diff line number Diff line
@@ -1657,6 +1657,28 @@ public abstract class CameraMetadata<TKey> {
     */
    public static final int SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN = 24;

    //
    // Enumeration values for CameraCharacteristics#SENSOR_READOUT_TIMESTAMP
    //

    /**
     * <p>This camera device doesn't support readout timestamp and onReadoutStarted
     * callback.</p>
     * @see CameraCharacteristics#SENSOR_READOUT_TIMESTAMP
     * @hide
     */
    public static final int SENSOR_READOUT_TIMESTAMP_NOT_SUPPORTED = 0;

    /**
     * <p>This camera device supports the onReadoutStarted callback as well as outputting
     * readout timestamp for streams with TIMESTAMP_BASE_READOUT_SENSOR timestamp base. The
     * readout timestamp is generated by the camera hardware and it has the same accuracy
     * and timing characteristics of the start-of-exposure time.</p>
     * @see CameraCharacteristics#SENSOR_READOUT_TIMESTAMP
     * @hide
     */
    public static final int SENSOR_READOUT_TIMESTAMP_HARDWARE = 1;

    //
    // Enumeration values for CameraCharacteristics#LED_AVAILABLE_LEDS
    //
Loading