Dynamic Colors doesn't update
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 63/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 领域
- mobile-dev
调研方向
Start by reading latin/common/Colors.kt and the KeyboardSwitcher.updateKeyboardThemeAndContextThemeWrapper() path called from onStartInputView; compare how the settings screen and keyboard obtain their contexts and check colors. Reproduce the reported palette change, then verify that opening the keyboard picks up the new colors without force-stopping LeanType.
由索引模型根据 Issue 内容生成。
描述
As said by claude
Describe the bug
When the system Material You palette changes while LeanType is running, the keyboard with the Dynamic colors theme keeps showing the old colors. LeanType's settings screen updates to the new palette right away, but the keyboard doesn't update until LeanType is force-stopped.
To Reproduce
- Select the Dynamic colors keyboard theme.
- Change the system Material You palette. In my case, ColorBlendr (Shizuku mode) re-applies colors each time Paperize sets a new static wallpaper. Changing colors manually in ColorBlendr gives the same result.
- Open LeanType settings: the new colors are shown correctly.
- Open the keyboard in any text field: it still shows the previous palette.
- Force-stop LeanType and open the keyboard again: the new colors appear.
Expected behavior
The keyboard picks up the new system palette the next time it's shown, like the settings screen does.
Screenshots
N/A
App version & Flavor
[version, e.g. v4.2.x] / standard
Device Info
- Model: Samsung Galaxy Z Fold 6
- OS version: [Android version] / One UI [version]
Additional context (possible cause)
From reading the source, this might be the cause (unconfirmed):
DynamicColors(latin/common/Colors.kt) readssystem_accent*/system_neutral*once in its constructor.KeyboardSwitcher.updateKeyboardThemeAndContextThemeWrapper()checksmColors.haveColorsChanged(context)ononStartInputView, but the context passed in isdisplayContext, which is created once inonInitializeInterface()and reused.- If that long-lived context keeps returning the old
system_*values after the theme overlay changes,haveColorsChanged()returns false and the theme never reloads. The settings activity gets a fresh context, so it isn't affected.
Workaround: force-stopping LeanType loads the current colors.
- 主要语言
- Kotlin
- 星标
- 1k
- 派生
- 59
- 平均合并
- 13 小时 11 分钟
- 30 天内合并 PR
- 47
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
LeanBitLab/LeanType 的其他 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 76/100
LeanBitLab/LeanType#713 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 65/100
LeanBitLab/LeanType#423 · 1 条评论 ·
维护者通常 1 天内回复
-
Crush Report未关闭
难度 3/5 1-2 天 新手友好度 20/100
LeanBitLab/LeanType#715 ·
维护者通常 1 天内回复
-
Text Expander/cursor-handling bug可能已有人在做 @LeanBitLab 于 2 天前认领。 未关闭bug
难度 3/5 1-2 天 新手友好度 62/100
LeanBitLab/LeanType#703 · 1 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
enhancement
难度 3/5 1-2 天 新手友好度 45/100
LeanBitLab/LeanType#699 ·
维护者通常 1 天内回复
查看 LeanBitLab/LeanType 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 82/100
leboncoin/spark-android#2342 ·
维护者通常 1 天内回复
-
The Voraton URL has been changed可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭Bug Domain changed
难度 2/5 1-3 小时 新手友好度 62/100
keiyoushi/extensions-source#20257 · 1 条评论 · 1 个 reaction ·
维护者通常 1 天内回复
-
bug
难度 1/5 1 小时以内 新手友好度 85/100
维护者通常 1 天内回复
-
feature
难度 2/5 1-3 小时 新手友好度 62/100
user-grinch/RivoPhoneApp#302 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复