diff --git a/src/main/kotlin/com/looker/droidify/MainApplication.kt b/src/main/kotlin/com/looker/droidify/MainApplication.kt index 422c478b..75400de7 100644 --- a/src/main/kotlin/com/looker/droidify/MainApplication.kt +++ b/src/main/kotlin/com/looker/droidify/MainApplication.kt @@ -16,7 +16,7 @@ import com.looker.droidify.index.RepositoryUpdater import com.looker.droidify.network.CoilDownloader import com.looker.droidify.network.Downloader import com.looker.droidify.service.Connection -import com.looker.droidify.service.PackageChangeReciever +import com.looker.droidify.service.PackageChangedReceiver import com.looker.droidify.service.SyncService import com.looker.droidify.ui.activities.MainActivityX import com.looker.droidify.utility.Utils.setLanguage @@ -55,10 +55,11 @@ class MainApplication : Application(), ImageLoaderFactory { private fun listenApplications() { registerReceiver( - PackageChangeReciever(), + PackageChangedReceiver(), IntentFilter().apply { addAction(Intent.ACTION_PACKAGE_ADDED) addAction(Intent.ACTION_PACKAGE_REMOVED) + addAction(Intent.ACTION_PACKAGE_REPLACED) addDataScheme("package") } ) diff --git a/src/main/kotlin/com/looker/droidify/service/PackageChangeReciever.kt b/src/main/kotlin/com/looker/droidify/service/PackageChangedReceiver.kt similarity index 90% rename from src/main/kotlin/com/looker/droidify/service/PackageChangeReciever.kt rename to src/main/kotlin/com/looker/droidify/service/PackageChangedReceiver.kt index 2f36f072..505cc75c 100644 --- a/src/main/kotlin/com/looker/droidify/service/PackageChangeReciever.kt +++ b/src/main/kotlin/com/looker/droidify/service/PackageChangedReceiver.kt @@ -10,7 +10,7 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch -class PackageChangeReciever : BroadcastReceiver() { +class PackageChangedReceiver : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { val db = DatabaseX.getInstance(context) val packageName = @@ -19,6 +19,7 @@ class PackageChangeReciever : BroadcastReceiver() { when (intent.action.orEmpty()) { Intent.ACTION_PACKAGE_ADDED, Intent.ACTION_PACKAGE_REMOVED, + Intent.ACTION_PACKAGE_REPLACED -> { val packageInfo = try { context.packageManager.getPackageInfo( @@ -29,7 +30,7 @@ class PackageChangeReciever : BroadcastReceiver() { null } GlobalScope.launch(Dispatchers.IO) { - if (packageInfo != null) db.installedDao.put(packageInfo.toInstalledItem()) + if (packageInfo != null) db.installedDao.insertReplace(packageInfo.toInstalledItem()) else db.installedDao.delete(packageName) } }