package Ġcom . power in code . core . di . activity Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . power in code . core . di . scopes . Activity Scope Ċ import Ġcom . power in code . core . ui . dialog . progress . Progress Dialog Impl Ċ import Ġcom . power in code . core . ui . dialog . progress . Progress Loading View Ċ import Ġcom . power in code . core . ui . dialog . toast . Toast View Ċ import Ġcom . power in code . core . ui . dialog . toast . Toast View Impl Ċ import Ġdagger . Bind s Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġjavax . inject . Provider Ċ Ċ @ Module Ċ abstract Ġclass ĠBase Activity Module Ġ{ ĊĊĠĠĠ Ġ@ Bind s ĊĠĠĠ Ġ@ Activity Scope ĊĠĠĠ Ġabstract Ġfun Ġprovide Progress Dialog ( dialog : ĠProgress Dialog Impl ): ĠProgress Loading View ĊĊĠĠĠ Ġ@ Bind s ĊĠĠĠ Ġ@ Activity Scope ĊĠĠĠ Ġabstract Ġfun Ġprovide Toast View ( view : ĠToast View Impl ): ĠToast View ĊĊĠĠĠ Ġ@ Module ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġ@ Provides ĊĠĠĠĠĠĠĠ Ġ@ Activity Scope ĊĠĠĠĠĠĠĠ Ġfun Ġprovide ViewModel Factory ( view Models : ĠMap < Class < out ĠViewModel >, Ġ@ Jvm Suppress W ild cards ĠProvider < ViewModel >>) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠViewModel Provider . Factory Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠviewModel Provider Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Models [ model Class ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠIllegalArgumentException (" ViewModel Ġclass Ġ$ model Class Ġnot Ġfound ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠviewModel Provider . get () Ġas ĠT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }