From e8f2077feec8c548dbc2c6d08016b76edcc56eb8 Mon Sep 17 00:00:00 2001
From: Etienne Ruffieux <eruffieux@google.com>
Date: Wed, 13 Oct 2021 10:46:12 +0000
Subject: [PATCH] Removed BluetoothDevice#prepareToEnterProcess

Tag: #feature
Bug: 200202780
Test: manual
Change-Id: I8d4be1da1bcb5b819c324f1a3a89c7dc317c31d6
---
 core/java/android/bluetooth/BluetoothDevice.java  |  5 -----
 core/java/android/bluetooth/BluetoothManager.java | 13 ++++++++-----
 core/java/android/content/Intent.java             | 11 -----------
 3 files changed, 8 insertions(+), 21 deletions(-)

diff --git a/core/java/android/bluetooth/BluetoothDevice.java b/core/java/android/bluetooth/BluetoothDevice.java
index c71fcc637cb9..9caeb297ace3 100644
--- a/core/java/android/bluetooth/BluetoothDevice.java
+++ b/core/java/android/bluetooth/BluetoothDevice.java
@@ -1186,11 +1186,6 @@ public final class BluetoothDevice implements Parcelable, Attributable {
         mAttributionSource = attributionSource;
     }
 
-    /** {@hide} */
-    public void prepareToEnterProcess(@NonNull AttributionSource attributionSource) {
-        setAttributionSource(attributionSource);
-    }
-
     @Override
     public boolean equals(@Nullable Object o) {
         if (o instanceof BluetoothDevice) {
diff --git a/core/java/android/bluetooth/BluetoothManager.java b/core/java/android/bluetooth/BluetoothManager.java
index 20152f3d2471..b5df4db2460d 100644
--- a/core/java/android/bluetooth/BluetoothManager.java
+++ b/core/java/android/bluetooth/BluetoothManager.java
@@ -62,15 +62,15 @@ public final class BluetoothManager {
     private static final String TAG = "BluetoothManager";
     private static final boolean DBG = false;
 
-    private final AttributionSource mAttributionSource;
+    private static AttributionSource sAttributionSource = null;
     private final BluetoothAdapter mAdapter;
 
     /**
      * @hide
      */
     public BluetoothManager(Context context) {
-        mAttributionSource = resolveAttributionSource(context);
-        mAdapter = BluetoothAdapter.createAdapter(mAttributionSource);
+        sAttributionSource = resolveAttributionSource(context);
+        mAdapter = BluetoothAdapter.createAdapter(sAttributionSource);
     }
 
     /** {@hide} */
@@ -79,6 +79,9 @@ public final class BluetoothManager {
         if (context != null) {
             res = context.getAttributionSource();
         }
+        else if (sAttributionSource != null) {
+            return sAttributionSource;
+        }
         if (res == null) {
             res = ActivityThread.currentAttributionSource();
         }
@@ -198,8 +201,8 @@ public final class BluetoothManager {
             IBluetoothGatt iGatt = managerService.getBluetoothGatt();
             if (iGatt == null) return devices;
             devices = Attributable.setAttributionSource(
-                    iGatt.getDevicesMatchingConnectionStates(states, mAttributionSource),
-                    mAttributionSource);
+                    iGatt.getDevicesMatchingConnectionStates(states, sAttributionSource),
+                    sAttributionSource);
         } catch (RemoteException e) {
             Log.e(TAG, "", e);
         }
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
index d811040b6bb2..2fd437db14a7 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -31,7 +31,6 @@ import android.annotation.SuppressLint;
 import android.annotation.SystemApi;
 import android.annotation.TestApi;
 import android.app.AppGlobals;
-import android.bluetooth.BluetoothDevice;
 import android.compat.annotation.UnsupportedAppUsage;
 import android.content.pm.ActivityInfo;
 import android.content.pm.ApplicationInfo;
@@ -11462,16 +11461,6 @@ public class Intent implements Parcelable, Cloneable {
         if (fromProtectedComponent) {
             mLocalFlags |= LOCAL_FLAG_FROM_PROTECTED_COMPONENT;
         }
-
-        // Special attribution fix-up logic for any BluetoothDevice extras
-        // passed via Bluetooth intents
-        if (mAction != null && mAction.startsWith("android.bluetooth.")
-                && hasExtra(BluetoothDevice.EXTRA_DEVICE)) {
-            final BluetoothDevice device = getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
-            if (device != null) {
-                device.prepareToEnterProcess(source);
-            }
-        }
     }
 
     /** @hide */
-- 
GitLab