Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

InitializationUi 引起顯示異常 #1206

Closed
goofyz opened this issue Jan 26, 2024 · 4 comments · Fixed by #1304
Closed

InitializationUi 引起顯示異常 #1206

goofyz opened this issue Jan 26, 2024 · 4 comments · Fixed by #1304

Comments

@goofyz
Copy link
Collaborator

goofyz commented Jan 26, 2024

Describe the bug
InitializationUi 顯示時,會有異常顯示,當部署完成後會正常顯示鍵盤。

異常情況:

  • 在某些 app (messages, Google Keep) ,它霸佔很大的一個畫面 (如圖)。
  • 某些 app 會閃一閃再隱藏 (用 Chrome 去 google / bing 或有輸入欄的網頁, 再按輸入欄)

壞疑是 e79e32b 後引起。

To Reproduce
Steps to reproduce the bug:

  1. Kill trime
  2. 到 app 的輸入欄位,顯示 default 輸入法
  3. 轉去 trime
  4. See bug

Expected behavior
顯示「部署UI」又不會阻礙原本 app 的 UI

Log

Screenshots
2024-01-26 08 30 22

Smartphone (please complete the following information):

  • Device: Pixel 4a
  • OS: Android 13
  • Theme: trime
@WhiredPlanck
Copy link
Collaborator

@goofyz 这个问题应该是由 PR #1196 引进。根据实践和参考其他输入法的做法,如果想要从键盘调起对话框等组件不被遮挡,那么最外面的视图容器(也就是新加的 InputView)必须得是全屏的(特别是在 Android 9)。但是 InitializationUi 本身是独立于 InputView 之外的,和后者存在竞争显示关系,不是很好处理(说实话我觉得这个方案不是很优雅,我更倾向于可以弹个通知来说明正在部署)。

@goofyz
Copy link
Collaborator Author

goofyz commented Jan 29, 2024

暫時將 InitializationUi 搬進 InputView 可行?

我覺得最好的做法是將 keyboard 相關寫進 DB,之後不用每次都部署 theme files ,可以實時彈出鍵盤。
但這個也要先弄好 theme parsing into obect > persists > read > handle rime deploying.

@nopdan
Copy link
Contributor

nopdan commented Jan 29, 2024

暫時將 InitializationUi 搬進 InputView 可行?

我覺得最好的做法是將 keyboard 相關寫進 DB,之後不用每次都部署 theme files ,可以實時彈出鍵盤。 但這個也要先弄好 theme parsing into obect > persists > read > handle rime deploying.

这样很好,但是如今bug还不少,再增加复杂度并不合适,不宜作为当前的开发重心,只要减少重复部署就好。

@nopdan
Copy link
Contributor

nopdan commented Feb 5, 2024

#1223 之后部署主题很快了,只在部署方案时弹个 toast 就好了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants