summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--PermissionController/Android.bp8
-rw-r--r--PermissionController/jarjar-rules.txt25
-rw-r--r--PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java12
-rw-r--r--PermissionController/tests/mocking/Android.bp3
-rw-r--r--service/Android.bp1
-rw-r--r--service/jarjar-rules.txt4
6 files changed, 46 insertions, 7 deletions
diff --git a/PermissionController/Android.bp b/PermissionController/Android.bp
index 5c238806e..596b2dbb5 100644
--- a/PermissionController/Android.bp
+++ b/PermissionController/Android.bp
@@ -72,6 +72,11 @@ java_library {
],
}
+filegroup {
+ name: "PermissionController-jarjar-rules",
+ srcs: ["jarjar-rules.txt"],
+}
+
android_library {
name: "PermissionController-lib",
sdk_version: "system_current",
@@ -167,6 +172,9 @@ android_library {
"//apex_available:platform",
"com.android.permission",
],
+
+ // TODO(b/313706381): Remove jarjar once flagging lib is fixed
+ jarjar_rules: ":PermissionController-jarjar-rules",
}
android_app {
diff --git a/PermissionController/jarjar-rules.txt b/PermissionController/jarjar-rules.txt
new file mode 100644
index 000000000..7bfda1ab1
--- /dev/null
+++ b/PermissionController/jarjar-rules.txt
@@ -0,0 +1,25 @@
+# You may bypass this Gerrit IfThisThenThat Lint if your change doesn't affect
+# RoleParser.applyJarjarTransform(), by adding NO_IFTTT=reason to your commit
+# message.
+# LINT.IfChange
+rule android.app.appfunctions.flags.*FeatureFlags* com.android.permissioncontroller.jarjar.@0
+rule android.app.appfunctions.flags.FeatureFlags* com.android.permissioncontroller.jarjar.@0
+rule android.app.appfunctions.flags.FeatureFlags com.android.permissioncontroller.jarjar.@0
+rule android.app.appfunctions.flags.Flags com.android.permissioncontroller.jarjar.@0
+rule android.companion.virtualdevice.flags.*FeatureFlags* com.android.permissioncontroller.jarjar.@0
+rule android.companion.virtualdevice.flags.FeatureFlags* com.android.permissioncontroller.jarjar.@0
+rule android.companion.virtualdevice.flags.FeatureFlags com.android.permissioncontroller.jarjar.@0
+rule android.companion.virtualdevice.flags.Flags com.android.permissioncontroller.jarjar.@0
+rule android.content.pm.*FeatureFlags* com.android.permissioncontroller.jarjar.@0
+rule android.content.pm.FeatureFlags* com.android.permissioncontroller.jarjar.@0
+rule android.content.pm.FeatureFlags com.android.permissioncontroller.jarjar.@0
+rule android.content.pm.Flags com.android.permissioncontroller.jarjar.@0
+rule android.permission.flags.*FeatureFlags* com.android.permissioncontroller.jarjar.@0
+rule android.permission.flags.FeatureFlags* com.android.permissioncontroller.jarjar.@0
+rule android.permission.flags.FeatureFlags com.android.permissioncontroller.jarjar.@0
+rule android.permission.flags.Flags com.android.permissioncontroller.jarjar.@0
+rule android.os.*FeatureFlags* com.android.permissioncontroller.jarjar.@0
+rule android.os.FeatureFlags* com.android.permissioncontroller.jarjar.@0
+rule android.os.FeatureFlags com.android.permissioncontroller.jarjar.@0
+rule android.os.Flags com.android.permissioncontroller.jarjar.@0
+# LINT.ThenChange(PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java:applyJarjarTransform)
diff --git a/PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java b/PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java
index a0705cd5e..6d5cf69bd 100644
--- a/PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java
+++ b/PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java
@@ -1106,7 +1106,7 @@ public class RoleParser {
+ ">");
return fallbackValue;
}
- String className = applyJarjarTransformIfNeeded(value.substring(0, lastDotIndex));
+ String className = applyJarjarTransform(value.substring(0, lastDotIndex));
String methodName = value.substring(lastDotIndex + 1);
Method method;
try {
@@ -1155,16 +1155,18 @@ public class RoleParser {
};
}
- // LINT.IfChange(applyJarjarTransformIfNeeded)
+ // LINT.IfChange(applyJarjarTransform)
/**
* Simulate the jarjar transform that should happen on the class name.
* <p>
* Currently this only handles the {@code Flags} classes for feature flagging.
*/
@NonNull
- private String applyJarjarTransformIfNeeded(@NonNull String className) {
- if (className.endsWith(".Flags") && Objects.equals(mContext.getPackageName(), "android")) {
- return "com.android.permission.jarjar." + className;
+ private String applyJarjarTransform(@NonNull String className) {
+ if (className.endsWith(".Flags")) {
+ String jarjarPrefix = Objects.equals(mContext.getPackageName(), "android")
+ ? "com.android.permission.jarjar." : "com.android.permissioncontroller.jarjar.";
+ return jarjarPrefix + className;
}
return className;
}
diff --git a/PermissionController/tests/mocking/Android.bp b/PermissionController/tests/mocking/Android.bp
index a541f4577..37851b2bb 100644
--- a/PermissionController/tests/mocking/Android.bp
+++ b/PermissionController/tests/mocking/Android.bp
@@ -86,4 +86,7 @@ android_test {
],
kotlincflags: ["-Xjvm-default=all"],
+
+ // TODO(b/313706381): Remove jarjar once flagging lib is fixed
+ jarjar_rules: ":PermissionController-jarjar-rules",
}
diff --git a/service/Android.bp b/service/Android.bp
index 8efce5ebe..6f851c4d2 100644
--- a/service/Android.bp
+++ b/service/Android.bp
@@ -111,6 +111,7 @@ java_sdk_library {
"service-permission-statsd",
"permissioncontroller-statsd",
"service-permission-proto-stream",
+ "com.android.permission.flags-aconfig-java",
],
errorprone: {
javacflags: ["-Xep:GuardedBy:ERROR"],
diff --git a/service/jarjar-rules.txt b/service/jarjar-rules.txt
index 77e071672..4d4d6e050 100644
--- a/service/jarjar-rules.txt
+++ b/service/jarjar-rules.txt
@@ -1,5 +1,5 @@
# You may bypass this Gerrit IfThisThenThat Lint if your change doesn't affect
-# RoleParser.applyJarjarTransformIfNeeded(), by adding NO_IFTTT=reason to your commit
+# RoleParser.applyJarjarTransform(), by adding NO_IFTTT=reason to your commit
# message.
# LINT.IfChange
rule android.app.appfunctions.flags.*FeatureFlags* com.android.permission.jarjar.@0
@@ -37,4 +37,4 @@ rule com.android.safetycenter.resources.** com.android.permission.jarjar.@0
rule com.google.protobuf.** com.android.permission.jarjar.@0
rule kotlin.** com.android.permission.jarjar.@0
rule com.android.permissioncontroller.PermissionControllerStatsLog com.android.permission.jarjar.@0
-# LINT.ThenChange(PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java:applyJarjarTransformIfNeeded)
+# LINT.ThenChange(PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java:applyJarjarTransform)