diff options
author | 2024-08-13 18:28:56 +0000 | |
---|---|---|
committer | 2024-08-21 16:42:34 +0000 | |
commit | 07b69ecce158933c62cdc192a488f4c4efd2eff2 (patch) | |
tree | de4a1bfda1c8453b1b126d028e3e532bba84b44d | |
parent | a35b1f13ddef1d27f368c371dcd942c2c3fb37df (diff) |
SDK Parcelables: @JavaOnlyStableParcelable
Now that androidx is using these more for SDK sandbox and usage
of stable AIDL is generally on the rise, go ahead and mark all
platform Parcelables as stable.
This is okay because all apps will share their definition from the
common BCP. If this is ever used on Parcelables not on the common
BCP, that may cause version mismatch and break usage of stable
AIDL that uses these interfaces.
Bug: 258850063
Test: build
Change-Id: Iba43040beda379f0735adf1af319a1dbfce99447
-rw-r--r-- | api/StubLibraries.bp | 2 | ||||
-rw-r--r-- | tools/sdkparcelables/src/com/android/sdkparcelables/Main.kt | 13 |
2 files changed, 13 insertions, 2 deletions
diff --git a/api/StubLibraries.bp b/api/StubLibraries.bp index d991da59f167..b3a674fbd70e 100644 --- a/api/StubLibraries.bp +++ b/api/StubLibraries.bp @@ -890,7 +890,7 @@ java_genrule { cmd: "rm -f $(genDir)/framework.aidl.merged && " + "for i in $(in); do " + " rm -f $(genDir)/framework.aidl.tmp && " + - " $(location sdkparcelables) $$i $(genDir)/framework.aidl.tmp && " + + " $(location sdkparcelables) $$i $(genDir)/framework.aidl.tmp --guarantee_stable && " + " cat $(genDir)/framework.aidl.tmp >> $(genDir)/framework.aidl.merged; " + "done && " + "sort -u $(genDir)/framework.aidl.merged > $(out)", diff --git a/tools/sdkparcelables/src/com/android/sdkparcelables/Main.kt b/tools/sdkparcelables/src/com/android/sdkparcelables/Main.kt index 0b619488c49c..9c443324defb 100644 --- a/tools/sdkparcelables/src/com/android/sdkparcelables/Main.kt +++ b/tools/sdkparcelables/src/com/android/sdkparcelables/Main.kt @@ -23,13 +23,21 @@ import java.io.IOException import java.util.zip.ZipFile fun main(args: Array<String>) { - if (args.size != 2) { + if (args.size < 2 || args.size > 3) { usage() } val zipFileName = args[0] val aidlFileName = args[1] + var stable = false + if (args.size == 3) { + if (args[2] != "--guarantee_stable") { + usage() + } + stable = true + } + val zipFile: ZipFile try { @@ -55,6 +63,9 @@ fun main(args: Array<String>) { val outFile = File(aidlFileName) val outWriter = outFile.bufferedWriter() for (parcelable in parcelables) { + if (stable) { + outWriter.write("@JavaOnlyStableParcelable ") + } outWriter.write("parcelable ") outWriter.write(parcelable.replace('/', '.').replace('$', '.')) outWriter.write(";\n") |