Compose the main stubs jars from module stubs
This adds stub generation for the non-updatable part of the platform,
and changes the full stub jars to be a combination of multiple jars:
the stubs of the updatable modules and the stubs of the remaining part
of the platform.
Composing the stub jars like this allows overriding the individual parts
with prebuilts rather than building everything from source. This makes
the build safer, as we can make sure that the stub of the apex that is
used is also what is used to build the rest of the platform against.
The monolithic droidstubs rules remain for now, as it has other
functions than generating stub sources (api lint, current.txt,
checklast). It remains a goal to get rid of this, but by submitting this
CL first it can be done in steps.
Bug: 144149403
Test: m android{,_system}_{monolith,merged}_stubs_current
Test: m
Change-Id: I255486112c03f237aa342cfb93f3b473a2f50470
diff --git a/non-updatable-api/module-lib-current.txt b/non-updatable-api/module-lib-current.txt
new file mode 100644
index 0000000..c085cad
--- /dev/null
+++ b/non-updatable-api/module-lib-current.txt
@@ -0,0 +1,67 @@
+// Signature format: 2.0
+package android.annotation {
+
+ @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.FIELD}) public @interface NonNull {
+ }
+
+ @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.FIELD}) public @interface Nullable {
+ }
+
+}
+
+package android.content.rollback {
+
+ public class RollbackManagerFrameworkInitializer {
+ method public static void initialize();
+ }
+
+}
+
+package android.graphics {
+
+ public final class Compatibility {
+ method public static void setTargetSdkVersion(int);
+ }
+
+ public final class ImageDecoder implements java.lang.AutoCloseable {
+ method @AnyThread @NonNull public static android.graphics.ImageDecoder.Source createSource(@NonNull android.content.ContentResolver, @NonNull android.net.Uri, @Nullable android.content.res.Resources);
+ }
+
+}
+
+package android.os {
+
+ public class StatsServiceManager {
+ method @NonNull public android.os.StatsServiceManager.ServiceRegisterer getStatsCompanionServiceRegisterer();
+ method @NonNull public android.os.StatsServiceManager.ServiceRegisterer getStatsManagerServiceRegisterer();
+ method @NonNull public android.os.StatsServiceManager.ServiceRegisterer getStatsdServiceRegisterer();
+ }
+
+ public static class StatsServiceManager.ServiceNotFoundException extends java.lang.Exception {
+ ctor public StatsServiceManager.ServiceNotFoundException(@NonNull String);
+ }
+
+ public static final class StatsServiceManager.ServiceRegisterer {
+ method @Nullable public android.os.IBinder get();
+ method @Nullable public android.os.IBinder getOrThrow() throws android.os.StatsServiceManager.ServiceNotFoundException;
+ }
+
+}
+
+package android.util {
+
+ public class AtomicFile {
+ ctor public AtomicFile(@NonNull java.io.File, @Nullable android.util.SystemConfigFileCommitEventLogger);
+ }
+
+ public final class Log {
+ method public static int logToRadioBuffer(int, @Nullable String, @Nullable String);
+ }
+
+ public class SystemConfigFileCommitEventLogger {
+ ctor public SystemConfigFileCommitEventLogger(@NonNull String);
+ method public void setStartTime(long);
+ }
+
+}
+