Copy exportable artifacts to module sdk snapshot

This change modifies the copy rules of the sdk_library when generating
the module sdk snapshots so that the exportable artifacts (annotations
zip, api file, removed api file, srcjar file) are copied instead of the
everything artifacts.

In order to satisfy the prebuilts compatibility, this feature is flag
guarded by the build flag "RELEASE_HIDDEN_API_EXPORTABLE_STUBS"

Test: m --no-skip-soong-tests
Bug: 315027929
Change-Id: I8bf5bb1f196aa9b5db78ba4677caa5f4337e3021
diff --git a/java/droidstubs.go b/java/droidstubs.go
index bdbaf92..ef13988 100644
--- a/java/droidstubs.go
+++ b/java/droidstubs.go
@@ -196,6 +196,10 @@
 	StubsSrcJar() android.Path
 }
 
+type ExportableApiStubsSrcProvider interface {
+	ExportableStubsSrcJar() android.Path
+}
+
 // Provider of information about API stubs, used by java_sdk_library.
 type ApiStubsProvider interface {
 	AnnotationsZip() android.Path
@@ -205,6 +209,14 @@
 	ApiStubsSrcProvider
 }
 
+type ExportableApiStubsProvider interface {
+	ExportableAnnotationsZip() android.Path
+	ExportableApiFilePath() android.Path
+	ExportableRemovedApiFilePath() android.Path
+
+	ExportableApiStubsSrcProvider
+}
+
 type currentApiTimestampProvider interface {
 	CurrentApiTimestamp() android.Path
 }