Merge remote-tracking branch 'origin/master'

# Conflicts:
#	app/src/main/java/io/legado/app/base/BaseViewModel.kt
pull/32/head
Invinciblelee 6 years ago
commit 22bf800de8
  1. 14
      app/src/main/java/io/legado/app/base/BaseActivity.kt
  2. 10
      app/src/main/java/io/legado/app/base/BaseFragment.kt

@ -16,14 +16,11 @@ import io.legado.app.utils.getCompatColor
import io.legado.app.utils.getPrefBoolean
import io.legado.app.utils.setIconColor
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlin.coroutines.CoroutineContext
import kotlinx.coroutines.MainScope
import kotlinx.coroutines.cancel
abstract class BaseActivity<VM : ViewModel> : AppCompatActivity(), CoroutineScope {
override val coroutineContext: CoroutineContext
get() = Dispatchers.IO
abstract class BaseActivity<VM : ViewModel> : AppCompatActivity(), CoroutineScope by MainScope() {
protected abstract val viewModel: VM
@ -39,6 +36,11 @@ abstract class BaseActivity<VM : ViewModel> : AppCompatActivity(), CoroutineScop
observeLiveBus()
}
override fun onDestroy() {
super.onDestroy()
cancel()
}
abstract fun onViewModelCreated(viewModel: VM, savedInstanceState: Bundle?)
final override fun onCreateOptionsMenu(menu: Menu?): Boolean {

@ -7,8 +7,12 @@ import androidx.appcompat.view.SupportMenuInflater
import androidx.appcompat.widget.Toolbar
import androidx.fragment.app.Fragment
import io.legado.app.utils.setIconColor
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.MainScope
import kotlinx.coroutines.cancel
abstract class BaseFragment(contentLayoutId: Int = 0) : Fragment(contentLayoutId) {
abstract class BaseFragment(contentLayoutId: Int = 0) : Fragment(contentLayoutId),
CoroutineScope by MainScope() {
var supportToolbar: Toolbar? = null
private set
@ -16,6 +20,10 @@ abstract class BaseFragment(contentLayoutId: Int = 0) : Fragment(contentLayoutId
val menuInflater: MenuInflater
get() = SupportMenuInflater(requireContext())
override fun onDestroy() {
super.onDestroy()
cancel()
}
fun setSupportToolbar(toolbar: Toolbar) {
supportToolbar = toolbar

Loading…
Cancel
Save