Allow restore instance before setValues() in ListDialogPreference

BUG: 14570831
Change-Id: I0fd24acab5221d1414f749ec18e70a72f36cc5e4
This commit is contained in:
Alan Viverette
2014-05-12 12:30:43 -07:00
committed by The Android Automerger
parent 29c48ef6eb
commit 2f18a4ce34

View File

@@ -82,6 +82,10 @@ public abstract class ListDialogPreference extends DialogPreference {
*/
public void setValues(int[] values) {
mEntryValues = values;
if (mValueSet && mValueIndex == AbsListView.INVALID_POSITION) {
mValueIndex = getIndexForValue(mValue);
}
}
/**
@@ -172,10 +176,12 @@ public abstract class ListDialogPreference extends DialogPreference {
*/
protected int getIndexForValue(int value) {
final int[] values = mEntryValues;
final int count = values.length;
for (int i = 0; i < count; i++) {
if (values[i] == value) {
return i;
if (values != null) {
final int count = values.length;
for (int i = 0; i < count; i++) {
if (values[i] == value) {
return i;
}
}
}