summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/content/AttributionSource.java9
-rw-r--r--core/java/android/permission/flags.aconfig7
2 files changed, 16 insertions, 0 deletions
diff --git a/core/java/android/content/AttributionSource.java b/core/java/android/content/AttributionSource.java
index ffed5366d31b..ebf522b66c4e 100644
--- a/core/java/android/content/AttributionSource.java
+++ b/core/java/android/content/AttributionSource.java
@@ -34,6 +34,7 @@ import android.os.UserHandle;
import android.permission.PermissionManager;
import android.permission.flags.Flags;
import android.util.ArraySet;
+import android.util.Log;
import com.android.internal.annotations.Immutable;
@@ -90,6 +91,7 @@ import java.util.Set;
*/
@Immutable
public final class AttributionSource implements Parcelable {
+ private static final String TAG = "AttributionSource";
private static final String DESCRIPTOR = "android.content.AttributionSource";
private static final Binder sDefaultToken = new Binder(DESCRIPTOR);
@@ -273,6 +275,13 @@ public final class AttributionSource implements Parcelable {
final AttributionSource globalSource = ActivityThread.currentAttributionSource();
if (globalSource != null) {
+ if (Flags.enforceDefaultDeviceIdInMyAttributionSource()
+ && globalSource.getDeviceId() != Context.DEVICE_ID_DEFAULT) {
+ Log.w(TAG,
+ "Avoid using myAttributionSource() to fetch an attributionSource with a "
+ + "non-default device Id");
+ return globalSource.withDeviceId(Context.DEVICE_ID_DEFAULT);
+ }
return globalSource;
}
diff --git a/core/java/android/permission/flags.aconfig b/core/java/android/permission/flags.aconfig
index daa5584462ba..d469a2f985fa 100644
--- a/core/java/android/permission/flags.aconfig
+++ b/core/java/android/permission/flags.aconfig
@@ -507,3 +507,10 @@ flag {
description: "Use IoThread handler for AppOpsService background/IO work."
bug: "394380603"
}
+
+flag {
+ name: "enforce_default_device_id_in_my_attribution_source"
+ namespace: "permissions"
+ description: "Force AttributionSource.myAttributionSource() to return a default device id"
+ bug: "343121936"
+}