Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -183,10 +183,10 @@ sealed class PageItem(open val type: Type) {
data class Divider(val title: String = "") : PageItem(DIVIDER)

data class Empty(
@StringRes val textResource: Int = R.string.empty_list_default,
@StringRes val titleResource: Int = R.string.empty_list_default,
@StringRes val subtitleResource: Int? = null,
val isSearching: Boolean = false,
val isButtonVisible: Boolean = true,
val isImageVisible: Boolean = true
val isButtonVisible: Boolean = true
) : PageItem(EMPTY)

object VirtualHomepage : PageItem(VIRTUAL_HOMEPAGE) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -342,7 +342,14 @@ sealed class PageItemViewHolder(internal val parent: ViewGroup, @LayoutRes layou
@Suppress("DEPRECATION")
override fun onBind(pageItem: PageItem) {
(pageItem as Empty).apply {
emptyView.title.text = emptyView.resources.getString(pageItem.textResource)
emptyView.title.text = emptyView.resources.getString(pageItem.titleResource)

pageItem.subtitleResource?.let { subtitleResource ->
emptyView.subtitle.text = emptyView.resources.getString(subtitleResource)
emptyView.subtitle.visibility = View.VISIBLE
} ?: run {
emptyView.subtitle.visibility = View.GONE
}

if (pageItem.isButtonVisible) {
emptyView.button.setOnClickListener {
Expand All @@ -353,8 +360,6 @@ sealed class PageItemViewHolder(internal val parent: ViewGroup, @LayoutRes layou
emptyView.button.visibility = View.GONE
}

emptyView.image.visibility = if (pageItem.isImageVisible) View.VISIBLE else View.GONE

emptyView.updateLayoutForSearch(pageItem.isSearching, 0)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -261,15 +261,19 @@ class PageListViewModel @Inject constructor(
_pages.postValue(
listOf(
Empty(
R.string.pages_fetching,
titleResource = R.string.pages_fetching,
isButtonVisible = false,
isImageVisible = false
)
)
)
} else {
when (listType) {
PUBLISHED -> _pages.postValue(listOf(Empty(R.string.pages_empty_published)))
PUBLISHED -> _pages.postValue(listOf(
Empty(
titleResource = R.string.pages_empty_published,
subtitleResource = R.string.pages_empty_published_subtitle
)
))
SCHEDULED -> _pages.postValue(listOf(Empty(R.string.pages_empty_scheduled)))
DRAFTS -> _pages.postValue(listOf(Empty(R.string.pages_empty_drafts)))
TRASHED -> _pages.postValue(listOf(Empty(R.string.pages_empty_trashed)))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,9 @@ class PageParentSearchViewModel
if (pageItems != null) {
loadFoundPages(pageItems)
} else {
_searchResult.value = listOf(Empty(R.string.pages_search_suggestion, true))
_searchResult.value = listOf(
Empty(titleResource = R.string.pages_search_suggestion, isSearching = true)
)
}
}

Expand All @@ -53,7 +55,9 @@ class PageParentSearchViewModel
if (pageItems.isNotEmpty()) {
_searchResult.value = pageItems
} else {
_searchResult.value = listOf(Empty(R.string.pages_empty_search_result, true))
_searchResult.value = listOf(
Empty(titleResource = R.string.pages_empty_search_result, isSearching = true)
)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,9 @@ class SearchListViewModel

pagesViewModel.checkIfNewPageButtonShouldBeVisible()
} else {
_searchResult.value = listOf(Empty(R.string.pages_search_suggestion, true))
_searchResult.value = listOf(
Empty(titleResource = R.string.pages_search_suggestion, isSearching = true)
)
}
}

Expand All @@ -89,7 +91,9 @@ class SearchListViewModel
}
_searchResult.value = pageItems
} else {
_searchResult.value = listOf(Empty(R.string.pages_empty_search_result, true))
_searchResult.value = listOf(
Empty(titleResource = R.string.pages_empty_search_result, isSearching = true)
)
}
}

Expand Down
75 changes: 0 additions & 75 deletions WordPress/src/main/res/drawable/img_illustration_pages_104dp.xml

This file was deleted.

1 change: 0 additions & 1 deletion WordPress/src/main/res/layout/page_empty_item.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
app:aevButton="@string/pages_empty_list_button"
app:aevImage="@drawable/img_illustration_pages_104dp"
app:aevTitle="@string/empty_list_default" />

</RelativeLayout>
3 changes: 2 additions & 1 deletion WordPress/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3597,7 +3597,8 @@
<string name="pages_delete_permanently">Delete Permanently</string>
<string name="pages_empty_search_result">No pages matching your search</string>
<string name="pages_search_suggestion">Search pages</string>
<string name="pages_empty_published">You haven\'t published any pages yet</string>
<string name="pages_empty_published">You haven\'t published any pages - yet!</string>
<string name="pages_empty_published_subtitle">Why not create one?</string>
<string name="pages_empty_drafts">You don\'t have any draft pages</string>
<string name="pages_empty_scheduled">You don\'t have any scheduled pages</string>
<string name="pages_empty_trashed">You don\'t have any trashed pages</string>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,20 @@ class PageParentSearchViewModelTest : BaseUnitTest() {
fun `show empty item on start`() {
searchPages.value = null

assertThat(viewModel.searchResult.value).containsOnly(Empty(R.string.pages_search_suggestion, true))
assertThat(viewModel.searchResult.value).containsOnly(
Empty(titleResource = R.string.pages_search_suggestion, isSearching = true)
)
}

@Test
fun `show no matches on empty search results`() {
searchPages.value = mutableListOf(Empty(R.string.pages_empty_search_result, false))
searchPages.value = mutableListOf(
Empty(titleResource = R.string.pages_empty_search_result, isSearching = false)
)

assertThat(viewModel.searchResult.value).containsOnly(Empty(R.string.pages_empty_search_result, false))
assertThat(viewModel.searchResult.value).containsOnly(
Empty(titleResource = R.string.pages_empty_search_result, isSearching = false)
)
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,9 @@ class SearchListViewModelTest : BaseUnitTest() {
fun `show empty item on start`() {
searchPages.value = null

assertThat(viewModel.searchResult.value).containsOnly(Empty(R.string.pages_search_suggestion, true))
assertThat(viewModel.searchResult.value).containsOnly(
Empty(titleResource = R.string.pages_search_suggestion, isSearching = true)
)
}

@Test
Expand Down