1
1
package permissions .dispatcher .processor ;
2
2
3
- import permissions .dispatcher .*;
3
+ import java .lang .annotation .Annotation ;
4
+ import java .util .ArrayList ;
5
+ import java .util .Collection ;
6
+ import java .util .List ;
7
+ import java .util .Objects ;
8
+ import java .util .Set ;
4
9
5
10
import javax .annotation .processing .RoundEnvironment ;
6
11
import javax .lang .model .element .Element ;
7
12
import javax .lang .model .element .ExecutableElement ;
8
13
import javax .lang .model .element .TypeElement ;
9
- import java .lang .annotation .Annotation ;
10
- import java .util .*;
14
+
15
+ import permissions .dispatcher .DeniedPermission ;
16
+ import permissions .dispatcher .DeniedPermissions ;
17
+ import permissions .dispatcher .NeedsPermission ;
18
+ import permissions .dispatcher .NeedsPermissions ;
19
+ import permissions .dispatcher .RuntimePermissions ;
20
+ import permissions .dispatcher .ShowsRationale ;
21
+ import permissions .dispatcher .ShowsRationales ;
11
22
12
23
import static java .util .Arrays .asList ;
13
24
import static java .util .Arrays .deepEquals ;
18
29
19
30
final class Utils {
20
31
32
+ private Utils () {
33
+ }
34
+
21
35
static List <RuntimePermissionsAnnotatedElement > getAnnotatedClasses (RoundEnvironment env ) {
22
36
List <RuntimePermissionsAnnotatedElement > models = new ArrayList <>();
23
37
Set <? extends Element > elements = env .getElementsAnnotatedWith (RuntimePermissions .class );
@@ -79,9 +93,7 @@ static ExecutableElement findDeniedPermissionFromValue(String[] value, List<Exec
79
93
}
80
94
81
95
static <A extends Annotation > List <String > getValueFromAnnotation (ExecutableElement element , Class <A > clazz ) {
82
- if (element .getAnnotation (clazz ) == null ) {
83
- return emptyList ();
84
- } else if (Objects .equals (clazz , NeedsPermission .class )) {
96
+ if (Objects .equals (clazz , NeedsPermission .class )) {
85
97
return singletonList (element .getAnnotation (NeedsPermission .class ).value ());
86
98
} else if (Objects .equals (clazz , NeedsPermissions .class )) {
87
99
return asList (element .getAnnotation (NeedsPermissions .class ).value ());
@@ -99,7 +111,7 @@ static <A extends Annotation> List<String> getValueFromAnnotation(ExecutableElem
99
111
}
100
112
101
113
static ExecutableElement findDeniedPermissionFromElement (RuntimePermissionsAnnotatedElement element , ExecutableElement method ) {
102
- ExecutableElement deniedPermission = null ;
114
+ ExecutableElement deniedPermission ;
103
115
// Check presence of @NeedsPermission first
104
116
List <String > annotationValues = Utils .getValueFromAnnotation (method , NeedsPermission .class );
105
117
if (!annotationValues .isEmpty ()) {
@@ -133,8 +145,9 @@ static boolean isEmpty(Collection collection) {
133
145
}
134
146
135
147
static String toString (String ... array ) {
136
- if (array == null )
148
+ if (array == null ) {
137
149
return null ;
150
+ }
138
151
int max = array .length - 1 ;
139
152
StringBuilder b = new StringBuilder ();
140
153
b .append ('{' );
0 commit comments