Skip to content

Commit ea8f9aa

Browse files
authored
Merge pull request Blankj#707 from BestMafen/permission
optimize PermissionConstants
2 parents ba153fc + 9aae558 commit ea8f9aa

File tree

1 file changed

+20
-10
lines changed

1 file changed

+20
-10
lines changed

utilcode/src/main/java/com/blankj/utilcode/constant/PermissionConstants.java

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import android.Manifest;
44
import android.Manifest.permission;
55
import android.annotation.SuppressLint;
6+
import android.os.Build;
67
import android.support.annotation.StringDef;
78

89
import java.lang.annotation.Retention;
@@ -30,34 +31,39 @@ public final class PermissionConstants {
3031
public static final String SMS = Manifest.permission_group.SMS;
3132
public static final String STORAGE = Manifest.permission_group.STORAGE;
3233

33-
private static final String[] GROUP_CALENDAR = {
34+
private static final String[] GROUP_CALENDAR = {
3435
permission.READ_CALENDAR, permission.WRITE_CALENDAR
3536
};
36-
private static final String[] GROUP_CAMERA = {
37+
private static final String[] GROUP_CAMERA = {
3738
permission.CAMERA
3839
};
39-
private static final String[] GROUP_CONTACTS = {
40+
private static final String[] GROUP_CONTACTS = {
4041
permission.READ_CONTACTS, permission.WRITE_CONTACTS, permission.GET_ACCOUNTS
4142
};
42-
private static final String[] GROUP_LOCATION = {
43+
private static final String[] GROUP_LOCATION = {
4344
permission.ACCESS_FINE_LOCATION, permission.ACCESS_COARSE_LOCATION
4445
};
45-
private static final String[] GROUP_MICROPHONE = {
46+
private static final String[] GROUP_MICROPHONE = {
4647
permission.RECORD_AUDIO
4748
};
48-
private static final String[] GROUP_PHONE = {
49+
private static final String[] GROUP_PHONE = {
4950
permission.READ_PHONE_STATE, permission.READ_PHONE_NUMBERS, permission.CALL_PHONE,
5051
permission.ANSWER_PHONE_CALLS, permission.READ_CALL_LOG, permission.WRITE_CALL_LOG,
5152
permission.ADD_VOICEMAIL, permission.USE_SIP, permission.PROCESS_OUTGOING_CALLS
5253
};
53-
private static final String[] GROUP_SENSORS = {
54+
private static final String[] GROUP_PHONE_BELOW_O = {
55+
permission.READ_PHONE_STATE, permission.READ_PHONE_NUMBERS, permission.CALL_PHONE,
56+
permission.READ_CALL_LOG, permission.WRITE_CALL_LOG, permission.ADD_VOICEMAIL,
57+
permission.USE_SIP, permission.PROCESS_OUTGOING_CALLS
58+
};
59+
private static final String[] GROUP_SENSORS = {
5460
permission.BODY_SENSORS
5561
};
56-
private static final String[] GROUP_SMS = {
62+
private static final String[] GROUP_SMS = {
5763
permission.SEND_SMS, permission.RECEIVE_SMS, permission.READ_SMS,
5864
permission.RECEIVE_WAP_PUSH, permission.RECEIVE_MMS,
5965
};
60-
private static final String[] GROUP_STORAGE = {
66+
private static final String[] GROUP_STORAGE = {
6167
permission.READ_EXTERNAL_STORAGE, permission.WRITE_EXTERNAL_STORAGE
6268
};
6369

@@ -79,7 +85,11 @@ public static String[] getPermissions(@Permission final String permission) {
7985
case MICROPHONE:
8086
return GROUP_MICROPHONE;
8187
case PHONE:
82-
return GROUP_PHONE;
88+
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
89+
return GROUP_PHONE_BELOW_O;
90+
} else {
91+
return GROUP_PHONE;
92+
}
8393
case SENSORS:
8494
return GROUP_SENSORS;
8595
case SMS:

0 commit comments

Comments
 (0)