diff --git a/WordPress/src/main/java/org/wordpress/android/ui/pages/PageItem.kt b/WordPress/src/main/java/org/wordpress/android/ui/pages/PageItem.kt
index 754ca39319b1..052577a1e205 100644
--- a/WordPress/src/main/java/org/wordpress/android/ui/pages/PageItem.kt
+++ b/WordPress/src/main/java/org/wordpress/android/ui/pages/PageItem.kt
@@ -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) {
diff --git a/WordPress/src/main/java/org/wordpress/android/ui/pages/PageItemViewHolder.kt b/WordPress/src/main/java/org/wordpress/android/ui/pages/PageItemViewHolder.kt
index 1722ab42aa21..d645df22ede0 100644
--- a/WordPress/src/main/java/org/wordpress/android/ui/pages/PageItemViewHolder.kt
+++ b/WordPress/src/main/java/org/wordpress/android/ui/pages/PageItemViewHolder.kt
@@ -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 {
@@ -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)
}
}
diff --git a/WordPress/src/main/java/org/wordpress/android/viewmodel/pages/PageListViewModel.kt b/WordPress/src/main/java/org/wordpress/android/viewmodel/pages/PageListViewModel.kt
index 7dc1f6a3e97f..97b9650d4f6b 100644
--- a/WordPress/src/main/java/org/wordpress/android/viewmodel/pages/PageListViewModel.kt
+++ b/WordPress/src/main/java/org/wordpress/android/viewmodel/pages/PageListViewModel.kt
@@ -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)))
diff --git a/WordPress/src/main/java/org/wordpress/android/viewmodel/pages/PageParentSearchViewModel.kt b/WordPress/src/main/java/org/wordpress/android/viewmodel/pages/PageParentSearchViewModel.kt
index fc68326edf4e..3830ede2710b 100644
--- a/WordPress/src/main/java/org/wordpress/android/viewmodel/pages/PageParentSearchViewModel.kt
+++ b/WordPress/src/main/java/org/wordpress/android/viewmodel/pages/PageParentSearchViewModel.kt
@@ -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)
+ )
}
}
@@ -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)
+ )
}
}
}
diff --git a/WordPress/src/main/java/org/wordpress/android/viewmodel/pages/SearchListViewModel.kt b/WordPress/src/main/java/org/wordpress/android/viewmodel/pages/SearchListViewModel.kt
index 9ef977756169..7c41df2ec997 100644
--- a/WordPress/src/main/java/org/wordpress/android/viewmodel/pages/SearchListViewModel.kt
+++ b/WordPress/src/main/java/org/wordpress/android/viewmodel/pages/SearchListViewModel.kt
@@ -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)
+ )
}
}
@@ -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)
+ )
}
}
diff --git a/WordPress/src/main/res/drawable/img_illustration_pages_104dp.xml b/WordPress/src/main/res/drawable/img_illustration_pages_104dp.xml
deleted file mode 100644
index 31df305ff9db..000000000000
--- a/WordPress/src/main/res/drawable/img_illustration_pages_104dp.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/WordPress/src/main/res/layout/page_empty_item.xml b/WordPress/src/main/res/layout/page_empty_item.xml
index 0564a27ffc8d..29b691956e0c 100644
--- a/WordPress/src/main/res/layout/page_empty_item.xml
+++ b/WordPress/src/main/res/layout/page_empty_item.xml
@@ -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" />
diff --git a/WordPress/src/main/res/values/strings.xml b/WordPress/src/main/res/values/strings.xml
index 7f873cbe5f1d..0a1987dd1c23 100644
--- a/WordPress/src/main/res/values/strings.xml
+++ b/WordPress/src/main/res/values/strings.xml
@@ -3597,7 +3597,8 @@
Delete Permanently
No pages matching your search
Search pages
- You haven\'t published any pages yet
+ You haven\'t published any pages - yet!
+ Why not create one?
You don\'t have any draft pages
You don\'t have any scheduled pages
You don\'t have any trashed pages
diff --git a/WordPress/src/test/java/org/wordpress/android/viewmodel/pages/PageParentSearchViewModelTest.kt b/WordPress/src/test/java/org/wordpress/android/viewmodel/pages/PageParentSearchViewModelTest.kt
index ad7e9537b9b5..c42a553b9fc1 100644
--- a/WordPress/src/test/java/org/wordpress/android/viewmodel/pages/PageParentSearchViewModelTest.kt
+++ b/WordPress/src/test/java/org/wordpress/android/viewmodel/pages/PageParentSearchViewModelTest.kt
@@ -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
diff --git a/WordPress/src/test/java/org/wordpress/android/viewmodel/pages/SearchListViewModelTest.kt b/WordPress/src/test/java/org/wordpress/android/viewmodel/pages/SearchListViewModelTest.kt
index 2955cfe2fe9f..c4919736bf1c 100644
--- a/WordPress/src/test/java/org/wordpress/android/viewmodel/pages/SearchListViewModelTest.kt
+++ b/WordPress/src/test/java/org/wordpress/android/viewmodel/pages/SearchListViewModelTest.kt
@@ -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