diff --git a/app/src/main/kotlin/uk/silverlabs/silverdroid/update/UpdateCheckerWorker.kt b/app/src/main/kotlin/uk/silverlabs/silverdroid/update/UpdateCheckerWorker.kt index 231ab66..04501b6 100644 --- a/app/src/main/kotlin/uk/silverlabs/silverdroid/update/UpdateCheckerWorker.kt +++ b/app/src/main/kotlin/uk/silverlabs/silverdroid/update/UpdateCheckerWorker.kt @@ -49,6 +49,21 @@ class UpdateCheckerWorker( override suspend fun doWork(): Result = withContext(Dispatchers.IO) { try { val dao = PwaDatabase.getInstance(context).installedAppDao() + + // Ensure SilverDROID itself is always tracked so it can detect its own updates + val selfSlug = "silverdroid" + val selfVersion = try { + context.packageManager.getPackageInfo(context.packageName, 0).versionName ?: "1.0.0" + } catch (e: Exception) { "1.0.0" } + if (dao.getBySlug(selfSlug) == null) { + dao.insert(InstalledApp( + slug = selfSlug, + packageName = context.packageName, + appName = "SilverDROID", + installedVersion = selfVersion + )) + } + val installedApps = dao.getAllAppsOnce() if (installedApps.isEmpty()) return@withContext Result.success()