Linjiajia
2023-04-04 a1d1fb7c44e33c4baeb52964a027932018bc1325
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
package com.android.app_base.manager;
 
import android.Manifest;
import android.app.Activity;
import android.os.Build;
 
import androidx.annotation.NonNull;
 
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.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();
    }
 
    /**
     * 选择图片
     */
    public void selectImage(Activity activity,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(SelectMimeType.ofImage())
                        .setImageEngine(GlideEngine.createGlideEngine())
                        .setPermissionsInterceptListener(new OnPermissionsInterceptListenerImpl())
                        .isMaxSelectEnabledMask(true)// 达到最大选择数是否开启禁选蒙层
                        .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");
    }
}