feat(settings): apply current character theme to all character cards - #1156
Open
3316891527 wants to merge 1 commit into
Open
feat(settings): apply current character theme to all character cards#11563316891527 wants to merge 1 commit into
3316891527 wants to merge 1 commit into
Conversation
Add a confirmation action on the theme editor that copies the selected character card visual theme onto every other character card. Background, fonts, and user avatars are included because they already belong to the theme snapshot. Character-card identity keys stay on each card.
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.
变更说明 / Description
Fixes #1154
Theme settings are stored per character card in DataStore (
character_card_theme_<id>_). Editing many cards one by one is the current workflow. This change adds a confirmation action on the theme editor that copies the currently selected character card theme onto every other character card.The write path reuses the existing visual theme snapshot (
writeVisualThemeValues). Background, fonts, and user avatars are included because they already belong to that snapshot. Character-card identity keys (custom_ai_avatar_uri,custom_chat_title) stay on each card. Global display preferences are unchanged. Group themes are out of scope; the action is only shown when the editor target is a character card.No SQLite schema change and no DataStore migration are required. Existing per-card prefixes are overwritten in place.
实现 / Implementation
UserPreferencesManager.applyVisualThemeToCharacterCards()writes the current visual snapshot to every listed character-card prefix in one DataStore edit.ActivePromptManager.applyVisualThemeToAllCharacterCards()collects all character card IDs (including the default card) and runs that write under the existing theme transition lock.验证 / Verification
Fork CI is triggered on
feat/theme-apply-to-all-character-cardsbefore this PR (android-tests.yml,android-build.yml). Tests are not a merge gate if they fail on the known upstream JVM compile errors.