Loading core/api/current.txt +3 −2 Original line number Diff line number Diff line Loading @@ -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 { core/api/system-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -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 { Loading core/java/android/app/ContextImpl.java +2 −1 Original line number Diff line number Diff line Loading @@ -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 Loading core/java/android/content/ContextParams.java +42 −6 Original line number Diff line number Diff line Loading @@ -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. * Loading @@ -126,8 +157,8 @@ public final class ContextParams { * @return This builder. */ @NonNull public Builder setAttributionTag(@NonNull String attributionTag) { mAttributionTag = Objects.requireNonNull(attributionTag); public Builder setAttributionTag(@Nullable String attributionTag) { mAttributionTag = attributionTag; return this; } Loading @@ -140,9 +171,9 @@ public final class ContextParams { * @return This builder. */ @NonNull public Builder setReceiverPackage(@NonNull String packageName, public Builder setReceiverPackage(@Nullable String packageName, @Nullable String attributionTag) { mReceiverPackage = Objects.requireNonNull(packageName); mReceiverPackage = packageName; mReceiverAttributionTag = attributionTag; return this; } Loading @@ -169,8 +200,13 @@ 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 { mRenouncedPermissions = null; } return this; } Loading Loading
core/api/current.txt +3 −2 Original line number Diff line number Diff line Loading @@ -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 {
core/api/system-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -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 { Loading
core/java/android/app/ContextImpl.java +2 −1 Original line number Diff line number Diff line Loading @@ -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 Loading
core/java/android/content/ContextParams.java +42 −6 Original line number Diff line number Diff line Loading @@ -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. * Loading @@ -126,8 +157,8 @@ public final class ContextParams { * @return This builder. */ @NonNull public Builder setAttributionTag(@NonNull String attributionTag) { mAttributionTag = Objects.requireNonNull(attributionTag); public Builder setAttributionTag(@Nullable String attributionTag) { mAttributionTag = attributionTag; return this; } Loading @@ -140,9 +171,9 @@ public final class ContextParams { * @return This builder. */ @NonNull public Builder setReceiverPackage(@NonNull String packageName, public Builder setReceiverPackage(@Nullable String packageName, @Nullable String attributionTag) { mReceiverPackage = Objects.requireNonNull(packageName); mReceiverPackage = packageName; mReceiverAttributionTag = attributionTag; return this; } Loading @@ -169,8 +200,13 @@ 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 { mRenouncedPermissions = null; } return this; } Loading