summaryrefslogtreecommitdiff
path: root/WifiDialog/src
diff options
context:
space:
mode:
author Quang Luong <qal@google.com> 2022-05-16 20:22:13 +0000
committer Quang Luong <qal@google.com> 2022-05-16 20:29:42 +0000
commitb63f6f42ce85358e48fe50e0343e300b5d0888a9 (patch)
tree43a4dd4cad94e9f83b68b7ead5da4a246fc1d2f8 /WifiDialog/src
parent2a8aef69d8faaa55cbb146e96b6a9368dd5c9ed7 (diff)
Do not set URL span if span start/end are invalid
The URL span for a wifi dialog's message is set with 0 start/end index if there is no URL needed. However, this causes an exception if the text is modified by an accessibility mode (b/169417148). Thus we should avoid setting the URL span at all if it isn't needed to avoid this bug. Bug: 232272207 Test: Turn Settings->Accessibility->TalkBack on, launch dialog with `adb shell cmd wifi launch-dialog-simple -m message` and verify it doesn't crash. Change-Id: Ia6cfc94128df3f2a850edea03c2484c9bf179141
Diffstat (limited to 'WifiDialog/src')
-rw-r--r--WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java b/WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java
index c09d3a2d5e..62497d99fb 100644
--- a/WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java
+++ b/WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java
@@ -393,8 +393,11 @@ public class WifiDialogActivity extends Activity {
SpannableString spannableMessage = null;
if (message != null) {
spannableMessage = new SpannableString(message);
- spannableMessage.setSpan(new URLSpan(messageUrl), messageUrlStart, messageUrlEnd,
- Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+ if (messageUrlStart >= 0 && messageUrlEnd <= message.length()
+ && messageUrlStart < messageUrlEnd) {
+ spannableMessage.setSpan(new URLSpan(messageUrl), messageUrlStart, messageUrlEnd,
+ Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+ }
}
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle(title)