in facebook-core/src/main/java/com/facebook/GraphRequest.kt [1743:1770]
fun writeObject(key: String, value: Any?, request: GraphRequest?) {
if (outputStream is RequestOutputStream) {
(outputStream as RequestOutputStream).setCurrentRequest(request)
}
if (isSupportedParameterType(value)) {
writeString(key, parameterToString(value))
} else if (value is Bitmap) {
writeBitmap(key, value)
} else if (value is ByteArray) {
writeBytes(key, value)
} else if (value is Uri) {
writeContentUri(key, value, null)
} else if (value is ParcelFileDescriptor) {
writeFile(key, value, null)
} else if (value is ParcelableResourceWithMimeType<*>) {
val resource = value.resource
val mimeType = value.mimeType
if (resource is ParcelFileDescriptor) {
writeFile(key, resource, mimeType)
} else if (resource is Uri) {
writeContentUri(key, resource, mimeType)
} else {
throw invalidTypeError
}
} else {
throw invalidTypeError
}
}