Skip to content

Commit 8e2584b

Browse files
author
Tiago Araujo de Souza
committed
Improved onClick ext
1 parent 3f314e2 commit 8e2584b

File tree

3 files changed

+7
-14
lines changed

3 files changed

+7
-14
lines changed

app/src/main/java/com/monstarlab/arch/extensions/ViewExtensions.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,5 +85,5 @@ fun View.clicks(throttleTime: Long = 400): Flow<Unit> = callbackFlow {
8585
awaitClose { this@clicks.setOnClickListener(null) }
8686
}.throttleFirst(throttleTime)
8787

88-
fun View.onClick(listenerBlock: (View) -> Unit) =
89-
setOnClickListener(DebounceOnClickListener(listenerBlock = listenerBlock))
88+
fun View.onClick(interval: Long = 400L, listenerBlock: (View) -> Unit) =
89+
setOnClickListener(DebounceOnClickListener(interval, listenerBlock))

app/src/main/java/com/monstarlab/features/login/LoginFragment.kt

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,15 @@ package com.monstarlab.features.login
22

33
import android.os.Bundle
44
import android.view.View
5-
import androidx.lifecycle.lifecycleScope
6-
import androidx.lifecycle.viewModelScope
75
import androidx.navigation.fragment.findNavController
86
import androidx.transition.TransitionManager
97
import com.google.android.material.snackbar.Snackbar
108
import com.monstarlab.R
119
import com.monstarlab.arch.base.BaseFragment
12-
import com.monstarlab.arch.extensions.clicks
1310
import com.monstarlab.arch.extensions.collectFlow
14-
import com.monstarlab.arch.extensions.combineFlows
11+
import com.monstarlab.arch.extensions.onClick
1512
import com.monstarlab.arch.extensions.viewBinding
1613
import com.monstarlab.databinding.FragmentLoginBinding
17-
import kotlinx.coroutines.flow.launchIn
18-
import kotlinx.coroutines.flow.onEach
19-
import kotlinx.coroutines.launch
2014

2115
class LoginFragment : BaseFragment(R.layout.fragment_login) {
2216

@@ -26,12 +20,12 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) {
2620
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
2721
super.onViewCreated(view, savedInstanceState)
2822

29-
binding.loginButton.clicks().onEach {
23+
binding.loginButton.onClick {
3024
viewModel.login(
31-
binding.loginEmailEditText.text.toString(),
32-
binding.loginPasswordEditText.text.toString()
25+
binding.loginEmailEditText.text.toString(),
26+
binding.loginPasswordEditText.text.toString()
3327
)
34-
}.launchIn(lifecycleScope)
28+
}
3529

3630
collectFlow(viewModel.loginResultFlow) {
3731
findNavController().navigate(R.id.resourceFragment)

app/src/main/java/com/monstarlab/injection/components/AppComponent.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import com.monstarlab.injection.modules.*
55
import dagger.Component
66
import dagger.android.AndroidInjector
77
import dagger.android.support.AndroidSupportInjectionModule
8-
import dk.nodes.template.injection.modules.*
98
import javax.inject.Singleton
109

1110
@Component(

0 commit comments

Comments
 (0)