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) }