SharedPrefConfig.java 7.22 KB
package com.lotus.town.utils;

import android.content.Context;
import android.content.SharedPreferences;
import android.text.TextUtils;

import com.sdk.Sdk;
import com.sdk.SharedPref;
import com.sdk.utils.DeviceUtils;
import com.sdk.utils.TimeUtils;

import java.util.TimeZone;

public class SharedPrefConfig {
    private static SharedPrefConfig sSharedPref;
    private static Object mLock = new Object();
    private Context mContext;
    private final String CONFIG_NAME = "c_n";
    private final String CHECK_LOGIN_TIME = "c_l_t";
    private final String GUIDE_SHOW = "g_s";
    private final String SOUND_ON = "s_o";
    private final String SHARED_CIRCLE = "s_c";
    private final String SHARED_TIMES = "s_t";
    private final String VIEW_VIDEO = "v_v";
    private final String VIEW_VIDEO_TIME = "v_v_t";
    private final String NEIGHB_REMIND = "n_r";
    private final String CURRENT_VERSION_CODE = "v_c";
    private final String CURRENT_VERSION_NAME = "v_n";
    private final String LAST_VERSION_CODE = "l_v_c";
    private final String LAST_VERSION_NAME = "l_v_n";
    private static final String USER_ID = "u_i_d";
    private static final String IS_ACTIVE = "i_a_v";
    private static final String DRAW_WITH_STATUS = "d_w_s";//0 提现中   1 提现成功  2判断作弊
    private static final String DRAW_WITH_MONEY = "d_w_m";//double

    private SharedPreferences mSharedPref;
    public static SharedPrefConfig getInstance(Context context){
        if(sSharedPref == null) {
            synchronized (mLock) {
                if(sSharedPref == null) {
                    sSharedPref = new SharedPrefConfig(context);
                }
            }
        }
        return sSharedPref;
    }

    private SharedPrefConfig(Context context){
        this.mContext = context;
        mSharedPref = mContext.getSharedPreferences(CONFIG_NAME,Context.MODE_PRIVATE);
    }
    public boolean isFirstDayInstall(){
        if(TimeUtils.isSameDay(SharedPref.getInstallTime(Sdk.app()),System.currentTimeMillis(), TimeZone.getDefault())) {
            return true;
        }
        return false;
    }

    public void sharedTime(){
        int count = mSharedPref.getInt(SHARED_TIMES,0);
        mSharedPref.edit().putInt(SHARED_TIMES,count+1).commit();
        mSharedPref.edit().putLong(SHARED_CIRCLE,System.currentTimeMillis()).commit();
    }

    public void updateWithDrawStatus(int status){
        mSharedPref.edit().putInt(DRAW_WITH_STATUS,status).commit();
    }

    public int getWithDrawStatus(){
        return mSharedPref.getInt(DRAW_WITH_STATUS,-1);
    }

    public String getWithDrawMoney(){
        return mSharedPref.getString(DRAW_WITH_MONEY,"0");
    }

    public void setWithDrawMoney(String money){
        mSharedPref.edit().putString(DRAW_WITH_MONEY,money).commit();
    }

    public String getUserId(){
        String userId = mSharedPref.getString(USER_ID,"");

        if(TextUtils.isEmpty(userId)){
            StringBuilder builder = new StringBuilder();
            builder.append(DeviceUtils.getMacDefault(mContext));
            builder.append("_");
            builder.append(DeviceUtils.getAndroidId(mContext));
            builder.append("_");
            String uuid = java.util.UUID.randomUUID().toString();
            builder.append(uuid);
            mSharedPref.edit().putString(USER_ID,builder.toString()).commit();
            return builder.toString();
        }
        return userId;
    }

    public boolean isActive(){
        return mSharedPref.getBoolean(IS_ACTIVE,false);
    }

    public void active(){
        mSharedPref.edit().putBoolean(IS_ACTIVE,true).commit();
    }


