diff --git a/app/build.gradle b/app/build.gradle index 6496c2699..1ca65ee45 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -81,7 +81,7 @@ dependencies { exclude group: 'org.json', module: 'json' } - implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.2' + implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.3' implementation 'androidx.core:core-ktx:1.8.0' implementation 'androidx.activity:activity-ktx:1.5.0-rc01' @@ -107,7 +107,7 @@ dependencies { implementation 'com.squareup.okhttp3:okhttp:4.10.0' implementation 'com.squareup.okhttp3:okhttp-dnsoverhttps:4.9.3' - implementation 'com.squareup.okio:okio:3.1.0' + implementation 'com.squareup.okio:okio:3.2.0' implementation 'com.hannesdorfmann:adapterdelegates4-kotlin-dsl:4.3.2' implementation 'com.hannesdorfmann:adapterdelegates4-kotlin-dsl-viewbinding:4.3.2' @@ -124,14 +124,14 @@ dependencies { debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.9.1' testImplementation 'junit:junit:4.13.2' - testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.2' + testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.3' androidTestImplementation 'androidx.test:runner:1.4.0' androidTestImplementation 'androidx.test:rules:1.4.0' androidTestImplementation 'androidx.test:core-ktx:1.4.0' androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.3' - androidTestImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.2' + androidTestImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.3' androidTestImplementation 'io.insert-koin:koin-test:3.2.0' androidTestImplementation 'io.insert-koin:koin-test-junit4:3.2.0' diff --git a/app/src/main/java/org/koitharu/kotatsu/favourites/ui/list/FavouritesListViewModel.kt b/app/src/main/java/org/koitharu/kotatsu/favourites/ui/list/FavouritesListViewModel.kt index c2e8c00a1..23ff17a2e 100644 --- a/app/src/main/java/org/koitharu/kotatsu/favourites/ui/list/FavouritesListViewModel.kt +++ b/app/src/main/java/org/koitharu/kotatsu/favourites/ui/list/FavouritesListViewModel.kt @@ -47,7 +47,7 @@ class FavouritesListViewModel( when { list.isEmpty() -> listOf( EmptyState( - icon = R.drawable.ic_heart_outline, + icon = R.drawable.ic_empty_favourites, textPrimary = R.string.text_empty_holder_primary, textSecondary = if (categoryId == NO_ID) { R.string.you_have_not_favourites_yet diff --git a/app/src/main/java/org/koitharu/kotatsu/history/ui/HistoryListViewModel.kt b/app/src/main/java/org/koitharu/kotatsu/history/ui/HistoryListViewModel.kt index 1768c2a5f..c5c6ef75e 100644 --- a/app/src/main/java/org/koitharu/kotatsu/history/ui/HistoryListViewModel.kt +++ b/app/src/main/java/org/koitharu/kotatsu/history/ui/HistoryListViewModel.kt @@ -48,7 +48,7 @@ class HistoryListViewModel( when { list.isEmpty() -> listOf( EmptyState( - icon = R.drawable.ic_history, + icon = R.drawable.ic_empty_history, textPrimary = R.string.text_history_holder_primary, textSecondary = R.string.text_history_holder_secondary, actionStringRes = 0, diff --git a/app/src/main/java/org/koitharu/kotatsu/local/ui/LocalListViewModel.kt b/app/src/main/java/org/koitharu/kotatsu/local/ui/LocalListViewModel.kt index 375e03997..e8490f9d9 100644 --- a/app/src/main/java/org/koitharu/kotatsu/local/ui/LocalListViewModel.kt +++ b/app/src/main/java/org/koitharu/kotatsu/local/ui/LocalListViewModel.kt @@ -49,7 +49,7 @@ class LocalListViewModel( list == null -> listOf(LoadingState) list.isEmpty() -> listOf( EmptyState( - icon = R.drawable.ic_storage, + icon = R.drawable.ic_empty_local, textPrimary = R.string.text_local_holder_primary, textSecondary = R.string.text_local_holder_secondary, actionStringRes = R.string._import, diff --git a/app/src/main/java/org/koitharu/kotatsu/remotelist/ui/RemoteListViewModel.kt b/app/src/main/java/org/koitharu/kotatsu/remotelist/ui/RemoteListViewModel.kt index b57f0b30b..092194b96 100644 --- a/app/src/main/java/org/koitharu/kotatsu/remotelist/ui/RemoteListViewModel.kt +++ b/app/src/main/java/org/koitharu/kotatsu/remotelist/ui/RemoteListViewModel.kt @@ -151,7 +151,7 @@ class RemoteListViewModel( } private fun createEmptyState(filterState: FilterState) = EmptyState( - icon = R.drawable.ic_book_cross, + icon = R.drawable.ic_empty_search, textPrimary = R.string.nothing_found, textSecondary = 0, actionStringRes = if (filterState.tags.isEmpty()) 0 else R.string.reset_filter, diff --git a/app/src/main/java/org/koitharu/kotatsu/search/ui/SearchViewModel.kt b/app/src/main/java/org/koitharu/kotatsu/search/ui/SearchViewModel.kt index e20c3bb12..9615e84a6 100644 --- a/app/src/main/java/org/koitharu/kotatsu/search/ui/SearchViewModel.kt +++ b/app/src/main/java/org/koitharu/kotatsu/search/ui/SearchViewModel.kt @@ -35,7 +35,7 @@ class SearchViewModel( list == null -> listOf(LoadingState) list.isEmpty() -> listOf( EmptyState( - icon = R.drawable.ic_book_search, + icon = R.drawable.ic_empty_search, textPrimary = R.string.nothing_found, textSecondary = R.string.text_search_holder_secondary, actionStringRes = 0, diff --git a/app/src/main/java/org/koitharu/kotatsu/search/ui/multi/MultiSearchViewModel.kt b/app/src/main/java/org/koitharu/kotatsu/search/ui/multi/MultiSearchViewModel.kt index adea07898..1a07e3dec 100644 --- a/app/src/main/java/org/koitharu/kotatsu/search/ui/multi/MultiSearchViewModel.kt +++ b/app/src/main/java/org/koitharu/kotatsu/search/ui/multi/MultiSearchViewModel.kt @@ -42,7 +42,7 @@ class MultiSearchViewModel( loading -> LoadingState error != null -> error.toErrorState(canRetry = true) else -> EmptyState( - icon = R.drawable.ic_book_search, + icon = R.drawable.ic_empty_search, textPrimary = R.string.nothing_found, textSecondary = R.string.text_search_holder_secondary, actionStringRes = 0, diff --git a/app/src/main/java/org/koitharu/kotatsu/suggestions/ui/SuggestionsViewModel.kt b/app/src/main/java/org/koitharu/kotatsu/suggestions/ui/SuggestionsViewModel.kt index 832922ea3..42f0c093a 100644 --- a/app/src/main/java/org/koitharu/kotatsu/suggestions/ui/SuggestionsViewModel.kt +++ b/app/src/main/java/org/koitharu/kotatsu/suggestions/ui/SuggestionsViewModel.kt @@ -27,7 +27,7 @@ class SuggestionsViewModel( when { list.isEmpty() -> listOf( EmptyState( - icon = R.drawable.ic_book_cross, + icon = R.drawable.ic_empty_suggestions, textPrimary = R.string.nothing_found, textSecondary = R.string.text_suggestion_holder, actionStringRes = 0, diff --git a/app/src/main/java/org/koitharu/kotatsu/tracker/ui/FeedViewModel.kt b/app/src/main/java/org/koitharu/kotatsu/tracker/ui/FeedViewModel.kt index 3cb415143..11ae7f6fa 100644 --- a/app/src/main/java/org/koitharu/kotatsu/tracker/ui/FeedViewModel.kt +++ b/app/src/main/java/org/koitharu/kotatsu/tracker/ui/FeedViewModel.kt @@ -39,7 +39,7 @@ class FeedViewModel( add(header) add( EmptyState( - icon = R.drawable.ic_feed, + icon = R.drawable.ic_empty_feed, textPrimary = R.string.text_empty_holder_primary, textSecondary = R.string.text_feed_holder, actionStringRes = 0, diff --git a/app/src/main/res/drawable/ic_empty_favourites.xml b/app/src/main/res/drawable/ic_empty_favourites.xml new file mode 100644 index 000000000..ccfc51361 --- /dev/null +++ b/app/src/main/res/drawable/ic_empty_favourites.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_empty_feed.xml b/app/src/main/res/drawable/ic_empty_feed.xml new file mode 100644 index 000000000..1df74d5ed --- /dev/null +++ b/app/src/main/res/drawable/ic_empty_feed.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_empty_history.xml b/app/src/main/res/drawable/ic_empty_history.xml new file mode 100644 index 000000000..f0c6fdee1 --- /dev/null +++ b/app/src/main/res/drawable/ic_empty_history.xml @@ -0,0 +1,31 @@ + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_empty_local.xml b/app/src/main/res/drawable/ic_empty_local.xml new file mode 100644 index 000000000..f578a6ce8 --- /dev/null +++ b/app/src/main/res/drawable/ic_empty_local.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_empty_search.xml b/app/src/main/res/drawable/ic_empty_search.xml new file mode 100644 index 000000000..37fa1c487 --- /dev/null +++ b/app/src/main/res/drawable/ic_empty_search.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_empty_suggestions.xml b/app/src/main/res/drawable/ic_empty_suggestions.xml new file mode 100644 index 000000000..84025ea16 --- /dev/null +++ b/app/src/main/res/drawable/ic_empty_suggestions.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/item_empty_state.xml b/app/src/main/res/layout/item_empty_state.xml index 880e8902d..d89b79276 100644 --- a/app/src/main/res/layout/item_empty_state.xml +++ b/app/src/main/res/layout/item_empty_state.xml @@ -12,10 +12,11 @@ + android:layout_width="192dp" + android:layout_height="192dp" + android:contentDescription="@null" + android:scaleType="fitCenter" + tools:src="@drawable/ic_empty_favourites" />