From 0285afecf474df8254879e2c35043d4174713d69 Mon Sep 17 00:00:00 2001 From: Danny Baumann Date: Wed, 24 Aug 2016 17:16:10 -0400 Subject: Factor out preference-in-storage check to overridable method. Change-Id: I5671073b1c333db6aad75ea91d0230d020eedcc3 --- .../src/android/support/v7/preference/Preference.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/v7/preference/src/android/support/v7/preference/Preference.java b/v7/preference/src/android/support/v7/preference/Preference.java index f12fcbdbad..3e56791370 100644 --- a/v7/preference/src/android/support/v7/preference/Preference.java +++ b/v7/preference/src/android/support/v7/preference/Preference.java @@ -1322,10 +1322,18 @@ public class Preference implements Comparable { mDefaultValue = defaultValue; } + /** + * Returns whether the preference can be found in persistent storage + * @hide + */ + protected boolean isPersisted() { + return getSharedPreferences().contains(mKey); + } + private void dispatchSetInitialValue() { // By now, we know if we are persistent. final boolean shouldPersist = shouldPersist(); - if (!shouldPersist || !getSharedPreferences().contains(mKey)) { + if (!shouldPersist || !isPersisted()) { if (mDefaultValue != null) { onSetInitialValue(false, mDefaultValue); } -- cgit v1.2.3