Twidere-App-Android-Twitter.../twidere/src/main/kotlin/org/mariotaku/twidere/task/BaseAbstractTask.kt

47 lines
1.3 KiB
Kotlin

package org.mariotaku.twidere.task
import android.content.Context
import com.squareup.otto.Bus
import org.mariotaku.abstask.library.AbstractTask
import org.mariotaku.kpreferences.KPreferences
import org.mariotaku.twidere.util.*
import org.mariotaku.twidere.util.dagger.GeneralComponentHelper
import javax.inject.Inject
/**
* Created by mariotaku on 2017/2/7.
*/
abstract class BaseAbstractTask<Params, Result, Callback>(val context: Context) : AbstractTask<Params, Result, Callback>() {
protected var initialized: Boolean = false
private set
@Inject
lateinit var bus: Bus
@Inject
lateinit var microBlogWrapper: AsyncTwitterWrapper
@Inject
lateinit var mediaPreloader: MediaPreloader
@Inject
lateinit var preferences: SharedPreferencesWrapper
@Inject
lateinit var kPreferences: KPreferences
@Inject
lateinit var manager: UserColorNameManager
@Inject
lateinit var errorInfoStore: ErrorInfoStore
@Inject
lateinit var readStateManager: ReadStateManager
@Inject
lateinit var userColorNameManager: UserColorNameManager
init {
@Suppress("UNCHECKED_CAST", "LeakingThis")
GeneralComponentHelper.build(context).inject(this as BaseAbstractTask<Any, Any, Any>)
initialized = true
}
}