diff options
| author | 2023-03-20 09:53:01 +0000 | |
|---|---|---|
| committer | 2023-03-20 09:53:01 +0000 | |
| commit | 1a57d03f9807051fa7e61a56af7d33e82a367eba (patch) | |
| tree | c65cc392b9a3fe642d19f24e882badf119b44833 | |
| parent | 03c4abdb1e2074a8c8c117888bde2451dd809624 (diff) | |
| parent | 573367c9b2e92659ac9ff090614cf42935c54843 (diff) | |
Merge "[LE Audio] Add try catch for bluetooth device address fail" am: 573367c9b2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2495855
Change-Id: Iba4cee1848fc72757e02f71f8d27a7ad4dd37bc5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcastMetadata.java | 39 |
1 files changed, 22 insertions, 17 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcastMetadata.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcastMetadata.java index c61ebc032fa5..0630a2e515e0 100644 --- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcastMetadata.java +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcastMetadata.java @@ -261,19 +261,21 @@ public class LocalBluetoothLeBroadcastMetadata { Pattern pattern = Pattern.compile(PATTERN_BT_BROADCAST_METADATA); Matcher match = pattern.matcher(qrCodeString); if (match.find()) { - mSourceAddressType = Integer.parseInt(match.group(MATCH_INDEX_ADDRESS_TYPE)); - mSourceDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice( + try { + mSourceAddressType = Integer.parseInt(match.group(MATCH_INDEX_ADDRESS_TYPE)); + mSourceDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice( match.group(MATCH_INDEX_DEVICE)); - mSourceAdvertisingSid = Integer.parseInt(match.group(MATCH_INDEX_ADVERTISING_SID)); - mBroadcastId = Integer.parseInt(match.group(MATCH_INDEX_BROADCAST_ID)); - mPaSyncInterval = Integer.parseInt(match.group(MATCH_INDEX_SYNC_INTERVAL)); - mIsEncrypted = Boolean.valueOf(match.group(MATCH_INDEX_IS_ENCRYPTED)); - mBroadcastCode = match.group(MATCH_INDEX_BROADCAST_CODE).getBytes(); - mPresentationDelayMicros = - Integer.parseInt(match.group(MATCH_INDEX_PRESENTATION_DELAY)); - - if (DEBUG) { - Log.d(TAG, "Converted qrCodeString result: " + mSourceAdvertisingSid = Integer.parseInt( + match.group(MATCH_INDEX_ADVERTISING_SID)); + mBroadcastId = Integer.parseInt(match.group(MATCH_INDEX_BROADCAST_ID)); + mPaSyncInterval = Integer.parseInt(match.group(MATCH_INDEX_SYNC_INTERVAL)); + mIsEncrypted = Boolean.valueOf(match.group(MATCH_INDEX_IS_ENCRYPTED)); + mBroadcastCode = match.group(MATCH_INDEX_BROADCAST_CODE).getBytes(); + mPresentationDelayMicros = + Integer.parseInt(match.group(MATCH_INDEX_PRESENTATION_DELAY)); + + if (DEBUG) { + Log.d(TAG, "Converted qrCodeString result: " + " ,Type = " + mSourceAddressType + " ,Device = " + mSourceDevice + " ,AdSid = " + mSourceAdvertisingSid @@ -282,11 +284,11 @@ public class LocalBluetoothLeBroadcastMetadata { + " ,encrypted = " + mIsEncrypted + " ,BroadcastCode = " + Arrays.toString(mBroadcastCode) + " ,delay = " + mPresentationDelayMicros); - } + } - mSubgroup = convertToSubgroup(match.group(MATCH_INDEX_SUBGROUPS)); + mSubgroup = convertToSubgroup(match.group(MATCH_INDEX_SUBGROUPS)); - return new BluetoothLeBroadcastMetadata.Builder() + return new BluetoothLeBroadcastMetadata.Builder() .setSourceDevice(mSourceDevice, mSourceAddressType) .setSourceAdvertisingSid(mSourceAdvertisingSid) .setBroadcastId(mBroadcastId) @@ -296,10 +298,13 @@ public class LocalBluetoothLeBroadcastMetadata { .setPresentationDelayMicros(mPresentationDelayMicros) .addSubgroup(mSubgroup) .build(); + } catch (IllegalArgumentException e) { + Log.d(TAG, "IllegalArgumentException when convert : " + e); + return null; + } } else { if (DEBUG) { - Log.d(TAG, - "The match fail, can not convert it to BluetoothLeBroadcastMetadata."); + Log.d(TAG, "The match fail, can not convert it to BluetoothLeBroadcastMetadata."); } return null; } |