From f2c0eeb8f91b0a40c76c47c23d97d85681c377e6 Mon Sep 17 00:00:00 2001 From: Konrad Pozniak Date: Sat, 22 Mar 2025 12:29:53 +0100 Subject: [PATCH] delete NotificationPolicy cache on logout (#5004) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I think now I got them all 😅 --- .../main/java/com/keylesspalace/tusky/db/DatabaseCleaner.kt | 6 ++++-- .../com/keylesspalace/tusky/db/dao/NotificationPolicyDao.kt | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/keylesspalace/tusky/db/DatabaseCleaner.kt b/app/src/main/java/com/keylesspalace/tusky/db/DatabaseCleaner.kt index 3da6317b9..b56f8b0ae 100644 --- a/app/src/main/java/com/keylesspalace/tusky/db/DatabaseCleaner.kt +++ b/app/src/main/java/com/keylesspalace/tusky/db/DatabaseCleaner.kt @@ -19,6 +19,7 @@ import androidx.room.withTransaction import com.keylesspalace.tusky.components.conversation.ConversationEntity import com.keylesspalace.tusky.db.entity.HomeTimelineEntity import com.keylesspalace.tusky.db.entity.NotificationEntity +import com.keylesspalace.tusky.db.entity.NotificationPolicyEntity import com.keylesspalace.tusky.db.entity.NotificationReportEntity import com.keylesspalace.tusky.db.entity.TimelineAccountEntity import com.keylesspalace.tusky.db.entity.TimelineStatusEntity @@ -50,8 +51,8 @@ class DatabaseCleaner @Inject constructor( } /** - * Deletes everything from the [HomeTimelineEntity], [TimelineStatusEntity], [TimelineAccountEntity], - * [NotificationEntity], [NotificationReportEntity] and [ConversationEntity] tables for one user. + * Deletes everything from the [HomeTimelineEntity], [TimelineStatusEntity], [TimelineAccountEntity], [NotificationEntity], + * [NotificationReportEntity], [ConversationEntity] and [NotificationPolicyEntity] tables for one user. * Intended to be used when a user logs out. * @param tuskyAccountId id of the account for which to clean tables */ @@ -64,6 +65,7 @@ class DatabaseCleaner @Inject constructor( db.timelineStatusDao().removeAllStatuses(tuskyAccountId) db.timelineAccountDao().removeAllAccounts(tuskyAccountId) db.conversationDao().deleteForAccount(tuskyAccountId) + db.notificationPolicyDao().deleteForAccount(tuskyAccountId) } } } diff --git a/app/src/main/java/com/keylesspalace/tusky/db/dao/NotificationPolicyDao.kt b/app/src/main/java/com/keylesspalace/tusky/db/dao/NotificationPolicyDao.kt index 7fb2381f0..e5d83db33 100644 --- a/app/src/main/java/com/keylesspalace/tusky/db/dao/NotificationPolicyDao.kt +++ b/app/src/main/java/com/keylesspalace/tusky/db/dao/NotificationPolicyDao.kt @@ -40,4 +40,7 @@ interface NotificationPolicyDao { accountId: Long, notificationCount: Int ) + + @Query("DELETE FROM NotificationPolicyEntity WHERE tuskyAccountId = :accountId") + suspend fun deleteForAccount(accountId: Long) }