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

Commit 27471aee authored by Jeff Sharkey's avatar Jeff Sharkey Committed by Automerger Merge Worker
Browse files

Merge changes from topic "mar8" into sc-dev am: c8faccf3

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13809611

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Icf1f0c84ba1baab8e8bd9c08c2c12d38a679518c
parents 6df6e7ef c8faccf3
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -10572,9 +10572,10 @@ package android.content {
  public static final class ContextParams.Builder {
    ctor public ContextParams.Builder();
    ctor public ContextParams.Builder(@NonNull android.content.ContextParams);
    method @NonNull public android.content.ContextParams build();
    method @NonNull public android.content.ContextParams.Builder setAttributionTag(@NonNull String);
    method @NonNull public android.content.ContextParams.Builder setReceiverPackage(@NonNull String, @Nullable String);
    method @NonNull public android.content.ContextParams.Builder setAttributionTag(@Nullable String);
    method @NonNull public android.content.ContextParams.Builder setReceiverPackage(@Nullable String, @Nullable String);
  }
  public class ContextWrapper extends android.content.Context {
+1 −1
Original line number Diff line number Diff line
@@ -2196,7 +2196,7 @@ package android.content {
  }
  public static final class ContextParams.Builder {
    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.ContextParams.Builder setRenouncedPermissions(@NonNull java.util.Set<java.lang.String>);
    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.ContextParams.Builder setRenouncedPermissions(@Nullable java.util.Set<java.lang.String>);
  }
  public class ContextWrapper extends android.content.Context {
+2 −1
Original line number Diff line number Diff line
@@ -2635,7 +2635,8 @@ class ContextImpl extends Context {

    @Override
    public @NonNull Context createAttributionContext(@Nullable String attributionTag) {
        return createContext(new ContextParams.Builder().setAttributionTag(attributionTag).build());
        return createContext(
                new ContextParams.Builder(mParams).setAttributionTag(attributionTag).build());
    }

    @Override
+35 −3
Original line number Diff line number Diff line
@@ -119,6 +119,37 @@ public final class ContextParams {
        private String mReceiverAttributionTag;
        private Set<String> mRenouncedPermissions;

        /**
         * Create a new builder.
         * <p>
         * This is valuable when you are interested in having explicit control
         * over every sub-parameter, and don't want to inherit any values from
         * an existing Context.
         * <p>
         * Developers should strongly consider using
         * {@link #Builder(ContextParams)} instead of this constructor, since
         * that will will automatically inherit any new sub-parameters added in
         * future platform releases.
         */
        public Builder() {
        }

        /**
         * Create a new builder that inherits all sub-parameters by default.
         * <p>
         * This is valuable when you are only interested in overriding specific
         * sub-parameters, and want to preserve all other parameters. Setting a
         * specific sub-parameter on the returned builder will override any
         * inherited value.
         */
        public Builder(@NonNull ContextParams params) {
            Objects.requireNonNull(params);
            mAttributionTag = params.mAttributionTag;
            mReceiverPackage = params.mReceiverPackage;
            mReceiverAttributionTag = params.mReceiverAttributionTag;
            mRenouncedPermissions = params.mRenouncedPermissions;
        }

        /**
         * Sets an attribution tag against which to track permission accesses.
         *
@@ -126,7 +157,7 @@ public final class ContextParams {
         * @return This builder.
         */
        @NonNull
        public Builder setAttributionTag(@NonNull String attributionTag) {
        public Builder setAttributionTag(@Nullable String attributionTag) {
            mAttributionTag = attributionTag;
            return this;
        }
@@ -140,7 +171,7 @@ public final class ContextParams {
         * @return This builder.
         */
        @NonNull
        public Builder setReceiverPackage(@NonNull String packageName,
        public Builder setReceiverPackage(@Nullable String packageName,
                @Nullable String attributionTag) {
            mReceiverPackage = packageName;
            mReceiverAttributionTag = attributionTag;
@@ -169,7 +200,8 @@ public final class ContextParams {
         */
        @SystemApi
        @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS)
        public @NonNull Builder setRenouncedPermissions(@NonNull Set<String> renouncedPermissions) {
        public @NonNull Builder setRenouncedPermissions(
                @Nullable Set<String> renouncedPermissions) {
            if (renouncedPermissions != null) {
                mRenouncedPermissions = Collections.unmodifiableSet(renouncedPermissions);
            } else {