张钢
2024-09-02 63608b5dca9eebb6fa2cb1a8652b395f1d910c3e
app_base/src/main/java/com/android/app_base/manager/UserManager.java
@@ -1,6 +1,24 @@
package com.android.app_base.manager;
import android.Manifest;
import android.app.Activity;
import android.os.Build;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import com.android.app_base.utils.GlideEngine;
import com.android.app_base.utils.SPUtils;
import com.android.app_base.utils.ToastUtils;
import com.blankj.utilcode.util.PermissionUtils;
import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.SelectMimeType;
import com.luck.picture.lib.engine.CropEngine;
import com.luck.picture.lib.entity.LocalMedia;
import com.luck.picture.lib.interfaces.OnResultCallbackListener;
import java.io.File;
import java.util.ArrayList;
/**
 * @author Ljj
@@ -20,6 +38,58 @@
        }
        return instance;
    }
    /**
     * 是否有权限
     */
    public boolean isGranted(@NonNull String... permissions) {
        return PermissionUtils.isGranted(permissions);
    }
    /**
     * 获取权限
     */
    public void getPermissions(PermissionUtils.SimpleCallback simpleCallback, @NonNull String... permissions) {
//        if (isGranted(permissions)){
//            simpleCallback.onGranted();
//            return;
//        }
        PermissionUtils.permission(permissions).callback(simpleCallback).request();
    }
    /**
     * 选择图片
     * @param activity 上下文
     * @param chooseMode 选择模式  SelectMimeType.TYPE_ALL = 0;TYPE_IMAGE = 1;TYPE_VIDEO = 2;TYPE_AUDIO = 3;
     * @param maxSelectNum 最大选择数量
     * @param onResultCallbackListener 回调
     */
    public void selectImage(Activity activity,int chooseMode,int maxSelectNum,OnResultCallbackListener<LocalMedia> onResultCallbackListener){
        String[] permissions;
        if (Build.VERSION.SDK_INT >= 33) {
            permissions = new String[]{Manifest.permission.READ_MEDIA_IMAGES, Manifest.permission.READ_MEDIA_VIDEO, Manifest.permission.READ_MEDIA_AUDIO, Manifest.permission.CAMERA};
        }else {
            permissions = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.CAMERA};
        }
        getPermissions(new PermissionUtils.SimpleCallback() {
            @Override
            public void onGranted() {
                PictureSelector.create(activity)
                        .openGallery(chooseMode)
                        .setImageEngine(GlideEngine.createGlideEngine())
                        .isMaxSelectEnabledMask(true)// 达到最大选择数是否开启禁选蒙层
                        .isWithSelectVideoImage(true)// 图片和视频是否可以同选,只在ofAll模式下有效
                        .setMaxSelectNum(maxSelectNum)
                        .forResult(onResultCallbackListener);
            }
            //
            @Override
            public void onDenied() {
                ToastUtils.showShort("请开启相关权限");
            }
        }, permissions);
    }
    public void setToken(String token){
        SPUtils.getInstance("tokenInfo").put("token",token);
@@ -27,8 +97,64 @@
    public void clearToken(){
        SPUtils.getInstance("tokenInfo").clear();
    }
    public String getToken(){
        return SPUtils.getInstance("tokenInfo").getString("token");
    }
    public void setUserName(String userName){
        SPUtils.getInstance("userInfo").put("userName",userName);
    }
    public String getUserName(){
        return SPUtils.getInstance("userInfo").getString("userName");
    }
    public void clearUserName(){
        SPUtils.getInstance("userInfo").remove("userName");
    }
    public void clearUserInfo(){
        SPUtils.getInstance("userInfo").clear();
    }
    public void setUserAvatar(String userAvatar){
        SPUtils.getInstance("userInfo").put("userAvatar",userAvatar);
    }
    public String getUserAvatar(){
        return SPUtils.getInstance("userInfo").getString("userAvatar");
    }
    public void clearUserAvatar(){
        SPUtils.getInstance("userInfo").remove("userAvatar");
    }
    public String getClanId() {
        return SPUtils.getInstance("userInfo").getString("clanId");
    }
    public void setClanId(String clanId) {
        SPUtils.getInstance("userInfo").put("clanId",clanId);
    }
    /**
     * 退出登录,清除状态
     */
    public void loginOut(){
        clearToken();
        clearUserInfo();
    }
    /**
     *  保存护眼模式 状态
     */
    // 保存护眼模式的状态
    public void saveNightModeState(boolean isNightMode) {
        SPUtils.getInstance("nightMode").put("nightMode", isNightMode);
    }
    // 获取护眼模式的状态
    public boolean getNightModeState() {
        return SPUtils.getInstance("nightMode").getBoolean("nightMode", false);
    }
    // 清除护眼模式的状态
    public void clearNightModeState() {
        SPUtils.getInstance("nightMode").clear();
    }
}