/* * Copyright (c) 2015 Zhang Hai <Dreaming.in.Code.ZH@Gmail.com> * All Rights Reserved. */ package me.zhanghai.android.douya.util; import android.content.SharedPreferences; import android.preference.PreferenceManager; import java.util.Set; import me.zhanghai.android.douya.DouyaApplication; public class SharedPrefsUtils { private SharedPrefsUtils() {} public static SharedPreferences getSharedPrefs() { return PreferenceManager.getDefaultSharedPreferences(DouyaApplication.getInstance()); } public static String getString(Entry<String> entry) { return getSharedPrefs().getString(entry.getKey(), entry.getDefaultValue()); } public static Set<String> getStringSet(Entry<Set<String>> entry) { return getSharedPrefs().getStringSet(entry.getKey(), entry.getDefaultValue()); } public static int getInt(Entry<Integer> entry) { return getSharedPrefs().getInt(entry.getKey(), entry.getDefaultValue()); } public static long getLong(Entry<Long> entry) { return getSharedPrefs().getLong(entry.getKey(), entry.getDefaultValue()); } public static float getFloat(Entry<Float> entry) { return getSharedPrefs().getFloat(entry.getKey(), entry.getDefaultValue()); } public static boolean getBoolean(Entry<Boolean> entry) { return getSharedPrefs().getBoolean(entry.getKey(), entry.getDefaultValue()); } public static SharedPreferences.Editor getEditor() { return getSharedPrefs().edit(); } public static void putString(Entry<String> entry, String value) { getEditor().putString(entry.getKey(), value).apply(); } public static void putStringSet(Entry<Set<String>> entry, Set<String> value) { getEditor().putStringSet(entry.getKey(), value).apply(); } public static void putInt(Entry<Integer> entry, int value) { getEditor().putInt(entry.getKey(), value).apply(); } public static void putLong(Entry<Long> entry, long value) { getEditor().putLong(entry.getKey(), value).apply(); } public static void putFloat(Entry<Float> entry, float value) { getEditor().putFloat(entry.getKey(), value).apply(); } public static void putBoolean(Entry<Boolean> entry, boolean value) { getEditor().putBoolean(entry.getKey(), value).apply(); } public static void remove(Entry<?> entry) { getEditor().remove(entry.getKey()).apply(); } public static void clear() { getEditor().clear().apply(); } public interface Entry<T> { String getKey(); T getDefaultValue(); } }