Clean stale per-app storage on startup
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
package se.ajpanton.notificationlog
|
||||
|
||||
import android.app.Application
|
||||
import android.content.pm.PackageManager
|
||||
import se.ajpanton.notificationlog.data.EncryptedNotificationLogStore
|
||||
import se.ajpanton.notificationlog.settings.AppFilterSettingsStore
|
||||
import se.ajpanton.notificationlog.settings.PerAppEventSettingsStore
|
||||
|
||||
class NotificationLogApplication : Application() {
|
||||
override fun onCreate() {
|
||||
super.onCreate()
|
||||
Thread(::removeStaleAppStorage, "notification-log-storage-cleanup").start()
|
||||
}
|
||||
|
||||
private fun removeStaleAppStorage() {
|
||||
val installedPackages = packageManager.getInstalledApplications(
|
||||
PackageManager.ApplicationInfoFlags.of(0),
|
||||
).mapTo(mutableSetOf()) { it.packageName }
|
||||
AppFilterSettingsStore(this).removeUninstalledPackages(installedPackages)
|
||||
PerAppEventSettingsStore(this).removeUninstalledPackages(installedPackages)
|
||||
EncryptedNotificationLogStore(this).removeOrphanedImages()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user