Translate SDK codenames to SDK versions for finalized releases

This applies to updatability attributes of shared libraries.

Bug: 235318264

Test: atest UpdatableSharedLibsTest
Change-Id: Id2c2b769a99ca1debb5d8525e46d37698ef2fc6c
diff --git a/java/sdk_library.go b/java/sdk_library.go
index cd8e875..47ffc6a 100644
--- a/java/sdk_library.go
+++ b/java/sdk_library.go
@@ -2584,7 +2584,10 @@
 			`"current" is not an allowed value for this attribute`)
 		return ""
 	}
-	return formattedOptionalAttribute(attrName, value)
+	// "safeValue" is safe because it translates finalized codenames to a string
+	// with their SDK int.
+	safeValue := apiLevel.String()
+	return formattedOptionalAttribute(attrName, &safeValue)
 }
 
 // formats an attribute for the xml permissions file if the value is not null