|
|
@@ -16,31 +16,31 @@ import io.legado.app.data.repository.BookRepository
|
|
|
import io.legado.app.data.repository.BookSourceRepository
|
|
|
import io.legado.app.data.repository.BookshelfRepository
|
|
|
import io.legado.app.data.repository.UploadRepository
|
|
|
+import io.legado.app.domain.gateway.AppShellSettingsGateway
|
|
|
+import io.legado.app.domain.gateway.BookshelfSettingsGateway
|
|
|
+import io.legado.app.domain.gateway.DownloadCacheSettingsGateway
|
|
|
+import io.legado.app.domain.gateway.ThemeSettingsGateway
|
|
|
import io.legado.app.domain.usecase.AddBookUseCase
|
|
|
import io.legado.app.domain.usecase.BatchCacheDownloadUseCase
|
|
|
import io.legado.app.domain.usecase.ExportBookshelfUseCase
|
|
|
import io.legado.app.domain.usecase.ImportBookshelfUseCase
|
|
|
import io.legado.app.domain.usecase.RefreshTocUseCase
|
|
|
import io.legado.app.domain.usecase.UpdateBooksGroupUseCase
|
|
|
-import io.legado.app.domain.gateway.BookshelfSettingsGateway
|
|
|
-import io.legado.app.domain.gateway.AppShellSettingsGateway
|
|
|
-import io.legado.app.domain.gateway.DownloadCacheSettingsGateway
|
|
|
-import io.legado.app.domain.gateway.ThemeSettingsGateway
|
|
|
import io.legado.app.exception.NoStackTraceException
|
|
|
import io.legado.app.help.coroutine.Coroutine
|
|
|
import io.legado.app.model.CacheBook
|
|
|
import io.legado.app.model.SourceCallBack
|
|
|
import io.legado.app.service.CacheBookService
|
|
|
import io.legado.app.ui.config.themeConfig.TagColorPair
|
|
|
+import io.legado.app.utils.GSON
|
|
|
import io.legado.app.utils.eventBus.FlowEventBus
|
|
|
import io.legado.app.utils.move
|
|
|
import io.legado.app.utils.onEachParallel
|
|
|
import io.legado.app.utils.postEvent
|
|
|
-import io.legado.app.utils.GSON
|
|
|
import kotlinx.collections.immutable.ImmutableList
|
|
|
import kotlinx.collections.immutable.ImmutableMap
|
|
|
-import kotlinx.collections.immutable.persistentMapOf
|
|
|
import kotlinx.collections.immutable.persistentListOf
|
|
|
+import kotlinx.collections.immutable.persistentMapOf
|
|
|
import kotlinx.collections.immutable.toImmutableList
|
|
|
import kotlinx.collections.immutable.toImmutableMap
|
|
|
import kotlinx.collections.immutable.toImmutableSet
|
|
|
@@ -55,6 +55,7 @@ import kotlinx.coroutines.flow.MutableStateFlow
|
|
|
import kotlinx.coroutines.flow.SharedFlow
|
|
|
import kotlinx.coroutines.flow.SharingStarted
|
|
|
import kotlinx.coroutines.flow.StateFlow
|
|
|
+import kotlinx.coroutines.flow.asSharedFlow
|
|
|
import kotlinx.coroutines.flow.catch
|
|
|
import kotlinx.coroutines.flow.collect
|
|
|
import kotlinx.coroutines.flow.combine
|
|
|
@@ -66,7 +67,6 @@ import kotlinx.coroutines.flow.flowOf
|
|
|
import kotlinx.coroutines.flow.flowOn
|
|
|
import kotlinx.coroutines.flow.map
|
|
|
import kotlinx.coroutines.flow.onEach
|
|
|
-import kotlinx.coroutines.flow.asSharedFlow
|
|
|
import kotlinx.coroutines.flow.shareIn
|
|
|
import kotlinx.coroutines.flow.stateIn
|
|
|
import kotlinx.coroutines.isActive
|
|
|
@@ -577,7 +577,19 @@ class BookshelfViewModel(
|
|
|
title = title,
|
|
|
subtitle = when {
|
|
|
interaction.isEditMode -> {
|
|
|
- context.getString(R.string.bookshelf_total_count, previews.allBookCount)
|
|
|
+ val selectedText = context.getString(
|
|
|
+ R.string.bookshelf_selected_count,
|
|
|
+ interaction.selectedBookUrls.size
|
|
|
+ )
|
|
|
+ val groupTotalText = context.getString(
|
|
|
+ R.string.bookshelf_total_count,
|
|
|
+ books.size
|
|
|
+ )
|
|
|
+ context.getString(
|
|
|
+ R.string.bookshelf_edit_subtitle,
|
|
|
+ selectedText,
|
|
|
+ groupTotalText
|
|
|
+ )
|
|
|
}
|
|
|
|
|
|
selectedBooks.isSearchMode -> {
|