fix: remove usage of unnecessary 'runBlocking' calls

This commit is contained in:
Akash Yadav
2023-12-17 16:46:21 +05:30
parent 46fcd0a73d
commit 06e6c5659b
4 changed files with 10 additions and 22 deletions
@@ -23,8 +23,6 @@ import com.itsaky.androidide.actions.ActionData
import com.itsaky.androidide.actions.BaseBuildAction
import com.itsaky.androidide.resources.R
import com.itsaky.androidide.resources.R.string
import com.itsaky.androidide.utils.flashSuccess
import kotlinx.coroutines.runBlocking
/**
* Triggers a project sync request.
@@ -42,9 +40,7 @@ class ProjectSyncAction(context: Context, override val order: Int) : BaseBuildAc
}
override suspend fun execAction(data: ActionData): Any {
return data.requireActivity().apply {
runBlocking { saveAll() }
}
return data.requireActivity().saveAll()
}
override fun postExec(data: ActionData, result: Any) {
@@ -31,7 +31,6 @@ import com.itsaky.androidide.activities.editor.EditorHandlerActivity
import com.itsaky.androidide.editor.ui.IDEEditor
import com.itsaky.androidide.resources.R
import com.itsaky.androidide.uidesigner.UIDesignerActivity
import kotlinx.coroutines.runBlocking
import java.io.File
/** @author Akash Yadav */
@@ -90,10 +89,9 @@ class PreviewLayoutAction(context: Context, override val order: Int) : EditorRel
}
}
// TODO: Migrate to coroutines
override suspend fun execAction(data: ActionData): Boolean {
val activity = data.requireActivity()
runBlocking { activity.saveAll() }
activity.saveAll()
return true
}
@@ -109,7 +107,7 @@ class PreviewLayoutAction(context: Context, override val order: Int) : EditorRel
}
private fun ActionData.requireEditor(): IDEEditor {
return this.getEditor()
?: throw IllegalArgumentException("An editor instance is required but none was provided")
return this.getEditor() ?: throw IllegalArgumentException(
"An editor instance is required but none was provided")
}
}
@@ -26,10 +26,7 @@ import com.itsaky.androidide.projects.ProjectManagerImpl
import com.itsaky.androidide.resources.R
import com.itsaky.androidide.utils.ILogger
import com.itsaky.androidide.utils.flashError
import com.itsaky.androidide.utils.flashInfo
import com.itsaky.androidide.utils.flashSuccess
import kotlinx.coroutines.delay
import kotlinx.coroutines.runBlocking
/** @author Akash Yadav */
class SaveFileAction(context: Context, override val order: Int) : EditorRelatedAction() {
@@ -47,13 +44,11 @@ class SaveFileAction(context: Context, override val order: Int) : EditorRelatedA
override fun prepare(data: ActionData) {
super.prepare(data)
val context =
data.getActivity()
?: run {
visible = false
enabled = false
return
}
val context = data.getActivity() ?: run {
visible = false
enabled = false
return
}
visible = context.editorViewModel.getOpenedFiles().isNotEmpty()
enabled = context.areFilesModified() && !context.areFilesSaving()
@@ -69,7 +64,7 @@ class SaveFileAction(context: Context, override val order: Int) : EditorRelatedA
return try {
// Cannot use context.saveAll() because this.execAction is called on non-UI thread
// and saveAll call will result in UI actions
ResultWrapper(result = runBlocking { context.saveAllResult() })
ResultWrapper(result = context.saveAllResult())
} catch (error: Throwable) {
log.error("Failed to save file", error)
ResultWrapper()
@@ -51,7 +51,6 @@ import kotlinx.coroutines.awaitAll
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.toList
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe