Hide feed section if tracker is disabled
This commit is contained in:
@@ -20,7 +20,6 @@ import androidx.fragment.app.FragmentTransaction
|
||||
import androidx.fragment.app.commit
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.transition.TransitionManager
|
||||
import com.google.android.material.R as materialR
|
||||
import com.google.android.material.appbar.AppBarLayout
|
||||
import com.google.android.material.appbar.AppBarLayout.LayoutParams.*
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
@@ -61,6 +60,7 @@ import org.koitharu.kotatsu.tracker.ui.FeedFragment
|
||||
import org.koitharu.kotatsu.tracker.work.TrackWorker
|
||||
import org.koitharu.kotatsu.utils.VoiceInputContract
|
||||
import org.koitharu.kotatsu.utils.ext.*
|
||||
import com.google.android.material.R as materialR
|
||||
|
||||
private const val TAG_PRIMARY = "primary"
|
||||
private const val TAG_SEARCH = "search"
|
||||
@@ -141,6 +141,7 @@ class MainActivity :
|
||||
viewModel.isResumeEnabled.observe(this, this::onResumeEnabledChanged)
|
||||
viewModel.remoteSources.observe(this, this::updateSideMenu)
|
||||
viewModel.isSuggestionsEnabled.observe(this, this::setSuggestionsEnabled)
|
||||
viewModel.isTrackerEnabled.observe(this, this::setTrackerEnabled)
|
||||
}
|
||||
|
||||
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
|
||||
@@ -359,6 +360,14 @@ class MainActivity :
|
||||
item.isVisible = isEnabled
|
||||
}
|
||||
|
||||
private fun setTrackerEnabled(isEnabled: Boolean) {
|
||||
val item = binding.navigationView.menu.findItem(R.id.nav_feed) ?: return
|
||||
if (!isEnabled && item.isChecked) {
|
||||
binding.navigationView.setCheckedItem(R.id.nav_history)
|
||||
}
|
||||
item.isVisible = isEnabled
|
||||
}
|
||||
|
||||
private fun openDefaultSection() {
|
||||
when (viewModel.defaultSection) {
|
||||
AppSection.LOCAL -> {
|
||||
|
||||
@@ -7,6 +7,7 @@ import kotlinx.coroutines.flow.map
|
||||
import kotlinx.coroutines.flow.onStart
|
||||
import org.koitharu.kotatsu.base.ui.BaseViewModel
|
||||
import org.koitharu.kotatsu.core.exceptions.EmptyHistoryException
|
||||
import org.koitharu.kotatsu.core.prefs.AppSection
|
||||
import org.koitharu.kotatsu.core.prefs.AppSettings
|
||||
import org.koitharu.kotatsu.core.prefs.observeAsLiveData
|
||||
import org.koitharu.kotatsu.history.domain.HistoryRepository
|
||||
@@ -16,16 +17,26 @@ import org.koitharu.kotatsu.utils.ext.asLiveDataDistinct
|
||||
|
||||
class MainViewModel(
|
||||
private val historyRepository: HistoryRepository,
|
||||
settings: AppSettings
|
||||
private val settings: AppSettings,
|
||||
) : BaseViewModel() {
|
||||
|
||||
val onOpenReader = SingleLiveEvent<Manga>()
|
||||
var defaultSection by settings::defaultSection
|
||||
var defaultSection: AppSection
|
||||
get() = settings.defaultSection
|
||||
set(value) {
|
||||
settings.defaultSection = value
|
||||
}
|
||||
|
||||
val isSuggestionsEnabled = settings.observeAsLiveData(
|
||||
context = viewModelScope.coroutineContext + Dispatchers.Default,
|
||||
key = AppSettings.KEY_SUGGESTIONS,
|
||||
valueProducer = { isSuggestionsEnabled }
|
||||
valueProducer = { isSuggestionsEnabled },
|
||||
)
|
||||
|
||||
val isTrackerEnabled = settings.observeAsLiveData(
|
||||
context = viewModelScope.coroutineContext + Dispatchers.Default,
|
||||
key = AppSettings.KEY_TRACKER_ENABLED,
|
||||
valueProducer = { isTrackerEnabled },
|
||||
)
|
||||
|
||||
val isResumeEnabled = historyRepository
|
||||
|
||||
Reference in New Issue
Block a user