17
17
import static permissions .dispatcher .processor .ConstantsProvider .ACTIVITY_COMPAT ;
18
18
import static permissions .dispatcher .processor .ConstantsProvider .METHOD_SUFFIX ;
19
19
import static permissions .dispatcher .processor .ConstantsProvider .PERMISSION_UTIL ;
20
- import static permissions .dispatcher .processor .Utils .findShowsRationaleFromValue ;
21
20
import static permissions .dispatcher .processor .Utils .getFieldName ;
22
21
23
22
final class JavaFileBuilder {
@@ -65,7 +64,7 @@ ACTIVITY_COMPAT, activity, value, getFieldName(methodName))
65
64
.build ();
66
65
}
67
66
68
- private static MethodSpec createOnRequestPermissionsResult (ClassName target , List <ExecutableElement > methods , List < ExecutableElement > showsRationaleMethods ) {
67
+ private static MethodSpec createOnRequestPermissionsResult (ClassName target , List <ExecutableElement > methods ) {
69
68
MethodSpec .Builder methodBuilder = MethodSpec .methodBuilder ("onRequestPermissionsResult" )
70
69
.addModifiers (Modifier .PUBLIC , Modifier .STATIC )
71
70
.addParameter (target , "target" )
@@ -77,18 +76,10 @@ private static MethodSpec createOnRequestPermissionsResult(ClassName target, Lis
77
76
78
77
for (ExecutableElement method : methods ) {
79
78
String methodName = method .getSimpleName ().toString ();
80
- String value = method .getAnnotation (NeedsPermission .class ).value ();
81
- ExecutableElement showsRationale = findShowsRationaleFromValue (value , showsRationaleMethods );
82
79
methodBuilder
83
80
.addCode ("case $N:\n " , getFieldName (methodName ))
84
81
.beginControlFlow ("if ($T.verifyPermissions(grantResults))" , PERMISSION_UTIL )
85
- .addStatement ("target.$N()" , methodName );
86
- if (showsRationale != null ) {
87
- methodBuilder
88
- .nextControlFlow ("else" )
89
- .addStatement ("target.$N()" , showsRationale .getSimpleName ());
90
- }
91
- methodBuilder
82
+ .addStatement ("target.$N()" , methodName )
92
83
.endControlFlow ()
93
84
.addStatement ("break" );
94
85
}
@@ -117,13 +108,12 @@ private static FieldSpec createField(String name, int index) {
117
108
118
109
public static JavaFile createJavaFile (RuntimePermissionsAnnotatedElement element ) {
119
110
List <ExecutableElement > needsPermissionMethods = element .getNeedsPermissionMethods ();
120
- List <ExecutableElement > showsRationaleMethods = element .getShowsRationaleMethods ();
121
111
TypeSpec clazz = TypeSpec .classBuilder (element .getDispatchClassName ())
122
112
.addModifiers (Modifier .PUBLIC , Modifier .FINAL )
123
113
.addFields (createFields (needsPermissionMethods ))
124
114
.addMethod (createConstructor ())
125
115
.addMethods (createMethodsWithCheck (element ))
126
- .addMethod (createOnRequestPermissionsResult (element .getClassName (), needsPermissionMethods , showsRationaleMethods ))
116
+ .addMethod (createOnRequestPermissionsResult (element .getClassName (), needsPermissionMethods ))
127
117
.build ();
128
118
String packageName = element .getPackageName ();
129
119
return JavaFile .builder (packageName , clazz ).build ();
0 commit comments