@@ -64,7 +63,7 @@ class PermissionAnnotationDetectorTest : LintDetectorTest() {
"""
package com.android.server;
public class Bar extends IBar.Stub {
public void testMethod() { }
public void testMethod(int parameter1, int parameter2) { }
}
"""
)
@@ -75,8 +74,8 @@ class PermissionAnnotationDetectorTest : LintDetectorTest() {
.expect(
"""
src/frameworks/base/services/java/com/android/server/Bar.java:3: Error: The method testMethod is not permission-annotated. [MissingPermissionAnnotation]
public void testMethod() { }
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
public void testMethod(int parameter1, int parameter2) { }
public void testMethodNoPermission(int parameter1, int parameter2) {
if (parameter1 < parameter2) {
memberInt = parameter1;
} else {
memberInt = parameter2;
}
}
}
"""
)
.indented(),
*stubs
)
.run()
.expectClean()
}
funtestMissingRequiresNoPermission_shouldWarn(){
lint()
.files(
java(
createVisitedPath("Bar.java"),
"""
package com.android.server;
public class Bar extends IBar.Stub {
private int memberInt;
@Override
public void testMethod(int parameter1, int parameter2) {
if (parameter1 < parameter2) {
memberInt = parameter1;
} else {
memberInt = parameter2;
}
}
}
"""
)
.indented(),
*stubs
)
.run()
.expect(
"""
src/frameworks/base/services/java/com/android/server/Bar.java:5: Error: Method testMethod doesn't perform any permission checks, meaning it should be annotated with @RequiresNoPermission. [SimpleRequiresNoPermission]
public void testMethod(int parameter1, int parameter2) {
memberIntPair = new IntPair(parameter1, parameter2);
}
private static class IntPair {
public int first;
public int second;
public IntPair(int first, int second) {
this.first = first;
this.second = second;
}
}
}
"""
)
.indented(),
*stubs
)
.run()
.expect(
"""
src/frameworks/base/services/java/com/android/server/Bar.java:5: Error: Method testMethod doesn't perform any permission checks, meaning it should be annotated with @RequiresNoPermission. [SimpleRequiresNoPermission]