summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SettingsLib/Metadata/processor/src/com/android/settingslib/metadata/PreferenceScreenAnnotationProcessor.kt10
1 files changed, 9 insertions, 1 deletions
diff --git a/packages/SettingsLib/Metadata/processor/src/com/android/settingslib/metadata/PreferenceScreenAnnotationProcessor.kt b/packages/SettingsLib/Metadata/processor/src/com/android/settingslib/metadata/PreferenceScreenAnnotationProcessor.kt
index 620d717faf69..7432254b57a4 100644
--- a/packages/SettingsLib/Metadata/processor/src/com/android/settingslib/metadata/PreferenceScreenAnnotationProcessor.kt
+++ b/packages/SettingsLib/Metadata/processor/src/com/android/settingslib/metadata/PreferenceScreenAnnotationProcessor.kt
@@ -129,7 +129,15 @@ class PreferenceScreenAnnotationProcessor : AbstractProcessor() {
)
}
}
- processingEnv.filer.createSourceFile("$outputPkg.$outputClass").openWriter().use {
+ val javaFileObject =
+ try {
+ processingEnv.filer.createSourceFile("$outputPkg.$outputClass")
+ } catch (e: Exception) {
+ // quick fix: gradle runs this processor twice unexpectedly
+ warn("cannot createSourceFile: $e")
+ return
+ }
+ javaFileObject.openWriter().use {
it.write("package $outputPkg;\n\n")
it.write("import $PACKAGE.$PREFERENCE_SCREEN_METADATA;\n\n")
it.write("// Generated by annotation processor for @$ANNOTATION_NAME\n")