package com.cheikh.lazywaimai.util; import android.app.Application; import android.content.SharedPreferences; import android.preference.PreferenceManager; import com.google.gson.Gson; import java.util.List; import java.util.Set; public class PreferenceUtil { private static SharedPreferences mPreferences; private static Gson mGson; private PreferenceUtil() { } public static void init(Application application, Gson gson) { mPreferences = PreferenceManager.getDefaultSharedPreferences(application); mGson = gson; } public static boolean set(String key, boolean value) { SharedPreferences.Editor editor = mPreferences.edit(); editor.putBoolean(key, value); return editor.commit(); } public static boolean getBoolean(String key) { return getBoolean(key, false); } public static boolean getBoolean(String key, boolean defaultValue) { return mPreferences.getBoolean(key, defaultValue); } public static boolean set(String key, String value) { SharedPreferences.Editor editor = mPreferences.edit(); editor.putString(key, value); return editor.commit(); } public static String getString(String name) { return getString(name, null); } public static String getString(String name, String defaultValue) { return mPreferences.getString(name, defaultValue); } public static boolean set(String key, int value) { SharedPreferences.Editor editor = mPreferences.edit(); editor.putInt(key, value); return editor.commit(); } public static int getInt(String key) { return getInt(key, 0); } public static int getInt(String key, int defaultValue) { return mPreferences.getInt(key, defaultValue); } public static boolean set(String key, long value) { SharedPreferences.Editor editor = mPreferences.edit(); editor.putLong(key, value); return editor.commit(); } public static long getLong(String key) { return getLong(key, 0L); } public static long getLong(String key, long defaultValue) { return mPreferences.getLong(key, defaultValue); } public static void set(String key, Object obj) { try { String e = mGson.toJson(obj); set(key, e); } catch (Exception e) { e.printStackTrace(); } } public static <T> T getObject(String name, Class<T> clazz) { T obj = null; try { String e = getString(name); obj = mGson.fromJson(e, clazz); } catch (Exception e) { e.printStackTrace(); } return obj; } public static <T> void set(String key, List<T> list) { try { String e = mGson.toJson(list); set(key, e); } catch (Exception e) { e.printStackTrace(); } } public static boolean set(String name, Set<String> flag) { SharedPreferences.Editor editor = mPreferences.edit(); editor.putStringSet(name, flag); return editor.commit(); } public static Set<String> getStringSet(String name) { return mPreferences.getStringSet(name, null); } }