mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 06:17:57 +01:00 
			
		
		
		
	More coroutine network call fixes
This commit is contained in:
		| @@ -6,6 +6,8 @@ import eu.kanade.tachiyomi.data.updater.UpdateResult | ||||
| import eu.kanade.tachiyomi.network.GET | ||||
| import eu.kanade.tachiyomi.network.NetworkHelper | ||||
| import eu.kanade.tachiyomi.network.await | ||||
| import kotlinx.coroutines.Dispatchers | ||||
| import kotlinx.coroutines.withContext | ||||
| import okhttp3.OkHttpClient | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| @@ -23,7 +25,9 @@ class DevRepoUpdateChecker : UpdateChecker() { | ||||
|     } | ||||
|  | ||||
|     override suspend fun checkForUpdate(): UpdateResult { | ||||
|         val response = client.newCall(GET(DevRepoRelease.LATEST_URL)).await(assertSuccess = false) | ||||
|         val response = withContext(Dispatchers.IO) { | ||||
|             client.newCall(GET(DevRepoRelease.LATEST_URL)).await(assertSuccess = false) | ||||
|         } | ||||
|  | ||||
|         // Get latest repo version number from header in format "Location: tachiyomi-r1512.apk" | ||||
|         val latestVersionNumber: String = versionRegex.find(response.header("Location")!!)!!.groupValues[1] | ||||
|   | ||||
| @@ -12,9 +12,7 @@ import eu.kanade.tachiyomi.extension.util.ExtensionInstallReceiver | ||||
| import eu.kanade.tachiyomi.extension.util.ExtensionInstaller | ||||
| import eu.kanade.tachiyomi.extension.util.ExtensionLoader | ||||
| import eu.kanade.tachiyomi.source.SourceManager | ||||
| import eu.kanade.tachiyomi.util.lang.launchIO | ||||
| import eu.kanade.tachiyomi.util.lang.launchNow | ||||
| import eu.kanade.tachiyomi.util.lang.launchUI | ||||
| import kotlinx.coroutines.async | ||||
| import rx.Observable | ||||
| import uy.kohesive.injekt.Injekt | ||||
| @@ -146,16 +144,14 @@ class ExtensionManager( | ||||
|      * Finds the available extensions in the [api] and updates [availableExtensions]. | ||||
|      */ | ||||
|     fun findAvailableExtensions() { | ||||
|         launchIO { | ||||
|         launchNow { | ||||
|             val extensions: List<Extension.Available> = try { | ||||
|                 api.findExtensions() | ||||
|             } catch (e: Exception) { | ||||
|                 emptyList() | ||||
|             } | ||||
|  | ||||
|             launchUI { | ||||
|                 availableExtensions = extensions | ||||
|             } | ||||
|             availableExtensions = extensions | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -16,8 +16,7 @@ import eu.kanade.tachiyomi.data.updater.UpdaterJob | ||||
| import eu.kanade.tachiyomi.data.updater.UpdaterService | ||||
| import eu.kanade.tachiyomi.ui.base.controller.DialogController | ||||
| import eu.kanade.tachiyomi.ui.main.ChangelogDialogController | ||||
| import eu.kanade.tachiyomi.util.lang.launchIO | ||||
| import eu.kanade.tachiyomi.util.lang.launchUI | ||||
| import eu.kanade.tachiyomi.util.lang.launchNow | ||||
| import eu.kanade.tachiyomi.util.lang.toTimestampString | ||||
| import eu.kanade.tachiyomi.util.preference.* | ||||
| import eu.kanade.tachiyomi.util.system.toast | ||||
| @@ -119,28 +118,23 @@ class SettingsAboutController : SettingsController() { | ||||
|  | ||||
|         activity?.toast(R.string.update_check_look_for_updates) | ||||
|  | ||||
|         launchIO { | ||||
|         launchNow { | ||||
|             try { | ||||
|                 val result = updateChecker.checkForUpdate() | ||||
|                 launchUI { | ||||
|                     when (result) { | ||||
|                         is UpdateResult.NewUpdate<*> -> { | ||||
|                             val body = result.release.info | ||||
|                             val url = result.release.downloadLink | ||||
|                 when (val result = updateChecker.checkForUpdate()) { | ||||
|                     is UpdateResult.NewUpdate<*> -> { | ||||
|                         val body = result.release.info | ||||
|                         val url = result.release.downloadLink | ||||
|  | ||||
|                             // Create confirmation window | ||||
|                             NewUpdateDialogController(body, url).showDialog(router) | ||||
|                         } | ||||
|                         is UpdateResult.NoNewUpdate -> { | ||||
|                             activity?.toast(R.string.update_check_no_new_updates) | ||||
|                         } | ||||
|                         // Create confirmation window | ||||
|                         NewUpdateDialogController(body, url).showDialog(router) | ||||
|                     } | ||||
|                     is UpdateResult.NoNewUpdate -> { | ||||
|                         activity?.toast(R.string.update_check_no_new_updates) | ||||
|                     } | ||||
|                 } | ||||
|             } catch (error: Exception) { | ||||
|                 launchUI { | ||||
|                     activity?.toast(error.message) | ||||
|                     Timber.e(error) | ||||
|                 } | ||||
|                 activity?.toast(error.message) | ||||
|                 Timber.e(error) | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user