Skip to content

Commit 83169ef

Browse files
authored
Clear out old disconnect data when new data available (#125)
1 parent 251a244 commit 83169ef

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

app/src/main/java/com/duckduckgo/app/trackerdetection/api/TrackerDataDownloader.kt

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package com.duckduckgo.app.trackerdetection.api
1818

1919
import com.duckduckgo.app.global.api.isCached
20+
import com.duckduckgo.app.global.db.AppDatabase
2021
import com.duckduckgo.app.trackerdetection.AdBlockClient
2122
import com.duckduckgo.app.trackerdetection.Client
2223
import 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
}

app/src/main/java/com/duckduckgo/app/trackerdetection/db/TrackerDataDao.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,7 @@ interface TrackerDataDao {
3434

3535
@Query("Select count(*) from disconnect_tracker")
3636
fun count(): Int
37+
38+
@Query("DELETE FROM disconnect_tracker")
39+
fun deleteAll()
3740
}

0 commit comments

Comments
 (0)