2 Commits

Author SHA1 Message Date
meoware.exe 4d5fea843e Merge pull request #40 from meowarex/dev
Rework Update Notification
2026-06-16 02:31:19 +10:00
meoware.exe d6bc889387 Rework Update Notification 2026-06-16 02:19:33 +10:00
@@ -7,7 +7,6 @@ import android.app.PendingIntent
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.net.Uri
import android.os.Build import android.os.Build
import android.util.Log import android.util.Log
import androidx.core.app.ActivityCompat import androidx.core.app.ActivityCompat
@@ -51,15 +50,15 @@ class UpdateCheckWorker(
.maxByOrNull { it.first } .maxByOrNull { it.first }
?: return Result.success() ?: return Result.success()
val (version, release) = latestVersion val (version, _) = latestVersion
if (current >= version) return Result.success() if (current >= version) return Result.success()
Log.i(BuildConfig.TAG, "Update available: $version (installed $current)") Log.i(BuildConfig.TAG, "Update available: $version (installed $current)")
postUpdateNotification(version.toString(), release.htmlUrl) postUpdateNotification(version.toString())
return Result.success() return Result.success()
} }
private fun postUpdateNotification(version: String, releaseUrl: String) { private fun postUpdateNotification(version: String) {
val nm = applicationContext.getSystemService<NotificationManager>() ?: return val nm = applicationContext.getSystemService<NotificationManager>() ?: return
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
@@ -78,10 +77,15 @@ class UpdateCheckWorker(
return return
} }
val launchIntent = applicationContext.packageManager
.getLaunchIntentForPackage(applicationContext.packageName)
?.apply { addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) }
?: return
val pendingIntent = PendingIntent.getActivity( val pendingIntent = PendingIntent.getActivity(
applicationContext, applicationContext,
0, 0,
Intent(Intent.ACTION_VIEW, Uri.parse(releaseUrl)).apply { addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) }, launchIntent,
PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT,
) )