    public boolean canShared(){
        long lastTime = mSharedPref.getLong(SHARED_CIRCLE,0);
        if(lastTime == 0){
            return true;
        }
        if(TimeUtils.isSameDay(lastTime,System.currentTimeMillis(), TimeZone.getDefault())){
            if(mSharedPref.getInt(SHARED_TIMES,0) >=1){
                return false;
            }
        }
        return true;
    }

    public boolean isNeighbRemind(){
        return mSharedPref.getBoolean(NEIGHB_REMIND,true);
    }

    public void neighbRemind(){
        mSharedPref.edit().putBoolean(NEIGHB_REMIND,false).commit();
    }

    /**
     *
     * @return  0  可以看    1  明天在看     2  5分钟之后在看
     */
    public int canViewVideo(){
        long lastTime = mSharedPref.getLong(VIEW_VIDEO_TIME,0);
        if(lastTime == 0){
            return 0;
        }
        if(TimeUtils.isLessTenMinite(lastTime)){
            return 2;
        }
        if(TimeUtils.isSameDay(lastTime,System.currentTimeMillis(), TimeZone.getDefault())){
            if(mSharedPref.getInt(VIEW_VIDEO,0) >=3){
                return 1;
            }
        }

        return 0;
    }

    public boolean canViewVideoLater(){
        long lastTime = mSharedPref.getLong(VIEW_VIDEO_TIME,0);
        if(lastTime == 0){
            return true;
        }
        if(TimeUtils.isLessTenMinite(lastTime)){
            return false;
        }
        return true;
    }

    public void viewVideo(){
        int count = mSharedPref.getInt(VIEW_VIDEO,0);
        mSharedPref.edit().putInt(VIEW_VIDEO,count+1).commit();
        mSharedPref.edit().putLong(VIEW_VIDEO_TIME,System.currentTimeMillis()).commit();
    }

    public void checkLogin(){
        mSharedPref.edit().putLong(CHECK_LOGIN_TIME,System.currentTimeMillis()).commit();
    }

    public boolean showLoginReminder(){
        long lastTime = mSharedPref.getLong(CHECK_LOGIN_TIME,0);
        if(lastTime == 0){
            return true;
        }
        if(TimeUtils.isSameDay(lastTime,System.currentTimeMillis(), TimeZone.getDefault())){
            return false;
        }
        return true;
    }

    public void guideShow(){
        int showTime = mSharedPref.getInt(GUIDE_SHOW,0);
        mSharedPref.edit().putInt(GUIDE_SHOW,showTime+1).commit();
    }

    public boolean willGuideShow(){
        int showTime = mSharedPref.getInt(GUIDE_SHOW,0);
        if(showTime < 3){
            return true;
        }
        return false;
    }

    public void soundOff(){
        mSharedPref.edit().putBoolean(SOUND_ON,false).commit();
    }

    public void soundOn(){
        mSharedPref.edit().putBoolean(SOUND_ON,true).commit();
    }

    public boolean isSoundEnable(){
        return mSharedPref.getBoolean(SOUND_ON,true);
    }

    public void setCurrentVersion(int versionCode,String versionName){
        SharedPreferences.Editor editor = mSharedPref.edit();
        editor.putInt(CURRENT_VERSION_CODE,versionCode);
        editor.putString(CURRENT_VERSION_NAME,versionName);
        editor.apply();
    }

    public void setLastVersion(int versionCode,String versionName){
        SharedPreferences.Editor editor = mSharedPref.edit();
        editor.putInt(LAST_VERSION_CODE,versionCode);
        editor.putString(LAST_VERSION_NAME,versionName);
        editor.apply();
    }

    public int getCurrentVersionCode(){
        return mSharedPref.getInt(CURRENT_VERSION_CODE,0);
    }

    public String getCurrentVersionName(){
        return mSharedPref.getString(CURRENT_VERSION_NAME,"");
    }
    public int getLastVersionCode(){
        return mSharedPref.getInt(LAST_VERSION_CODE,0);
    }

    public String getLasttVersionName(){
        return mSharedPref.getString(LAST_VERSION_NAME,"");
    }

}