Remove unnecessary showClearButton field in Main State

This commit is contained in:
Moez Bhatti
2018-09-07 15:04:32 -04:00
parent 9cd19c49e0
commit e3d6b4276f
3 changed files with 5 additions and 11 deletions
@@ -208,7 +208,7 @@ class MainActivity : QkThemedActivity(), MainView {
when (state.page) {
is Inbox -> {
showBackButton(state.page.showClearButton)
showBackButton(state.page.selected > 0)
title = when (state.page.selected != 0) {
true -> getString(R.string.main_title_selected, state.page.selected)
false -> getString(R.string.main_title)
@@ -228,7 +228,7 @@ class MainActivity : QkThemedActivity(), MainView {
}
is Archived -> {
showBackButton(state.page.showClearButton)
showBackButton(state.page.selected > 0)
title = when (state.page.selected != 0) {
true -> getString(R.string.main_title_selected, state.page.selected)
false -> getString(R.string.title_archived)
@@ -38,7 +38,6 @@ data class MainState(
sealed class MainPage
data class Inbox(
val showClearButton: Boolean = false,
val markPinned: Boolean = true,
val markRead: Boolean = false,
val data: RealmResults<Conversation>? = null,
@@ -50,7 +49,6 @@ data class Searching(
) : MainPage()
data class Archived(
val showClearButton: Boolean = false,
val markPinned: Boolean = true,
val markRead: Boolean = false,
val data: RealmResults<Conversation>? = null,
@@ -174,10 +174,7 @@ class MainViewModel @Inject constructor(
.withLatestFrom(state) { _, state ->
when {
state.page is Searching -> view.clearSearch()
state.page is Inbox && state.page.selected > 0 -> view.clearSelection()
state.page is Inbox && state.page.showClearButton -> view.clearSearch()
state.page is Archived && state.page.selected > 0 -> view.clearSelection()
else -> newState { copy(drawerOpen = true) }
@@ -285,12 +282,12 @@ class MainViewModel @Inject constructor(
when (state.page) {
is Inbox -> {
val page = state.page.copy(markPinned = pin, markRead = read, selected = selected, showClearButton = selected > 0)
newState { copy(page = page.copy(markRead = read, selected = selected, showClearButton = selected > 0)) }
val page = state.page.copy(markPinned = pin, markRead = read, selected = selected)
newState { copy(page = page.copy(markRead = read, selected = selected)) }
}
is Archived -> {
val page = state.page.copy(markPinned = pin, markRead = read, selected = selected, showClearButton = selected > 0)
val page = state.page.copy(markPinned = pin, markRead = read, selected = selected)
newState { copy(page = page) }
}
}
@@ -342,7 +339,6 @@ class MainViewModel @Inject constructor(
state.page is Searching -> view.clearSearch()
state.page is Inbox && state.page.selected > 0 -> view.clearSelection()
state.page is Inbox && state.page.showClearButton -> view.clearSearch()
state.page is Archived && state.page.selected > 0 -> view.clearSelection()