diff options
| author | Jeff Sharkey <jsharkey@android.com> | 2021-05-07 10:28:59 -0600 |
|---|---|---|
| committer | Jeff Sharkey <jsharkey@android.com> | 2021-05-15 09:48:14 -0600 |
| commit | dd6dd3b1fbd512193c00da71c925b3e1003fd572 (patch) | |
| tree | c4d787b7d7f0cf4d9f27a6ecaf40aca805942bc2 /core/java/android/bluetooth/BluetoothDevice.java | |
| parent | 3bf189f78b09fcd1be04146945d81c52c5c30e87 (diff) | |
Apply AttributionSource during Intent delivery.
There are some Parcelables which offer to perform Binder calls, and
when these are delivered via Intent extras they fallback to
ActivityThread.currentAttributionSource(), instead of being tagged
based on the relevant app component.
This change begins using Intent.prepareToEnterProcess() as a hook to
fix-up AttributionSource when those extras finally land in the
destination process. It uses the relevant AttributionSource based
on the Activity or Service the Intent is delivered to, which
developers have control over via AppComponentFactory.
In the case of <receiver> manifest elements, this change applies the
first android:attributionTags value to the Context used for that
BroadcastReceiver.
Bug: 187097694
Test: atest AttributionTest
Change-Id: I8f5197db7e8d7277d34f0ef2bb90bfdf1871186a
Diffstat (limited to 'core/java/android/bluetooth/BluetoothDevice.java')
| -rw-r--r-- | core/java/android/bluetooth/BluetoothDevice.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/core/java/android/bluetooth/BluetoothDevice.java b/core/java/android/bluetooth/BluetoothDevice.java index 40326631402f..52d4c7116a61 100644 --- a/core/java/android/bluetooth/BluetoothDevice.java +++ b/core/java/android/bluetooth/BluetoothDevice.java @@ -1190,6 +1190,11 @@ public final class BluetoothDevice implements Parcelable { return devices; } + /** {@hide} */ + public void prepareToEnterProcess(AttributionSource attributionSource) { + setAttributionSource(attributionSource); + } + @Override public boolean equals(@Nullable Object o) { if (o instanceof BluetoothDevice) { |
