pda/zhuike/.svn/pristine/47/475bdf1d2d1980f34283ec7f671...

331 lines
10 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.novelbook.android.utils;
import android.content.Context;
import android.content.SharedPreferences;
import android.graphics.Typeface;
import android.text.style.BulletSpan;
import com.novelbook.android.BuildConfig;
import com.novelbook.android.MyApp;
import com.novelbook.android.R;
public class Config {
private final static String SP_NAME = "config";
private final static String BOOK_BG_KEY = "bookbg";
private final static String FONT_TYPE_KEY = "fonttype";
private final static String FONT_SIZE_KEY = "fontsize";
private final static String LINE_SPACE_KEY = "linespace";
private final static String NIGHT_KEY = "night";
private final static String LIGHT_KEY = "light";
private final static String SYSTEM_LIGHT_KEY = "systemlight";
private final static String PAGE_MODE_KEY = "pagemode";
private final static String KEY_BASE_URY = "baseurl";
private final static String KEY_ROOT_URL = "rooturl";
public final static String FONTTYPE_DEFAULT = "";
public final static String FONTTYPE_QIHEI = "font/qihei.ttf";
public final static String FONTTYPE_WAWA = "font/font1.ttf";
public final static String FONTTYPE_FZXINGHEI = "font/fzxinghei.ttf";
public final static String FONTTYPE_FZKATONG = "font/fzkatong.ttf";
public final static String FONTTYPE_BYSONG = "font/bysong.ttf";
public final static int BOOK_BG_DEFAULT = 0;
public final static int BOOK_BG_1 = 1;
public final static int BOOK_BG_2 = 2;
public final static int BOOK_BG_3 = 3;
public final static int BOOK_BG_4 = 4;
public final static int PAGE_MODE_SIMULATION = 0;
public final static int PAGE_MODE_COVER = 1;
public final static int PAGE_MODE_SLIDE = 2;
public final static int PAGE_MODE_NONE = 3;
public final static boolean SHOW_AD = false;
private final static String DECLARE_KEY = "declarekey";
private final static String SHOW_CHAPT_URL_KEY = "chapturlkey";
private static final String PRE_LOAD_CHAPT_KEY ="preloadchapt" ;
private final static String AD_KEY = "adkey";
//sexoption
private final static String SEX_OPTION_KEY="sexoption";
private int sexOption =1;
private final static String SHELF_ORDER_OPTION_KEY="shelforderoption";
private int shelfOrderOption =1;
private final String APP_START_TIMES_KEY ="appstarttime";
private final int APP_START_TIMES =0;
private Context mContext;
private static Config config;
private SharedPreferences sp;
//字体
private Typeface typeface;
//字体大小
private float mFontSize = 0;
//行间距
private float mLineSpace =0;
//亮度值
private float light = 0;
private int bookBG;
public int getSexOption() {
return sp.getInt(SEX_OPTION_KEY,sexOption);
}
public void setSexOption(int sexOption) {
sp.edit().putInt(SEX_OPTION_KEY,sexOption).commit();
}
private Config(Context mContext){
this.mContext = mContext.getApplicationContext();
sp = this.mContext.getSharedPreferences(SP_NAME,Context.MODE_PRIVATE);
}
public static synchronized Config getInstance(){
return config;
}
public static synchronized Config createConfig(Context context){
if (config == null){
config = new Config(context);
}
return config;
}
public int getPageMode(){
return sp.getInt(PAGE_MODE_KEY,PAGE_MODE_SIMULATION);
}
public void setPageMode(int pageMode){
sp.edit().putInt(PAGE_MODE_KEY,pageMode).commit();
}
public int getBookBgType(){
return sp.getInt(BOOK_BG_KEY,BOOK_BG_DEFAULT);
}
public void setBookBg(int type){
sp.edit().putInt(BOOK_BG_KEY,type).commit();
}
public Typeface getTypeface(){
if (typeface == null) {
String typePath = sp.getString(FONT_TYPE_KEY,FONTTYPE_QIHEI);
typeface = getTypeface(typePath);
}
return typeface;
}
public String getTypefacePath(){
String path = sp.getString(FONT_TYPE_KEY,FONTTYPE_QIHEI);
return path;
}
public Typeface getTypeface(String typeFacePath){
return Typeface.DEFAULT;
/* Typeface mTypeface;
if (typeFacePath.equals(FONTTYPE_DEFAULT)){
mTypeface = Typeface.DEFAULT;
}else{
mTypeface = Typeface.createFromAsset(mContext.getAssets(),typeFacePath);
}
return mTypeface;*/
}
public void setTypeface(String typefacePath){
typeface = getTypeface(typefacePath);
sp.edit().putString(FONT_TYPE_KEY,typefacePath).commit();
}
public float getFontSize(){
if (mFontSize == 0){
mFontSize = sp.getFloat(FONT_SIZE_KEY, mContext.getResources().getDimension(R.dimen.reading_default_text_size));
}
return mFontSize;
}
public void setFontSize(float fontSize){
mFontSize = fontSize;
sp.edit().putFloat(FONT_SIZE_KEY,fontSize).commit();
}
public float getLineSpace(){
if (mLineSpace == 0){
mLineSpace = sp.getFloat(LINE_SPACE_KEY, mContext.getResources().getDimension(R.dimen.reading_line_spacing));
}
return mLineSpace;
}
public void setLineSpace(float lineSpace){
mLineSpace = lineSpace;
sp.edit().putFloat(LINE_SPACE_KEY,lineSpace).commit();
}
/**
* 获取夜间还是白天阅读模式,true为夜晚false为白天
*/
public boolean getDayOrNight() {
return sp.getBoolean(NIGHT_KEY, false);
}
public void setDayOrNight(boolean isNight){
sp.edit().putBoolean(NIGHT_KEY,isNight).commit();
}
public Boolean isSystemLight(){
return sp.getBoolean(SYSTEM_LIGHT_KEY,true);
}
public void setSystemLight(Boolean isSystemLight){
sp.edit().putBoolean(SYSTEM_LIGHT_KEY,isSystemLight).commit();
}
public float getLight(){
if (light == 0){
light = sp.getFloat(LIGHT_KEY,0.1f);
}
return light;
}
/**
* 记录配置文件中亮度值
*/
public void setLight(float light) {
this.light = light;
sp.edit().putFloat(LIGHT_KEY,light).commit();
}
public void setBaseUrl(String baseUrl){
sp.edit().putString(KEY_BASE_URY,baseUrl).commit();
}
public String getBaseUrl(){
// String defaultHost ="{\"master\":[\"http:\\/\\/xiaoshuofenxiang.com\"],\"page\":[\"http:\\/\\/p.xiaoshuofenxiang.com\"],\"report\":[\"http:\\/\\/r.xiaoshuofenxiang.com\"],\"search\":[\"http:\\/\\/s.xiaoshuofenxiang.com\"],\"novel\":[\"http:\\/\\/n.xiaoshuofenxiang.com\"],\"novelsbydot\":[\"http:\\/\\/nbd.xiaoshuofenxiang.com\"],\"user\":[\"http:\\/\\/u.xiaoshuofenxiang.com\"]}";
// String defaultHost =CommonUtil.getMeta(MyApp.applicationContext,"DEFAULTHOST");
String defaultHost =BuildConfig.API_HOST;
return sp.getString(KEY_BASE_URY,defaultHost);
}
public String getRootUrl(){
//String defaultHost =CommonUtil.getMeta(MyApp.applicationContext,"MAINHOST");
String defaultHost = BuildConfig.MAIN_HOST;
// String rt =sp.getString(KEY_ROOT_URL,defaultHost);
return sp.getString(KEY_ROOT_URL,defaultHost);
}
public void setRootUrl(String baseUrl){
sp.edit().putString(KEY_ROOT_URL,baseUrl).commit();
}
public Boolean isPreLoadChapter(){
return sp.getBoolean(PRE_LOAD_CHAPT_KEY,false);
}
public void setPreLoadChapter(boolean isPreloadChapt){
sp.edit().putBoolean(PRE_LOAD_CHAPT_KEY,isPreloadChapt).commit();
}
public String getAdSetting(){
return sp.getString(AD_KEY,"" );
}
public void setAdSetting(String adSetting){
sp.edit().putString (AD_KEY,adSetting).commit();
}
/*
public Boolean isShowAd(){
return sp.getBoolean(SHOW_AD_KEY,true);
}
public void setShowAd(boolean isShowAd){
sp.edit().putBoolean(SHOW_AD_KEY,isShowAd).commit();
}
public int getAdTopBannerRate(){
return sp.getInt(AD_TOP_BANNER_SEEDS_KEY,0);
}
public void setAdTopBannerRate(int pageCnt){
sp.edit().putInt(AD_TOP_BANNER_SEEDS_KEY,pageCnt).commit();
}
private final static String AD_NATIVE_BANNER_SOURCE_KEY = "AD_NATIVE_BANNER_SOURCE_KEY";
private final static String AD_BANNER_SOURCE_KEY = "AD_BANNER_SOURCE_KEY";
private final static String AD_UNIFIED_RECYCLE_SOURCE_KEY = "AD_UNIFIED_RECYCLE_SOURCE_KEY";
private final static String AD_SPLASH_SOURCE_KEY = "AD_SPLASH_SOURCE_KEY";
public int getAdNativeBannerSource(){
return sp.getInt(AD_NATIVE_BANNER_SOURCE_KEY,Constants.AD_TENCENT_QQ);
}
public void setAdNativeBannerSource(int source){
sp.edit().putInt(AD_NATIVE_BANNER_SOURCE_KEY,source).commit();
}
public int getAdBannerSource(){
return sp.getInt(AD_BANNER_SOURCE_KEY,Constants.AD_TENCENT_QQ);
}
public void setAdBannerSource(int source){
sp.edit().putInt(AD_BANNER_SOURCE_KEY,source).commit();
}
public int getAdUnifiedRecycleSource(){
return sp.getInt(AD_UNIFIED_RECYCLE_SOURCE_KEY,Constants.AD_TENCENT_QQ);
}
public void setAdUnifiedRecycleSource(int source){
sp.edit().putInt(AD_UNIFIED_RECYCLE_SOURCE_KEY,source).commit();
}
public int getAdSplashSource(){
return sp.getInt(AD_SPLASH_SOURCE_KEY,Constants.AD_TENCENT_QQ);
}
public void setAdSplashSource(int source){
sp.edit().putInt(AD_SPLASH_SOURCE_KEY,source).commit();
}
*/
public String getDeclare(){
return sp.getString(DECLARE_KEY,"" );
}
public void setDeclare(String declare){
sp.edit().putString(DECLARE_KEY,declare).commit();
}
public Boolean isShowChatpUrl(){
return sp.getBoolean(SHOW_CHAPT_URL_KEY,false);
}
public void setShowChaptUrl(boolean isShowChatpUrl){
sp.edit().putBoolean(SHOW_CHAPT_URL_KEY,isShowChatpUrl).commit();
}
public int getShelfOrderOption() {
return sp.getInt(SHELF_ORDER_OPTION_KEY,shelfOrderOption );
}
public void setShelfOrderOption(int option) {
sp.edit().putInt(SHELF_ORDER_OPTION_KEY,option).commit();
}
public int getAppStartTimes() {
return sp.getInt(APP_START_TIMES_KEY,APP_START_TIMES );
}
public void setAppStartTimes(int cnt) {
sp.edit().putInt(APP_START_TIMES_KEY,cnt).commit();
}
}