General improvments (#114)
* Add "Keep Screen On" feature to PDF and Epub readers. * Add `rawLibraryFiles` to `MainViewModel` and improve file path resolution in `SharedComposables`. Specifically: - Updated `MainViewModel` state and UI logic to track and provide unfiltered library files. - Enhanced file path formatting in `SharedComposables` to better handle Document, Tree, and primary storage URIs. - Added scrollable support for long text values in `DetailItem` composable. - Passed `rawLibraryFiles` to `FolderSyncScreen` to ensure sync logic uses the base file list. * Update info bar background and text colors in EpubReaderScreen to match the selected theme. * Prevent accidental UI bar toggles immediately after scrolling in EPUB vertical mode. * feat: implement EPUB highlights sync and legacy migration - Implement Cloud and Local Folder sync for EPUB highlights. - Add highlight JSON serialization/deserialization helpers in EpubReaderAnnotations. - Implement automatic migration of highlights from SharedPreferences to the Database on book open. - Add cleanup logic to remove legacy SharedPreferences data after successful DB migration. - Update RecentFilesRepository to trigger local folder metadata sync when highlights are modified. - Update FolderSyncWorker to pull highlights and custom names from linked folder metadata. * Update intent filters
This commit is contained in:
parent
60dacf9c12
commit
4c5cd20b21
17 changed files with 404 additions and 84 deletions
|
|
@ -134,6 +134,7 @@ fun LibraryScreen(
|
|||
val isShelfContextualModeActive = selectedShelves.isNotEmpty()
|
||||
val sortOrder = uiState.sortOrder
|
||||
val shelves = uiState.shelves
|
||||
val rawLibraryFiles = uiState.rawLibraryFiles
|
||||
val pagerState = rememberPagerState(
|
||||
initialPage = uiState.libraryScreenStartPage,
|
||||
pageCount = { 3 }
|
||||
|
|
@ -234,6 +235,7 @@ fun LibraryScreen(
|
|||
Box(modifier = Modifier.fillMaxSize()) {
|
||||
LibraryScreenContent(
|
||||
recentFiles = uiState.allRecentFiles,
|
||||
rawLibraryFiles = rawLibraryFiles,
|
||||
shelves = shelves,
|
||||
selectedItems = selectedItems,
|
||||
selectedShelves = selectedShelves,
|
||||
|
|
@ -460,6 +462,7 @@ fun ShelfScreen(
|
|||
@Composable
|
||||
fun LibraryScreenContent(
|
||||
recentFiles: List<RecentFileItem>,
|
||||
rawLibraryFiles: List<RecentFileItem>,
|
||||
shelves: List<Shelf>,
|
||||
selectedItems: Set<RecentFileItem>,
|
||||
selectedShelves: Set<String>,
|
||||
|
|
@ -759,7 +762,7 @@ fun LibraryScreenContent(
|
|||
2 -> {
|
||||
FolderSyncScreen(
|
||||
syncedFolders = syncedFolders,
|
||||
allRecentFiles = recentFiles,
|
||||
allRecentFiles = rawLibraryFiles,
|
||||
onAddFolderClick = onAddFolderClick,
|
||||
onRemoveFolderClick = onRemoveFolderClick,
|
||||
onEditFolderFiltersClick = onEditFolderFiltersClick,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue