Code saving and stuff (#9)

lil update
This commit is contained in:
2022-03-25 14:20:12 -07:00
committed by GitHub
parent 35cd23318f
commit 8d0cd19322
130 changed files with 4189 additions and 3055 deletions
@@ -0,0 +1,25 @@
package com.meloda.fast.di
import com.github.terrakok.cicerone.Cicerone
import com.github.terrakok.cicerone.Router
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton
@InstallIn(SingletonComponent::class)
@Module
object NavigationModule {
@Provides
@Singleton
fun getCicerone(): Cicerone<Router> = Cicerone.create()
@Provides
@Singleton
fun getRouter(cicerone: Cicerone<Router>) = cicerone.router
@Provides
@Singleton
fun getNavigationHolder(cicerone: Cicerone<Router>) = cicerone.getNavigatorHolder()
}
@@ -2,16 +2,19 @@ package com.meloda.fast.di
import com.google.gson.Gson
import com.google.gson.GsonBuilder
import com.meloda.fast.api.LongPollUpdatesParser
import com.meloda.fast.api.network.AuthInterceptor
import com.meloda.fast.api.network.ResultCallFactory
import com.meloda.fast.api.network.auth.AuthRepo
import com.meloda.fast.api.network.account.AccountDataSource
import com.meloda.fast.api.network.account.AccountRepo
import com.meloda.fast.api.network.auth.AuthDataSource
import com.meloda.fast.api.network.auth.AuthRepo
import com.meloda.fast.api.network.conversations.ConversationsDataSource
import com.meloda.fast.api.network.conversations.ConversationsRepo
import com.meloda.fast.api.network.longpoll.LongPollRepo
import com.meloda.fast.api.network.messages.MessagesDataSource
import com.meloda.fast.api.network.users.UsersDataSource
import com.meloda.fast.api.network.messages.MessagesRepo
import com.meloda.fast.api.network.users.UsersDataSource
import com.meloda.fast.api.network.users.UsersRepo
import com.meloda.fast.database.dao.ConversationsDao
import com.meloda.fast.database.dao.MessagesDao
@@ -67,22 +70,27 @@ object NetworkModule {
fun provideAuthInterceptor(): AuthInterceptor = AuthInterceptor()
@Provides
@Singleton
fun provideAuthRepo(retrofit: Retrofit): AuthRepo =
retrofit.create(AuthRepo::class.java)
@Provides
@Singleton
fun provideConversationsRepo(retrofit: Retrofit): ConversationsRepo =
retrofit.create(ConversationsRepo::class.java)
@Provides
@Singleton
fun provideUsersRepo(retrofit: Retrofit): UsersRepo =
retrofit.create(UsersRepo::class.java)
@Provides
@Singleton
fun provideMessagesRepo(retrofit: Retrofit): MessagesRepo =
retrofit.create(MessagesRepo::class.java)
@Provides
@Singleton
fun provideLongPollRepo(retrofit: Retrofit): LongPollRepo =
retrofit.create(LongPollRepo::class.java)
@@ -109,7 +117,27 @@ object NetworkModule {
@Provides
@Singleton
fun provideMessagesDataSource(
repo: MessagesRepo,
dao: MessagesDao
): MessagesDataSource = MessagesDataSource(repo, dao)
messagesRepo: MessagesRepo,
messagesDao: MessagesDao,
longPollRepo: LongPollRepo
): MessagesDataSource = MessagesDataSource(
messagesRepo = messagesRepo,
messagesDao = messagesDao,
longPollRepo = longPollRepo
)
@Provides
@Singleton
fun provideLongPollUpdatesParser(messagesDataSource: MessagesDataSource): LongPollUpdatesParser =
LongPollUpdatesParser(messagesDataSource)
@Provides
@Singleton
fun provideAccountRepo(retrofit: Retrofit): AccountRepo =
retrofit.create(AccountRepo::class.java)
@Provides
@Singleton
fun provideAccountDataSource(repo: AccountRepo): AccountDataSource =
AccountDataSource(repo)
}