mirror of
https://github.com/imcarlost/Friendlists.git
synced 2026-04-10 02:46:54 -04:00
implement testing and create a simple test for Userlist
This commit is contained in:
@@ -1,10 +1,8 @@
|
||||
package com.hako.friendlists
|
||||
|
||||
import android.app.Application
|
||||
import com.hako.albumlist.di.albumListModules
|
||||
import com.hako.userlist.di.userlistModules
|
||||
import com.hako.friendlists.di.appModules
|
||||
import com.hako.photolist.di.photoListModules
|
||||
import org.koin.android.ext.koin.androidContext
|
||||
import org.koin.core.context.startKoin
|
||||
import timber.log.Timber
|
||||
@@ -28,9 +26,7 @@ class MainApplication : Application() {
|
||||
modules(
|
||||
listOf(
|
||||
appModules,
|
||||
userlistModules,
|
||||
albumListModules,
|
||||
photoListModules
|
||||
userlistModules
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -4,19 +4,35 @@ import android.os.Bundle
|
||||
import androidx.annotation.IdRes
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.ViewModel
|
||||
import com.hako.albumlist.di.albumListModules
|
||||
import com.hako.albumlist.feature.ALBUMLIST_FRAGMENT_BUNDLE_USER_ID
|
||||
import com.hako.albumlist.navigation.AlbumlistNavigation
|
||||
import com.hako.base.extensions.buildNavigation
|
||||
import com.hako.base.navigation.NavigationEvent
|
||||
import com.hako.friendlists.R
|
||||
import com.hako.photolist.di.photoListModules
|
||||
import com.hako.photolist.feature.PHOTOLIST_FRAGMENT_BUNDLE_ALBUM_ID
|
||||
import com.hako.userlist.navigation.UserlistNavigation
|
||||
import org.koin.core.context.loadKoinModules
|
||||
|
||||
// This sets the fragment title, it's referenced in every navigation
|
||||
const val FRAGMENT_TITLE = "actionTitle"
|
||||
|
||||
class NavigationViewmodel : ViewModel() {
|
||||
|
||||
// Load koin modules dynamically ;)
|
||||
private val albums by lazy {
|
||||
loadKoinModules(albumListModules)
|
||||
}
|
||||
|
||||
private val photos by lazy {
|
||||
loadKoinModules(photoListModules)
|
||||
}
|
||||
|
||||
private fun injectAlbums() = albums
|
||||
|
||||
private fun injectPhotos() = photos
|
||||
|
||||
val navigate = MutableLiveData<Pair<@IdRes Int, Bundle>>()
|
||||
|
||||
fun onNavigationEvent(event: NavigationEvent) {
|
||||
@@ -28,6 +44,8 @@ class NavigationViewmodel : ViewModel() {
|
||||
}
|
||||
|
||||
private fun handleUserlistNavigation(event: UserlistNavigation) {
|
||||
injectAlbums()
|
||||
|
||||
when (event) {
|
||||
is UserlistNavigation.ClickedOnUser -> navigate.postValue(
|
||||
buildNavigation(R.id.action_userlistFragment_to_albumlistFragment, Bundle().apply {
|
||||
@@ -42,6 +60,8 @@ class NavigationViewmodel : ViewModel() {
|
||||
}
|
||||
|
||||
private fun handleAlbumlistNavigation(event: AlbumlistNavigation) {
|
||||
injectPhotos()
|
||||
|
||||
when (event) {
|
||||
is AlbumlistNavigation.ClickedOnAlbum -> navigate.postValue(
|
||||
buildNavigation(R.id.action_albumlistFragment_to_photolistFragment, Bundle().apply {
|
||||
|
||||
Reference in New Issue
Block a user