mirror of
https://gitee.com/zhangsken/AndroidIDE.git
synced 2026-10-16 07:49:44 +08:00
fix: remove usage of unnecessary 'runBlocking' calls
This commit is contained in:
@@ -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()
|
||||
|
||||
-1
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user