3
3
import android .Manifest ;
4
4
import android .Manifest .permission ;
5
5
import android .annotation .SuppressLint ;
6
+ import android .os .Build ;
6
7
import android .support .annotation .StringDef ;
7
8
8
9
import java .lang .annotation .Retention ;
@@ -30,34 +31,39 @@ public final class PermissionConstants {
30
31
public static final String SMS = Manifest .permission_group .SMS ;
31
32
public static final String STORAGE = Manifest .permission_group .STORAGE ;
32
33
33
- private static final String [] GROUP_CALENDAR = {
34
+ private static final String [] GROUP_CALENDAR = {
34
35
permission .READ_CALENDAR , permission .WRITE_CALENDAR
35
36
};
36
- private static final String [] GROUP_CAMERA = {
37
+ private static final String [] GROUP_CAMERA = {
37
38
permission .CAMERA
38
39
};
39
- private static final String [] GROUP_CONTACTS = {
40
+ private static final String [] GROUP_CONTACTS = {
40
41
permission .READ_CONTACTS , permission .WRITE_CONTACTS , permission .GET_ACCOUNTS
41
42
};
42
- private static final String [] GROUP_LOCATION = {
43
+ private static final String [] GROUP_LOCATION = {
43
44
permission .ACCESS_FINE_LOCATION , permission .ACCESS_COARSE_LOCATION
44
45
};
45
- private static final String [] GROUP_MICROPHONE = {
46
+ private static final String [] GROUP_MICROPHONE = {
46
47
permission .RECORD_AUDIO
47
48
};
48
- private static final String [] GROUP_PHONE = {
49
+ private static final String [] GROUP_PHONE = {
49
50
permission .READ_PHONE_STATE , permission .READ_PHONE_NUMBERS , permission .CALL_PHONE ,
50
51
permission .ANSWER_PHONE_CALLS , permission .READ_CALL_LOG , permission .WRITE_CALL_LOG ,
51
52
permission .ADD_VOICEMAIL , permission .USE_SIP , permission .PROCESS_OUTGOING_CALLS
52
53
};
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 = {
54
60
permission .BODY_SENSORS
55
61
};
56
- private static final String [] GROUP_SMS = {
62
+ private static final String [] GROUP_SMS = {
57
63
permission .SEND_SMS , permission .RECEIVE_SMS , permission .READ_SMS ,
58
64
permission .RECEIVE_WAP_PUSH , permission .RECEIVE_MMS ,
59
65
};
60
- private static final String [] GROUP_STORAGE = {
66
+ private static final String [] GROUP_STORAGE = {
61
67
permission .READ_EXTERNAL_STORAGE , permission .WRITE_EXTERNAL_STORAGE
62
68
};
63
69
@@ -79,7 +85,11 @@ public static String[] getPermissions(@Permission final String permission) {
79
85
case MICROPHONE :
80
86
return GROUP_MICROPHONE ;
81
87
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
+ }
83
93
case SENSORS :
84
94
return GROUP_SENSORS ;
85
95
case SMS :
0 commit comments