Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

216
Visualizações
Provide current activity in constructor Dagger

I am new to Dagger and it is awesome but I'm having an issue.

Dialog class needs current activity as context for initialization.

class ProgressUtil @Inject constructor(val context: Activity) {

    var dialog: Dialog? = null

    fun show() {
        hide()

        dialog = Dialog(context)
        dialog?.let {
            it.window!!.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
            it.setContentView(R.layout.progress_dialog)
            it.setCancelable(false)
            it.show()
        }
    }

    fun hide() {
        dialog?.let {
            if (it.isShowing) {
                it.dismiss()
            }
        }
    }
}

And here is my ActivityModules class

@Module
abstract class ActivityModules {

    @ContributesAndroidInjector
    abstract fun contributeMainActivity() : MainActivity

    @ContributesAndroidInjector
    abstract fun contributePostsActivity() : PostsActivity

    // Want to pass current activity as activity param
    @Provides
    fun progressUtilMainActivity(activity: Activity): ProgressUtil = ProgressUtil(activity)

}

AppComponent class

@Singleton
@Component(
    modules = [
        AndroidSupportInjectionModule::class,
        ActivityModules::class
    ]
)
interface AppComponent {

    @Component.Builder
    interface Builder {

        @BindsInstance
        fun application(application: AppController) : Builder

        fun build() : AppComponent

    }

    fun inject(application: AppController)
}

Is there a generic way to use progress bar in many activities without creating a module for each activity?

over 4 years ago · Santiago Trujillo
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda