From ef009cc83298f7d8d81a25d578851f7dfccdbae5 Mon Sep 17 00:00:00 2001 From: Raff Tsai Date: Thu, 30 Jan 2020 08:22:09 +0800 Subject: [PATCH] Fix volume panel crashing slider position is smaller than min value causes the exception. Fixed by limit the position within min and max value. Fixes: 148270968 Fixes: 149973990 Test: manual Change-Id: I3d162f6d2f1035b81b1b2eb915b488084e7ea36e (cherry picked from commit fcd9f1a8706f7b6af0bae199b0e5c769beef00c6) Merged-In: I3d162f6d2f1035b81b1b2eb915b488084e7ea36e --- src/com/android/settings/slices/SliceBuilderUtils.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/slices/SliceBuilderUtils.java b/src/com/android/settings/slices/SliceBuilderUtils.java index 5585be3a132..2191da7a751 100644 --- a/src/com/android/settings/slices/SliceBuilderUtils.java +++ b/src/com/android/settings/slices/SliceBuilderUtils.java @@ -313,6 +313,14 @@ public class SliceBuilderUtils { ListBuilder.ICON_IMAGE, sliceData.getTitle()); final Set keywords = buildSliceKeywords(sliceData); + int cur = sliderController.getSliderPosition(); + if (cur < sliderController.getMin()) { + cur = sliderController.getMin(); + } + if (cur > sliderController.getMax()) { + cur = sliderController.getMax(); + } + return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY) .setAccentColor(color) .addInputRange(new InputRangeBuilder() @@ -321,7 +329,7 @@ public class SliceBuilderUtils { .setPrimaryAction(primaryAction) .setMax(sliderController.getMax()) .setMin(sliderController.getMin()) - .setValue(sliderController.getSliderPosition()) + .setValue(cur) .setInputAction(actionIntent)) .setKeywords(keywords) .build();