Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4a18a343 authored by Aayush Gupta's avatar Aayush Gupta
Browse files

Merge branch '5619-main-update_tracker_list' into 'main'

advancedPrivacy: Fetch list on 1st start and update it weekly

See merge request !75
parents 6f845c22 1a17057a
Loading
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -18,12 +18,14 @@
package foundation.e.privacycentralapp

import android.content.Context
import androidx.work.Constraints
import androidx.work.CoroutineWorker
import androidx.work.ExistingPeriodicWorkPolicy
import androidx.work.NetworkType
import androidx.work.PeriodicWorkRequestBuilder
import androidx.work.WorkManager
import androidx.work.WorkerParameters
import java.time.temporal.ChronoUnit
import java.util.concurrent.TimeUnit

class UpdateTrackersWorker(appContext: Context, workerParams: WorkerParameters) :
    CoroutineWorker(appContext, workerParams) {
@@ -37,15 +39,18 @@ class UpdateTrackersWorker(appContext: Context, workerParams: WorkerParameters)
    }

    companion object {
        private val constraints = Constraints.Builder()
            .setRequiredNetworkType(NetworkType.CONNECTED)
            .build()

        fun periodicUpdate(context: Context) {
            val request = PeriodicWorkRequestBuilder<UpdateTrackersWorker>(
                ChronoUnit.WEEKS.duration,
                ChronoUnit.DAYS.duration
            ).build()
                7, TimeUnit.DAYS)
            .setConstraints(constraints).build()

            WorkManager.getInstance(context).enqueueUniquePeriodicWork(
                UpdateTrackersWorker::class.qualifiedName ?: "",
                ExistingPeriodicWorkPolicy.REPLACE,
                ExistingPeriodicWorkPolicy.KEEP,
                request
            )
        }