Change log since v3.2.3:
- 25f6768 update jni
- f2c2a75 ci: upload arm64_v8a apk and librime_jni.so
- af45cc1 chore: replace name of submodule with repo name
- 6cd82b6 doc: update build guide (osfans#783)
- a52f539 pref: add switch for long clicking to delete candidate
- 1817efa fix: remove duplicated string resource
- 13b8642 chore: change translation
- 041c621 chore: click item in about activity to copy build info
- 6db78b1 feat: add mini keyboard for real keyboard (osfans#765)
- 0e99167 chore: update cmakelists due the change of librime
- 4f6239d chore: update librime
- 41c3afb feat: long click to delete candidate
- 4734583 ci: make filelist after build jni
- 5e61873 fix,refactor(drawable): adjust icon resources
- ddec337 feat(settings): add entry to view real-time logs
- 84836d2 refactor(fragments): separate PrefFragment from PrefMainActivity
- 9857cd4 feat: enable custom crash activity
- 2080ce9 refactor(settings): new LogActivity
- 88935d9 refactor(util): new DeviceInfo
- d6c0d1e refactor(components): new LogView
- d034aa0 feat: record last pid for crash logs
- 1746fa1 chore: add customactivityoncrash dependency
- 39393f6 refactor(util): new Logcat
- b8947af ci: build jni
- bd1ad51 ci: build jni
- aa3299b update custom ci
- f7eb94a perf: adjust LiquidKeyboard candidate UI
- 67975a0 perf: adjust candidate swipe action tigger
- 8762f0f fix: candidate in windows not hiden when liquidkeyboard shown
- 72e5a49 fix: switch hide_comment not works
- 627bc40 feat: swipe left candidates and show liquidkeyboard
- 3aa2bf0 feat: increase page size modes for candidates
- 2b23492 feat: design comment position in liquidkeyboard candidates
- 36b308b feat: show candidates in liquidkeyboard
- 07b21e7 feat: hook candidate commit to space key
- 6e54daa feat: define page_size in perf activity
- d9b4c1f chore: upgrade capn to 0.10.1
- 2cc35de chore: upgrade capn to 0.10.0
- 94b85ed chore: upgrade boost to 1.79.0
- 59cc9fa fix: braceleft and braceright keycode error, commitTextByChar count error
- 2290a5d fix: real keyboard could not input words
- 846cd65 feat: add custom qq group in about activity
- 669171b chore: remove help activity to about activity
- e4de3ad chore: update build time in about preference
- 99cb034 chore: completely remove android_keys from the theme
- 8870368 chore: update build info in about preference
- be97f7f chore: update opencc phrases file
- 838aedd chore: upgrade opencc to 1.1.4
- 5f625d9 chore: show more build info in about preference
- 384f48f perf: improve dark mode compatibility
- 4a2c816 perf: add perfs and evolve key swipe
- 7e81784 fix: liquidkeyboard keywidth not changed when new theme selected
- 0f0a38f chore(Key): move some event fileds to events and fix some error
- c0be8b5 chore: remove parse android_keys
- 2e97211 perf: hide liquidKeyboard when popup keyboard
- ed24746 feat(liquidkeyboard): design which key in new row
- a50f4ad chore: change action_label_type to enter_label_mode in theme
- d428f6c chore: solve conflicts
- fb99245 feat: define enter key label for different sense
- bc98e2c fix: keyboard width error when orientation changed
- ae3db18 chor: update elf file and refresh
- 3618367 feat: support switching from other IME
- 72c35ad chore: apply spotless check result
- 91e1e5d chore(util): tidy up stray util class or object
- 968f4d9 chore(broadcast): move IntentReceiver to broadcast, convert it to Kotlin
- 309210d chore(data): extra opencc part from Config.java
- caabbba chore(symbol): move adapters of Clipboard and Draft to symbol
- 89a1554 chore(data): move Daos of Clipboard and Draft and DbHelper to data
- c89a6ec chore: drop PrettyTime dependency
- 2c7e1f7 chore(data): move DataUtils to data, rename it to DataManager
- 76d4cee chore(data): move Preferences.kt to data, rename it to AppPrefs.kt
- 66e4b7f chore(data): move Config.java to data
- 5e442dd chore(setup): fine tune type to cast in Config.java
- e3c850c chore(util): rename YamlUtils to ConfigGetter
- 269522b chore(util): move and fine tune InputMethodUtils
- 9827d7b chore(core): enhance handle for Rime notification
- 979d46d chore(util): fine tune usages
- 71e5e0b chore(util): remove AndroidVersion.kt
- 555f086 chore: use Kotlin stdlib jdk8 version
- ffbccfe chore(jni): minor change for CMake project name
- ec9dc31 chore(jni): simplification and Clang-Tidy
- 0387c0f chore(jni): re-registry native methods
- 972c8f4 chore(core): Move Rime class into core package
- 31f4f99 chore(jni): add jni-util.h
- 98819db pref: improve compatibility for hook ctrl+c/v/x
- 314dff2 pref: add hook keyboard preferences
- 238c121 pref: preference add auto dark switch
- 81f5ff9 pref: keyboard support dark/light mode
- b6dab80 feat: set keyboard_height in preset_keyboards
- 6618e80 fix: spelling correction
- 4f0cb48 chore: upgrade ndk to 24.0
- 920ca05 ci: upgrade action cache to v3
- ee5c3d6 chore: upgrade librime to latest
- ab643da chore: upgrade gradle to 7.4.2
- b95b308 chore: bump version to 3.2.7
- 71fce4a feat: enhance modifier key
- bacd46d perf: enhance ascii mode
- 5008d36 feat: add symbol switch and symbol label in theme
- 40f57f2 fix: keyboard modifer not be used
- f87df36 update readme
- 3fce6c6 feat: fix ci and add custom-build ci
- 2183f89 sync
- 288b64a sync
- ae09d2e remove jni build action
- bb2252e update elf file
- 14eadf2 fix: creash in SchemaPicker SoundPicker ThemePicker loading dialog
- 1a6d9a8 perf: improve adaptation of setup activity
- 9e59277 chore: print formated init log
- abe4460 core: update jni file
- d8a3379 chore: spotlessApply
- ee0e0d0 feat: add tab switch for LiquidKeyboard
- 1ca5135 perf: improve private protect for draft
- 482a3cd feat: increase imeOptions support
- 6c8f031 fix:
ascii_mode
not being set correctly - bb6cb34 perf: improve key height and keyboard height
- 8c1c187 perf: reduse depoly time for theme, color and sound
- a1bfb62 fix: error reset for sound progress
- 6a2bbc8 chore: upgrade action to v3
- 5f47702 chore: upgrade ktlint to 0.44.0
- d609d72 fix: fix java format violations
- 4f66967 chore: upgrade spotless to 6.3.0
- ba5e3df chore: upgrade google java format to 1.15.0
- b630ca4 chore: remove workaround todo tag
- 7de8add chore: polish string values
- c1f6be9 chore: bump version to 3.2.6
- 426546e chore(jni): use the phony name of librime-octagram
- c08f104 fix(jni): fix librime third-party plugins
- dd56908 chore: upgrade kotlin to 1.6.10
- 7186d86 chore: upgrade spotless to 6.1.2
- 27f2c2c chore: upgrade android build to 7.0.4
- 593a475 chore: upgrade gradle to 7.3.3
- 12b6e1c refactor/fix(setup): try to fix out-of-scope buttons
- eb3790d refactor(settings): fully drop deprecated ProgressDialog
- da5d73d feat(setup): add skip button
- cc1be99 refactor(setup): fine tune layout of SetupFragment
- 3b6d853 refactor(setup): apply spotless refactoring
- 7bd6271 feat(setup): notify user when setup wizard on pause
- 71dcda4 feat(setup): introduce setup wizard
- f21b2a0 refactor(settings): minor adjustment for DialogSeekBarPreference
- 4cd4982 feat: privacy protection for draft
- 3526ae3 refactor: clipboard and draft
- 9772300 feat: add draft manager
- 37dbe5d fix: uncaught exception osfans#657
- 5fbb652 chore(doc): remove git clone folder
- 536c618 fix: crashes when switch to ASCII keyboard(fix osfans#624)
- a6e4a1d fix: crashes without sound yaml file
- 9e4fc05 feat: add sound param in theme
- 4f9ea9e feat: add sound package support
- 8fba667 chore: replace wrong class doc
- 95afc3d refactor: vars in soundPicker
- 3ffef79 fix(Sound): crash when soundpackage missing
- 0252b6f feat: add sound package support
- b698780 feat: add sticky_lines_land for candidate window
- 564ce92 feat: add sticky_lines_land for candidate window
- 945a7d7 refresh
- 9c968de fix(liquidKeyboard): fix round corner and adjust tongwenfeng
- 30d0040 fix(liquidKeyboard): fix round corner and adjust tongwenfeng
- 215e8b6 chore: upgrade boost to 1.78.0
- 3166f6c feat(settings,setup): deploy & sync: don't block the main dispatchers
- 7726ebf fix(settings): fix some crashes in settings when Trime is not the default IME
- 55036aa fix(settings): also apply keyboard UI changes while deploying
- 4cb8108 feat:(settings): the restart after deploy is not required now
- ddf696d refresh
- 1f495e3 fix(jni): fix the freeze after deploy
- d3d1604 fix: fix shift lock regression in osfans#619
- 1e63567 fix(util): close osfans#617
- ad6240c fix(text): show OpenCC comment correctly
- 13a9e8c fix: use more secure SHA-2
- 25f7301 chore(ci): use SHA-1 algorithm for cache key is enough
- 4cb5505 fix(ci): extract essential elements for cache hit
- 61eee60 chore: bump version to 3.2.5 for next release
- d6da804 fix: key_text_size判断错误
- a24d0eb fix: shift选中时,光标移动不生效
- 22c6c83 fix:
key_text_size
,symbol_text_size
,key_long_text_size
在style节点下的配置不生效 - 6e8835c fix: 布局配置读取修改
- 9ce51de chore: upgrade spotless gradle plugin to 6.0.2
- ac2e4f1 chore(ci): upgrade to JDK 17 for ci build
- 0e5f364 feat: add JDK 17 build support
- c3fc3e9 chore: add workaround for google-java-format broken on JDK 16+
- ff92f08 chore: upgrade gralde to 7.3.1 to support JDK 17
- 24688b2 chore: disable universal APK that includes all ABIs
- f87ac74 feat: enable manually trigger jni build with trick
- d35d850 chore: update outdated authors file
- 9a23203 chore: upgrade ndk to 23.1.7779620
- 6427e42 fix(core): ignore outdated onUpdateCursorAnchorInfo
- 2d00361 refactor(core): improve the calculation of cursor RectF
- 4a5bf92 fix(core): fix popup position problem when composing text disabled
- 239a62a chore(assets): add notes about margins
- d2c6486 fix(core): fix the position of candidate popup window
- 22ee13c fix(ci): set 90 retention days in commit ci
- c420e62 fix(text): fix onText parsing
- 4552e84 fix(text): fix a stack overflow in TextInputManager.onText
- 7c69105 chore: unify workflow name(ci skip)
- ebf7af0 chore: upgrade opencc to 1.1.3
- 82f6042 pref(core): remove unnecessary
finishComposingText
- 0409095 fix(jni): fix a null pointer check
- 6c89453 chore: upgrade prettytime to 5.0.2
- bcf37bc chore(ci): switch to submodule source code
- 4c231a9 chore: upgrade capnproto to 0.9.1
- 118f7f6 chore(ci): change multiple artifacts to 'trime.zip'
- af542bf chore(ci): skip to install dependency if hit cache
- 224b23e fix(util): clipboard command: do nothing if clipboard is empty
- b24bb12 fix(core, util): fix commands that return non-String CharSequence
- 085d1de fix(text): fix combined shortcuts
- bea11b2 fix(assets): fix the redo shortcut
- 368bd4d refactor(core, text): send shortcuts directly
- 1e77057 refactor(core, text): handle KEYCODE_MENU in Trime directly
- 8823692 chore(CI): enable JNI cache for release CI
- 8c673fb chore(CI): add app/build.gradle to the JNI cache hash
- 27c2198 chore(CI): move cache-hash.sh to script dir
- 2253e08 chore(CI): add JNI cache
- c62d45b fix(core): fix unexpected text clears after popup
- 7e021f4 fix(TextInputManager): fix the %3 argument of commands
- d960a75 fix(EditorInstance): fix UninitializedPropertyAccessException
- 0dee8ee chore: polish English README file
- 676f609 fix: fix broken build ci badge
- 1ea4b1e chore: upgrade code style tools
- 7cfe3ce chore: enable building multiple apks per abi
- e0950e9 chore: remove obsolete gitattributes rules
- 6736263 fix(jni): disable statx
- 93b68b3 chore(jni): allow specifying prebuilt JNI libraries
- 7a1b187 chore: add name and version to artifactory
- 35960c0 chore(jni): enable snappy
- c995915 chore(jni): don't compile library tools
- 8d9f40e chore(jni): use dependencies from librime as much as possible
- e45801a chore(build): add more build variants
- f323fd5 chore(jni): build everything into one library
- d7c04c8 fix(TextInputMangager): move the logic back to the right position
- cb10166 chore: polish gitignore by template
- dc06354 fix(KeyboardView): IllegalFormatConversionException in debug build
- e863ad1 chore: bump version to 3.2.4 for next release cycle
- b6f3253 doc: update pull request template
- 8232e98 chore: remove obsolete submodule config
- 3076e49 chore(submodule): ignore changes that CMake makes
- c096c9b refactor(jni): add the rime plugins back
- d868682 fix(jni): remove unnecessary CACHE entry
- b2bec59 refactor(jni): refactor the cmake files
- a99fb0a fix(KeyboardView): multpoint touch wrongly recognized as swipe
- 04c9591 doc: fix pull request markdown style
- 08c381d doc: update build guide of macOS
- ef786b6 doc: make clear that every commit should be in good state
- bb8ffe5 chore: add theme in bug report template
- 79aac35 refactor(settings): enhance permissions request
- 7a30499 refactor(util): introduce AndroidVersion
- 0de8f23 refactor: apply spotless to unify style
- 5200a7e refactor(settings, lifecycle): fine tune coroutines scope settings
- 843f52d refactor(core): split more code from Trime service
- bfa954a refactor(core): fine tune AlertDialog
- 94d831c refactor(core): fine tune popup window
- 6305d67 refactor(components): migrate AlertDialog to AndroidX
- da18332 refactor(util): fine tune ImeUtils (InputMethodUtils)
- f5ca6bb fix(core): unexpectedly select all action while typing
- fd687dd feat(res): add default system subtype (slogan)
- afc3f2f refactor(core, text): split most code related to text input in Trime
- a4290fa refactor(lifecycle): enhance lifecycle management
- cd018f8 refactor(text): optimize how to recompute tab geometry
- df9c966 refactor(text): reduce redundant code and normalize variable names
- ec8f24c refactor(text): introduce GraphicUtils to Candidate
- da36fa0 refactor(text): Optimize how to recompute tab geometry
- 3f8824d refactor(text): split code related to font customization
- b2580d9 refactor(text): reduce redundant code and normalize variable names
- 902d400 perf: reduce keyboard and one_hand_mode loading time
- 8ea42b8 ci: rename workflow to same style
- fb85dd4 ci: migrate workflows from adopt to temurin
- ca099fe Move keystore properties to keystore.properties
- 8fe8c71 fix NullPointerException
- 288573b Init the colors config before load candidate background
- cd19c26 Fix a ClassCastException caused by the clipboard command
- 3d9a6a3 doc: update inappropriate translation
- 95e117a 优化候选栏。 当普通键盘的高亮候选词、液态键盘的高亮tab在屏幕外时,自动调整候选栏的滚动位置。
- 712e521 优化liquidKeyboard。 打开关闭的方式由开关改为command。支持使用名称和序号两种方式打开指定的liquidKeyboard Tab。修改同文风主题主键盘的颜文字按键为剪贴板管理器。
- 82a1abd 为 osfans#524 增加开关
- 2893c46 优化键盘按键滑动事件的触发
- 0db9728 从上游刷新java和res两个目录的全部文件
- 58e7b83 refactor: try to meet spotless styling
- 61f278a refactor(core/Trime; keyboard/KeyboardView): remove unusable swipe action
- f147df8 perf(core/Trime): not pre-declare View to avoid static field leak
- 0fd7dd6 fix: cannot display liquid keyboard view
- 8974ebe refactor(res/layout; core/Trime): reorganize layout resources
- ff985af refactor(keyboard/KeyboardView): introduce LeakGuardHandlerWrapper
- 2951a08 perf(core/Trime): refactor handler class
- 9eb138e refactor(setup/Config): reduce context parameter usages
- 2c9bc2f feat: enhance haptic feedback
- f058710 fix: key properties should fallback to keyboard's
- 86ad95e fix: cannot seek progress of repeat interval setting
- f53ffcd perf(core): reorganize and improve Trime service
- a887ed1 refactor(core): fix typos
- eea722f fix(res): make Options Menu follow the UI mode (osfans#521)
- ecbb36e refactor(symbol): fix typos
- 611cbb3 refactor(clipboard): fix typos
- 65e4038 refactor/perf(keyboard): improve KeyboardSwitch(er)
- 3c2da03 refactor(keyboard): move and rename TrimeKeyEffects
- 8f95b32 refactor(keyboard): remove unused KeyboardManager
- e7a878a chore: clean obsolete artwork
- 8dc7ba5 chore: upgrade spotless plugin to 5.15.0
- af19201 chore: upgrade google java format to 1.11.0
- 950ff77 为 osfans#524 增加开关
- 16e72a2 update Rsa & remove logcat
- ae06ceb fix merge error
- 8c04f2f 增加调用其他App输入内容的接口,并为同文风增加手写开关,替换原有空格旁边的”中“按键
- 14e9b2e doc: add contribution guide in pull request template
- 849fab4 doc: add contribution guide in readme
- b8f4551 feat: add contribution guide
- 69dbd54 feat: add code of conduct file
- f9269eb fix: fix fdroid build by remove unverified repo
- b72d273 chore: remove obsolete readme file
- 822d36b chore: polish english readme
- bab1f3b chore: change readme referrer
- 325873f doc: set main readme to en
- 42d743b chore: polish en readme
- c82ca11 fix: fix image align by change icon
- ffed387 chore: fix typos in README_en.md
- 1d83f74 chore: fix typos in READMEs
- e66d97a chore: adjust READMEs' copywriting
- 36aafc3 chore: update README.md
- 61021a1 refactor: lower case package name and split
- a971088 fix: fix merge conflict and style
- fc3c75f utils: try to meet styling specification
- 512cdc8 utils:
YamlUtils
: new, adapted fromConfig
- 8403089 utils:
RimeUtils
: reorganize - 33a893d utils:
ShortcutUtils
: mark new line; removeFunction
- 25c7b26 utils:
StringUtils
: convert to Kotlin - 559e43f utils:
ShortcutUtils
: new, to replaceFunction
- a4c31cb utils:
StringUtils
: rename to fix typo - 4f2f1cf utils:
ImeUtils
: new, move from PrefMainActivity's companion object - 3362172 fix backfround
- 3c78028 fix height
- aeabc54 bug-fix & new feature 1. 使用ASCII键盘输入英文字符时,直接上屏,跳过复杂的调用,从表面上解决issue osfans#301 知乎输入英语后输入法失去焦点的问题 (从100%复现变为概率性发生) 2. 优化预设皮肤的参数。 3. 在同文风皮肤的默认键盘中增加”更多“按钮,点击打开liquidKeyboard 4. osfans#512 优化背景解析和加载的方法。支持把背景图放置到“background/background_folder”目录。 5. 调整皮肤参数位置。背景图/色从style统一移动到fallback_colors,并且由preset_color_schemes来定义。(为了后续的皮肤优化,代码逻辑简化,不对旧皮肤的相关参数做兼容)包含:root_background candidate_background 废弃layout/background, 改为text_back_color值既可以是色彩、也可以是背景图(window_background) 6. 修复 osfans#515 的bug并调整皮肤中keyboard_padding开头的多个参数名和相关算法,增加左右手键盘switch。在默认皮肤-符号键盘提供了左右手模式的示例(长按,?两个按键)