Loading core/java/android/preference/Preference.java +42 −30 Original line number Diff line number Diff line Loading @@ -900,8 +900,8 @@ public class Preference implements Comparable<Preference> { } /** * Sets the key for this Preference, which is used as a key to the * {@link SharedPreferences}. This should be unique for the package. * Sets the key for this Preference, which is used as a key to the {@link SharedPreferences} or * {@link PreferenceDataStore}. This should be unique for the package. * * @param key The key for the preference. */ Loading @@ -914,8 +914,8 @@ public class Preference implements Comparable<Preference> { } /** * Gets the key for this Preference, which is also the key used for storing * values into SharedPreferences. * Gets the key for this Preference, which is also the key used for storing values into * {@link SharedPreferences} or {@link PreferenceDataStore}. * * @return The key. */ Loading @@ -925,8 +925,7 @@ public class Preference implements Comparable<Preference> { /** * Checks whether the key is present, and if it isn't throws an * exception. This should be called by subclasses that store preferences in * the {@link SharedPreferences}. * exception. This should be called by subclasses that persist their preferences. * * @throws IllegalStateException If there is no key assigned. */ Loading @@ -949,7 +948,8 @@ public class Preference implements Comparable<Preference> { /** * Checks whether this Preference is persistent. If it is, it stores its value(s) into * the persistent {@link SharedPreferences} storage. * the persistent {@link SharedPreferences} storage by default or into * {@link PreferenceDataStore} if assigned. * * @return True if it is persistent. */ Loading @@ -958,11 +958,10 @@ public class Preference implements Comparable<Preference> { } /** * Checks whether, at the given time this method is called, * this Preference should store/restore its value(s) into the * {@link SharedPreferences}. This, at minimum, checks whether this * Preference is persistent and it currently has a key. Before you * save/restore from the {@link SharedPreferences}, check this first. * Checks whether, at the given time this method is called, this Preference should store/restore * its value(s) into the {@link SharedPreferences} or into {@link PreferenceDataStore} if * assigned. This, at minimum, checks whether this Preference is persistent and it currently has * a key. Before you save/restore from the storage, check this first. * * @return True if it should persist the value. */ Loading @@ -971,9 +970,9 @@ public class Preference implements Comparable<Preference> { } /** * Sets whether this Preference is persistent. When persistent, * it stores its value(s) into the persistent {@link SharedPreferences} * storage. * Sets whether this Preference is persistent. When persistent, it stores its value(s) into * the persistent {@link SharedPreferences} storage by default or into * {@link PreferenceDataStore} if assigned. * * @param persistent Set true if it should store its value(s) into the {@link SharedPreferences}. */ Loading @@ -990,7 +989,7 @@ public class Preference implements Comparable<Preference> { * value (and persisted). */ protected boolean callChangeListener(Object newValue) { return mOnChangeListener == null ? true : mOnChangeListener.onPreferenceChange(this, newValue); return mOnChangeListener == null || mOnChangeListener.onPreferenceChange(this, newValue); } /** Loading Loading @@ -1103,12 +1102,14 @@ public class Preference implements Comparable<Preference> { * {@link SharedPreferences}, this is intended behavior to improve * performance. * * @return The {@link SharedPreferences} where this Preference reads its * value(s), or null if it isn't attached to a Preference hierarchy. * @return The {@link SharedPreferences} where this Preference reads its value(s), or null if it * isn't attached to a Preference hierarchy or if {@link PreferenceDataStore} is used * instead. * @see #getEditor() * @see #setPreferenceDataStore(PreferenceDataStore) */ public SharedPreferences getSharedPreferences() { if (mPreferenceManager == null) { if (mPreferenceManager == null || getPreferenceDataStore() != null) { return null; } Loading @@ -1128,14 +1129,15 @@ public class Preference implements Comparable<Preference> { * not show up in the SharedPreferences, this is intended behavior to * improve performance. * * @return A {@link SharedPreferences.Editor} where this preference saves * its value(s), or null if it isn't attached to a Preference * hierarchy. * @return A {@link SharedPreferences.Editor} where this preference saves its value(s), or null * if it isn't attached to a Preference hierarchy or if {@link PreferenceDataStore} is * used instead. * @see #shouldCommit() * @see #getSharedPreferences() * @see #setPreferenceDataStore(PreferenceDataStore) */ public SharedPreferences.Editor getEditor() { if (mPreferenceManager == null) { if (mPreferenceManager == null || getPreferenceDataStore() != null) { return null; } Loading @@ -1147,6 +1149,8 @@ public class Preference implements Comparable<Preference> { * {@link #getEditor()}. This may return false in situations where batch * committing is being done (by the manager) to improve performance. * * <p>If this preference is using {@link PreferenceDataStore} this value should be irrelevant. * * @return Whether the Preference should commit its saved value(s). * @see #getEditor() */ Loading Loading @@ -1453,6 +1457,11 @@ public class Preference implements Comparable<Preference> { } private void dispatchSetInitialValue() { if (getPreferenceDataStore() != null) { onSetInitialValue(true, mDefaultValue); return; } // By now, we know if we are persistent. final boolean shouldPersist = shouldPersist(); if (!shouldPersist || !getSharedPreferences().contains(mKey)) { Loading @@ -1466,14 +1475,17 @@ public class Preference implements Comparable<Preference> { /** * Implement this to set the initial value of the Preference. * <p> * If <var>restorePersistedValue</var> is true, you should restore the * * <p>If <var>restorePersistedValue</var> is true, you should restore the * Preference value from the {@link android.content.SharedPreferences}. If * <var>restorePersistedValue</var> is false, you should set the Preference * value to defaultValue that is given (and possibly store to SharedPreferences * if {@link #shouldPersist()} is true). * <p> * This may not always be called. One example is if it should not persist * * <p>In case of using {@link PreferenceDataStore}, the <var>restorePersistedValue</var> is * always false. But the default value (if provided) is set. * * <p>This may not always be called. One example is if it should not persist * but there is no default value given. * * @param restorePersistedValue True to restore the persisted value; Loading Loading @@ -1869,8 +1881,8 @@ public class Preference implements Comparable<Preference> { } /** * Called by {@link #saveHierarchyState} to store the instance for this Preference and its children. * May be overridden to modify how the save happens for children. For example, some * Called by {@link #saveHierarchyState} to store the instance for this Preference and its * children. May be overridden to modify how the save happens for children. For example, some * Preference objects may want to not store an instance for their children. * * @param container The Bundle in which to save the instance of this Preference. Loading core/java/android/preference/PreferenceManager.java +14 −11 Original line number Diff line number Diff line Loading @@ -482,14 +482,13 @@ public class PreferenceManager { } /** * Gets a SharedPreferences instance that preferences managed by this will * use. * Gets a {@link SharedPreferences} instance that preferences managed by this will use. * * @return A SharedPreferences instance pointing to the file that contains * the values of preferences that are managed by this. * @return A {@link SharedPreferences} instance pointing to the file that contains the values of * preferences that are managed by this or null if {@link PreferenceDataStore} is used instead. */ public SharedPreferences getSharedPreferences() { if (mSharedPreferences == null) { if (mSharedPreferences == null && getPreferenceDataStore() == null) { final Context storageContext; switch (mStorage) { case STORAGE_DEVICE_PROTECTED: Loading @@ -511,12 +510,12 @@ public class PreferenceManager { } /** * Gets a SharedPreferences instance that points to the default file that is * used by the preference framework in the given context. * Gets a {@link SharedPreferences} instance that points to the default file that is used by * the preference framework in the given context. * * @param context The context of the preferences whose values are wanted. * @return A SharedPreferences instance that can be used to retrieve and * listen to values of the preferences. * @return A {@link SharedPreferences} instance that can be used to retrieve and listen * to values of the preferences. */ public static SharedPreferences getDefaultSharedPreferences(Context context) { return context.getSharedPreferences(getDefaultSharedPreferencesName(context), Loading Loading @@ -663,10 +662,14 @@ public class PreferenceManager { * <p> * Do NOT commit unless {@link #shouldCommit()} returns true. * * @return An editor to use to write to shared preferences. * @return An editor to use to write to shared preferences or null if * {@link PreferenceDataStore} is used instead. * @see #shouldCommit() */ SharedPreferences.Editor getEditor() { if (mPreferenceDataStore != null) { return null; } if (mNoCommit) { if (mEditor == null) { Loading Loading
core/java/android/preference/Preference.java +42 −30 Original line number Diff line number Diff line Loading @@ -900,8 +900,8 @@ public class Preference implements Comparable<Preference> { } /** * Sets the key for this Preference, which is used as a key to the * {@link SharedPreferences}. This should be unique for the package. * Sets the key for this Preference, which is used as a key to the {@link SharedPreferences} or * {@link PreferenceDataStore}. This should be unique for the package. * * @param key The key for the preference. */ Loading @@ -914,8 +914,8 @@ public class Preference implements Comparable<Preference> { } /** * Gets the key for this Preference, which is also the key used for storing * values into SharedPreferences. * Gets the key for this Preference, which is also the key used for storing values into * {@link SharedPreferences} or {@link PreferenceDataStore}. * * @return The key. */ Loading @@ -925,8 +925,7 @@ public class Preference implements Comparable<Preference> { /** * Checks whether the key is present, and if it isn't throws an * exception. This should be called by subclasses that store preferences in * the {@link SharedPreferences}. * exception. This should be called by subclasses that persist their preferences. * * @throws IllegalStateException If there is no key assigned. */ Loading @@ -949,7 +948,8 @@ public class Preference implements Comparable<Preference> { /** * Checks whether this Preference is persistent. If it is, it stores its value(s) into * the persistent {@link SharedPreferences} storage. * the persistent {@link SharedPreferences} storage by default or into * {@link PreferenceDataStore} if assigned. * * @return True if it is persistent. */ Loading @@ -958,11 +958,10 @@ public class Preference implements Comparable<Preference> { } /** * Checks whether, at the given time this method is called, * this Preference should store/restore its value(s) into the * {@link SharedPreferences}. This, at minimum, checks whether this * Preference is persistent and it currently has a key. Before you * save/restore from the {@link SharedPreferences}, check this first. * Checks whether, at the given time this method is called, this Preference should store/restore * its value(s) into the {@link SharedPreferences} or into {@link PreferenceDataStore} if * assigned. This, at minimum, checks whether this Preference is persistent and it currently has * a key. Before you save/restore from the storage, check this first. * * @return True if it should persist the value. */ Loading @@ -971,9 +970,9 @@ public class Preference implements Comparable<Preference> { } /** * Sets whether this Preference is persistent. When persistent, * it stores its value(s) into the persistent {@link SharedPreferences} * storage. * Sets whether this Preference is persistent. When persistent, it stores its value(s) into * the persistent {@link SharedPreferences} storage by default or into * {@link PreferenceDataStore} if assigned. * * @param persistent Set true if it should store its value(s) into the {@link SharedPreferences}. */ Loading @@ -990,7 +989,7 @@ public class Preference implements Comparable<Preference> { * value (and persisted). */ protected boolean callChangeListener(Object newValue) { return mOnChangeListener == null ? true : mOnChangeListener.onPreferenceChange(this, newValue); return mOnChangeListener == null || mOnChangeListener.onPreferenceChange(this, newValue); } /** Loading Loading @@ -1103,12 +1102,14 @@ public class Preference implements Comparable<Preference> { * {@link SharedPreferences}, this is intended behavior to improve * performance. * * @return The {@link SharedPreferences} where this Preference reads its * value(s), or null if it isn't attached to a Preference hierarchy. * @return The {@link SharedPreferences} where this Preference reads its value(s), or null if it * isn't attached to a Preference hierarchy or if {@link PreferenceDataStore} is used * instead. * @see #getEditor() * @see #setPreferenceDataStore(PreferenceDataStore) */ public SharedPreferences getSharedPreferences() { if (mPreferenceManager == null) { if (mPreferenceManager == null || getPreferenceDataStore() != null) { return null; } Loading @@ -1128,14 +1129,15 @@ public class Preference implements Comparable<Preference> { * not show up in the SharedPreferences, this is intended behavior to * improve performance. * * @return A {@link SharedPreferences.Editor} where this preference saves * its value(s), or null if it isn't attached to a Preference * hierarchy. * @return A {@link SharedPreferences.Editor} where this preference saves its value(s), or null * if it isn't attached to a Preference hierarchy or if {@link PreferenceDataStore} is * used instead. * @see #shouldCommit() * @see #getSharedPreferences() * @see #setPreferenceDataStore(PreferenceDataStore) */ public SharedPreferences.Editor getEditor() { if (mPreferenceManager == null) { if (mPreferenceManager == null || getPreferenceDataStore() != null) { return null; } Loading @@ -1147,6 +1149,8 @@ public class Preference implements Comparable<Preference> { * {@link #getEditor()}. This may return false in situations where batch * committing is being done (by the manager) to improve performance. * * <p>If this preference is using {@link PreferenceDataStore} this value should be irrelevant. * * @return Whether the Preference should commit its saved value(s). * @see #getEditor() */ Loading Loading @@ -1453,6 +1457,11 @@ public class Preference implements Comparable<Preference> { } private void dispatchSetInitialValue() { if (getPreferenceDataStore() != null) { onSetInitialValue(true, mDefaultValue); return; } // By now, we know if we are persistent. final boolean shouldPersist = shouldPersist(); if (!shouldPersist || !getSharedPreferences().contains(mKey)) { Loading @@ -1466,14 +1475,17 @@ public class Preference implements Comparable<Preference> { /** * Implement this to set the initial value of the Preference. * <p> * If <var>restorePersistedValue</var> is true, you should restore the * * <p>If <var>restorePersistedValue</var> is true, you should restore the * Preference value from the {@link android.content.SharedPreferences}. If * <var>restorePersistedValue</var> is false, you should set the Preference * value to defaultValue that is given (and possibly store to SharedPreferences * if {@link #shouldPersist()} is true). * <p> * This may not always be called. One example is if it should not persist * * <p>In case of using {@link PreferenceDataStore}, the <var>restorePersistedValue</var> is * always false. But the default value (if provided) is set. * * <p>This may not always be called. One example is if it should not persist * but there is no default value given. * * @param restorePersistedValue True to restore the persisted value; Loading Loading @@ -1869,8 +1881,8 @@ public class Preference implements Comparable<Preference> { } /** * Called by {@link #saveHierarchyState} to store the instance for this Preference and its children. * May be overridden to modify how the save happens for children. For example, some * Called by {@link #saveHierarchyState} to store the instance for this Preference and its * children. May be overridden to modify how the save happens for children. For example, some * Preference objects may want to not store an instance for their children. * * @param container The Bundle in which to save the instance of this Preference. Loading
core/java/android/preference/PreferenceManager.java +14 −11 Original line number Diff line number Diff line Loading @@ -482,14 +482,13 @@ public class PreferenceManager { } /** * Gets a SharedPreferences instance that preferences managed by this will * use. * Gets a {@link SharedPreferences} instance that preferences managed by this will use. * * @return A SharedPreferences instance pointing to the file that contains * the values of preferences that are managed by this. * @return A {@link SharedPreferences} instance pointing to the file that contains the values of * preferences that are managed by this or null if {@link PreferenceDataStore} is used instead. */ public SharedPreferences getSharedPreferences() { if (mSharedPreferences == null) { if (mSharedPreferences == null && getPreferenceDataStore() == null) { final Context storageContext; switch (mStorage) { case STORAGE_DEVICE_PROTECTED: Loading @@ -511,12 +510,12 @@ public class PreferenceManager { } /** * Gets a SharedPreferences instance that points to the default file that is * used by the preference framework in the given context. * Gets a {@link SharedPreferences} instance that points to the default file that is used by * the preference framework in the given context. * * @param context The context of the preferences whose values are wanted. * @return A SharedPreferences instance that can be used to retrieve and * listen to values of the preferences. * @return A {@link SharedPreferences} instance that can be used to retrieve and listen * to values of the preferences. */ public static SharedPreferences getDefaultSharedPreferences(Context context) { return context.getSharedPreferences(getDefaultSharedPreferencesName(context), Loading Loading @@ -663,10 +662,14 @@ public class PreferenceManager { * <p> * Do NOT commit unless {@link #shouldCommit()} returns true. * * @return An editor to use to write to shared preferences. * @return An editor to use to write to shared preferences or null if * {@link PreferenceDataStore} is used instead. * @see #shouldCommit() */ SharedPreferences.Editor getEditor() { if (mPreferenceDataStore != null) { return null; } if (mNoCommit) { if (mEditor == null) { Loading