aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/kotlin/ca/allanwang/kau/utils/ContextUtils.kt
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2019-01-04 23:03:50 -0500
committerGitHub <noreply@github.com>2019-01-04 23:03:50 -0500
commitd61ff7cb4f43d71d2170cdd25ceab2e3edcb81fc (patch)
treeb1fcd17ad4782ef1cb5cd3aba8539669fc2aac3c /core/src/main/kotlin/ca/allanwang/kau/utils/ContextUtils.kt
parentab349293e52d77f6fc4b44446e19dc80aa8e789f (diff)
downloadkau-d61ff7cb4f43d71d2170cdd25ceab2e3edcb81fc.tar.gz
kau-d61ff7cb4f43d71d2170cdd25ceab2e3edcb81fc.tar.bz2
kau-d61ff7cb4f43d71d2170cdd25ceab2e3edcb81fc.zip
Coroutine tests (#185)
* Add some coroutine tests for implicit cancellation * Create util test and new helper methods * Remove coroutinescope extension from withcontext * Update dependencies
Diffstat (limited to 'core/src/main/kotlin/ca/allanwang/kau/utils/ContextUtils.kt')
-rw-r--r--core/src/main/kotlin/ca/allanwang/kau/utils/ContextUtils.kt27
1 files changed, 0 insertions, 27 deletions
diff --git a/core/src/main/kotlin/ca/allanwang/kau/utils/ContextUtils.kt b/core/src/main/kotlin/ca/allanwang/kau/utils/ContextUtils.kt
index 09ad4ea..fc8049d 100644
--- a/core/src/main/kotlin/ca/allanwang/kau/utils/ContextUtils.kt
+++ b/core/src/main/kotlin/ca/allanwang/kau/utils/ContextUtils.kt
@@ -26,7 +26,6 @@ import android.content.pm.PackageManager
import android.graphics.drawable.Drawable
import android.net.Uri
import android.os.Bundle
-import android.os.Handler
import android.os.Looper
import android.util.TypedValue
import android.view.View
@@ -47,36 +46,10 @@ import androidx.core.content.ContextCompat
import ca.allanwang.kau.R
import ca.allanwang.kau.logging.KL
import com.afollestad.materialdialogs.MaterialDialog
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.android.asCoroutineDispatcher
-import kotlin.coroutines.CoroutineContext
/**
* Created by Allan Wang on 2017-06-03.
*/
-object ContextHelper : CoroutineScope {
-
- val looper = Looper.getMainLooper()
-
- val handler = Handler(looper)
-
- /**
- * Creating dispatcher from main handler to avoid IO
- * See https://github.com/Kotlin/kotlinx.coroutines/issues/878
- */
- val dispatcher = handler.asCoroutineDispatcher("kau-main")
-
- override val coroutineContext: CoroutineContext get() = dispatcher
-}
-
-/**
- * Most context items implement [CoroutineScope] by default.
- * We will add a fallback just in case.
- * It is expected that the scope returned always has the Android main dispatcher as part of the context.
- */
-internal inline val Context.ctxCoroutine: CoroutineScope
- get() = this as? CoroutineScope ?: ContextHelper
-
fun Context.runOnUiThread(f: Context.() -> Unit) {
if (ContextHelper.looper === Looper.myLooper()) f() else ContextHelper.handler.post { f() }
}