implement viewmodel, domain layer and view layer for userlist

This commit is contained in:
Carlos Martinez
2020-02-03 13:01:55 -03:00
parent 7d4432278e
commit 259955ed5d
26 changed files with 305 additions and 76 deletions

View File

@@ -1,6 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hako.friendlists">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:name=".MainApplication"
android:allowBackup="true"

View File

@@ -1,7 +1,8 @@
package com.hako.friendlists
import android.app.Application
import com.hako.base.di.baseModule
import com.hako.friendlist.di.userlistModules
import com.hako.friendlists.di.appModules
import org.koin.android.ext.koin.androidContext
import org.koin.core.context.startKoin
import timber.log.Timber
@@ -24,7 +25,8 @@ class MainApplication : Application() {
modules(
listOf(
baseModule
appModules,
userlistModules
)
)
}

View File

@@ -0,0 +1,18 @@
package com.hako.friendlists.di
import androidx.room.Room
import com.hako.base.domain.database.DatabaseClient
import com.hako.base.domain.network.RemoteClient
import com.hako.friendlists.BuildConfig
import org.koin.dsl.module
val appModules = module {
// Room database
single { Room.databaseBuilder(get(), DatabaseClient::class.java, BuildConfig.DB_NAME).build() }
factory { get<DatabaseClient>().userDao() }
factory { get<DatabaseClient>().albumDao() }
factory { get<DatabaseClient>().photoDao() }
// Retrofit
single { RemoteClient(BuildConfig.BASE_ENDPOINT) }
}