On vivo phones with China OriginOS, letters typed into the chat message field sometimes become invisible: the cursor, emoji and the 'Message' hint are drawn, but the letters are not. Once it happens it affects every chat until a configuration change (rotating the screen, toggling dark mode) or an app restart. Same symptom as card #56637 'The text input is not displayed'. Root cause: Telegram draws the field through NoClipCanvas (EditTextEffects.allowHackingTextCanvas()), which does not forward vivo's non-SDK Canvas.drawTextRunUseTextLayoutHelper(); vivo's TextLine.drawTextRun() switches to that method when its FLayout text engine is on, which happens when the process default locale is zh-CN or en-US. Fix: add "vivo" to the manufacturer exclusions in EditTextEffects.allowHackingTextCanvas(), like honor/huawei/alps.
Steps to reproduce
Use a vivo phone with China OriginOS (vivo X300, OriginOS 7 / Android 17), system language English (en-US), Telegram language English.
Use Telegram normally. The bug is intermittent: it starts when the process default locale falls back to the system en-US (exact trigger not identified).
Open any chat and type: the letters are not drawn, while the cursor, emoji and the hint are visible. Other chats are affected too.
Rotate the screen to landscape and back: the text reappears.
Likely deterministic repro for developers (derived from the firmware code, not tested): on such a device call Locale.setDefault(Locale.US) in a debug build, reopen a chat and type - letters invisible; with Locale.setDefault(new Locale("en")) they are visible.
Device info
Telegram Android 13.1.0 (72299), vivo X300, 17 (37)
Input field on vivo (China OriginOS): left — normal; middle — text is present (cursor after it) but the letters are not drawn; right — only the emoji is drawn, letters still invisible.