diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/MainActivity.kt index 008703c6..f39e31a3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/activities/MainActivity.kt @@ -220,14 +220,14 @@ class MainActivity : SimpleActivity() { } private fun checkOTGPath() { - Thread { + ensureBackgroundThread { if (!config.wasOTGHandled && hasPermission(PERMISSION_WRITE_STORAGE) && hasOTGConnected() && config.OTGPath.isEmpty()) { getStorageDirectories().firstOrNull { it.trimEnd('/') != internalStoragePath && it.trimEnd('/') != sdCardPath }?.apply { config.wasOTGHandled = true config.OTGPath = trimEnd('/') } } - }.start() + } } private fun openPath(path: String, forceRefresh: Boolean = false) { @@ -336,24 +336,24 @@ class MainActivity : SimpleActivity() { } private fun checkIfRootAvailable() { - Thread { + ensureBackgroundThread { config.isRootAvailable = RootTools.isRootAvailable() if (config.isRootAvailable && config.enableRootAccess) { RootHelpers(this).askRootIfNeeded { config.enableRootAccess = it } } - }.start() + } } private fun checkInvalidFavorites() { - Thread { + ensureBackgroundThread { config.favorites.forEach { if (!isPathOnOTG(it) && !isPathOnSD(it) && !File(it).exists()) { config.removeFavorite(it) } } - }.start() + } } fun pickedPath(path: String) { diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/adapters/ItemsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/adapters/ItemsAdapter.kt index 93502aa6..1c1096c1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/adapters/ItemsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/adapters/ItemsAdapter.kt @@ -25,6 +25,7 @@ import com.simplemobiletools.commons.dialogs.* import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.CONFLICT_OVERWRITE import com.simplemobiletools.commons.helpers.CONFLICT_SKIP +import com.simplemobiletools.commons.helpers.ensureBackgroundThread import com.simplemobiletools.commons.helpers.isOreoPlus import com.simplemobiletools.commons.models.FileDirItem import com.simplemobiletools.commons.models.RadioItem @@ -229,7 +230,7 @@ class ItemsAdapter(activity: SimpleActivity, var listItems: MutableList, destinationPath: String, isCopyOperation: Boolean) { activity.toast(R.string.copying) - Thread { + ensureBackgroundThread { val fileCnt = files.size RootHelpers(activity).copyMoveFiles(files, destinationPath, isCopyOperation) { when (it) { @@ -384,7 +385,7 @@ class ItemsAdapter(activity: SimpleActivity, var listItems: MutableList) -> Unit) { skipItemUpdating = false - Thread { + ensureBackgroundThread { if (activity?.isDestroyed == false && activity?.isFinishing == false) { val config = context!!.config if (context!!.isPathOnOTG(path) && config.OTGTreeUri.isNotEmpty()) { @@ -187,7 +188,7 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb RootHelpers(activity!!).getFiles(path, callback) } } - }.start() + } } private fun getRegularItemsOf(path: String, callback: (originalPath: String, items: ArrayList) -> Unit) { @@ -268,9 +269,9 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb fun searchQueryChanged(text: String) { val searchText = text.trim() lastSearchedText = searchText - Thread { + ensureBackgroundThread { if (context == null) { - return@Thread + return@ensureBackgroundThread } when { @@ -292,7 +293,7 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb else -> { val files = searchFiles(searchText, currentPath) if (lastSearchedText != searchText) { - return@Thread + return@ensureBackgroundThread } val listItems = ArrayList() @@ -317,7 +318,7 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb } } } - }.start() + } } private fun searchFiles(text: String, path: String): ArrayList {