Skip to content

Commit 604a355

Browse files
committed
Merge branch 'develop'
2 parents f3c09fd + 997ec9b commit 604a355

File tree

11 files changed

+207
-75
lines changed

11 files changed

+207
-75
lines changed

.idea/misc.xml

Lines changed: 0 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,7 @@ callback mode response request
8282
void onAllPermissionGranted()
8383

8484
// When any permissions were refused
85-
void onPermissionRefuse(
86-
Permission[] allPermissionsResult, // All of request permissions
87-
Permission[] grantedPermissionResult, // All of granted permissions from request
88-
Permission[] refusePermissionResult // All of refused permissions from request
89-
)
85+
void onPermissionRefuse(PermissionRefuseResultHelper resultHelper)
9086
9187
   - [Optional] ShowRequestPermissionRationaleListener ShowRequestPermissionRationale callback listener, can refer official document [Requesting Permissions at Run Time#Explain why the app needs permissions](https://developer.android.com/training/permissions/requesting.html#explain)
9288

@@ -125,7 +121,7 @@ callback mode response request
125121
}
126122

127123
@Override
128-
public void onPermissionRefuse(Permission[] allPermissionsResult, Permission[] grantedPermissionResult, Permission[] refusePermissionResult) {
124+
public void onPermissionRefuse(PermissionRefuseResultHelper resultHelper) {
129125
Toast.makeText(mActivity, "Fail, some permission were refused", Toast.LENGTH_SHORT).show();
130126
}
131127
}
@@ -187,9 +183,7 @@ callback mode response request
187183
- Permisssion Exception
188184
```java
189185
public class PermissionException extends RuntimeException {
190-
public final Permission[] allPermissionsResult;
191-
public final Permission[] grantedPermissionResult;
192-
public final Permission[] refusePermissionResult;
186+
public final PermissionRefuseResultHelper result;
193187
}
194188
```
195189

