Ensure a11y ids for LabeledSeekBar are in bounds
Bug: 64124736
Test: I just played with it with TalkBack on. The crash
was difficult to reproduce before, and I can't make it
fail now. I believe I got it.
Change-Id: I17ffe8d83e21e716d1c0cadea52afcf09bff6e97
(cherry picked from commit 54ee713dfbe7c9d62ad732f34ce6e1ee3164964e)
diff --git a/src/com/android/settings/widget/LabeledSeekBar.java b/src/com/android/settings/widget/LabeledSeekBar.java
index f1a6788..8e5a30b 100644
--- a/src/com/android/settings/widget/LabeledSeekBar.java
+++ b/src/com/android/settings/widget/LabeledSeekBar.java
@@ -201,6 +201,7 @@
int posBase = Math.max(0,
((int) x - LabeledSeekBar.this.getPaddingStart()) / getHalfVirtualViewWidth());
posBase = (posBase + 1) / 2;
+ posBase = Math.min(posBase, LabeledSeekBar.this.getMax());
return mIsLayoutRtl ? LabeledSeekBar.this.getMax() - posBase : posBase;
}