package com.xiecc.seeWeather.common.utils;
import android.app.Notification;
import android.content.Context;
import android.content.SharedPreferences;
import com.xiecc.seeWeather.base.BaseApplication;
/**
* Created by hugo on 2016/2/19 0019.
*
* 设置相关 包括 sp 的写入
*/
public class SharedPreferenceUtil {
public static final String CITY_NAME = "city_name"; //选择城市
public static final String HOUR = "current_hour"; //当前小时
public static final String CHANGE_ICONS = "change_icons"; //切换图标
public static final String CLEAR_CACHE = "clear_cache"; //清空缓存
public static final String AUTO_UPDATE = "change_update_time"; //自动更新时长
public static final String NOTIFICATION_MODEL = "notification_model";
public static final String ANIM_START = "animation_start";
public static final String WATCHER = "watcher";
public static int ONE_HOUR = 1000 * 60 * 60;
private SharedPreferences mPrefs;
public static SharedPreferenceUtil getInstance() {
return SPHolder.sInstance;
}
private static class SPHolder {
private static final SharedPreferenceUtil sInstance = new SharedPreferenceUtil();
}
private SharedPreferenceUtil() {
mPrefs = BaseApplication.getAppContext().getSharedPreferences("setting", Context.MODE_PRIVATE);
}
public SharedPreferenceUtil putInt(String key, int value) {
mPrefs.edit().putInt(key, value).apply();
return this;
}
public int getInt(String key, int defValue) {
return mPrefs.getInt(key, defValue);
}
public SharedPreferenceUtil putString(String key, String value) {
mPrefs.edit().putString(key, value).apply();
return this;
}
public String getString(String key, String defValue) {
return mPrefs.getString(key, defValue);
}
public SharedPreferenceUtil putBoolean(String key, boolean value) {
mPrefs.edit().putBoolean(key, value).apply();
return this;
}
public boolean getBoolean(String key, boolean defValue) {
return mPrefs.getBoolean(key, defValue);
}
// 设置当前小时
public void setCurrentHour(int h) {
mPrefs.edit().putInt(HOUR, h).apply();
}
public int getCurrentHour() {
return mPrefs.getInt(HOUR, 0);
}
// 图标种类相关
public void setIconType(int type) {
mPrefs.edit().putInt(CHANGE_ICONS, type).apply();
}
public int getIconType() {
return mPrefs.getInt(CHANGE_ICONS, 0);
}
// 自动更新时间 hours
public void setAutoUpdate(int t) {
mPrefs.edit().putInt(AUTO_UPDATE, t).apply();
}
public int getAutoUpdate() {
return mPrefs.getInt(AUTO_UPDATE, 3);
}
//当前城市
public void setCityName(String name) {
mPrefs.edit().putString(CITY_NAME, name).apply();
}
public String getCityName() {
return mPrefs.getString(CITY_NAME, "北京");
}
// 通知栏模式 默认为常驻
public void setNotificationModel(int t) {
mPrefs.edit().putInt(NOTIFICATION_MODEL, t).apply();
}
public int getNotificationModel() {
return mPrefs.getInt(NOTIFICATION_MODEL, Notification.FLAG_ONGOING_EVENT);
}
// 首页 Item 动画效果 默认关闭
public void setMainAnim(boolean b) {
mPrefs.edit().putBoolean(ANIM_START, b).apply();
}
public boolean getMainAnim() {
return mPrefs.getBoolean(ANIM_START, false);
}
public void setWatcherSwitcher(boolean b) {
mPrefs.edit().putBoolean(WATCHER, b).apply();
}
public boolean getWatcherSwitch() {
return mPrefs.getBoolean(WATCHER, false);
}
}