0.1.2 - Dynamic Color and Emoji Skin Tones
Highlights
- Dynamic color themes for Android 12+ #696 @heddxh, and monochrome variant of adaptive icon for Android 13+
- New theme options: candidate window border radius #711 @MokOopsing, hide punctuation on keys #720 @eagleoflqj, draw key border stroke instead of shadow #799 @plateaukao
- New option for Emoji Picker to hide unsupported emojis #747 and change skin tone modifier #745 @rocka
Notable changes
- Recently used symbol and emojis are now saved as SharedPreference instead of plain text files, and will be migrated when opening the picker. Importing user data from older version will still work, but not vice versa
- Improves compatibility for some devices with physical keyboard, eg. select candidate with combination keys
Build process improvements
- Update Android NDK to r28, makes the app compatible with 16 KB page sizes #710 @rocka
- Migrate navigation graph xml to kotlin DSL #754 @berberman
- Make sure .mo files are reproducible across different gettext versions e8717b6
New features
- Dynamic color themes for Android 12+
- Long press to share clipboard content
- New preference for candidate window corner radius
- Add option to hide punctuation on keyboard
- Emoji skin tone selection and preference
- Filter out unsupported emoji in picker
- Add monochrome variant for adaptive icon (aka themed icon)
- Allow changing verbose log option without restart
- Add option to draw key border stroke instead of shadow
Bug fixes
- Workaround some editors which misuse TYPE_TEXT_VARIATION_VISIBLE_PASSWORD as NoSpellCheck
- Fix haptic feedback when amplitude not changed
- Correct license of fcitx5-chewing #712 @Timmysun
- Don't show InputView on combination keys
- Fix trigger candidate action in bulk candidate list
- Fix long candidate line wrapping in vertical mode
- Move CandidatesView above cursor only when there's larger space
- Workaround modifier states for some phone keyboard
- Fix CandidatesView OnGlobalLayoutListener memory leak
- Fix ClearURLs redirection rules
- Fix importErrorDialog message formatting
- Tweak commitAndReset workaround for all languages
- Fix "restart fcitx instance" in DeveloperFragment
- Fix EditorInfoWindow crash on empty contentMimeTypes
Download
|app |armeabi-v7a|arm64-v8a|x86|x86_64| |:----------------------|:----------|:--------|:--|:-----| |plugin.anthy |armeabi-v7a|arm64-v8a|x86|x86_64| |plugin.chewing |armeabi-v7a|arm64-v8a|x86|x86_64| |plugin.clipboard_filter|any|||| |plugin.hangul |armeabi-v7a|arm64-v8a|x86|x86_64| |plugin.jyutping |armeabi-v7a|arm64-v8a|x86|x86_64| |plugin.rime |armeabi-v7a|arm64-v8a|x86|x86_64| |plugin.sayura |armeabi-v7a|arm64-v8a|x86|x86_64| |plugin.thai |armeabi-v7a|arm64-v8a|x86|x86_64| |plugin.unikey |armeabi-v7a|arm64-v8a|x86|x86_64|
Metadata
app
{
"versionName": "0.1.2-0-g5a4870c0",
"commitHash": "5a4870c05785a8c9de390586e966ca4de70ed8e1",
"timestamp": "1761982855674"
}
plugin
plugin.anthy
{
"versionName": "0.1.2-0-g5a4870c0",
"commitHash": "5a4870c05785a8c9de390586e966ca4de70ed8e1",
"timestamp": "1761983272550"
}
plugin.chewing
{
"versionName": "0.1.2-0-g5a4870c0",
"commitHash": "5a4870c05785a8c9de390586e966ca4de70ed8e1",
"timestamp": "1761983454770"
}
plugin.clipboard_filter
{
"versionName": "0.1.2-0-g5a4870c0",
"commitHash": "5a4870c05785a8c9de390586e966ca4de70ed8e1",
"timestamp": "1761983592169"
}
plugin.hangul
{
"versionName": "0.1.2-0-g5a4870c0",
"commitHash": "5a4870c05785a8c9de390586e966ca4de70ed8e1",
"timestamp": "1761983678107"
}
plugin.jyutping
{
"versionName": "0.1.2-0-g5a4870c0",
"commitHash": "5a4870c05785a8c9de390586e966ca4de70ed8e1",
"timestamp": "1761983837676"
}
plugin.rime
{
"versionName": "0.1.2-0-g5a4870c0",
"commitHash": "5a4870c05785a8c9de390586e966ca4de70ed8e1",
"timestamp": "1761984144137"
}
plugin.sayura
{
"versionName": "0.1.2-0-g5a4870c0",
"commitHash": "5a4870c05785a8c9de390586e966ca4de70ed8e1",
"timestamp": "1761984314934"
}
plugin.thai
{
"versionName": "0.1.2-0-g5a4870c0",
"commitHash": "5a4870c05785a8c9de390586e966ca4de70ed8e1",
"timestamp": "1761984475978"
}
plugin.unikey
{
"versionName": "0.1.2-0-g5a4870c0",
"commitHash": "5a4870c05785a8c9de390586e966ca4de70ed8e1",
"timestamp": "1761984636225"
}
Checksum
c56a696f107291f2f82e213793718203c5aefb3a87dcc094b710deb1f10389db org.fcitx.fcitx5.android-0.1.2-0-g5a4870c0-arm64-v8a-release.apk
7f100c67a1e098e34d4860e2f456b68ef0412e340bc96ba2cdca5e47b7943779 org.fcitx.fcitx5.android-0.1.2-0-g5a4870c0-armeabi-v7a-release.apk
902ea5ca49cd4e3b49044a1492ad9fe5cc9aefdca2445ada7cc03548496073bc org.fcitx.fcitx5.android-0.1.2-0-g5a4870c0-x86-release.apk
75efe7020453880e0b7771bbf86f07aebcacfb986b2fda9b85711c9c4e719281 org.fcitx.fcitx5.android-0.1.2-0-g5a4870c0-x86_64-release.apk
c3c70e8fdb73e5f6f5d1785787860ea33500e0d1d3a2d9880403e9eaebda99f4 org.fcitx.fcitx5.android.plugin.anthy-0.1.2-0-g5a4870c0-arm64-v8a-release.apk
0114f52d1fe7f5ad7317182f118bdd3ab85055febdd9665886f92c3b7f6c1487 org.fcitx.fcitx5.android.plugin.anthy-0.1.2-0-g5a4870c0-armeabi-v7a-release.apk
8150452480fdc63fc4b1f1c496870fc877fb1c73897211fb449cbf4d0f7684c8 org.fcitx.fcitx5.android.plugin.anthy-0.1.2-0-g5a4870c0-x86-release.apk
b0b1f597c90866ec037b5b642608f5263514ea8a1e124d8d96bfdcbd958f755f org.fcitx.fcitx5.android.plugin.anthy-0.1.2-0-g5a4870c0-x86_64-release.apk
e8cd4659b13ea6b9cb9f6f199fe190326314ff82aeff496ca1e7d480031071cd org.fcitx.fcitx5.android.plugin.chewing-0.1.2-0-g5a4870c0-arm64-v8a-release.apk
c1dbc55f2c027933f49cd1e29d529526c03fbf50027e8d03c5502a7a71776eff org.fcitx.fcitx5.android.plugin.chewing-0.1.2-0-g5a4870c0-armeabi-v7a-release.apk
632c28e1566c5eae2492969a488036d6ad6f8cbdbc344737e99b340f72c96f1f org.fcitx.fcitx5.android.plugin.chewing-0.1.2-0-g5a4870c0-x86-release.apk
7eedb4e95c771fb92a37a741103f6075a51bedfa93117f492ddde65f761e855d org.fcitx.fcitx5.android.plugin.chewing-0.1.2-0-g5a4870c0-x86_64-release.apk
f10bbc3a474b179d4a83deae3c45ab8318a0533464a0c347eb8457c18bf98507 org.fcitx.fcitx5.android.plugin.clipboard_filter-0.1.2-0-g5a4870c0-release.apk
0937021e2384db73118b7de63e003641ca7ceccda3e4a4ab35a6b3171f1251d6 org.fcitx.fcitx5.android.plugin.hangul-0.1.2-0-g5a4870c0-arm64-v8a-release.apk
65af01ce21d0eafe5d0745b3b0cf6d71e3dad5c17e8e34fe769c4f47635a2208 org.fcitx.fcitx5.android.plugin.hangul-0.1.2-0-g5a4870c0-armeabi-v7a-release.apk
c8afbda160395f42d019aac017ceb1e36ddc73ecc06dae34926d00a5d4272e95 org.fcitx.fcitx5.android.plugin.hangul-0.1.2-0-g5a4870c0-x86-release.apk
4f245ec9dbcb798506bf94c8ff3e051819812ad0908468bb6fd9dcb002634d30 org.fcitx.fcitx5.android.plugin.hangul-0.1.2-0-g5a4870c0-x86_64-release.apk
e81cf823b46672a631bfa7d9524a18e95f31f0c7a75ae0dd45f514b100306d08 org.fcitx.fcitx5.android.plugin.jyutping-0.1.2-0-g5a4870c0-arm64-v8a-release.apk
b699ee367c51d03802b8b5248802f276686f148e2b96c5f5f7a61b5203872ced org.fcitx.fcitx5.android.plugin.jyutping-0.1.2-0-g5a4870c0-armeabi-v7a-release.apk
4325b5aa98c39aa5e1fb124e827fe2f36f85ca1d19ce1652b0f842941cb04163 org.fcitx.fcitx5.android.plugin.jyutping-0.1.2-0-g5a4870c0-x86-release.apk
0bd501cdcb678814019bbc3f5f4df2736b06c31b9de951cad98a938c102a21a3 org.fcitx.fcitx5.android.plugin.jyutping-0.1.2-0-g5a4870c0-x86_64-release.apk
624ec986e688b342493aa8fd87f51ead28c0d4451ab7cfbea939061c10d3abd9 org.fcitx.fcitx5.android.plugin.rime-0.1.2-0-g5a4870c0-arm64-v8a-release.apk
02d10c6695737b185d9d72ef65ecfb318e13e310c54d7d663e45c488699bfbf1 org.fcitx.fcitx5.android.plugin.rime-0.1.2-0-g5a4870c0-armeabi-v7a-release.apk
1519f561ff33fb93fbdc6f267f206468e0c59f12040747aba2902bf1488f409b org.fcitx.fcitx5.android.plugin.rime-0.1.2-0-g5a4870c0-x86-release.apk
2074f6fb7a7cb10e2765c59cbb26f119188d47d1420b5d2e348fbe69b50c7ae9 org.fcitx.fcitx5.android.plugin.rime-0.1.2-0-g5a4870c0-x86_64-release.apk
c26067c06bb28f08740faddf038ab3c8fd54ed1efc37632438bf8f22081ebd8d org.fcitx.fcitx5.android.plugin.sayura-0.1.2-0-g5a4870c0-arm64-v8a-release.apk
5fae38d4e486cf06d00f2cbe44a5260d1aea3eba43b6b032515a14dd20ddae31 org.fcitx.fcitx5.android.plugin.sayura-0.1.2-0-g5a4870c0-armeabi-v7a-release.apk
b0577d7046c0a634d0e737ad8c60bb9ae4ca99b01ce44b17cafac92a56c71908 org.fcitx.fcitx5.android.plugin.sayura-0.1.2-0-g5a4870c0-x86-release.apk
02a09a2063231a8a7b5b4daa675d82fa727949391aff131804221f286e18a77c org.fcitx.fcitx5.android.plugin.sayura-0.1.2-0-g5a4870c0-x86_64-release.apk
980304914f06da3c2fc97e180db4a2dc7caf118351f03b655c5f71974ba5934b org.fcitx.fcitx5.android.plugin.thai-0.1.2-0-g5a4870c0-arm64-v8a-release.apk
85b1a5b10369e94aa9775b6417581d9d1737ca800d82f2c578e7656996ee6b8f org.fcitx.fcitx5.android.plugin.thai-0.1.2-0-g5a4870c0-armeabi-v7a-release.apk
6bb5ffbe80a3647f26ddef46462ae022e09117aa91d233b9047bc74d2d1eb126 org.fcitx.fcitx5.android.plugin.thai-0.1.2-0-g5a4870c0-x86-release.apk
b769ad454be91204ed0b4600dff704ce2a640d56d49e0e77807c53c638c43f1d org.fcitx.fcitx5.android.plugin.thai-0.1.2-0-g5a4870c0-x86_64-release.apk
975dd377ef355d71108f9005877325b1823174eb12ef9838cee0bf1b0eacdcee org.fcitx.fcitx5.android.plugin.unikey-0.1.2-0-g5a4870c0-arm64-v8a-release.apk
65b1de850cdff33b3d3aa7bb195e6239125c9d3a3b98123567c3fae458728a05 org.fcitx.fcitx5.android.plugin.unikey-0.1.2-0-g5a4870c0-armeabi-v7a-release.apk
92acf7662c2b8c830b85176c3b827829875fdbae7d2b232ebf61048c2abc63ad org.fcitx.fcitx5.android.plugin.unikey-0.1.2-0-g5a4870c0-x86-release.apk
3f504e228aa69e68248ff46afc648f74c6e30532198f473af57d2b819af9a575 org.fcitx.fcitx5.android.plugin.unikey-0.1.2-0-g5a4870c0-x86_64-release.apk