Simplify getImageFromUrl call
This commit is contained in:
@@ -10,6 +10,7 @@ import coil.disk.DiskCache
|
||||
import coil.request.ImageRequest
|
||||
import com.github.gotify.api.CertUtils
|
||||
import com.github.gotify.client.model.Application
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import okhttp3.OkHttpClient
|
||||
import org.tinylog.kotlin.Logger
|
||||
import java.io.IOException
|
||||
@@ -31,14 +32,18 @@ internal class CoilHandler(private val context: Context, private val settings: S
|
||||
}
|
||||
|
||||
@Throws(IOException::class)
|
||||
suspend fun getImageFromUrl(url: String?): Bitmap {
|
||||
fun getImageFromUrl(url: String?): Bitmap {
|
||||
val request = ImageRequest.Builder(context)
|
||||
.data(url)
|
||||
.build()
|
||||
return (imageLoader.execute(request).drawable as BitmapDrawable).bitmap
|
||||
val imageResult: Bitmap
|
||||
runBlocking {
|
||||
imageResult = (imageLoader.execute(request).drawable as BitmapDrawable).bitmap
|
||||
}
|
||||
return imageResult
|
||||
}
|
||||
|
||||
suspend fun getIcon(app: Application?): Bitmap {
|
||||
fun getIcon(app: Application?): Bitmap {
|
||||
if (app == null) {
|
||||
return BitmapFactory.decodeResource(context.resources, R.drawable.gotify)
|
||||
}
|
||||
|
||||
@@ -36,7 +36,6 @@ import com.github.gotify.messages.IntentUrlDialogActivity
|
||||
import com.github.gotify.messages.MessagesActivity
|
||||
import com.github.gotify.CoilHandler
|
||||
import io.noties.markwon.Markwon
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
import java.util.concurrent.atomic.AtomicLong
|
||||
import org.tinylog.kotlin.Logger
|
||||
@@ -378,15 +377,11 @@ internal class WebSocketService : Service() {
|
||||
showNotificationGroup(channelId)
|
||||
}
|
||||
|
||||
val largeIcon = runBlocking {
|
||||
coilHandler.getIcon(appIdToApp[appId])
|
||||
}
|
||||
|
||||
b.setAutoCancel(true)
|
||||
.setDefaults(Notification.DEFAULT_ALL)
|
||||
.setWhen(System.currentTimeMillis())
|
||||
.setSmallIcon(R.drawable.ic_gotify)
|
||||
.setLargeIcon(largeIcon)
|
||||
.setLargeIcon(coilHandler.getIcon(appIdToApp[appId]))
|
||||
.setTicker("${getString(R.string.app_name)} - $title")
|
||||
.setGroup(NotificationSupport.Group.MESSAGES)
|
||||
.setContentTitle(title)
|
||||
@@ -413,12 +408,10 @@ internal class WebSocketService : Service() {
|
||||
|
||||
if (notificationImageUrl != null) {
|
||||
try {
|
||||
runBlocking {
|
||||
b.setStyle(
|
||||
NotificationCompat.BigPictureStyle()
|
||||
.bigPicture(coilHandler.getImageFromUrl(notificationImageUrl))
|
||||
)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Logger.error(e, "Error loading bigImageUrl")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user