From b605a4e2013337774a4e9b04eca5bf388c437234 Mon Sep 17 00:00:00 2001 From: Phil Weaver Date: Fri, 28 Jul 2017 11:05:40 -0700 Subject: [PATCH] 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) --- src/com/android/settings/widget/LabeledSeekBar.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/com/android/settings/widget/LabeledSeekBar.java b/src/com/android/settings/widget/LabeledSeekBar.java index f1a678815a2..8e5a30b6731 100644 --- a/src/com/android/settings/widget/LabeledSeekBar.java +++ b/src/com/android/settings/widget/LabeledSeekBar.java @@ -201,6 +201,7 @@ public class LabeledSeekBar extends SeekBar { 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; }