README_CN.md

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,8 @@ class Permission {
7979
void onAllPermissionGranted()
8080

8181
// 当有任何一个权限被拒绝
82-
void onPermissionRefuse(
83-
Permission[] allPermissionsResult, // 请求的所有权限的结果集, 包含以下两种结果集
84-
Permission[] grantedPermissionResult, // 请求的所有权限中成功的结果集
85-
Permission[] refusePermissionResult // 请求的所有权限中被拒绝的结果集
86-
)
87-
82+
void onPermissionRefuse(PermissionRefuseResultHelper resultHelper)
83+
8884
   - [可选]ShowRequestPermissionRationaleListener 显示请求权限理由提示回调监听器,参考官方文档 [运行时请求权限#解释应用为什么需要权限](https://developer.android.com/training/permissions/requesting.html#explain)
8985

9086
// 当需要展示请求权限解释提示
@@ -122,7 +118,7 @@ class Permission {
122118
}
123119

124120
@Override
125-
public void onPermissionRefuse(Permission[] allPermissionsResult, Permission[] grantedPermissionResult, Permission[] refusePermissionResult) {
121+
public void onPermissionRefuse(PermissionRefuseResultHelper resultHelper) {
126122
Toast.makeText(mActivity, "Fail, some permission were refused", Toast.LENGTH_SHORT).show();
127123
}
128124
}
@@ -184,9 +180,7 @@ class Permission {
184180
- Permisssion Exception
185181
```java
186182
public class PermissionException extends RuntimeException {
187-
public final Permission[] allPermissionsResult;
188-
public final Permission[] grantedPermissionResult;
189-
public final Permission[] refusePermissionResult;
183+
public final PermissionRefuseResultHelper result;
190184
}
191185
```
192186

sample/src/main/java/cn/f_ms/permissiondemo/MainActivity.java

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import android.view.View;
1010
import android.widget.Toast;
1111

12-
import cn.f_ms.runtimepermission.simple.Permission;
12+
import cn.f_ms.runtimepermission.simple.PermissionRefuseResultHelper;
1313
import cn.f_ms.runtimepermission.simple.ShowRequestPermissionRationaleListener;
1414
import cn.f_ms.runtimepermission.simple.SimpleRuntimePermission;
1515
import cn.f_ms.runtimepermission.simple.SimpleRuntimePermissionHelper;
@@ -75,7 +75,9 @@ public void onNext(@NonNull String s) {
7575
@Override
7676
public void onError(@NonNull Throwable e) {
7777
if (e instanceof PermissionException) {
78-
Toast.makeText(mActivity, e.getMessage(), Toast.LENGTH_SHORT).show();
78+
new AlertDialog.Builder(MainActivity.this)
79+
.setMessage(e.getMessage())
80+
.show();
7981
}
8082
}
8183

@@ -95,7 +97,9 @@ public void onCompleted() {}
9597
@Override
9698
public void onError(Throwable e) {
9799
if (e instanceof cn.f_ms.runtimepermission.simple.rxjava1.PermissionException ) {
98-
Toast.makeText(mActivity, e.getMessage(), Toast.LENGTH_SHORT).show();
100+
new AlertDialog.Builder(MainActivity.this)
101+
.setMessage(e.getMessage())
102+
.show();
99103
}
100104
}
101105

@@ -120,13 +124,19 @@ public void onAllPermissionGranted() {
120124
}
121125

122126
@Override
123-
public void onPermissionRefuse(Permission[] allPermissionsResult, Permission[] grantedPermissionResult, Permission[] refusePermissionResult) {
124-
String str = String.format("all: %s\ngranted: %s\nrefuse:%s",
125-
allPermissionsResult, grantedPermissionResult, refusePermissionResult
127+
public void onPermissionRefuse(PermissionRefuseResultHelper resultHelper) {
128+
String str = String.format("all: %s\ngranted: %s\nrefuse:%s\nnever_ask: %s",
129+
resultHelper.getAllPermissions(),
130+
resultHelper.getGrantPermissions(),
131+
resultHelper.getRefusePermissions(),
132+
resultHelper.getNeverAskAgainPermissions()
126133
);
127134

128-
Toast.makeText(mActivity, str, Toast.LENGTH_SHORT).show();
135+
new AlertDialog.Builder(MainActivity.this)
136+
.setMessage(str)
137+
.show();
129138
}
139+
130140
})
131141
.execute();
132142
}
Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
package cn.f_ms.runtimepermission.simple.rxjava1;
22

33
import java.util.Arrays;
4+
import java.util.Collections;
45

5-
import cn.f_ms.runtimepermission.simple.Permission;
6+
import cn.f_ms.runtimepermission.simple.PermissionRefuseResultHelper;
67

78
/**
89
* PermissionException
@@ -11,14 +12,12 @@
1112
*/
1213
public class PermissionException extends RuntimeException {
1314

14-
public final Permission[] allPermissionsResult;
15-
public final Permission[] grantedPermissionResult;
16-
public final Permission[] refusePermissionResult;
15+
public final PermissionRefuseResultHelper result;
1716

18-
public PermissionException(Permission[] allPermissionsResult, Permission[] grantedPermissionResult, Permission[] refusePermissionResult) {
19-
super(Arrays.toString(refusePermissionResult));
20-
this.allPermissionsResult = allPermissionsResult;
21-
this.grantedPermissionResult = grantedPermissionResult;
22-
this.refusePermissionResult = refusePermissionResult;
17+
public PermissionException(PermissionRefuseResultHelper resultHelper) {
18+
super(resultHelper.getRefusePermissions().toString());
19+
result = resultHelper;
2320
}
21+
22+
public PermissionRefuseResultHelper getRefuseResult() {return result;}
2423
}

simple-runtime-permission-rxjava1/src/main/java/cn/f_ms/runtimepermission/simple/rxjava1/RxSimpleRuntimePermissionTransform.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package cn.f_ms.runtimepermission.simple.rxjava1;
22

33
import cn.f_ms.runtimepermission.simple.Permission;
4+
import cn.f_ms.runtimepermission.simple.PermissionRefuseResultHelper;
45
import cn.f_ms.runtimepermission.simple.ShowRequestPermissionRationaleListener;
56
import cn.f_ms.runtimepermission.simple.SimpleRuntimePermission;
67
import cn.f_ms.runtimepermission.simple.SimpleRuntimePermissionHelper;
@@ -43,9 +44,9 @@ public void onAllPermissionGranted() {
4344
}
4445

4546
@Override
46-
public void onPermissionRefuse(Permission[] allPermissionsResult, Permission[] grantedPermissionResult, Permission[] refusePermissionResult) {
47+
public void onPermissionRefuse(PermissionRefuseResultHelper resultHelper) {
4748
subscriber.onError(
48-
new PermissionException(allPermissionsResult, grantedPermissionResult, refusePermissionResult)
49+
new PermissionException(resultHelper)
4950
);
5051
}
5152
})
Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package cn.f_ms.runtimepermission.simple.rxjava2;
22

3-
import java.util.Arrays;
4-
5-
import cn.f_ms.runtimepermission.simple.Permission;
3+
import cn.f_ms.runtimepermission.simple.PermissionRefuseResultHelper;
64

75
/**
86
* PermissionException
@@ -11,14 +9,12 @@
119
*/
1210
public class PermissionException extends RuntimeException {
1311

14-
public final Permission[] allPermissionsResult;
15-
public final Permission[] grantedPermissionResult;
16-
public final Permission[] refusePermissionResult;
12+
public final PermissionRefuseResultHelper result;
1713

18-
public PermissionException(Permission[] allPermissionsResult, Permission[] grantedPermissionResult, Permission[] refusePermissionResult) {
19-
super(Arrays.toString(refusePermissionResult));
20-
this.allPermissionsResult = allPermissionsResult;
21-
this.grantedPermissionResult = grantedPermissionResult;
22-
this.refusePermissionResult = refusePermissionResult;
14+
public PermissionException(PermissionRefuseResultHelper resultHelper) {
15+
super(resultHelper.getRefusePermissions().toString());
16+
result = resultHelper;
2317
}
18+
19+
public PermissionRefuseResultHelper getRefuseResult() {return result;}
2420
}

simple-runtime-permission-rxjava2/src/main/java/cn/f_ms/runtimepermission/simple/rxjava2/RxSimpleRuntimePermissionTransform.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package cn.f_ms.runtimepermission.simple.rxjava2;
22

33
import cn.f_ms.runtimepermission.simple.Permission;
4+
import cn.f_ms.runtimepermission.simple.PermissionRefuseResultHelper;
45
import cn.f_ms.runtimepermission.simple.ShowRequestPermissionRationaleListener;
56
import cn.f_ms.runtimepermission.simple.SimpleRuntimePermission;
67
import cn.f_ms.runtimepermission.simple.SimpleRuntimePermissionHelper;
@@ -44,9 +45,9 @@ public void onAllPermissionGranted() {
4445
}
4546

4647
@Override
47-
public void onPermissionRefuse(Permission[] allPermissionsResult, Permission[] grantedPermissionResult, Permission[] refusePermissionResult) {
48+
public void onPermissionRefuse(PermissionRefuseResultHelper resultHelper) {
4849
e.onError(
49-
new PermissionException(allPermissionsResult, grantedPermissionResult, refusePermissionResult)
50+
new PermissionException(resultHelper)
5051
);
5152
}
5253
})

simple-runtime-permission/src/main/java/cn/f_ms/runtimepermission/simple/Permission.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* @author f-ms
77
* @time 2017/4/25
88
*/
9-
public class Permission {
9+
public final class Permission {
1010

1111
public final String name;
1212
public final boolean isGranted;

0 commit comments

Comments
 (0)