diff options
author | 2025-03-20 11:52:49 +0800 | |
---|---|---|
committer | 2025-03-23 19:51:57 -0700 | |
commit | f67305dcf995989ff04bc2ad41460dcb57e47b9b (patch) | |
tree | 382a8086e98678364a8191a15154947832877c08 /packages/SettingsLib | |
parent | d9a023d1a0a9cdd72a2e6d2f5606ebfe457a8f99 (diff) |
To keep broadcast name to be under 32 char, limit the phone name prefix to at most 27 char.
Test: atest
Bug: 380770776
Flag: EXEMPT bug fix
Change-Id: I3dbf87ec5831f79994252d86bef581684f0f9309
Diffstat (limited to 'packages/SettingsLib')
-rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcast.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcast.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcast.java index b0f379605f5e..3ec4bb80b9cf 100644 --- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcast.java +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcast.java @@ -107,6 +107,7 @@ public class LocalBluetoothLeBroadcast implements LocalBluetoothProfile { public static final int BROADCAST_STATE_UNKNOWN = 0; public static final int BROADCAST_STATE_ON = 1; public static final int BROADCAST_STATE_OFF = 2; + private static final int BROADCAST_NAME_PREFIX_MAX_LENGTH = 27; @Retention(RetentionPolicy.SOURCE) @IntDef( @@ -1116,13 +1117,17 @@ public class LocalBluetoothLeBroadcast implements LocalBluetoothProfile { private String getDefaultValueOfBroadcastName() { // set the default value; int postfix = ThreadLocalRandom.current().nextInt(DEFAULT_CODE_MIN, DEFAULT_CODE_MAX); - return BluetoothAdapter.getDefaultAdapter().getName() + UNDERLINE + postfix; + String name = BluetoothAdapter.getDefaultAdapter().getName(); + return (name.length() < BROADCAST_NAME_PREFIX_MAX_LENGTH ? name : name.substring(0, + BROADCAST_NAME_PREFIX_MAX_LENGTH)) + UNDERLINE + postfix; } private String getDefaultValueOfProgramInfo() { // set the default value; int postfix = ThreadLocalRandom.current().nextInt(DEFAULT_CODE_MIN, DEFAULT_CODE_MAX); - return BluetoothAdapter.getDefaultAdapter().getName() + UNDERLINE + postfix; + String name = BluetoothAdapter.getDefaultAdapter().getName(); + return (name.length() < BROADCAST_NAME_PREFIX_MAX_LENGTH ? name : name.substring(0, + BROADCAST_NAME_PREFIX_MAX_LENGTH)) + UNDERLINE + postfix; } private byte[] getDefaultValueOfBroadcastCode() { |