package com.codeest.geeknews.model.prefs;
import android.content.Context;
import android.content.SharedPreferences;
import com.codeest.geeknews.app.App;
import com.codeest.geeknews.app.Constants;
import javax.inject.Inject;
/**
* @author: Est <codeest.dev@gmail.com>
* @date: 2017/4/21
* @description:
*/
public class ImplPreferencesHelper implements PreferencesHelper {
private static final boolean DEFAULT_NIGHT_MODE = false;
private static final boolean DEFAULT_NO_IMAGE = false;
private static final boolean DEFAULT_AUTO_SAVE = true;
private static final boolean DEFAULT_LIKE_POINT = false;
private static final boolean DEFAULT_VERSION_POINT = false;
private static final boolean DEFAULT_MANAGER_POINT = false;
private static final int DEFAULT_CURRENT_ITEM = Constants.TYPE_ZHIHU;
private static final String SHAREDPREFERENCES_NAME = "my_sp";
private final SharedPreferences mSPrefs;
@Inject
public ImplPreferencesHelper() {
mSPrefs = App.getInstance().getSharedPreferences(SHAREDPREFERENCES_NAME, Context.MODE_PRIVATE);
}
@Override
public boolean getNightModeState() {
return mSPrefs.getBoolean(Constants.SP_NIGHT_MODE, DEFAULT_NIGHT_MODE);
}
@Override
public void setNightModeState(boolean state) {
mSPrefs.edit().putBoolean(Constants.SP_NIGHT_MODE, state).apply();
}
@Override
public boolean getNoImageState() {
return mSPrefs.getBoolean(Constants.SP_NO_IMAGE, DEFAULT_NO_IMAGE);
}
@Override
public void setNoImageState(boolean state) {
mSPrefs.edit().putBoolean(Constants.SP_NO_IMAGE, state).apply();
}
@Override
public boolean getAutoCacheState() {
return mSPrefs.getBoolean(Constants.SP_AUTO_CACHE, DEFAULT_AUTO_SAVE);
}
@Override
public void setAutoCacheState(boolean state) {
mSPrefs.edit().putBoolean(Constants.SP_AUTO_CACHE, state).apply();
}
@Override
public int getCurrentItem() {
return mSPrefs.getInt(Constants.SP_CURRENT_ITEM, DEFAULT_CURRENT_ITEM);
}
@Override
public void setCurrentItem(int item) {
mSPrefs.edit().putInt(Constants.SP_CURRENT_ITEM, item).apply();
}
@Override
public boolean getLikePoint() {
return mSPrefs.getBoolean(Constants.SP_LIKE_POINT, DEFAULT_LIKE_POINT);
}
@Override
public void setLikePoint(boolean isFirst) {
mSPrefs.edit().putBoolean(Constants.SP_LIKE_POINT, isFirst).apply();
}
@Override
public boolean getVersionPoint() {
return mSPrefs.getBoolean(Constants.SP_VERSION_POINT, DEFAULT_VERSION_POINT);
}
@Override
public void setVersionPoint(boolean isFirst) {
mSPrefs.edit().putBoolean(Constants.SP_VERSION_POINT, isFirst).apply();
}
@Override
public boolean getManagerPoint() {
return mSPrefs.getBoolean(Constants.SP_MANAGER_POINT, DEFAULT_MANAGER_POINT);
}
@Override
public void setManagerPoint(boolean isFirst) {
mSPrefs.edit().putBoolean(Constants.SP_MANAGER_POINT, isFirst).apply();
}
}