1717package com.duckduckgo.app.trackerdetection.api
1818
1919import com.duckduckgo.app.global.api.isCached
20+ import com.duckduckgo.app.global.db.AppDatabase
2021import com.duckduckgo.app.trackerdetection.AdBlockClient
2122import com.duckduckgo.app.trackerdetection.Client
2223import com.duckduckgo.app.trackerdetection.Client.ClientName.*
@@ -35,7 +36,8 @@ class TrackerDataDownloader @Inject constructor(
3536 private val trackerListService : TrackerListService ,
3637 private val trackerDataStore : TrackerDataStore ,
3738 private val trackerDataLoader : TrackerDataLoader ,
38- private val trackerDataDao : TrackerDataDao ) {
39+ private val trackerDataDao : TrackerDataDao ,
40+ private val appDatabase : AppDatabase ) {
3941
4042 fun downloadList (clientName : Client .ClientName ): Completable {
4143
@@ -63,8 +65,14 @@ class TrackerDataDownloader @Inject constructor(
6365 if (response.isSuccessful) {
6466 Timber .d(" Updating disconnect data from server" )
6567 val body = response.body()!!
66- trackerDataDao.insertAll(body.trackers)
67- trackerDataLoader.loadDisconnectData()
68+
69+ appDatabase.runInTransaction {
70+ trackerDataDao.deleteAll()
71+ trackerDataDao.insertAll(body.trackers)
72+ trackerDataLoader.loadDisconnectData()
73+ }
74+
75+
6876 } else {
6977 throw IOException (" Status: ${response.code()} - ${response.errorBody()?.string()} " )
7078 }
0 commit comments