mirror of
https://github.com/immich-app/immich.git
synced 2026-06-22 14:52:17 -07:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 39fe991451 |
@@ -23,6 +23,6 @@ class ImmichApp : Application() {
|
|||||||
// as the previous start might have been killed without unlocking.
|
// as the previous start might have been killed without unlocking.
|
||||||
if (BackgroundEngineLock.connectEngines > 0) return@postDelayed
|
if (BackgroundEngineLock.connectEngines > 0) return@postDelayed
|
||||||
BackgroundWorkerApiImpl.enqueueBackgroundWorker(this)
|
BackgroundWorkerApiImpl.enqueueBackgroundWorker(this)
|
||||||
}, 5000)
|
}, 15000)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+20
-4
@@ -15,6 +15,7 @@ import androidx.work.ListenableWorker
|
|||||||
import androidx.work.WorkerParameters
|
import androidx.work.WorkerParameters
|
||||||
import app.alextran.immich.MainActivity
|
import app.alextran.immich.MainActivity
|
||||||
import app.alextran.immich.R
|
import app.alextran.immich.R
|
||||||
|
import com.google.common.util.concurrent.Futures
|
||||||
import com.google.common.util.concurrent.ListenableFuture
|
import com.google.common.util.concurrent.ListenableFuture
|
||||||
import com.google.common.util.concurrent.SettableFuture
|
import com.google.common.util.concurrent.SettableFuture
|
||||||
import io.flutter.FlutterInjector
|
import io.flutter.FlutterInjector
|
||||||
@@ -61,6 +62,11 @@ class BackgroundWorker(context: Context, params: WorkerParameters) :
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun startWork(): ListenableFuture<Result> {
|
override fun startWork(): ListenableFuture<Result> {
|
||||||
|
if (BackgroundWorkerPreferences(ctx).isLocked() && BackgroundEngineLock.connectEngines > 0) {
|
||||||
|
Log.i(TAG, "Foreground engine active, skipping background worker")
|
||||||
|
return Futures.immediateFuture(Result.success())
|
||||||
|
}
|
||||||
|
|
||||||
Log.i(TAG, "Starting background upload worker")
|
Log.i(TAG, "Starting background upload worker")
|
||||||
|
|
||||||
if (!loader.initialized()) {
|
if (!loader.initialized()) {
|
||||||
@@ -77,6 +83,10 @@ class BackgroundWorker(context: Context, params: WorkerParameters) :
|
|||||||
showNotification(notificationConfig.first, notificationConfig.second)
|
showNotification(notificationConfig.first, notificationConfig.second)
|
||||||
|
|
||||||
loader.ensureInitializationCompleteAsync(ctx, null, Handler(Looper.getMainLooper())) {
|
loader.ensureInitializationCompleteAsync(ctx, null, Handler(Looper.getMainLooper())) {
|
||||||
|
if (isStopped || isComplete) {
|
||||||
|
return@ensureInitializationCompleteAsync
|
||||||
|
}
|
||||||
|
|
||||||
engine = FlutterEngine(ctx)
|
engine = FlutterEngine(ctx)
|
||||||
FlutterEngineCache.getInstance().put(BackgroundWorkerApiImpl.ENGINE_CACHE_KEY, engine!!)
|
FlutterEngineCache.getInstance().put(BackgroundWorkerApiImpl.ENGINE_CACHE_KEY, engine!!)
|
||||||
|
|
||||||
@@ -143,11 +153,17 @@ class BackgroundWorker(context: Context, params: WorkerParameters) :
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val api = flutterApi
|
||||||
|
if (api == null) {
|
||||||
|
Handler(Looper.getMainLooper()).postAtFrontOfQueue {
|
||||||
|
complete(Result.failure())
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
Handler(Looper.getMainLooper()).postAtFrontOfQueue {
|
Handler(Looper.getMainLooper()).postAtFrontOfQueue {
|
||||||
if (flutterApi != null) {
|
api.cancel {
|
||||||
flutterApi?.cancel {
|
complete(Result.failure())
|
||||||
complete(Result.failure())
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user