Skip to content

Commit ada0d01

Browse files
committed
优化 OnPermissionDescription 需要实现的方法数量
优化 OnPermissionDescription 类中的方法代码注释 优化 OnPermissionDescription 类中的方法参数名称
1 parent 868bac3 commit ada0d01

File tree

4 files changed

+37
-14
lines changed

4 files changed

+37
-14
lines changed

app/src/main/java/com/hjq/permissions/demo/PermissionDescription.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public final class PermissionDescription implements OnPermissionDescription {
5757

5858
@Override
5959
public void askWhetherRequestPermission(@NonNull Activity activity, @NonNull List<String> requestPermissions,
60-
@NonNull Runnable confirmRequestRunnable, @NonNull Runnable cancelRequestRunnable) {
60+
@NonNull Runnable continueRequestRunnable, @NonNull Runnable breakRequestRunnable) {
6161
if (XXPermissions.containsSpecialPermission(requestPermissions)) {
6262
// 如果请求的权限中包含特殊权限,那么就用 Dialog 来展示权限说明弹窗
6363
mDescriptionWindowType = DESCRIPTION_WINDOW_TYPE_DIALOG;
@@ -73,18 +73,18 @@ public void askWhetherRequestPermission(@NonNull Activity activity, @NonNull Lis
7373
}
7474

7575
if (mDescriptionWindowType == DESCRIPTION_WINDOW_TYPE_POPUP) {
76-
confirmRequestRunnable.run();
76+
continueRequestRunnable.run();
7777
return;
7878
}
7979

8080
showDialog(activity, activity.getString(R.string.common_permission_description_title),
8181
generatePermissionDescription(activity, requestPermissions),
8282
activity.getString(R.string.common_permission_granted), (dialog, which) -> {
8383
dialog.dismiss();
84-
confirmRequestRunnable.run();
84+
continueRequestRunnable.run();
8585
}, activity.getString(R.string.common_permission_denied), (dialog, which) -> {
8686
dialog.dismiss();
87-
cancelRequestRunnable.run();
87+
breakRequestRunnable.run();
8888
});
8989
}
9090

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

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,29 @@ public interface OnPermissionDescription {
1717
*
1818
* @param activity Activity 对象
1919
* @param requestPermissions 请求的权限
20-
* @param confirmRequestRunnable 确认按钮
21-
* @param cancelRequestRunnable
20+
* @param continueRequestRunnable 继续请求任务对象
21+
* @param breakRequestRunnable 中断请求任务对象
2222
*/
2323
default void askWhetherRequestPermission(@NonNull Activity activity,
2424
@NonNull List<String> requestPermissions,
25-
@NonNull Runnable confirmRequestRunnable,
26-
@NonNull Runnable cancelRequestRunnable) {
27-
confirmRequestRunnable.run();
25+
@NonNull Runnable continueRequestRunnable,
26+
@NonNull Runnable breakRequestRunnable) {
27+
continueRequestRunnable.run();
2828
}
2929

30-
default void onRequestPermissionStart(@NonNull Activity activity, @NonNull List<String> requestPermissions) {}
30+
/**
31+
* 权限请求开始
32+
*
33+
* @param activity Activity 对象
34+
* @param requestPermissions 请求的权限
35+
*/
36+
void onRequestPermissionStart(@NonNull Activity activity, @NonNull List<String> requestPermissions);
3137

32-
default void onRequestPermissionEnd(@NonNull Activity activity, @NonNull List<String> requestPermissions) {}
38+
/**
39+
* 权限请求结束
40+
*
41+
* @param activity Activity 对象
42+
* @param requestPermissions 请求的权限
43+
*/
44+
void onRequestPermissionEnd(@NonNull Activity activity, @NonNull List<String> requestPermissions);
3345
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ private static void requestPermissions(@NonNull Activity activity, List<String>
243243
return;
244244
}
245245

246-
Runnable confirmRequestRunnable = () -> fragmentFactory.createAndCommitFragment(permissions, permissionType, new OnPermissionFlowCallback() {
246+
Runnable continueRequestRunnable = () -> fragmentFactory.createAndCommitFragment(permissions, permissionType, new OnPermissionFlowCallback() {
247247

248248
@Override
249249
public void onRequestPermissionNow() {
@@ -262,7 +262,7 @@ public void onRequestPermissionAnomaly() {
262262
}
263263
});
264264

265-
permissionDescription.askWhetherRequestPermission(activity, permissions, confirmRequestRunnable, finishRunnable);
265+
permissionDescription.askWhetherRequestPermission(activity, permissions, continueRequestRunnable, finishRunnable);
266266
}
267267

268268
/**

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,18 @@ public static OnPermissionDescription getPermissionDescription() {
9797
}
9898
}
9999
if (permissionDescription == null) {
100-
permissionDescription = new OnPermissionDescription() {};
100+
permissionDescription = new OnPermissionDescription() {
101+
102+
@Override
103+
public void onRequestPermissionStart(@NonNull Activity activity, @NonNull List<String> requestPermissions) {
104+
// default implementation ignored
105+
}
106+
107+
@Override
108+
public void onRequestPermissionEnd(@NonNull Activity activity, @NonNull List<String> requestPermissions) {
109+
// default implementation ignored
110+
}
111+
};
101112
}
102113
return permissionDescription;
103114
}

0 commit comments

Comments
 (0)