mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-28 16:00:31 +05:30
fix worker
This commit is contained in:
parent
e253373536
commit
41cf1c782d
@ -6,6 +6,7 @@ import android.app.NotificationManager
|
|||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.StrictMode
|
import android.os.StrictMode
|
||||||
import android.os.StrictMode.VmPolicy
|
import android.os.StrictMode.VmPolicy
|
||||||
|
import androidx.work.ExistingPeriodicWorkPolicy
|
||||||
import com.github.libretube.preferences.PreferenceHelper
|
import com.github.libretube.preferences.PreferenceHelper
|
||||||
import com.github.libretube.preferences.PreferenceKeys
|
import com.github.libretube.preferences.PreferenceKeys
|
||||||
import com.github.libretube.util.NotificationHelper
|
import com.github.libretube.util.NotificationHelper
|
||||||
@ -39,7 +40,7 @@ class MyApp : Application() {
|
|||||||
/**
|
/**
|
||||||
* initialize the notification listener in the background
|
* initialize the notification listener in the background
|
||||||
*/
|
*/
|
||||||
NotificationHelper.enqueueWork(this)
|
NotificationHelper.enqueueWork(this, ExistingPeriodicWorkPolicy.KEEP)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4,6 +4,7 @@ import android.os.Bundle
|
|||||||
import androidx.preference.ListPreference
|
import androidx.preference.ListPreference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import androidx.preference.SwitchPreferenceCompat
|
import androidx.preference.SwitchPreferenceCompat
|
||||||
|
import androidx.work.ExistingPeriodicWorkPolicy
|
||||||
import com.github.libretube.R
|
import com.github.libretube.R
|
||||||
import com.github.libretube.activities.SettingsActivity
|
import com.github.libretube.activities.SettingsActivity
|
||||||
import com.github.libretube.util.NotificationHelper
|
import com.github.libretube.util.NotificationHelper
|
||||||
@ -19,14 +20,22 @@ class NotificationSettings : PreferenceFragmentCompat() {
|
|||||||
|
|
||||||
val notificationsEnabled = findPreference<SwitchPreferenceCompat>(PreferenceKeys.NOTIFICATION_ENABLED)
|
val notificationsEnabled = findPreference<SwitchPreferenceCompat>(PreferenceKeys.NOTIFICATION_ENABLED)
|
||||||
notificationsEnabled?.setOnPreferenceChangeListener { _, _ ->
|
notificationsEnabled?.setOnPreferenceChangeListener { _, _ ->
|
||||||
NotificationHelper.enqueueWork(requireContext())
|
updateNotificationPrefs()
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
val checkingFrequency = findPreference<ListPreference>(PreferenceKeys.CHECKING_FREQUENCY)
|
val checkingFrequency = findPreference<ListPreference>(PreferenceKeys.CHECKING_FREQUENCY)
|
||||||
checkingFrequency?.setOnPreferenceChangeListener { _, _ ->
|
checkingFrequency?.setOnPreferenceChangeListener { _, _ ->
|
||||||
NotificationHelper.enqueueWork(requireContext())
|
updateNotificationPrefs()
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun updateNotificationPrefs() {
|
||||||
|
// replace the previous queued work request
|
||||||
|
NotificationHelper.enqueueWork(
|
||||||
|
requireContext(),
|
||||||
|
ExistingPeriodicWorkPolicy.REPLACE
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,8 @@ import java.util.concurrent.TimeUnit
|
|||||||
|
|
||||||
object NotificationHelper {
|
object NotificationHelper {
|
||||||
fun enqueueWork(
|
fun enqueueWork(
|
||||||
context: Context
|
context: Context,
|
||||||
|
existingPeriodicWorkPolicy: ExistingPeriodicWorkPolicy
|
||||||
) {
|
) {
|
||||||
// get the notification preferences
|
// get the notification preferences
|
||||||
PreferenceHelper.setContext(context)
|
PreferenceHelper.setContext(context)
|
||||||
@ -57,7 +58,7 @@ object NotificationHelper {
|
|||||||
WorkManager.getInstance(context)
|
WorkManager.getInstance(context)
|
||||||
.enqueueUniquePeriodicWork(
|
.enqueueUniquePeriodicWork(
|
||||||
uniqueWorkName,
|
uniqueWorkName,
|
||||||
ExistingPeriodicWorkPolicy.REPLACE,
|
existingPeriodicWorkPolicy,
|
||||||
notificationWorker
|
notificationWorker
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user