package Ġcom . ku _ stacks . ku _ ring . di Ċ Ċ import Ġcom . ku _ stacks . ku _ ring . data . api . Notice Client Ċ import Ġcom . ku _ stacks . ku _ ring . data . api . Send bird Client Ċ import Ġcom . ku _ stacks . ku _ ring . data . db . Black User Dao Ċ import Ġcom . ku _ stacks . ku _ ring . data . db . Notice Dao Ċ import Ġcom . ku _ stacks . ku _ ring . data . db . Push Dao Ċ import Ġcom . ku _ stacks . ku _ ring . repository .* Ċ import Ġcom . ku _ stacks . ku _ ring . util . Preference Util Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġdagger . h ilt . Install In Ċ import Ġdagger . h ilt . components . Singleton Component Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Module Ċ @ Install In ( Singleton Component :: class ) Ċ object ĠRepository Module Ġ{ ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Notice Repository ( ĊĠĠĠĠĠĠĠ Ġnotice Client : ĠNotice Client , ĊĠĠĠĠĠĠĠ Ġnotice Dao : ĠNotice Dao , ĊĠĠĠĠĠĠĠ Ġpref : ĠPreference Util ĊĠĠĠ Ġ): ĠNotice Repository Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠNotice Repository Impl ( notice Client , Ġnotice Dao , Ġpref ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Push Repository ( ĊĠĠĠĠĠĠĠ Ġpush Dao : ĠPush Dao ĊĠĠĠ Ġ): ĠPush Repository Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPush Repository Impl ( push Dao ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Subscribe Repository ( ĊĠĠĠĠĠĠĠ Ġnotice Client : ĠNotice Client , ĊĠĠĠĠĠĠĠ Ġpref : ĠPreference Util ĊĠĠĠ Ġ): ĠSubscribe Repository Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSubscribe Repository Impl ( notice Client , Ġpref ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Send bird Repository ( ĊĠĠĠĠĠĠĠ Ġsend bird Client : ĠSend bird Client ĊĠĠĠ Ġ): ĠSend bird Repository Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSend bird Repository Impl ( send bird Client ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide UserRepository ( ĊĠĠĠĠĠĠĠ Ġblack User Dao : ĠBlack User Dao ĊĠĠĠ Ġ): ĠUser Repository Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠUser Repository Impl ( black User Dao ) ĊĠĠĠ Ġ} Ċ }