Repository navigation
Enhancement(reader): apply reading settings to all libraries - #404
Open
JimmyJi0309 wants to merge 1 commit into
Open
JimmyJi0309 wants to merge 1 commit into
JimmyJi0309 wants to merge 1 commit into
Conversation
- Add an Apply to all libraries action to EPUB, PDF and comic reader options. - Copy the current reader profile to every known library and to a default fallback profile used by libraries that have not been opened yet.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add an Apply to all libraries action to the reader options sheet so users can copy the current reading profile (theme, typography, spacing, margins, alignment, hyphenation, layout mode, and reader behavior) to every library at once.
Behavior
LibraryReaderPreferencesto:onApplyToAllLibrariesis nullable) so surfaces that do not support bulk application do not show the control.Implementation
AppPreferences.withReaderPreferencesForAllLibraries(...)writes the normalized profile to all known library keys plusDEFAULT_READER_PROFILE_KEY.AppPreferences.readerPreferencesFor(...)falls back to the default profile for unopened libraries.Verification
./gradlew testDebugUnitTest lintDebug assembleDebug assembleDebugAndroidTest— passedNotes
This does not replace the per-library editor in
Options → Library; that surface edits one library, while this action broadcasts the current profile. The fallback profile also lets libraries opened later inherit the broadcast settings.Close #403