Update explore navigation

This commit is contained in:
Koitharu
2023-11-12 13:15:30 +02:00
parent b093a885c9
commit b928c4123c
7 changed files with 23 additions and 4 deletions

View File

@@ -1,6 +1,7 @@
package org.koitharu.kotatsu.explore.ui
import android.content.DialogInterface
import android.content.Intent
import android.os.Bundle
import android.view.LayoutInflater
import android.view.MenuItem
@@ -46,6 +47,7 @@ import org.koitharu.kotatsu.parsers.model.MangaSource
import org.koitharu.kotatsu.search.ui.MangaListActivity
import org.koitharu.kotatsu.settings.SettingsActivity
import org.koitharu.kotatsu.settings.newsources.NewSourcesDialogFragment
import org.koitharu.kotatsu.settings.sources.catalog.SourcesCatalogActivity
import org.koitharu.kotatsu.suggestions.ui.SuggestionsActivity
import javax.inject.Inject
@@ -109,7 +111,7 @@ class ExploreFragment :
}
override fun onListHeaderClick(item: ListHeader, view: View) {
startActivity(SettingsActivity.newManageSourcesIntent(view.context))
startActivity(Intent(view.context, SourcesCatalogActivity::class.java))
}
override fun onPrimaryButtonClick(tipView: TipView) {

View File

@@ -6,6 +6,7 @@ import android.view.MenuInflater
import android.view.MenuItem
import androidx.core.view.MenuProvider
import org.koitharu.kotatsu.R
import org.koitharu.kotatsu.settings.SettingsActivity
class ExploreMenuProvider(
private val context: Context,
@@ -23,6 +24,11 @@ class ExploreMenuProvider(
true
}
R.id.action_manage -> {
context.startActivity(SettingsActivity.newManageSourcesIntent(context))
true
}
else -> false
}
}

View File

@@ -137,7 +137,7 @@ class ExploreViewModel @Inject constructor(
result += RecommendationsItem(recommendation)
}
if (sources.isNotEmpty()) {
result += ListHeader(R.string.remote_sources, R.string.manage)
result += ListHeader(R.string.remote_sources, R.string.catalog)
if (newSources.isNotEmpty()) {
result += TipModel(
key = TIP_NEW_SOURCES,

View File

@@ -86,7 +86,7 @@ class SourcesManageFragment :
override fun onResume() {
super.onResume()
activity?.setTitle(R.string.remote_sources)
activity?.setTitle(R.string.manage_sources)
}
override fun onDestroyView() {

View File

@@ -31,6 +31,7 @@ class SourcesCatalogViewModel @Inject constructor(
) : BaseViewModel() {
private val lifecycle = RetainedLifecycleImpl()
private var searchQuery: String = ""
val onActionDone = MutableEventFlow<ReversibleAction>()
val contentType = MutableStateFlow(ContentType.entries.first())
val locales = getLocalesImpl()
@@ -40,7 +41,9 @@ class SourcesCatalogViewModel @Inject constructor(
locale,
contentType,
) { lc, type ->
listProducerFactory.create(lc, type, lifecycle)
listProducerFactory.create(lc, type, lifecycle).also {
it.setQuery(searchQuery)
}
}.stateIn(viewModelScope, SharingStarted.Eagerly, null)
val content = listProducer.flatMapLatest {
@@ -53,6 +56,7 @@ class SourcesCatalogViewModel @Inject constructor(
}
fun performSearch(query: String) {
searchQuery = query
listProducer.value?.setQuery(query)
}

View File

@@ -8,4 +8,9 @@
android:title="@string/show_in_grid_view"
android:titleCondensed="@string/grid" />
<item
android:id="@+id/action_manage"
android:title="@string/manage_sources"
android:titleCondensed="@string/manage" />
</menu>

View File

@@ -521,4 +521,6 @@
<string name="source_enabled">Source enabled</string>
<string name="no_manga_sources_catalog_text">No available sources in this section yet. Stay tuned</string>
<string name="no_manga_sources_found">No available manga sources found by your query</string>
<string name="catalog">Catalog</string>
<string name="manage_sources">Manage sources</string>
</resources>