diff options
| author | 2023-03-17 11:19:50 +0000 | |
|---|---|---|
| committer | 2023-03-17 11:19:50 +0000 | |
| commit | 2807255e80823ea4b3541fa6a8bad28e35b280c0 (patch) | |
| tree | 471d38122e20365db683e921e0027472f4d7f76c /packages/SettingsLib/src | |
| parent | cebff4b5a9f1851abe0ae5307299de8c015fec2f (diff) | |
| parent | 93fde65073672e093d8400162ab29bb7c8002805 (diff) | |
Merge "[LE Audio] Add try catch for bluetooth device address fail" into udc-dev
Diffstat (limited to 'packages/SettingsLib/src')
| -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; } |