convert downloadutils to kotlin
This commit is contained in:
parent
a7cb82354e
commit
3dcc791cba
@ -193,9 +193,9 @@ object BitmapUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Throws(IOException::class)
|
@Throws(IOException::class)
|
||||||
fun convertToJpegAndSaveToFile(contentResolver: ContentResolver, bitmap: Bitmap, file: DocumentFile?): DocumentFile {
|
fun convertToJpegAndSaveToFile(contentResolver: ContentResolver, bitmap: Bitmap, file: DocumentFile?): DocumentFile? {
|
||||||
val tempFile = file ?: DownloadUtils.getTempFile(null, "jpg")
|
val tempFile = file ?: DownloadUtils.getTempFile(null, "jpg")
|
||||||
contentResolver.openOutputStream(tempFile.uri).use { output ->
|
contentResolver.openOutputStream(tempFile!!.uri).use { output ->
|
||||||
val compressResult = bitmap.compress(Bitmap.CompressFormat.JPEG, 100, output)
|
val compressResult = bitmap.compress(Bitmap.CompressFormat.JPEG, 100, output)
|
||||||
if (!compressResult) {
|
if (!compressResult) {
|
||||||
throw RuntimeException("Compression failed!")
|
throw RuntimeException("Compression failed!")
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -36,8 +36,8 @@ object MediaUploader {
|
|||||||
contentResolver: ContentResolver,
|
contentResolver: ContentResolver,
|
||||||
bitmap: Bitmap,
|
bitmap: Bitmap,
|
||||||
): MediaUploadResponse = withContext(Dispatchers.IO) {
|
): MediaUploadResponse = withContext(Dispatchers.IO) {
|
||||||
val file: DocumentFile = BitmapUtils.convertToJpegAndSaveToFile(contentResolver, bitmap, null)
|
val file: DocumentFile? = BitmapUtils.convertToJpegAndSaveToFile(contentResolver, bitmap, null)
|
||||||
val byteLength: Long = file.length()
|
val byteLength: Long = file!!.length()
|
||||||
val options = createUploadPhotoOptions(byteLength)
|
val options = createUploadPhotoOptions(byteLength)
|
||||||
val headers = getUploadPhotoHeaders(options)
|
val headers = getUploadPhotoHeaders(options)
|
||||||
val url = HOST + "/rupload_igphoto/" + options.name + "/"
|
val url = HOST + "/rupload_igphoto/" + options.name + "/"
|
||||||
|
@ -131,7 +131,7 @@ class DownloadWorker(context: Context, workerParams: WorkerParameters) : Corouti
|
|||||||
var totalRead = 0f
|
var totalRead = 0f
|
||||||
try {
|
try {
|
||||||
BufferedInputStream(urlConnection.getInputStream()).use { bis ->
|
BufferedInputStream(urlConnection.getInputStream()).use { bis ->
|
||||||
contentResolver.openOutputStream(outFile.uri).use { fos ->
|
contentResolver.openOutputStream(outFile!!.uri).use { fos ->
|
||||||
val buffer = ByteArray(0x2000)
|
val buffer = ByteArray(0x2000)
|
||||||
var count: Int
|
var count: Int
|
||||||
while (bis.read(buffer, 0, 0x2000).also { count = it } != -1) {
|
while (bis.read(buffer, 0, 0x2000).also { count = it } != -1) {
|
||||||
@ -146,11 +146,11 @@ class DownloadWorker(context: Context, workerParams: WorkerParameters) : Corouti
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
Log.e(TAG, "Error while writing data from url: " + url + " to file: " + outFile.name, e)
|
Log.e(TAG, "Error while writing data from url: " + url + " to file: " + outFile!!.name, e)
|
||||||
}
|
}
|
||||||
if (isJpg) {
|
if (isJpg) {
|
||||||
try {
|
try {
|
||||||
contentResolver.openInputStream(outFile.uri).use { fis ->
|
contentResolver.openInputStream(outFile!!.uri).use { fis ->
|
||||||
contentResolver.openOutputStream(filePath.uri).use { fos ->
|
contentResolver.openOutputStream(filePath.uri).use { fos ->
|
||||||
val jpegIptcRewriter = JpegIptcRewriter()
|
val jpegIptcRewriter = JpegIptcRewriter()
|
||||||
jpegIptcRewriter.removeIPTC(fis, fos)
|
jpegIptcRewriter.removeIPTC(fis, fos)
|
||||||
@ -158,10 +158,10 @@ class DownloadWorker(context: Context, workerParams: WorkerParameters) : Corouti
|
|||||||
}
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
Log.e(TAG, "Error while removing iptc: url: " + url
|
Log.e(TAG, "Error while removing iptc: url: " + url
|
||||||
+ ", tempFile: " + outFile.name
|
+ ", tempFile: " + outFile!!.name
|
||||||
+ ", finalFile: " + filePath.name, e)
|
+ ", finalFile: " + filePath.name, e)
|
||||||
}
|
}
|
||||||
val deleted = outFile.delete()
|
val deleted = outFile!!.delete()
|
||||||
if (!deleted) {
|
if (!deleted) {
|
||||||
Log.w(TAG, "download: tempFile not deleted!")
|
Log.w(TAG, "download: tempFile not deleted!")
|
||||||
}
|
}
|
||||||
@ -393,7 +393,7 @@ class DownloadWorker(context: Context, workerParams: WorkerParameters) : Corouti
|
|||||||
|
|
||||||
class Builder {
|
class Builder {
|
||||||
private var urlToFilePathMap: MutableMap<String, String> = mutableMapOf()
|
private var urlToFilePathMap: MutableMap<String, String> = mutableMapOf()
|
||||||
fun setUrlToFilePathMap(urlToFilePathMap: MutableMap<String, DocumentFile>): Builder {
|
fun setUrlToFilePathMap(urlToFilePathMap: Map<String, DocumentFile>): Builder {
|
||||||
this.urlToFilePathMap = urlToFilePathMap
|
this.urlToFilePathMap = urlToFilePathMap
|
||||||
.mapValues { it.value.uri.toString() }
|
.mapValues { it.value.uri.toString() }
|
||||||
.toMutableMap()
|
.toMutableMap()
|
||||||
|
Loading…
Reference in New Issue
Block a user