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

Unverified Commit 26e0242f authored by Michael Bestas's avatar Michael Bestas
Browse files

Merge branch 'android16-security-release' of...

Merge branch 'android16-security-release' of https://android.googlesource.com/platform/frameworks/base into lineage-23.0

* 'android16-security-release' of https://android.googlesource.com/platform/frameworks/base: (27 commits)
  PrintSpooler: Require empty output for PDF
  Check DPC package validity during package updates
  Trim oversized strings in setId and setConversationId
  [RESTRICT AUTOMERGE] Disallow PINNED in setLaunchWindowingMode
  Prevent root from getting unverified attributions from non system apps
  Implement onNullBinding() in autofill service connection
  cleanup: Fix permission protection of setObservedMotionEventSources
  Ensuring valid packageName when granting slice permission
  Calculate how much memory is used per account.
  Don't allow SdkSandbox to bypass systemUid check.
  Check sound Uri permission when creating a notification channel
  Don't allow hiding SysUi
  Avoid mixups between different CPSes in ZenModeConditions
  Add resolveActivityAsUserForExplicitType api to pm
  Limits the display name to 1024 characters
  DevicePolicyManager: ignore invalid proxy settings
  Defer remove splash screen while device is locked
  Prevent non-system ShutdownActivity from being launched by BatteryService
  Move BP window to Keyguard_dialog
  Ignore pinned Windows
  ...

Change-Id: I67d8ac39361295a2c717b484aa72453a4bc75c20
parents 4b56eb01 54f29d4e
Loading
Loading
Loading
Loading
+21 −7
Original line number Diff line number Diff line
@@ -1508,22 +1508,36 @@ public class ApplicationPackageManager extends PackageManager {

    @Override
    public ResolveInfo resolveActivity(Intent intent, ResolveInfoFlags flags) {
        return resolveActivityAsUser(intent, flags, getUserId());
        return resolveActivityAsUser(intent, /* resolvedType= */ null, flags, getUserId());
    }

    @Override
    public ResolveInfo resolveActivityAsUser(Intent intent, int flags, int userId) {
        return resolveActivityAsUser(intent, ResolveInfoFlags.of(flags), userId);
        return resolveActivityAsUser(intent, /* resolvedType= */ null, ResolveInfoFlags.of(flags),
                userId);
    }

    @Override
    public ResolveInfo resolveActivityAsUser(Intent intent, ResolveInfoFlags flags, int userId) {
        return resolveActivityAsUser(intent, /* resolvedType= */ null, flags, userId);
    }

    @Override
    public ResolveInfo resolveActivityAsUser(Intent intent, String resolvedType,
            int flags, int userId) {
        return resolveActivityAsUser(intent, resolvedType,
                ResolveInfoFlags.of(flags), userId);
    }

    @Override
    public ResolveInfo resolveActivityAsUser(Intent intent, String resolvedType,
            ResolveInfoFlags flags, int userId) {
        try {
            return mPM.resolveIntent(
                intent,
                intent.resolveTypeIfNeeded(mContext.getContentResolver()),
                updateFlagsForComponent(flags.getValue(), userId, intent),
                userId);
            return mPM.resolveIntent(intent,
                    resolvedType == null
                        ? intent.resolveTypeIfNeeded(mContext.getContentResolver())
                        : resolvedType,
                    updateFlagsForComponent(flags.getValue(), userId, intent), userId);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
+3 −3
Original line number Diff line number Diff line
@@ -650,7 +650,7 @@ public final class NotificationChannel implements Parcelable {
     * @hide
     */
    public void setId(String id) {
        mId = id;
        mId = getTrimmedString(id);
    }

    // Modifiable by apps on channel creation.
@@ -894,8 +894,8 @@ public final class NotificationChannel implements Parcelable {
     */
    public void setConversationId(@NonNull String parentChannelId,
            @NonNull String conversationId) {
        mParentId = parentChannelId;
        mConversationId = conversationId;
        mParentId = getTrimmedString(parentChannelId);
        mConversationId = getTrimmedString(conversationId);
    }

    /**
+4 −0
Original line number Diff line number Diff line
@@ -256,6 +256,10 @@ public final class NotificationHistory implements Parcelable {
            mParcel.setDataPosition(0);
            mParcel.appendFrom(data, data.dataPosition(), listByteLength);
            mParcel.setDataSize(mParcel.dataPosition());
            if (positionInParcel > mParcel.dataSize()) {
                throw new IllegalStateException(
                    "Obtained an invalid position value(" + positionInParcel + " from Parcel.");
            }
            mParcel.setDataPosition(positionInParcel);
        }
    }
+2 −0
Original line number Diff line number Diff line
@@ -409,6 +409,8 @@ public final class DeviceAdminInfo implements Parcelable {
        } catch (NameNotFoundException e) {
            throw new XmlPullParserException(
                    "Unable to create context for: " + mActivityInfo.packageName);
        } catch (OutOfMemoryError e) {
            throw new XmlPullParserException("Out of memory when parsing", null, e);
        } finally {
            if (parser != null) parser.close();
        }
+7 −0
Original line number Diff line number Diff line
@@ -274,6 +274,8 @@ public final class AssociationRequest implements Parcelable {
     */
    private boolean mSkipPrompt;

    private static final int DISPLAY_NAME_LENGTH_LIMIT = 1024;

    /**
     * The device icon displayed in selfManaged association dialog.
     * @hide
@@ -501,6 +503,11 @@ public final class AssociationRequest implements Parcelable {
        public Builder setDisplayName(@NonNull CharSequence displayName) {
            checkNotUsed();
            mDisplayName = requireNonNull(displayName);
            if (displayName.length() > DISPLAY_NAME_LENGTH_LIMIT) {
                throw new IllegalArgumentException("Length of the display name must be at most "
                        + DISPLAY_NAME_LENGTH_LIMIT + " characters");
            }

            return this;
        }

Loading