diff options
author | Allan Wang <me@allanwang.ca> | 2019-01-04 23:03:50 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-04 23:03:50 -0500 |
commit | d61ff7cb4f43d71d2170cdd25ceab2e3edcb81fc (patch) | |
tree | b1fcd17ad4782ef1cb5cd3aba8539669fc2aac3c /core/src/main/kotlin/ca/allanwang/kau/utils/ContextUtils.kt | |
parent | ab349293e52d77f6fc4b44446e19dc80aa8e789f (diff) | |
download | kau-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.kt | 27 |
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() } } |