From 6d8a99fecc5dd3aec502c0419af61e8d2a3c398d Mon Sep 17 00:00:00 2001 From: Sungmin Choi Date: Fri, 25 Jan 2013 18:26:46 +0900 Subject: [PATCH] avoid multiple-"0" to exceed the length of upper bound Limits number of "0"s not to exceed length of maximum number allowed for the NumberPicker. Steps to reproduce: 1. Settings -> Date & time -> uncheck "Automatic date & time" 2. Select "Set time" 3. Select Time Area on Set time dialog 4. insert 00000000 via NumberPicker Bug: 8073759 Change-Id: I0f3f5303d9a4b559217adb436f244407a23e58c0 --- core/java/android/widget/NumberPicker.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/java/android/widget/NumberPicker.java b/core/java/android/widget/NumberPicker.java index 74ded18b64ed4..2ac5a128598e7 100644 --- a/core/java/android/widget/NumberPicker.java +++ b/core/java/android/widget/NumberPicker.java @@ -1969,8 +1969,10 @@ public class NumberPicker extends LinearLayout { * Ensure the user can't type in a value greater than the max * allowed. We have to allow less than min as the user might * want to delete some numbers and then type a new number. + * And prevent multiple-"0" that exceeds the length of upper + * bound number. */ - if (val > mMaxValue) { + if (val > mMaxValue || result.length() > String.valueOf(mMaxValue).length()) { return ""; } else { return filtered;