NotificationUtil: Load app's icon into big icon

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2023-12-14 14:59:00 +05:30
parent c9bf37302e
commit cc0302cbe9

View File

@@ -7,8 +7,10 @@ import android.app.NotificationManager
import android.app.PendingIntent import android.app.PendingIntent
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.graphics.BitmapFactory
import android.graphics.Color import android.graphics.Color
import android.os.Build import android.os.Build
import android.util.Log
import androidx.core.app.NotificationCompat import androidx.core.app.NotificationCompat
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.os.bundleOf import androidx.core.os.bundleOf
@@ -29,10 +31,13 @@ import com.aurora.store.data.receiver.DownloadResumeReceiver
import com.tonyodev.fetch2.Download import com.tonyodev.fetch2.Download
import com.tonyodev.fetch2.FetchGroup import com.tonyodev.fetch2.FetchGroup
import com.tonyodev.fetch2.Status import com.tonyodev.fetch2.Status
import java.net.URL
import java.util.UUID import java.util.UUID
object NotificationUtil { object NotificationUtil {
private const val TAG = "NotificationUtil"
fun createNotificationChannel(context: Context) { fun createNotificationChannel(context: Context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val notificationManager = val notificationManager =
@@ -209,6 +214,14 @@ object NotificationUtil {
builder.color = ContextCompat.getColor(context, R.color.colorAccent) builder.color = ContextCompat.getColor(context, R.color.colorAccent)
builder.setContentIntent(getContentIntentForDownloads(context)) builder.setContentIntent(getContentIntentForDownloads(context))
// Set big icon for download
try {
val bitmap = BitmapFactory.decodeStream(URL(download.iconURL).openStream())
builder.setLargeIcon(bitmap)
} catch (exception: Exception) {
Log.i(TAG, "Failed to set big icon", exception)
}
when (download.status) { when (download.status) {
DownloadStatus.CANCELLED -> { DownloadStatus.CANCELLED -> {
builder.setSmallIcon(R.drawable.ic_download_cancel) builder.setSmallIcon(R.drawable.ic_download_cancel)