From c2556685a6b5f59564c2fb4cce841f7b5fcff320 Mon Sep 17 00:00:00 2001 From: Jeff DeCew Date: Wed, 24 Apr 2024 19:54:55 +0000 Subject: Support new generated CustomFeatureFlags * Broaden jarjar Flags rules for NFC. Note that this brings the NFC rules in line with other packages * Opt classes named CustomFeatureFlags into Ravenwood Flag: none Bug: 336768870 Test: presubmit Change-Id: Ib1e76ebd04915554f464ec9a3d101b07925e18be --- nfc/jarjar-rules.txt | 5 ++--- .../src/com/android/hoststubgen/filters/AndroidHeuristicsFilter.kt | 3 +++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/nfc/jarjar-rules.txt b/nfc/jarjar-rules.txt index 4cd652d6af7f..6304c86e8551 100644 --- a/nfc/jarjar-rules.txt +++ b/nfc/jarjar-rules.txt @@ -26,9 +26,8 @@ rule com.android.nfc.NfcDispatcherProto* com.android.nfc.x.@0 rule android.os.PersistableBundleProto* com.android.nfc.x.@0 # Used by framework-nfc for reading trunk stable flags -rule android.nfc.FakeFeatureFlagsImpl* com.android.nfc.x.@0 -rule android.nfc.FeatureFlags* com.android.nfc.x.@0 -rule android.nfc.Flags* com.android.nfc.x.@0 +rule android.nfc.*Flags* com.android.nfc.x.@0 +rule android.nfc.Flags com.android.nfc.x.@0 rule android.permission.flags.** com.android.nfc.x.@0 # Used by framework-nfc for misc utilities diff --git a/tools/hoststubgen/hoststubgen/src/com/android/hoststubgen/filters/AndroidHeuristicsFilter.kt b/tools/hoststubgen/hoststubgen/src/com/android/hoststubgen/filters/AndroidHeuristicsFilter.kt index 8ca4732f57c4..a712ac00d3a4 100644 --- a/tools/hoststubgen/hoststubgen/src/com/android/hoststubgen/filters/AndroidHeuristicsFilter.kt +++ b/tools/hoststubgen/hoststubgen/src/com/android/hoststubgen/filters/AndroidHeuristicsFilter.kt @@ -47,6 +47,8 @@ private fun ClassNodes.isAidlClass(className: String): Boolean { } /** + * Effectively apply @RavenwoodKeepWholeClass to all classes with these names + * * @return if a given class "seems like" an feature flags class. */ private fun ClassNodes.isFeatureFlagsClass(className: String): Boolean { @@ -55,5 +57,6 @@ private fun ClassNodes.isFeatureFlagsClass(className: String): Boolean { return className.endsWith("/Flags") || className.endsWith("/FeatureFlags") || className.endsWith("/FeatureFlagsImpl") + || className.endsWith("/CustomFeatureFlags") || className.endsWith("/FakeFeatureFlagsImpl"); } -- cgit v1.2.3