add navigation framework and implement it

This commit is contained in:
Carlos Martinez
2020-02-05 15:12:53 -03:00
parent 5877a4851e
commit 8130956484
23 changed files with 200 additions and 52 deletions

View File

@@ -11,11 +11,14 @@ import com.hako.base.extensions.gone
import com.hako.base.extensions.observeNonNull
import com.hako.base.extensions.toast
import com.hako.base.extensions.visible
import com.hako.base.navigation.NavigationRouter
import com.hako.userlist.model.UserViewable
import com.hako.userlist.viewmodel.UserlistViewmodel
import com.hako.userlist.widget.UserlistAdapter
import com.hako.friendlist_userlist.R
import com.hako.userlist.navigation.UserlistNavigation
import kotlinx.android.synthetic.main.fragment_userlist.*
import org.koin.android.ext.android.inject
import org.koin.androidx.viewmodel.ext.android.viewModel
import timber.log.Timber
@@ -23,6 +26,7 @@ class UserlistFragment : Fragment() {
private val viewModel: UserlistViewmodel by viewModel()
private val listAdapter by lazy { UserlistAdapter() }
private val navigation: NavigationRouter by inject()
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
@@ -71,7 +75,7 @@ class UserlistFragment : Fragment() {
layoutManager = LinearLayoutManager(context)
adapter = listAdapter.apply {
onItemClick = {
context.toast(it.realName)
navigation.sendNavigation(UserlistNavigation.ClickedOnUser(it.id))
}
onFavoriteClick = {

View File

@@ -0,0 +1,7 @@
package com.hako.userlist.navigation
import com.hako.base.navigation.NavigationEvent
sealed class UserlistNavigation : NavigationEvent {
data class ClickedOnUser(val userId: Int) : UserlistNavigation()
}

View File

@@ -17,7 +17,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="16dp"
android:layout_marginTop="12dp"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"