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<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);
|
}
|
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 void loginOut(){
|
clearToken();
|
clearUserInfo();
|
}
|
|
}
|