diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4fc2aec2..a4c756d4 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -33,6 +33,16 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/bnyro/wallpaper/receivers/BootReceiver.kt b/app/src/main/java/com/bnyro/wallpaper/receivers/BootReceiver.kt
new file mode 100644
index 00000000..9ae517fa
--- /dev/null
+++ b/app/src/main/java/com/bnyro/wallpaper/receivers/BootReceiver.kt
@@ -0,0 +1,12 @@
+package com.bnyro.wallpaper.receivers
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import com.bnyro.wallpaper.util.WorkerHelper
+
+class BootReceiver: BroadcastReceiver() {
+ override fun onReceive(context: Context, intent: Intent) {
+ WorkerHelper.enqueue(context, true)
+ }
+}
diff --git a/app/src/main/java/com/bnyro/wallpaper/util/WorkerHelper.kt b/app/src/main/java/com/bnyro/wallpaper/util/WorkerHelper.kt
index 3f1a4666..a8ca0288 100644
--- a/app/src/main/java/com/bnyro/wallpaper/util/WorkerHelper.kt
+++ b/app/src/main/java/com/bnyro/wallpaper/util/WorkerHelper.kt
@@ -12,13 +12,15 @@ import java.util.concurrent.TimeUnit
object WorkerHelper {
private const val JOB_NAME = "WallpaperChanger"
- fun enqueue(context: Context, verbose: Boolean = false) {
+ fun enqueue(context: Context, forceUpdate: Boolean = false) {
if (!Preferences.getBoolean(Preferences.wallpaperChangerKey, false)) {
cancel(context)
return
}
- val networkType = if (Preferences.getChangerSource() == WallpaperSource.LOCAL) NetworkType.NOT_REQUIRED else NetworkType.CONNECTED
+ val networkType = if (
+ Preferences.getChangerSource() == WallpaperSource.LOCAL
+ ) NetworkType.NOT_REQUIRED else NetworkType.CONNECTED
val job = PeriodicWorkRequestBuilder(
Preferences.getString(
@@ -32,7 +34,7 @@ object WorkerHelper {
.build()
).build()
- val policy = if (verbose) ExistingPeriodicWorkPolicy.REPLACE else ExistingPeriodicWorkPolicy.KEEP
+ val policy = if (forceUpdate) ExistingPeriodicWorkPolicy.UPDATE else ExistingPeriodicWorkPolicy.KEEP
WorkManager.getInstance(context)
.enqueueUniquePeriodicWork(JOB_NAME, policy, job)
}