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