package kr.kdev.dg1s.biowiki.ui.prefs; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.text.TextUtils; import kr.kdev.dg1s.biowiki.BioWiki; public class UserPrefs { private static final String PREFKEY_USER_ID = "wp_userid"; // id of the current user private static final String PREFKEY_READER_TAG = "reader_tag"; // last selected tag in the reader private static SharedPreferences prefs() { return PreferenceManager.getDefaultSharedPreferences(BioWiki.getContext()); } /* * remove all reader-related preferences */ public static void reset() { SharedPreferences.Editor editor = prefs().edit(); editor.remove(PREFKEY_USER_ID); editor.remove(PREFKEY_READER_TAG); editor.commit(); } private static String getString(String key) { return getString(key, ""); } private static String getString(String key, String defaultValue) { return prefs().getString(key, defaultValue); } private static void setString(String key, String value) { SharedPreferences.Editor editor = prefs().edit(); if (TextUtils.isEmpty(value)) { editor.remove(key); } else { editor.putString(key, value); } editor.commit(); } private static void remove(String key) { prefs().edit().remove(key).commit(); } public static long getCurrentUserId() { try { String value = getString(PREFKEY_USER_ID); return Long.parseLong(value); } catch (NumberFormatException e) { return 0; } } public static void setCurrentUserId(long userId) { if (userId == 0) { remove(PREFKEY_USER_ID); } else { setString(PREFKEY_USER_ID, Long.toString(userId)); } } public static void clearCurrentUserId() { remove(PREFKEY_USER_ID); } public static boolean hasCurrentUserId() { return (getCurrentUserId() != 0); } public static String getReaderTag() { return getString(PREFKEY_READER_TAG); } public static void setReaderTag(String tagName) { setString(PREFKEY_READER_TAG, tagName); } }