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.content.Context
import android.content.Intent
import android.graphics.BitmapFactory
import android.graphics.Color
import android.os.Build
import android.util.Log
import androidx.core.app.NotificationCompat
import androidx.core.content.ContextCompat
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.FetchGroup
import com.tonyodev.fetch2.Status
import java.net.URL
import java.util.UUID
object NotificationUtil {
private const val TAG = "NotificationUtil"
fun createNotificationChannel(context: Context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val notificationManager =
@@ -209,6 +214,14 @@ object NotificationUtil {
builder.color = ContextCompat.getColor(context, R.color.colorAccent)
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) {
DownloadStatus.CANCELLED -> {
builder.setSmallIcon(R.drawable.ic_download_cancel)