Commit graph

16 commits

Author SHA1 Message Date
Atte149
f7307f4199 feat: paginated reader sync, search crash fix, audio cache + unified auth
- Sync pagination measurement with rendered layout (page geometry, spacing, images, chapter extras)
- Improve split algorithm with getLineForVerticalPosition and widow/orphan handling
- Fix search crash from duplicate LazyColumn keys on empty guids
- Switch BookCard cover to fixed-height vertical variant
- Add ExoPlayer SimpleCache + CacheDataSource for streaming audio
- Unify AuthorizationInterceptor for player via PlaybackAuthProvider
- Bump version to 1.9.11 (27) and update AGENTS.md
2026-06-21 19:45:08 +03:00
Atte149
a8a1417b9d feat(progress): implement reading and playback progress sync with bookshelf-api
- Add ProgressRepository + impl to push reading/playback progress to bookshelf-api
- Add SyncReadingProgressUseCase and SyncPlaybackProgressUseCase
- Add request models for bookshelf-api and Audiobookshelf progress endpoints
- Add audio progress fields (audioCurrentFile, audioCurrentPosition) to Book/BookEntity
- Add Room migration 17->18 and generated schema
- Add BookDao/BookRepository query for books with remote IDs
- Add ProgressSyncWorker scheduled from Application.onCreate
- Hook SyncReadingProgressUseCase into ReaderModel progress updates
- Add AudioPlayerProgress placeholder with TODO for playback sync hook
- Add Hilt binding for ProgressRepository and missing string resources
2026-06-16 11:50:06 +03:00
Atte149
33fddc922b Phase 3: data layer — remote BookEntity fields, audio/ebook/cache tables, DAOs, migration 16→17 2026-06-15 21:29:26 +03:00
Atte149
ad821faecd Fork: rename package and applicationId 2026-06-15 16:13:31 +03:00
Acclorite
6d7e178d4c
refactor: category entity
* Merge CategorySortEntity with CategoryEntity
2025-09-23 16:59:24 +03:00
Acclorite
1d9f5514ff
refactor: book entity
* Remove nullability from author
2025-09-01 22:18:49 +03:00
Acclorite
a45078cae5
refactor: color preset entity
* I/O for repository calls
* Removed nullability from ColorPresetEntity
2025-08-27 23:20:07 +03:00
Acclorite
c70338a14d
feat(library): custom categories
* Custom categories
* New customization options
* Sorting

Resolves: #79
2025-04-28 09:18:14 +03:00
Acclorite
6f53811f68 🚀 External storage support
* Added external storage (SD) support for all APIs
* Removed directory structure in Browse due to problems with Internal+External
* Optimized loading time

Resolves: #78
2025-01-15 12:35:52 +02:00
Acclorite
3853727ae7 🚀 Flexible text parsing and storing system
Pros:
* Removed text update (now it is always updated and parsed from the file each time)
* Removed text storage (smaller app size)
* Dramatically sped up loading in Browse (10 books in ~1s)

Cons:
* Longer Reader loading time (~3x, partly fixable)
* More dependency on the file (fixable)

Resolves: #134
2024-12-30 18:29:37 +02:00
Acclorite
94c49c20c8 🚀 Chapters in Reader
* Added chapters in Reader
* ModalDrawer to fast navigate or track current chapter
* Current chapter progress in top bar
* Optimized Reader scroll performance
* Improved EPUB parser
* Fixed incorrect order for chapters(due to no sorting before)
* Remove ZIP parser (replaced with EPUB)

Resolves: #66, #17
2024-09-15 18:09:50 +03:00
Acclorite
127d251ee6 🚀 Browse Improvement, Room migration
Big BrowseScreen improvement: Filter, sort, list/grid, favorite directories, all files / directories. Room migration 5 → 6.

Resolves: #14
2024-08-19 15:00:03 +03:00
acclorite
5b8ddb4dfb ColorPresets + Room Migration 4 → 5. 2024-07-27 16:58:25 +03:00
acclorite
1e42c258e7 Removed Built-In translator (it was based Closed Source libraries) + Removed all Closed Source libraries + LineWithTranslation → ReaderLine + Room migration 3 → 4. 2024-07-15 00:50:28 +03:00
acclorite
562c06b0c4 Fixed: Multiple issues with JSON LanguageHistory(fixed with moving it in Room Database) + Room version migration 2 → 3. 2024-06-28 19:24:45 +03:00
acclorite
667a91f950 Navigation.kt: Type-safety, non-null parameters for Screens, improved navigation + Included generated Room Database schemas to be able to build the project. 2024-06-19 18:54:17 +03:00