Loading core/java/android/bluetooth/BluetoothDevice.java +12 −0 Original line number Diff line number Diff line Loading @@ -1032,6 +1032,18 @@ public final class BluetoothDevice implements Parcelable { return mAddress; } /** * Returns the anonymized hardware address of this BluetoothDevice. The first three octets * will be suppressed for anonymization. * <p> For example, "XX:XX:XX:AA:BB:CC". * * @return Anonymized bluetooth hardware address as string * @hide */ public String getAnonymizedAddress() { return "XX:XX:XX" + getAddress().substring(8); } /** * Get the friendly Bluetooth name of the remote device. * Loading services/core/java/com/android/server/audio/BtHelper.java +12 −4 Original line number Diff line number Diff line Loading @@ -632,21 +632,28 @@ public class BtHelper { return result; } // Return `(null)` if given BluetoothDevice is null. Otherwise, return the anonymized address. private String getAnonymizedAddress(BluetoothDevice btDevice) { return btDevice == null ? "(null)" : btDevice.getAnonymizedAddress(); } // @GuardedBy("AudioDeviceBroker.mSetModeLock") //@GuardedBy("AudioDeviceBroker.mDeviceStateLock") @GuardedBy("BtHelper.this") private void setBtScoActiveDevice(BluetoothDevice btDevice) { Log.i(TAG, "setBtScoActiveDevice: " + mBluetoothHeadsetDevice + " -> " + btDevice); Log.i(TAG, "setBtScoActiveDevice: " + getAnonymizedAddress(mBluetoothHeadsetDevice) + " -> " + getAnonymizedAddress(btDevice)); final BluetoothDevice previousActiveDevice = mBluetoothHeadsetDevice; if (Objects.equals(btDevice, previousActiveDevice)) { return; } if (!handleBtScoActiveDeviceChange(previousActiveDevice, false)) { Log.w(TAG, "setBtScoActiveDevice() failed to remove previous device " + previousActiveDevice); + getAnonymizedAddress(previousActiveDevice)); } if (!handleBtScoActiveDeviceChange(btDevice, true)) { Log.e(TAG, "setBtScoActiveDevice() failed to add new device " + btDevice); Log.e(TAG, "setBtScoActiveDevice() failed to add new device " + getAnonymizedAddress(btDevice)); // set mBluetoothHeadsetDevice to null when failing to add new device btDevice = null; } Loading Loading @@ -826,7 +833,8 @@ public class BtHelper { mBluetoothHeadsetDevice, mScoAudioMode)) { mScoAudioState = SCO_STATE_ACTIVE_INTERNAL; } else { Log.w(TAG, "requestScoState: connect to " + mBluetoothHeadsetDevice Log.w(TAG, "requestScoState: connect to " + getAnonymizedAddress(mBluetoothHeadsetDevice) + " failed, mScoAudioMode=" + mScoAudioMode); broadcastScoConnectionState( AudioManager.SCO_AUDIO_STATE_DISCONNECTED); Loading Loading
core/java/android/bluetooth/BluetoothDevice.java +12 −0 Original line number Diff line number Diff line Loading @@ -1032,6 +1032,18 @@ public final class BluetoothDevice implements Parcelable { return mAddress; } /** * Returns the anonymized hardware address of this BluetoothDevice. The first three octets * will be suppressed for anonymization. * <p> For example, "XX:XX:XX:AA:BB:CC". * * @return Anonymized bluetooth hardware address as string * @hide */ public String getAnonymizedAddress() { return "XX:XX:XX" + getAddress().substring(8); } /** * Get the friendly Bluetooth name of the remote device. * Loading
services/core/java/com/android/server/audio/BtHelper.java +12 −4 Original line number Diff line number Diff line Loading @@ -632,21 +632,28 @@ public class BtHelper { return result; } // Return `(null)` if given BluetoothDevice is null. Otherwise, return the anonymized address. private String getAnonymizedAddress(BluetoothDevice btDevice) { return btDevice == null ? "(null)" : btDevice.getAnonymizedAddress(); } // @GuardedBy("AudioDeviceBroker.mSetModeLock") //@GuardedBy("AudioDeviceBroker.mDeviceStateLock") @GuardedBy("BtHelper.this") private void setBtScoActiveDevice(BluetoothDevice btDevice) { Log.i(TAG, "setBtScoActiveDevice: " + mBluetoothHeadsetDevice + " -> " + btDevice); Log.i(TAG, "setBtScoActiveDevice: " + getAnonymizedAddress(mBluetoothHeadsetDevice) + " -> " + getAnonymizedAddress(btDevice)); final BluetoothDevice previousActiveDevice = mBluetoothHeadsetDevice; if (Objects.equals(btDevice, previousActiveDevice)) { return; } if (!handleBtScoActiveDeviceChange(previousActiveDevice, false)) { Log.w(TAG, "setBtScoActiveDevice() failed to remove previous device " + previousActiveDevice); + getAnonymizedAddress(previousActiveDevice)); } if (!handleBtScoActiveDeviceChange(btDevice, true)) { Log.e(TAG, "setBtScoActiveDevice() failed to add new device " + btDevice); Log.e(TAG, "setBtScoActiveDevice() failed to add new device " + getAnonymizedAddress(btDevice)); // set mBluetoothHeadsetDevice to null when failing to add new device btDevice = null; } Loading Loading @@ -826,7 +833,8 @@ public class BtHelper { mBluetoothHeadsetDevice, mScoAudioMode)) { mScoAudioState = SCO_STATE_ACTIVE_INTERNAL; } else { Log.w(TAG, "requestScoState: connect to " + mBluetoothHeadsetDevice Log.w(TAG, "requestScoState: connect to " + getAnonymizedAddress(mBluetoothHeadsetDevice) + " failed, mScoAudioMode=" + mScoAudioMode); broadcastScoConnectionState( AudioManager.SCO_AUDIO_STATE_DISCONNECTED); Loading