Loading core/java/android/bluetooth/BluetoothDevice.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -1186,6 +1186,11 @@ public final class BluetoothDevice implements Parcelable, Attributable { mAttributionSource = attributionSource; mAttributionSource = attributionSource; } } /** {@hide} */ public void prepareToEnterProcess(@NonNull AttributionSource attributionSource) { setAttributionSource(attributionSource); } @Override @Override public boolean equals(@Nullable Object o) { public boolean equals(@Nullable Object o) { if (o instanceof BluetoothDevice) { if (o instanceof BluetoothDevice) { Loading core/java/android/bluetooth/BluetoothManager.java +5 −8 Original line number Original line Diff line number Diff line Loading @@ -62,15 +62,15 @@ public final class BluetoothManager { private static final String TAG = "BluetoothManager"; private static final String TAG = "BluetoothManager"; private static final boolean DBG = false; private static final boolean DBG = false; private static AttributionSource sAttributionSource = null; private final AttributionSource mAttributionSource; private final BluetoothAdapter mAdapter; private final BluetoothAdapter mAdapter; /** /** * @hide * @hide */ */ public BluetoothManager(Context context) { public BluetoothManager(Context context) { sAttributionSource = resolveAttributionSource(context); mAttributionSource = resolveAttributionSource(context); mAdapter = BluetoothAdapter.createAdapter(sAttributionSource); mAdapter = BluetoothAdapter.createAdapter(mAttributionSource); } } /** {@hide} */ /** {@hide} */ Loading @@ -79,9 +79,6 @@ public final class BluetoothManager { if (context != null) { if (context != null) { res = context.getAttributionSource(); res = context.getAttributionSource(); } } else if (sAttributionSource != null) { return sAttributionSource; } if (res == null) { if (res == null) { res = ActivityThread.currentAttributionSource(); res = ActivityThread.currentAttributionSource(); } } Loading Loading @@ -201,8 +198,8 @@ public final class BluetoothManager { IBluetoothGatt iGatt = managerService.getBluetoothGatt(); IBluetoothGatt iGatt = managerService.getBluetoothGatt(); if (iGatt == null) return devices; if (iGatt == null) return devices; devices = Attributable.setAttributionSource( devices = Attributable.setAttributionSource( iGatt.getDevicesMatchingConnectionStates(states, sAttributionSource), iGatt.getDevicesMatchingConnectionStates(states, mAttributionSource), sAttributionSource); mAttributionSource); } catch (RemoteException e) { } catch (RemoteException e) { Log.e(TAG, "", e); Log.e(TAG, "", e); } } Loading core/java/android/content/Intent.java +11 −0 Original line number Original line Diff line number Diff line Loading @@ -31,6 +31,7 @@ import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.SystemApi; import android.annotation.TestApi; import android.annotation.TestApi; import android.app.AppGlobals; import android.app.AppGlobals; import android.bluetooth.BluetoothDevice; import android.compat.annotation.UnsupportedAppUsage; import android.compat.annotation.UnsupportedAppUsage; import android.content.pm.ActivityInfo; import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo; Loading Loading @@ -11461,6 +11462,16 @@ public class Intent implements Parcelable, Cloneable { if (fromProtectedComponent) { if (fromProtectedComponent) { mLocalFlags |= LOCAL_FLAG_FROM_PROTECTED_COMPONENT; 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 */ /** @hide */ Loading Loading
core/java/android/bluetooth/BluetoothDevice.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -1186,6 +1186,11 @@ public final class BluetoothDevice implements Parcelable, Attributable { mAttributionSource = attributionSource; mAttributionSource = attributionSource; } } /** {@hide} */ public void prepareToEnterProcess(@NonNull AttributionSource attributionSource) { setAttributionSource(attributionSource); } @Override @Override public boolean equals(@Nullable Object o) { public boolean equals(@Nullable Object o) { if (o instanceof BluetoothDevice) { if (o instanceof BluetoothDevice) { Loading
core/java/android/bluetooth/BluetoothManager.java +5 −8 Original line number Original line Diff line number Diff line Loading @@ -62,15 +62,15 @@ public final class BluetoothManager { private static final String TAG = "BluetoothManager"; private static final String TAG = "BluetoothManager"; private static final boolean DBG = false; private static final boolean DBG = false; private static AttributionSource sAttributionSource = null; private final AttributionSource mAttributionSource; private final BluetoothAdapter mAdapter; private final BluetoothAdapter mAdapter; /** /** * @hide * @hide */ */ public BluetoothManager(Context context) { public BluetoothManager(Context context) { sAttributionSource = resolveAttributionSource(context); mAttributionSource = resolveAttributionSource(context); mAdapter = BluetoothAdapter.createAdapter(sAttributionSource); mAdapter = BluetoothAdapter.createAdapter(mAttributionSource); } } /** {@hide} */ /** {@hide} */ Loading @@ -79,9 +79,6 @@ public final class BluetoothManager { if (context != null) { if (context != null) { res = context.getAttributionSource(); res = context.getAttributionSource(); } } else if (sAttributionSource != null) { return sAttributionSource; } if (res == null) { if (res == null) { res = ActivityThread.currentAttributionSource(); res = ActivityThread.currentAttributionSource(); } } Loading Loading @@ -201,8 +198,8 @@ public final class BluetoothManager { IBluetoothGatt iGatt = managerService.getBluetoothGatt(); IBluetoothGatt iGatt = managerService.getBluetoothGatt(); if (iGatt == null) return devices; if (iGatt == null) return devices; devices = Attributable.setAttributionSource( devices = Attributable.setAttributionSource( iGatt.getDevicesMatchingConnectionStates(states, sAttributionSource), iGatt.getDevicesMatchingConnectionStates(states, mAttributionSource), sAttributionSource); mAttributionSource); } catch (RemoteException e) { } catch (RemoteException e) { Log.e(TAG, "", e); Log.e(TAG, "", e); } } Loading
core/java/android/content/Intent.java +11 −0 Original line number Original line Diff line number Diff line Loading @@ -31,6 +31,7 @@ import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.SystemApi; import android.annotation.TestApi; import android.annotation.TestApi; import android.app.AppGlobals; import android.app.AppGlobals; import android.bluetooth.BluetoothDevice; import android.compat.annotation.UnsupportedAppUsage; import android.compat.annotation.UnsupportedAppUsage; import android.content.pm.ActivityInfo; import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo; Loading Loading @@ -11461,6 +11462,16 @@ public class Intent implements Parcelable, Cloneable { if (fromProtectedComponent) { if (fromProtectedComponent) { mLocalFlags |= LOCAL_FLAG_FROM_PROTECTED_COMPONENT; 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 */ /** @hide */ Loading