Allow module gets its own output files using non-empty-string tag

Test: CI
Bug: 339477385
Change-Id: I332c377ad59d9355cb44ee18b85a56e37580e7b6
diff --git a/android/module.go b/android/module.go
index b438150..a75f03f 100644
--- a/android/module.go
+++ b/android/module.go
@@ -2524,8 +2524,7 @@
 // *inter-module-communication*.
 // If mctx module is the same as the param module the output files are obtained
 // from outputFiles property of module base, to avoid both setting and
-// reading OutputFilesProvider before  GenerateBuildActions is finished. Also
-// only empty-string-tag is supported in this case.
+// reading OutputFilesProvider before GenerateBuildActions is finished.
 // If a module doesn't have the OutputFilesProvider, nil is returned.
 func outputFilesForModuleFromProvider(ctx PathContext, module blueprint.Module, tag string) (Paths, error) {
 	// TODO: support OutputFilesProvider for singletons
@@ -2546,6 +2545,8 @@
 	} else {
 		if tag == "" {
 			return mctx.Module().base().outputFiles.DefaultOutputFiles, nil
+		} else if taggedOutputFiles, hasTag := mctx.Module().base().outputFiles.TaggedOutputFiles[tag]; hasTag {
+			return taggedOutputFiles, nil
 		} else {
 			return nil, fmt.Errorf("unsupported tag %q for module getting its own output files", tag)
 		}