diff --git a/ktx/src/main/java/luyao/util/ktx/base/BaseActivity.kt b/ktx/src/main/java/luyao/util/ktx/base/BaseActivity.kt index a153844..3b68aa7 100644 --- a/ktx/src/main/java/luyao/util/ktx/base/BaseActivity.kt +++ b/ktx/src/main/java/luyao/util/ktx/base/BaseActivity.kt @@ -3,12 +3,15 @@ package luyao.util.ktx.base import android.content.Intent import android.os.Bundle import androidx.appcompat.app.AppCompatActivity +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.MainScope +import kotlinx.coroutines.cancel /** * Created by luyao * on 2019/5/31 15:44 */ -abstract class BaseActivity : AppCompatActivity() { +abstract class BaseActivity : AppCompatActivity(), CoroutineScope by MainScope() { override fun onCreate(savedInstanceState: Bundle?) { @@ -31,4 +34,9 @@ abstract class BaseActivity : AppCompatActivity() { val intent = Intent(this, z).putExtra(name, value) startActivity(intent) } + + override fun onDestroy() { + super.onDestroy() + cancel() + } } \ No newline at end of file diff --git a/ktx/src/main/java/luyao/util/ktx/base/BaseFragment.kt b/ktx/src/main/java/luyao/util/ktx/base/BaseFragment.kt index be2bbf9..31c36fc 100644 --- a/ktx/src/main/java/luyao/util/ktx/base/BaseFragment.kt +++ b/ktx/src/main/java/luyao/util/ktx/base/BaseFragment.kt @@ -4,12 +4,15 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.MainScope +import kotlinx.coroutines.cancel /** * Created by luyao * on 2019/6/10 10:47 */ -abstract class BaseFragment : androidx.fragment.app.Fragment() { +abstract class BaseFragment : androidx.fragment.app.Fragment(), CoroutineScope by MainScope() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { return inflater.inflate(getLayoutResId(), container, false) @@ -26,4 +29,9 @@ abstract class BaseFragment : androidx.fragment.app.Fragment() { abstract fun initView() abstract fun initData() + + override fun onDestroy() { + super.onDestroy() + cancel() + } } \ No newline at end of file diff --git a/ktx/src/main/java/luyao/util/ktx/base/BaseViewModel.kt b/ktx/src/main/java/luyao/util/ktx/base/BaseViewModel.kt index a0207a8..d957711 100644 --- a/ktx/src/main/java/luyao/util/ktx/base/BaseViewModel.kt +++ b/ktx/src/main/java/luyao/util/ktx/base/BaseViewModel.kt @@ -21,7 +21,7 @@ open class BaseViewModel : ViewModel(), LifecycleObserver { } - suspend fun launchIO(block: suspend CoroutineScope.() -> T) { + suspend fun launchOnIO(block: suspend CoroutineScope.() -> T) { withContext(Dispatchers.IO) { block }