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

Unverified Commit ba6f7056 authored by Kevin F. Haggerty's avatar Kevin F. Haggerty
Browse files

Merge tag 'android-security-10.0.0_r59' into staging/lineage-17.1_merge_android-security-10.0.0_r59

Android Security 10.0.0 Release 59 (7678332)

* tag 'android-security-10.0.0_r59':
  DO NOT MERGE Apply a maximum char count to the load label api
  Send targeted broadcasts to prevent other apps from receiving them.
  Guard DISABLE_PLUGIN with PLUGIN permission.
  Fix background bypass via notifications
  Change ownership of the account request notification.
  Fix a potential thread safety issue in VectorDrawable

Change-Id: I2d0db359bd638b5b67cbaa2fe0270a3b44724817
parents 189a54c3 5f889a0c
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -2950,6 +2950,19 @@ public class Notification implements Parcelable
        builder.build(); // callers expect this notification to be ready to use
    }

    /**
     * Sets the token used for background operations for the pending intents associated with this
     * notification.
     *
     * This token is automatically set during deserialization for you, you usually won't need to
     * call this unless you want to change the existing token, if any.
     *
     * @hide
     */
    public void setAllowlistToken(@Nullable IBinder token) {
        mWhitelistToken = token;
    }

    /**
     * @hide
     */
+4 −2
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@ import java.util.Comparator;
 */
public class PackageItemInfo {
    /** The maximum length of a safe label, in characters */
    private static final int MAX_SAFE_LABEL_LENGTH = 50000;
    private static final int MAX_SAFE_LABEL_LENGTH = 1000;

    /** @hide */
    public static final float DEFAULT_MAX_LABEL_SIZE_PX = 500f;
@@ -198,7 +198,9 @@ public class PackageItemInfo {
            return loadSafeLabel(pm, DEFAULT_MAX_LABEL_SIZE_PX, SAFE_STRING_FLAG_TRIM
                    | SAFE_STRING_FLAG_FIRST_LINE);
        } else {
            return loadUnsafeLabel(pm);
            // Trims the label string to the MAX_SAFE_LABEL_LENGTH. This is to prevent that the
            // system is overwhelmed by an enormous string returned by the application.
            return TextUtils.trimToSize(loadUnsafeLabel(pm), MAX_SAFE_LABEL_LENGTH);
        }
    }

+2 −0
Original line number Diff line number Diff line
@@ -3876,6 +3876,8 @@
    <string name="deny">Deny</string>
    <string name="permission_request_notification_title">Permission requested</string>
    <string name="permission_request_notification_with_subtitle">Permission requested\nfor account <xliff:g id="account" example="foo@gmail.com">%s</xliff:g>.</string>
     <!-- Title and subtitle for notification shown when app request account access (two lines) [CHAR LIMIT=NONE] -->
    <string name="permission_request_notification_for_app_with_subtitle">Permission requested by <xliff:g id="app" example="Gmail">%1$s</xliff:g>\nfor account <xliff:g id="account" example="foo@gmail.com">%2$s</xliff:g>.</string>

    <!-- Message to show when an intent automatically switches users into the personal profile. -->
    <string name="forward_intent_to_owner">You\'re using this app outside of your work profile</string>
+1 −0
Original line number Diff line number Diff line
@@ -587,6 +587,7 @@
  <java-symbol type="string" name="menu_sym_shortcut_label" />
  <java-symbol type="string" name="notification_title" />
  <java-symbol type="string" name="permission_request_notification_with_subtitle" />
  <java-symbol type="string" name="permission_request_notification_for_app_with_subtitle" />
  <java-symbol type="string" name="prepend_shortcut_label" />
  <java-symbol type="string" name="paste_as_plain_text" />
  <java-symbol type="string" name="replace" />
+7 −3
Original line number Diff line number Diff line
@@ -348,15 +348,19 @@ public class VectorDrawable extends Drawable {
    private final Rect mTmpBounds = new Rect();

    public VectorDrawable() {
        this(new VectorDrawableState(null), null);
        this(null, null);
    }

    /**
     * The one constructor to rule them all. This is called by all public
     * constructors to set the state and initialize local properties.
     */
    private VectorDrawable(@NonNull VectorDrawableState state, @Nullable Resources res) {
        mVectorState = state;
    private VectorDrawable(@Nullable VectorDrawableState state, @Nullable Resources res) {
        // As the mutable, not-thread-safe native instance is stored in VectorDrawableState, we
        // need to always do a defensive copy even if mutate() isn't called. Otherwise
        // draw() being called on 2 different VectorDrawable instances could still hit the same
        // underlying native object.
        mVectorState = new VectorDrawableState(state);
        updateLocalState(res);
    }

Loading