NotificationUtil: Use download object available from parcel
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -26,7 +26,6 @@ import android.content.pm.PackageInstaller
|
|||||||
import android.util.Log
|
import android.util.Log
|
||||||
import androidx.core.content.IntentCompat
|
import androidx.core.content.IntentCompat
|
||||||
import com.aurora.extensions.runOnUiThread
|
import com.aurora.extensions.runOnUiThread
|
||||||
import com.aurora.gplayapi.data.models.App
|
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.data.event.InstallerEvent
|
import com.aurora.store.data.event.InstallerEvent
|
||||||
import com.aurora.store.data.installer.AppInstaller
|
import com.aurora.store.data.installer.AppInstaller
|
||||||
@@ -58,10 +57,10 @@ class InstallerStatusReceiver : BroadcastReceiver() {
|
|||||||
val extra = intent.getStringExtra(PackageInstaller.EXTRA_STATUS_MESSAGE)
|
val extra = intent.getStringExtra(PackageInstaller.EXTRA_STATUS_MESSAGE)
|
||||||
val download = IntentCompat.getParcelableExtra(
|
val download = IntentCompat.getParcelableExtra(
|
||||||
intent, EXTRA_DOWNLOAD, Download::class.java
|
intent, EXTRA_DOWNLOAD, Download::class.java
|
||||||
)
|
)!!
|
||||||
|
|
||||||
// If package was successfully installed, exit after notifying user and doing cleanup
|
// If package was successfully installed, exit after notifying user and doing cleanup
|
||||||
if (status == PackageInstaller.STATUS_SUCCESS && download != null) {
|
if (status == PackageInstaller.STATUS_SUCCESS) {
|
||||||
// No post-install steps for shared libraries
|
// No post-install steps for shared libraries
|
||||||
if (PackageUtil.isSharedLibrary(context, packageName)) return
|
if (PackageUtil.isSharedLibrary(context, packageName)) return
|
||||||
|
|
||||||
@@ -77,20 +76,20 @@ class InstallerStatusReceiver : BroadcastReceiver() {
|
|||||||
promptUser(intent, context)
|
promptUser(intent, context)
|
||||||
} else {
|
} else {
|
||||||
postStatus(status, packageName, extra, context)
|
postStatus(status, packageName, extra, context)
|
||||||
notifyUser(context, packageName, status)
|
notifyUser(context, download, status)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun notifyUser(context: Context, packageName: String, status: Int) {
|
private fun notifyUser(context: Context, download: Download, status: Int) {
|
||||||
val notificationManager =
|
val notificationManager =
|
||||||
context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
|
context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
|
||||||
val notification = NotificationUtil.getInstallerStatusNotification(
|
val notification = NotificationUtil.getInstallerStatusNotification(
|
||||||
context,
|
context,
|
||||||
App(packageName),
|
download,
|
||||||
AppInstaller.getErrorString(context, status)
|
AppInstaller.getErrorString(context, status)
|
||||||
)
|
)
|
||||||
notificationManager.notify(packageName.hashCode(), notification)
|
notificationManager.notify(download.packageName.hashCode(), notification)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun promptUser(intent: Intent, context: Context) {
|
private fun promptUser(intent: Intent, context: Context) {
|
||||||
|
|||||||
@@ -8,10 +8,8 @@ import android.app.PendingIntent
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.graphics.Bitmap
|
import android.graphics.Bitmap
|
||||||
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
|
||||||
@@ -27,7 +25,6 @@ import com.aurora.store.R
|
|||||||
import com.aurora.store.data.activity.InstallActivity
|
import com.aurora.store.data.activity.InstallActivity
|
||||||
import com.aurora.store.data.model.DownloadStatus
|
import com.aurora.store.data.model.DownloadStatus
|
||||||
import com.aurora.store.data.room.download.Download
|
import com.aurora.store.data.room.download.Download
|
||||||
import java.net.URL
|
|
||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
|
|
||||||
object NotificationUtil {
|
object NotificationUtil {
|
||||||
@@ -170,17 +167,18 @@ object NotificationUtil {
|
|||||||
.build()
|
.build()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getInstallerStatusNotification(context: Context, app: App, content: String?): Notification {
|
fun getInstallerStatusNotification(
|
||||||
val builder =
|
context: Context,
|
||||||
NotificationCompat.Builder(context, Constants.NOTIFICATION_CHANNEL_ALERT).apply {
|
download: Download,
|
||||||
color = context.getStyledAttributeColor(R.color.colorAccent)
|
content: String?
|
||||||
setSmallIcon(R.drawable.ic_install)
|
): Notification {
|
||||||
setContentTitle(app.displayName)
|
return NotificationCompat.Builder(context, Constants.NOTIFICATION_CHANNEL_ALERT)
|
||||||
setContentText(content)
|
.setSmallIcon(R.drawable.ic_install)
|
||||||
setContentIntent(getContentIntentForDetails(context, app.packageName))
|
.setColor(context.getStyledAttributeColor(R.color.colorAccent))
|
||||||
setSubText(app.packageName)
|
.setContentTitle(download.displayName)
|
||||||
}
|
.setContentText(content)
|
||||||
return builder.build()
|
.setContentIntent(getContentIntentForDetails(context, download.packageName))
|
||||||
|
.build()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getOngoingUpdateNotification(context: Context): Notification {
|
fun getOngoingUpdateNotification(context: Context): Notification {
|
||||||
|
|||||||
Reference in New Issue
Block a user