Skip to content

Commit b3346d9

Browse files
committed
some fixes
1 parent 74e67f8 commit b3346d9

File tree

3 files changed

+23
-19
lines changed

3 files changed

+23
-19
lines changed

feature-add/src/main/java/com/hoc/flowmvi/ui/add/AddContract.kt

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ data class ViewState(
3535
lastName: String?,
3636
) = ViewState(
3737
errors = emptySet(),
38-
3938
isLoading = false,
4039
emailChanged = false,
4140
firstNameChanged = false,
@@ -97,9 +96,18 @@ internal sealed interface PartialStateChange {
9796
sealed class FormValueChange : PartialStateChange {
9897
override fun reduce(viewState: ViewState): ViewState {
9998
return when (this) {
100-
is EmailChanged -> viewState.copy(email = email)
101-
is FirstNameChanged -> viewState.copy(firstName = firstName)
102-
is LastNameChanged -> viewState.copy(lastName = lastName)
99+
is EmailChanged -> {
100+
if (viewState.email == email) viewState
101+
else viewState.copy(email = email)
102+
}
103+
is FirstNameChanged -> {
104+
if (viewState.firstName == firstName) viewState
105+
else viewState.copy(firstName = firstName)
106+
}
107+
is LastNameChanged -> {
108+
if (viewState.lastName == lastName) viewState
109+
else viewState.copy(lastName = lastName)
110+
}
103111
}
104112
}
105113

feature-search/src/main/java/com/hoc/flowmvi/ui/search/SearchActivity.kt

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import com.hoc.flowmvi.core.clicks
1616
import com.hoc.flowmvi.core.navigator.IntentProviders
1717
import com.hoc.flowmvi.core.queryTextEvents
1818
import com.hoc.flowmvi.core.toast
19-
import com.hoc.flowmvi.core.unit
2019
import com.hoc.flowmvi.domain.repository.UserError
2120
import com.hoc.flowmvi.mvi_base.AbstractMviActivity
2221
import com.hoc.flowmvi.ui.search.databinding.ActivitySearchBinding
@@ -115,24 +114,18 @@ class SearchActivity :
115114
isIconified = false
116115
queryHint = "Search user..."
117116

118-
fun listen() = queryTextEvents()
119-
.onEach { searchViewQueryTextEventChannel.send(it) }
120-
.launchIn(lifecycleScope)
121-
.unit
122-
123117
vm.viewState.value
124118
.originalQuery
125119
.takeUnless { it.isNullOrBlank() }
126120
?.let {
127-
post {
128-
menuItem.expandActionView()
129-
setQuery(it, true)
130-
clearFocus()
131-
132-
listen()
133-
}
121+
menuItem.expandActionView()
122+
setQuery(it, true)
123+
clearFocus()
134124
}
135-
?: listen()
125+
126+
queryTextEvents()
127+
.onEach { searchViewQueryTextEventChannel.send(it) }
128+
.launchIn(lifecycleScope)
136129
}
137130
}
138131

feature-search/src/main/java/com/hoc/flowmvi/ui/search/SearchContract.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,10 @@ internal sealed interface PartialStateChange {
7272
users = users,
7373
submittedQuery = submittedQuery,
7474
)
75-
is QueryChanged -> if (state.originalQuery == query) state else state.copy(originalQuery = query)
75+
is QueryChanged -> {
76+
if (state.originalQuery == query) state
77+
else state.copy(originalQuery = query)
78+
}
7679
}
7780
}
7881

0 commit comments

Comments
 (0)