summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGabriele M <moto.falcon.git@gmail.com>2016-02-17 10:03:37 +0100
committerArne Coucheron <arco68@gmail.com>2018-01-26 01:03:22 +0100
commit61e22da3f3cddd5d99414354785d7f7ebeb4712a (patch)
tree0dea4fb9d390fceb42f818b563e73459fb557161
parent4e685e15c78e944edc937a616a338dff809c240d (diff)
downloadandroid_packages_apps_Snap-61e22da3f3cddd5d99414354785d7f7ebeb4712a.tar.gz
android_packages_apps_Snap-61e22da3f3cddd5d99414354785d7f7ebeb4712a.tar.bz2
android_packages_apps_Snap-61e22da3f3cddd5d99414354785d7f7ebeb4712a.zip
Snap: Don't crash if user saved preference is not valid
If the user sets some preference value that is later removed, Snap will crash because of on an ArrayIndexOutOfBoundsException. Make sure this doesn't happen. Change-Id: I629acebaf762f49f05dc1bfa0542f11979ae269d
-rwxr-xr-xsrc/com/android/camera/ListPreference.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/com/android/camera/ListPreference.java b/src/com/android/camera/ListPreference.java
index ae37356e1..05ab10f07 100755
--- a/src/com/android/camera/ListPreference.java
+++ b/src/com/android/camera/ListPreference.java
@@ -184,7 +184,11 @@ public class ListPreference extends CameraPreference {
}
public String getLabel() {
- return mLabels[findIndexOfValue(getValue())].toString();
+ int index = findIndexOfValue(getValue());
+ if (index < 0) {
+ return findSupportedDefaultValue();
+ }
+ return mLabels[index].toString();
}
protected void persistStringValue(String value) {