From 46c6fdd5959986be27786e6eeebe3fab494182a1 Mon Sep 17 00:00:00 2001
From: Jihoon Kang <jihoonkang@google.com>
Date: Tue, 16 Jan 2024 02:25:51 +0000
Subject: [PATCH] Add aconfig declarations to f/b droidstubs

This change pass the aconfig_declaration modules defined in
AconfigFlags.bp to the *-api-stubs-docs-non-updatable droidstubs module,
so that the "exportable" stubs (i.e. the stubs only containing the
flagged apis that are enabled by the release configuration) can be
generated.

Test: m api-stubs-docs-non-updatable && m checkapi
Bug: 317290555
Change-Id: I944d336e474b9ed61f4554fc9325a8df3a9cf40b
---
 AconfigFlags.bp | 69 +++++++++++++++++++++++++++++++++++++++++++++++++
 api/Android.bp  |  1 +
 2 files changed, 70 insertions(+)

diff --git a/AconfigFlags.bp b/AconfigFlags.bp
index ce311d01cd58..7d7d5735eacc 100644
--- a/AconfigFlags.bp
+++ b/AconfigFlags.bp
@@ -76,6 +76,75 @@ aconfig_srcjars = [
     ":power_flags_lib{.generated_srcjars}",
 ]
 
+stubs_defaults {
+    name: "framework-minus-apex-aconfig-declarations",
+    aconfig_declarations: [
+        "android.app.flags-aconfig",
+        "android.app.smartspace.flags-aconfig",
+        "android.app.usage.flags-aconfig",
+        "android.appwidget.flags-aconfig",
+        "android.companion.flags-aconfig",
+        "android.companion.virtual.flags-aconfig",
+        "android.content.pm.flags-aconfig",
+        "android.content.res.flags-aconfig",
+        "android.credentials.flags-aconfig",
+        "android.database.sqlite-aconfig",
+        "android.hardware.biometrics.flags-aconfig",
+        "android.hardware.flags-aconfig",
+        "android.hardware.radio.flags-aconfig",
+        "android.hardware.usb.flags-aconfig",
+        "android.location.flags-aconfig",
+        "android.media.audio-aconfig",
+        "android.media.audiopolicy-aconfig",
+        "android.media.midi-aconfig",
+        "android.media.tv.flags-aconfig",
+        "android.multiuser.flags-aconfig",
+        "android.net.vcn.flags-aconfig",
+        "android.nfc.flags-aconfig",
+        "android.os.flags-aconfig",
+        "android.os.vibrator.flags-aconfig",
+        "android.permission.flags-aconfig",
+        "android.provider.flags-aconfig",
+        "android.security.flags-aconfig",
+        "android.server.app.flags-aconfig",
+        "android.service.autofill.flags-aconfig",
+        "android.service.chooser.flags-aconfig",
+        "android.service.controls.flags-aconfig",
+        "android.service.dreams.flags-aconfig",
+        "android.service.notification.flags-aconfig",
+        "android.service.voice.flags-aconfig",
+        "android.speech.flags-aconfig",
+        "android.tracing.flags-aconfig",
+        "android.view.accessibility.flags-aconfig",
+        "android.view.contentcapture.flags-aconfig",
+        "android.view.contentprotection.flags-aconfig",
+        "android.view.flags-aconfig",
+        "android.view.inputmethod.flags-aconfig",
+        "android.webkit.flags-aconfig",
+        "android.widget.flags-aconfig",
+        "camera_platform_flags",
+        "chre_flags",
+        "com.android.hardware.input.input-aconfig",
+        "com.android.input.flags-aconfig",
+        "com.android.media.flags.bettertogether-aconfig",
+        "com.android.net.flags-aconfig",
+        "com.android.server.flags.services-aconfig",
+        "com.android.text.flags-aconfig",
+        "com.android.window.flags.window-aconfig",
+        "device_policy_aconfig_flags",
+        "display_flags",
+        "fold_lock_setting_flags",
+        "framework-jobscheduler-job.flags-aconfig",
+        "framework_graphics_flags",
+        "hwui_flags",
+        "power_flags",
+        "sdk_sandbox_flags",
+        "surfaceflinger_flags",
+        "telecom_flags",
+        "telephony_flags",
+    ],
+}
+
 filegroup {
     name: "framework-minus-apex-aconfig-srcjars",
     srcs: aconfig_srcjars,
diff --git a/api/Android.bp b/api/Android.bp
index 1686943d08ca..126176dab3f3 100644
--- a/api/Android.bp
+++ b/api/Android.bp
@@ -269,6 +269,7 @@ packages_to_document = [
 // classpath (or sources) somehow.
 stubs_defaults {
     name: "android-non-updatable-stubs-defaults",
+    defaults: ["framework-minus-apex-aconfig-declarations"],
     srcs: [":android-non-updatable-stub-sources"],
     sdk_version: "none",
     system_modules: "none",
-- 
GitLab