Fixed extension job queueing library to run ext updates when not needed

Best way i can phrase it, but theres a chance the previous logic would run the extension job at weird times
This commit is contained in:
Jays2Kings 2021-08-30 17:05:29 -04:00
parent 6990bcaa26
commit 2c7e9ef7f3

View file

@ -56,10 +56,14 @@ class ExtensionUpdateJob(private val context: Context, workerParams: WorkerParam
val extensions = extensionsList.toMutableList()
val preferences: PreferencesHelper by injectLazy()
preferences.extensionUpdatesCount().set(extensions.size)
val extensionsInstalledByApp by lazy {
extensions.filter { Injekt.get<ExtensionManager>().isInstalledByApp(it) }
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S &&
inputData.getBoolean(RUN_AUTO, true) &&
preferences.autoUpdateExtensions() != AutoUpdaterJob.NEVER &&
!ExtensionInstallService.isRunning()
!ExtensionInstallService.isRunning() &&
extensionsInstalledByApp.isNotEmpty()
) {
val cm = context.connectivityManager
val libraryServiceRunning = LibraryUpdateService.isRunning()
@ -69,10 +73,6 @@ class ExtensionUpdateJob(private val context: Context, workerParams: WorkerParam
!cm.isActiveNetworkMetered
) && !libraryServiceRunning
) {
val extensionManager = Injekt.get<ExtensionManager>()
val extensionsInstalledByApp =
extensions.filter { extensionManager.isInstalledByApp(it) }
if (extensionsInstalledByApp.isNotEmpty()) {
val intent =
ExtensionInstallService.jobIntent(
context,
@ -90,7 +90,6 @@ class ExtensionUpdateJob(private val context: Context, workerParams: WorkerParam
} else {
extensions.removeAll(extensionsInstalledByApp)
}
}
} else if (!libraryServiceRunning) {
runJobAgain(context, NetworkType.UNMETERED)
} else {