Skip to content

Commit 868bac3

Browse files
committed
将 PermissionApi.compatibleOldPermissionByNewPermission 方法名称修改为 addOldPermissionsByNewPermissions
将 PermissionApi.compatiblePermissionRequestSequence 方法名称修改为 adjustPermissionsSort 并补充代码注释
1 parent bd5e771 commit 868bac3

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

library/src/main/java/com/hjq/permissions/PermissionApi.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ static Intent getBestPermissionSettingIntent(@NonNull Context context, @Nullable
196196
/**
197197
* 根据新权限添加旧权限
198198
*/
199-
static void compatibleOldPermissionByNewPermission(@NonNull List<String> requestPermissions) {
199+
static void addOldPermissionsByNewPermissions(@NonNull List<String> requestPermissions) {
200200
// 需要补充的权限列表
201201
List<String> needSupplementPermissions = null;
202202
for (String permission : requestPermissions) {
@@ -237,12 +237,16 @@ static void compatibleOldPermissionByNewPermission(@NonNull List<String> request
237237
/**
238238
* 调整权限的请求顺序
239239
*/
240-
static void compatiblePermissionRequestSequence(@NonNull List<String> requestPermissions) {
240+
static void adjustPermissionsSort(@NonNull List<String> requestPermissions) {
241+
// 获取低等级权限列表
241242
List<String> lowLevelPermissions = PermissionHelper.getLowLevelPermissions();
242243
for (String lowLevelPermission : lowLevelPermissions) {
243244
if (!PermissionUtils.containsPermission(requestPermissions, lowLevelPermission)) {
244245
continue;
245246
}
247+
// 如果请求的权限中包含这个低等级权限,则先删除再添加,这个权限就会排到最后面了
248+
// 这样做的好处在于,可以避免出现的一种情况,当前这个权限严重依赖其他权限
249+
// 例如:ACCESS_MEDIA_LOCATION 权限需要已授予存储相关权限的情况下才可以申请成功
246250
requestPermissions.remove(lowLevelPermission);
247251
requestPermissions.add(lowLevelPermission);
248252
}

library/src/main/java/com/hjq/permissions/XXPermissions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -279,9 +279,9 @@ public void request(@Nullable OnPermissionCallback callback) {
279279
}
280280

281281
// 优化所申请的权限列表
282-
PermissionApi.compatibleOldPermissionByNewPermission(permissions);
282+
PermissionApi.addOldPermissionsByNewPermissions(permissions);
283283
// 优化申请的权限顺序
284-
PermissionApi.compatiblePermissionRequestSequence(permissions);
284+
PermissionApi.adjustPermissionsSort(permissions);
285285

286286
// 检查 Activity 是不是不可用
287287
if (PermissionUtils.isActivityUnavailable(activity)) {

0 commit comments

Comments
 (0)