Remove Picasso request handler
This commit is contained in:
@@ -1,39 +0,0 @@
|
|||||||
package com.github.gotify.picasso
|
|
||||||
|
|
||||||
import android.graphics.BitmapFactory
|
|
||||||
import android.util.Base64
|
|
||||||
import com.squareup.picasso.Picasso
|
|
||||||
import com.squareup.picasso.Request
|
|
||||||
import com.squareup.picasso.RequestHandler
|
|
||||||
import org.tinylog.kotlin.Logger
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adapted from https://github.com/square/picasso/issues/1395#issuecomment-220929377 By
|
|
||||||
* https://github.com/SmartDengg
|
|
||||||
*/
|
|
||||||
internal class PicassoDataRequestHandler : RequestHandler() {
|
|
||||||
companion object {
|
|
||||||
private const val DATA_SCHEME = "data"
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun canHandleRequest(data: Request): Boolean {
|
|
||||||
val scheme = data.uri.scheme
|
|
||||||
return DATA_SCHEME.equals(scheme, ignoreCase = true)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun load(request: Request, networkPolicy: Int): Result {
|
|
||||||
val uri = request.uri.toString()
|
|
||||||
val imageDataBytes = uri.substring(uri.indexOf(",") + 1)
|
|
||||||
val bytes = Base64.decode(imageDataBytes.toByteArray(), Base64.DEFAULT)
|
|
||||||
val bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.size)
|
|
||||||
|
|
||||||
if (bitmap == null) {
|
|
||||||
val show = if (uri.length > 50) uri.take(50) + "..." else uri
|
|
||||||
val malformed = RuntimeException("Malformed data uri: $show")
|
|
||||||
Logger.error(malformed, "Could not load image")
|
|
||||||
throw malformed
|
|
||||||
}
|
|
||||||
|
|
||||||
return Result(bitmap, Picasso.LoadedFrom.NETWORK)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user