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 * @date 2023.03.25. 19:50 * @desc */ public class UserManager { private static UserManager instance; private UserManager(){ } public static UserManager getInstance() { if (instance == null){ instance = new UserManager(); } 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 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); } 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(); } }