package com.gnod.geekr.tool.manager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.net.ConnectivityManager; import android.net.NetworkInfo; import com.gnod.geekr.app.AppConfig; import com.gnod.geekr.tool.converter.GeekrViewConverter.IMAGE_MODEL; public class SettingManager { public static final int QUALITY_HIGHT = 0; public static final int QUALITY_MID = 1; public static final int QUALITY_LOW = 2; public static final int QUALITY_AUTO = 3; private static final String UPLOAD_QUALITY = "Upload_Quality"; public static final int PIC_LARGE = 0; public static final int PIC_SMALL = 1; public static final int PIC_AUTO = 2; private static final String PIC_MODEL = "Pic_Shown_Model"; public static IMAGE_MODEL picModel; private static int mPicState = 2; public static void init(AppConfig config) { int model = getPicShowModel(); setPicModelFlag(model); } public static int getUploadQuality() { SharedPreferences pref = getPreferences(); return pref.getInt(UPLOAD_QUALITY, QUALITY_AUTO); } public static void setUploadQuality(int quality) { SharedPreferences pref = getPreferences(); Editor editor = pref.edit(); editor.putInt(UPLOAD_QUALITY, quality); editor.commit(); } public static int getPicShowModel() { SharedPreferences pref = getPreferences(); return pref.getInt(PIC_MODEL, PIC_SMALL); } public static void setPicShowModel(int q) { SharedPreferences pref = getPreferences(); Editor editor = pref.edit(); editor.putInt(PIC_MODEL, q); editor.commit(); setPicModelFlag(q); } private static SharedPreferences getPreferences() { AppConfig config = AppConfig.getInstance(); return config.getSharedPreferences(); } private static void setPicModelFlag(int model) { mPicState = model; if(model == PIC_LARGE){ picModel = IMAGE_MODEL.BIG; }else if(model == PIC_SMALL){ picModel = IMAGE_MODEL.SMALL; }else if(model == PIC_AUTO) { picModel = AppConfig.getInstance().isWifi()? IMAGE_MODEL.BIG: IMAGE_MODEL.SMALL; } } public static IMAGE_MODEL getPicModel() { return picModel; } public static void registNetworkStateReceiver(Context context) { IntentFilter filter = new IntentFilter(); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); context.registerReceiver(mNetworkStateReceiver, filter); } public static void unRegistNetworkStateReceiver(Context context) { context.unregisterReceiver(mNetworkStateReceiver); } private static BroadcastReceiver mNetworkStateReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { ConnectivityManager mgr = (ConnectivityManager) context.getSystemService( Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetInfo = mgr.getActiveNetworkInfo(); if (activeNetInfo != null && activeNetInfo.getType() == ConnectivityManager.TYPE_WIFI && mPicState == 2) { picModel = IMAGE_MODEL.BIG; } else if(mPicState == 2){ picModel = IMAGE_MODEL.SMALL; } } }; }