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

Unverified Commit 106dca45 authored by Michael Bestas's avatar Michael Bestas
Browse files

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

Android 13.0.0 release 43

# -----BEGIN PGP SIGNATURE-----
#
# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZFABjgAKCRDorT+BmrEO
# eEZNAJ9SxAaF+nAedlGJxTnfjqqK9Pki0ACeOVxuCV2DuQstPoV5+0NCTJ+DiEc=
# =YI+F
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon May  1 21:14:38 2023 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 1656 signatures in the past
#      18 months.  Encrypted 4 messages in the past 15 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 Mark Renouf (2) and others
# Via Android Build Coastguard Worker
* tag 'android-13.0.0_r43':
  Revert "Prevent sharesheet from previewing unowned URIs [RESTRICT AUTOMERGE]"
  DO NOT MERGE Isolated processes must fail registering BRs.
  enforce stricter rules when registering phoneAccounts
  Prevent sharesheet from previewing unowned URIs [RESTRICT AUTOMERGE]
  Limit the number of shortcuts per app that can be retained by system
  Checks if AccessibilityServiceInfo is within parcelable size.
  FIx occlusion status mismatch issue when screen turns off and on quickly
  Re-enforce MANAGE_ACTIVITY_TASKS for applySyncTransaction
  [RESTRICT AUTOMERGE][pm] still allow debuggable for system app downgrades
  [RESTRICT AUTOMERGE][pm] prevent system app downgrades of versions lower than preload

Change-Id: Iad64f612252c89f59e52cac24429013bbc791fbc
parents d35e44d4 87725c3f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3452,7 +3452,7 @@ package android.window {

  public class WindowOrganizer {
    ctor public WindowOrganizer();
    method @RequiresPermission(value=android.Manifest.permission.MANAGE_ACTIVITY_TASKS, conditional=true) public int applySyncTransaction(@NonNull android.window.WindowContainerTransaction, @NonNull android.window.WindowContainerTransactionCallback);
    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public int applySyncTransaction(@NonNull android.window.WindowContainerTransaction, @NonNull android.window.WindowContainerTransactionCallback);
    method @RequiresPermission(value=android.Manifest.permission.MANAGE_ACTIVITY_TASKS, conditional=true) public void applyTransaction(@NonNull android.window.WindowContainerTransaction);
  }

+4 −0
Original line number Diff line number Diff line
@@ -2523,6 +2523,10 @@ public abstract class AccessibilityService extends Service {
        IAccessibilityServiceConnection connection =
                AccessibilityInteractionClient.getInstance(this).getConnection(mConnectionId);
        if (mInfo != null && connection != null) {
            if (!mInfo.isWithinParcelableSize()) {
                throw new IllegalStateException(
                        "Cannot update service info: size is larger than safe parcelable limits.");
            }
            try {
                connection.setServiceInfo(mInfo);
                mInfo = null;
+10 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ import android.content.res.XmlResourceParser;
import android.graphics.drawable.Drawable;
import android.hardware.fingerprint.FingerprintManager;
import android.os.Build;
import android.os.IBinder;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.RemoteException;
@@ -1128,6 +1129,15 @@ public class AccessibilityServiceInfo implements Parcelable {
        return 0;
    }

    /** @hide */
    public final boolean isWithinParcelableSize() {
        final Parcel parcel = Parcel.obtain();
        writeToParcel(parcel, 0);
        final boolean result = parcel.dataSize() <= IBinder.MAX_IPC_SIZE;
        parcel.recycle();
        return result;
    }

    public void writeToParcel(Parcel parcel, int flagz) {
        parcel.writeInt(eventTypes);
        parcel.writeStringArray(packageNames);
+2 −5
Original line number Diff line number Diff line
@@ -61,9 +61,7 @@ public class WindowOrganizer {
     * Apply multiple WindowContainer operations at once.
     *
     * Note that using this API requires the caller to hold
     * {@link android.Manifest.permission#MANAGE_ACTIVITY_TASKS}, unless the caller is using
     * {@link TaskFragmentOrganizer}, in which case it is allowed to change TaskFragment that is
     * created by itself.
     * {@link android.Manifest.permission#MANAGE_ACTIVITY_TASKS}.
     *
     * @param t The transaction to apply.
     * @param callback This transaction will use the synchronization scheme described in
@@ -72,8 +70,7 @@ public class WindowOrganizer {
     * @return An ID for the sync operation which will later be passed to transactionReady callback.
     *         This lets the caller differentiate overlapping sync operations.
     */
    @RequiresPermission(value = android.Manifest.permission.MANAGE_ACTIVITY_TASKS,
            conditional = true)
    @RequiresPermission(value = android.Manifest.permission.MANAGE_ACTIVITY_TASKS)
    public int applySyncTransaction(@NonNull WindowContainerTransaction t,
            @NonNull WindowContainerTransactionCallback callback) {
        try {
+6 −0
Original line number Diff line number Diff line
@@ -1848,6 +1848,12 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
            AccessibilityServiceInfo accessibilityServiceInfo;
            try {
                accessibilityServiceInfo = new AccessibilityServiceInfo(resolveInfo, mContext);
                if (!accessibilityServiceInfo.isWithinParcelableSize()) {
                    Slog.e(LOG_TAG, "Skipping service "
                            + accessibilityServiceInfo.getResolveInfo().getComponentInfo()
                            + " because service info size is larger than safe parcelable limits.");
                    continue;
                }
                if (userState.mCrashedServices.contains(serviceInfo.getComponentName())) {
                    // Restore the crashed attribute.
                    accessibilityServiceInfo.crashed = true;
Loading