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(val context: Context) : AbstractTask() { 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) initialized = true } }