summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Betty Chang <changbetty@google.com> 2023-03-20 09:53:01 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2023-03-20 09:53:01 +0000
commit1a57d03f9807051fa7e61a56af7d33e82a367eba (patch)
treec65cc392b9a3fe642d19f24e882badf119b44833
parent03c4abdb1e2074a8c8c117888bde2451dd809624 (diff)
parent573367c9b2e92659ac9ff090614cf42935c54843 (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.java39
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;
}