Atte149
a7a9f65391
Fix API contract: Response<ResponseBody> for endpoints returning JSON objects
...
- getBook, updateReadingProgress, updatePlaybackProgress: Response<String> → Response<ResponseBody>
- Fixes kotlinx-serialization converter crash on JSON object responses
- health(): Response<Unit> (already fixed)
- Fix hasUriScheme(): matches() → containsMatchIn()
- Full Russian translation of strings.xml (583 lines)
- Russian added as default language in CoreData
2026-06-19 21:05:29 +03:00
Atte149
6ddbb01973
Polish audio/TTS UI: move labels to strings.xml, fix TTS WorkManager observer leak
2026-06-16 19:57:52 +03:00
Atte149
37dfd74fc9
Merge feature/progress-sync: reading and playback progress sync
2026-06-16 12:19:45 +03:00
Atte149
f54ed847f7
Merge feature/tts: TTS jobs screen with bookshelf-api
2026-06-16 12:18:04 +03:00
Atte149
abe1a3db14
Merge feature/audio: audiobook player with ExoPlayer
2026-06-16 12:15:23 +03:00
Atte149
acff930d7b
feat(audio): implement audiobook player with ExoPlayer and MediaSession
...
Add a full audiobook player for Audiobookshelf books:
- PlayerScreen/PlayerModel/PlayerContent with playback controls, progress, speed, skip
- AudioPlaybackService as MediaSessionService for background playback + notification
- ABS item lookup and per-file audio URLs using ServerSettings URL/token
- Hilt bindings, notification icon/strings, and required manifest permissions/service
Also removes the stale CacheRepositoryImpl import from RepositoryModule so the
worktree compiles after the cache files were deleted.
2026-06-16 12:04:53 +03:00
Atte149
a6f8b6782a
feat(tts): implement TTS jobs screen with bookshelf-api integration
...
- Add domain models, repository, and use cases for TTS engines/voices/jobs
- Add TtsDownloadWorker to poll job status and download completed audio
- Add TtsScreen/TtsModel/TtsContent with engine/voice selection and job creation
- Add TTS button to RemoteLibraryContent book cards
- Add Hilt WorkManager support and repository binding
- Add TTS string resources
2026-06-16 11:58:10 +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
d1257e1d60
feat(remote-library): add ebook opening from RemoteLibrary tab
...
- Add CacheRepository + CacheBookUseCase to download/cache remote ebooks
via Audiobookshelf and upsert a local BookEntity/EbookFileEntity.
- Support plain local file paths in FileProviderImpl and CachedFile.canAccess
so reader can open downloaded ebooks stored in app filesDir.
- Add Read button to RemoteLibraryContent for books with hasEbook=true.
- Wire RemoteLibraryModel/Screen to cache the ebook and navigate to
ReaderScreen with the local book id.
- Add string resource for the Read button.
2026-06-16 11:48:30 +03:00
Atte149
ed3afc1f16
Merge feature/settings-validation (server validation, cache/TTS scaffold) into feature/ui-polish
2026-06-16 11:40:52 +03:00
Atte149
23298b0f26
feat(ui-polish): improve RemoteLibrary & BookshelfSettings UI, add icons/strings
2026-06-16 11:35:04 +03:00
Atte149
cff4db13ab
Phase 5b: RemoteLibrary tab — fetch libraries/books, simple list UI
2026-06-16 09:58:26 +03:00
Atte149
0c2dfbd592
Phase 5a: server settings UI — BookshelfSettings screen, model, navigation, strings
2026-06-16 09:45:17 +03:00
Acclorite
06d41b8587
chore: update copyright
2026-01-01 12:39:08 +02:00
Acclorite
959a193e52
feat: add "horizontal limiter" option
...
* Option to show horizontal ruler and dim unfocused part of the screen (both height of the focused part and its vertical position can be customized)
* Option to hide horizontal ruler
* Option to change horizontal ruler's thickness
* Option to change dimming (0-100%)
Resolves : #197
2025-12-26 13:22:51 +02:00
Acclorite
bda2ed1b04
feat: remove help screen
...
Resolves : #286
2025-12-24 15:40:52 +02:00
Acclorite
24d3e3ba0a
feat: option to disable scrolling in the Reader
...
* Appears after enabling horizontal gesture
Resolves : #186
2025-10-25 15:24:18 +03:00
Acclorite
bd7dbecce2
feat: option to hide navigation labels
...
* Added an option to hide navigation bar labels under icons
2025-10-19 19:55:55 +03:00
Acclorite
b28e6e7858
feat: add note to the LibrarySortSubcategory
2025-10-01 13:51:28 +03:00
Acclorite
30ee74cfff
feat: select all books button in library
...
* Added "Select all books" button to the Library which selects all books in the current category
2025-09-28 17:48:48 +03:00
Acclorite
b4c6a63878
refactor: datastore(settings) refactor
2025-07-17 12:14:52 +03:00
Acclorite
7a028c1172
refactor: pass app name via placeholder in start_welcome string
2025-07-09 17:39:01 +03:00
Acclorite
5cab499417
refactor: replace app_version string with BuildConfig.VERSION_NAME
2025-07-09 17:28:40 +03:00
Acclorite
57afade51a
feat: "Iapetus" gray theme
2025-06-29 11:53:21 +03:00
Acclorite
ff7c0482f7
feat: disable images' captions option
...
Resolves : #189
2025-06-29 11:25:06 +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
e22e172ddb
chore(release): v1.7.1
2025-04-26 12:21:37 +03:00
Acclorite
60b2a04e82
🌍 Rephrase "You're successfully done basic setup of the app" in Start screen
...
Resolves : #205
2025-04-22 21:05:04 +03:00
Acclorite
bc95edaa10
🛠️ Remove (OLED) from "Pure dark (OLED)"
...
Resolves : #203
2025-04-22 15:25:32 +03:00
Acclorite
87b53745e9
🛠️ Prevent crash when no file manager app
...
* When choosing a folder in Browse (scan) it crashed when there is no file manager app to handle such action
Resolves : #198
2025-03-22 10:31:27 +02:00
Acclorite
ba3f5f3b7a
🚀 Crash screen
...
* Shows app crash log
* Copy or report (share)
* Logs are saved in app's internal storage (/crash)
Resolves : #188
2025-03-21 19:16:11 +02:00
Acclorite
c49e7f9500
🛡️ Release v1.7.0
2025-03-14 18:05:14 +02:00
Acclorite
e4cc80ab08
🚀 Horizontal gesture "Pull animation" option
...
* Enables or disables pull animation when using horizontal gesture
2025-03-12 19:27:46 +02:00
Acclorite
1c0e259179
🛠️ Change "Visibility animation" to Switch
...
* Changed from Slider (0-100) to Switch (off-on)
2025-03-11 19:52:08 +02:00
Acclorite
78e7d710ea
🚀 Horizontal gesture "Animate visibility" option
...
* Option to change how much (in %) the visibility animates when using horizontal gesture
2025-03-11 09:06:04 +02:00
Acclorite
7d6f7fec9d
🌍 Rename strings
...
* Renamed "browse_layout" to "layout" (for global use)
2025-03-09 19:18:37 +02:00
Acclorite
9fe7a497e8
🚀 Move Browse "General" subcategory to "Display"
...
* Moved Browse "General" subcategory to "Display" subcategory
2025-03-09 10:04:49 +02:00
Acclorite
750c9ffbeb
🚀 New options in About
...
* Reverted UI to old style
* Removed some options
* Added new options and badges
2025-03-08 09:49:20 +02:00
Acclorite
8cbe14b0e0
🚀 Storage Access Framework
...
* Per-folder storage access
* Easily revoke per-folder access
* No storage permission
* Privacy focus (Milestone #5 )
Resolves : #38
2025-03-02 13:09:10 +02:00
Acclorite
ec19a5e455
🚀 Remove network permission
...
* Removed network permission along with notifications
* Removed check for updates feature (no longer makes sense without network access)
Resolves : #172
2025-02-13 16:26:03 +02:00
Acclorite
cd18c430a5
🚀 Nested Chapters in Reader
...
* Fixed issue with incorrect navigation
* Added Nested Chapters, e.g. Book -> Chapter
Resolves : #130
2025-02-10 12:43:36 +02:00
Acclorite
81ae50585c
🛠️ Add license notice to all files
2025-02-03 13:05:36 +02:00
Acclorite
88b04df01c
🗽 Release v1.6.0
2025-01-30 13:00:17 +02:00
Acclorite
40f9122a65
🚀 Change Path option
...
* Changes path to the file of the book
Resolves : #152
2025-01-28 10:42:36 +02:00
Acclorite
de3b45e6a1
🌍 Remove redundant string resources
2025-01-27 20:07:47 +02:00
Acclorite
cf4cb62061
🚀 BookInfo UI update
...
* Updated UI of BookInfo screen
* Dialogs to update fields (title, author and description)
* Simplified updating mechanism
2025-01-27 19:19:02 +02:00
Acclorite
f232cd3688
🛠️ New dialog & update default
...
* Updated default dialog
* Added new dialog with text field
2025-01-24 14:15:36 +02:00
Acclorite
4f8da6ba8e
🌍 Remove unused string resources
2025-01-21 20:04:37 +02:00
Acclorite
ad41bc9a1a
🚀 Progress Count option
...
* Option to change Progress Count method (Percentage/Quantity)
* Improved progress calculation
2025-01-21 19:49:32 +02:00
Acclorite
fe269fd8a0
🚀 Font thickness option
...
* Changes default font thickness
Resolves : #150
2025-01-19 18:59:05 +02:00