·
769 commits
to develop
since this release
Change log from v3.2.2 to v3.2.16: v3.2.2...v3.2.16
- [74b6afb] - chore: remove obsolete script
- [9937980] - chore: upgrade gradle to 7.2
- [6ec4955] - chore: bump version to 3.2.3
- [aeabc54] - bug-fix & new feature
- [3c78028] - fix height
- [3362172] - fix backfround
- [4f2f1cf] - utils:
ImeUtils
: new, move from PrefMainActivity's companion object - [a4c31cb] - utils:
StringUtils
: rename to fix typo - [559e43f] - utils:
ShortcutUtils
: new, to replaceFunction
- [25c7b26] - utils:
StringUtils
: convert to Kotlin - [33a893d] - utils:
ShortcutUtils
: mark new line; removeFunction
- [8403089] - utils:
RimeUtils
: reorganize - [512cdc8] - utils:
YamlUtils
: new, adapted fromConfig
- [fc3c75f] - utils: try to meet styling specification
- [a971088] - fix: fix merge conflict and style
- [61021a1] - refactor: lower case package name and split
- [36aafc3] - chore: update README.md
- [e66d97a] - chore: adjust READMEs' copywriting
- [1d83f74] - chore: fix typos in READMEs
- [ffed387] - chore: fix typos in README_en.md
- [c82ca11] - fix: fix image align by change icon
- [42d743b] - chore: polish en readme
- [325873f] - doc: set main readme to en
- [bab1f3b] - chore: change readme referrer
- [822d36b] - chore: polish english readme
- [b72d273] - chore: remove obsolete readme file
- [f9269eb] - fix: fix fdroid build by remove unverified repo
- [69dbd54] - feat: add code of conduct file
- [b8f4551] - feat: add contribution guide
- [849fab4] - doc: add contribution guide in readme
- [14e9b2e] - doc: add contribution guide in pull request template
- [af19201] - chore: upgrade google java format to 1.11.0
- [8dc7ba5] - chore: upgrade spotless plugin to 5.15.0
- [e7a878a] - chore: clean obsolete artwork
- [8f95b32] - refactor(keyboard): remove unused KeyboardManager
- [3c2da03] - refactor(keyboard): move and rename TrimeKeyEffects
- [65e4038] - refactor/perf(keyboard): improve KeyboardSwitch(er)
- [611cbb3] - refactor(clipboard): fix typos
- [ecbb36e] - refactor(symbol): fix typos
- [eea722f] - fix(res): make Options Menu follow the UI mode (osfans#521)
- [a887ed1] - refactor(core): fix typos
- [f53ffcd] - perf(core): reorganize and improve Trime service
- [86ad95e] - fix: cannot seek progress of repeat interval setting
- [f058710] - fix: key properties should fallback to keyboard's
- [2c9bc2f] - feat: enhance haptic feedback
- [9eb138e] - refactor(setup/Config): reduce context parameter usages
- [2951a08] - perf(core/Trime): refactor handler class
- [ff985af] - refactor(keyboard/KeyboardView): introduce LeakGuardHandlerWrapper
- [8974ebe] - refactor(res/layout; core/Trime): reorganize layout resources
- [0fd7dd6] - fix: cannot display liquid keyboard view
- [f147df8] - perf(core/Trime): not pre-declare View to avoid static field leak
- [61f278a] - refactor(core/Trime; keyboard/KeyboardView): remove unusable swipe action
- [58e7b83] - refactor: try to meet spotless styling
- [2893c46] - 优化键盘按键滑动事件的触发
- [82a1abd] - 为 osfans#524 增加开关
- [712e521] - 优化liquidKeyboard。
- [95e117a] - 优化候选栏。
- [3d9a6a3] - doc: update inappropriate translation
- [cd19c26] - Fix a ClassCastException caused by the clipboard command
- [288573b] - Init the colors config before load candidate background
- [8fe8c71] - fix NullPointerException
- [ca099fe] - Move keystore properties to keystore.properties
- [fb85dd4] - ci: migrate workflows from adopt to temurin
- [8ea42b8] - ci: rename workflow to same style
- [902d400] - perf: reduce keyboard and one_hand_mode loading time
- [b2580d9] - refactor(text): reduce redundant code and normalize variable names
- [3f8824d] - refactor(text): split code related to font customization
- [da36fa0] - refactor(text): Optimize how to recompute tab geometry
- [ec8f24c] - refactor(text): introduce GraphicUtils to Candidate
- [df9c966] - refactor(text): reduce redundant code and normalize variable names
- [cd018f8] - refactor(text): optimize how to recompute tab geometry
- [a4290fa] - refactor(lifecycle): enhance lifecycle management
- [afc3f2f] - refactor(core, text): split most code related to text input in Trime
- [fd687dd] - feat(res): add default system subtype (slogan)
- [f5ca6bb] - fix(core): unexpectedly select all action while typing
- [da18332] - refactor(util): fine tune ImeUtils (InputMethodUtils)
- [6305d67] - refactor(components): migrate AlertDialog to AndroidX
- [94d831c] - refactor(core): fine tune popup window
- [bfa954a] - refactor(core): fine tune AlertDialog
- [843f52d] - refactor(core): split more code from Trime service
- [5200a7e] - refactor(settings, lifecycle): fine tune coroutines scope settings
- [0de8f23] - refactor: apply spotless to unify style
- [7a30499] - refactor(util): introduce AndroidVersion
- [79aac35] - refactor(settings): enhance permissions request
- [bb8ffe5] - chore: add theme in bug report template
- [ef786b6] - doc: make clear that every commit should be in good state
- [08c381d] - doc: update build guide of macOS
- [04c9591] - doc: fix pull request markdown style
- [a99fb0a] - fix(KeyboardView): multpoint touch wrongly recognized as swipe
- [b2bec59] - refactor(jni): refactor the cmake files
- [d868682] - fix(jni): remove unnecessary CACHE entry
- [c096c9b] - refactor(jni): add the rime plugins back
- [3076e49] - chore(submodule): ignore changes that CMake makes
- [8232e98] - chore: remove obsolete submodule config
- [b6f3253] - doc: update pull request template
- [e863ad1] - chore: bump version to 3.2.4 for next release cycle
- [dc06354] - fix(KeyboardView): IllegalFormatConversionException in debug build
- [cb10166] - chore: polish gitignore by template
- [d7c04c8] - fix(TextInputMangager): move the logic back to the right position
- [f323fd5] - chore(jni): build everything into one library
- [e45801a] - chore(build): add more build variants
- [8d9f40e] - chore(jni): use dependencies from librime as much as possible
- [c995915] - chore(jni): don't compile library tools
- [35960c0] - chore(jni): enable snappy
- [7a1b187] - chore: add name and version to artifactory
- [93b68b3] - chore(jni): allow specifying prebuilt JNI libraries
- [6736263] - fix(jni): disable statx
- [e0950e9] - chore: remove obsolete gitattributes rules
- [7cfe3ce] - chore: enable building multiple apks per abi
- [1ea4b1e] - chore: upgrade code style tools
- [676f609] - fix: fix broken build ci badge
- [0dee8ee] - chore: polish English README file
- [d960a75] - fix(EditorInstance): fix UninitializedPropertyAccessException
- [7e021f4] - fix(TextInputManager): fix the %3 argument of commands
- [c62d45b] - fix(core): fix unexpected text clears after popup
- [2253e08] - chore(CI): add JNI cache
- [27c2198] - chore(CI): move cache-hash.sh to script dir
- [8c673fb] - chore(CI): add app/build.gradle to the JNI cache hash
- [8823692] - chore(CI): enable JNI cache for release CI
- [1e77057] - refactor(core, text): handle KEYCODE_MENU in Trime directly
- [368bd4d] - refactor(core, text): send shortcuts directly
- [bea11b2] - fix(assets): fix the redo shortcut
- [085d1de] - fix(text): fix combined shortcuts
- [b24bb12] - fix(core, util): fix commands that return non-String CharSequence
- [224b23e] - fix(util): clipboard command: do nothing if clipboard is empty
- [af542bf] - chore(ci): skip to install dependency if hit cache
- [118f7f6] - chore(ci): change multiple artifacts to 'trime.zip'
- [4c231a9] - chore: upgrade capnproto to 0.9.1
- [bcf37bc] - chore(ci): switch to submodule source code
- [6c89453] - chore: upgrade prettytime to 5.0.2
- [0409095] - fix(jni): fix a null pointer check
- [82f6042] - pref(core): remove unnecessary
finishComposingText
- [ebf7af0] - chore: upgrade opencc to 1.1.3
- [7c69105] - chore: unify workflow name(ci skip)
- [4552e84] - fix(text): fix a stack overflow in TextInputManager.onText
- [c420e62] - fix(text): fix onText parsing
- [22ee13c] - fix(ci): set 90 retention days in commit ci
- [d2c6486] - fix(core): fix the position of candidate popup window
- [239a62a] - chore(assets): add notes about margins
- [4a5bf92] - fix(core): fix popup position problem when composing text disabled
- [2d00361] - refactor(core): improve the calculation of cursor RectF
- [6427e42] - fix(core): ignore outdated onUpdateCursorAnchorInfo
- [9a23203] - chore: upgrade ndk to 23.1.7779620
- [d35d850] - chore: update outdated authors file
- [f87ac74] - feat: enable manually trigger jni build with trick
- [24688b2] - chore: disable universal APK that includes all ABIs
- [ff92f08] - chore: upgrade gralde to 7.3.1 to support JDK 17
- [c3fc3e9] - chore: add workaround for google-java-format broken on JDK 16+
- [0e5f364] - feat: add JDK 17 build support
- [ac2e4f1] - chore(ci): upgrade to JDK 17 for ci build
- [9ce51de] - chore: upgrade spotless gradle plugin to 6.0.2
- [6e8835c] - fix: 布局配置读取修改
- [22c6c83] - fix:
key_text_size
,symbol_text_size
,key_long_text_size
在style节点下的配置不生效 - [a24d0eb] - fix: shift选中时,光标移动不生效
- [d6da804] - fix: key_text_size判断错误
- [61eee60] - chore: bump version to 3.2.5 for next release
- [4cb5505] - fix(ci): extract essential elements for cache hit
- [25f7301] - chore(ci): use SHA-1 algorithm for cache key is enough
- [13a9e8c] - fix: use more secure SHA-2
- [ad6240c] - fix(text): show OpenCC comment correctly
- [1e63567] - fix(util): close osfans#617
- [d3d1604] - fix: fix shift lock regression in osfans#619
- [1f495e3] - fix(jni): fix the freeze after deploy
- [4cb8108] - feat:(settings): the restart after deploy is not required now
- [55036aa] - fix(settings): also apply keyboard UI changes while deploying
- [7726ebf] - fix(settings): fix some crashes in settings when Trime is not the default IME
- [3166f6c] - feat(settings,setup): deploy & sync: don't block the main dispatchers
- [215e8b6] - chore: upgrade boost to 1.78.0
- [9c968de] - fix(liquidKeyboard): fix round corner and adjust tongwenfeng
- [b698780] - feat: add sticky_lines_land for candidate window
- [0252b6f] - feat: add sound package support
- [3ffef79] - fix(Sound): crash when soundpackage missing
- [95afc3d] - refactor: vars in soundPicker
- [8fba667] - chore: replace wrong class doc
- [4f9ea9e] - feat: add sound package support
- [9e4fc05] - feat: add sound param in theme
- [a6e4a1d] - fix: crashes without sound yaml file
- [536c618] - fix: crashes when switch to ASCII keyboard(fix osfans#624)
- [5fbb652] - chore(doc): remove git clone folder
- [37dbe5d] - fix: uncaught exception osfans#657
- [9772300] - feat: add draft manager
- [3526ae3] - refactor: clipboard and draft
- [4cd4982] - feat: privacy protection for draft
- [f21b2a0] - refactor(settings): minor adjustment for DialogSeekBarPreference
- [71dcda4] - feat(setup): introduce setup wizard
- [7bd6271] - feat(setup): notify user when setup wizard on pause
- [3b6d853] - refactor(setup): apply spotless refactoring
- [cc1be99] - refactor(setup): fine tune layout of SetupFragment
- [da5d73d] - feat(setup): add skip button
- [eb3790d] - refactor(settings): fully drop deprecated ProgressDialog
- [12b6e1c] - refactor/fix(setup): try to fix out-of-scope buttons
- [593a475] - chore: upgrade gradle to 7.3.3
- [27f2c2c] - chore: upgrade android build to 7.0.4
- [7186d86] - chore: upgrade spotless to 6.1.2
- [dd56908] - chore: upgrade kotlin to 1.6.10
- [c08f104] - fix(jni): fix librime third-party plugins
- [426546e] - chore(jni): use the phony name of librime-octagram
- [c1f6be9] - chore: bump version to 3.2.6
- [7de8add] - chore: polish string values
- [b630ca4] - chore: remove workaround todo tag
- [ba5e3df] - chore: upgrade google java format to 1.15.0
- [4f66967] - chore: upgrade spotless to 6.3.0
- [d609d72] - fix: fix java format violations
- [5f47702] - chore: upgrade ktlint to 0.44.0
- [6a2bbc8] - chore: upgrade action to v3
- [a1bfb62] - fix: error reset for sound progress
- [8c1c187] - perf: reduse depoly time for theme, color and sound
- [bb6cb34] - perf: improve key height and keyboard height
- [6c8f031] - fix:
ascii_mode
not being set correctly - [482a3cd] - feat: increase imeOptions support
- [1ca5135] - perf: improve private protect for draft
- [ee0e0d0] - feat: add tab switch for LiquidKeyboard
- [d8a3379] - chore: spotlessApply
- [9e59277] - chore: print formated init log
- [1a6d9a8] - perf: improve adaptation of setup activity
- [14eadf2] - fix: creash in SchemaPicker SoundPicker ThemePicker loading dialog
- [40f57f2] - fix: keyboard modifer not be used
- [5008d36] - feat: add symbol switch and symbol label in theme
- [bacd46d] - perf: enhance ascii mode
- [71fce4a] - feat: enhance modifier key
- [b95b308] - chore: bump version to 3.2.7
- [ab643da] - chore: upgrade gradle to 7.4.2
- [ee5c3d6] - chore: upgrade librime to latest
- [920ca05] - ci: upgrade action cache to v3
- [4f0cb48] - chore: upgrade ndk to 24.0
- [6618e80] - fix: spelling correction
- [b6dab80] - feat: set keyboard_height in preset_keyboards
- [81f5ff9] - pref: keyboard support dark/light mode
- [238c121] - pref: preference add auto dark switch
- [314dff2] - pref: add hook keyboard preferences
- [98819db] - pref: improve compatibility for hook ctrl+c/v/x
- [31f4f99] - chore(jni): add jni-util.h
- [972c8f4] - chore(core): Move Rime class into core package
- [0387c0f] - chore(jni): re-registry native methods
- [ec9dc31] - chore(jni): simplification and Clang-Tidy
- [ffbccfe] - chore(jni): minor change for CMake project name
- [555f086] - chore: use Kotlin stdlib jdk8 version
- [71e5e0b] - chore(util): remove AndroidVersion.kt
- [979d46d] - chore(util): fine tune usages
- [9827d7b] - chore(core): enhance handle for Rime notification
- [269522b] - chore(util): move and fine tune InputMethodUtils
- [e3c850c] - chore(util): rename YamlUtils to ConfigGetter
- [5e442dd] - chore(setup): fine tune type to cast in Config.java
- [66e4b7f] - chore(data): move Config.java to data
- [76d4cee] - chore(data): move Preferences.kt to data, rename it to AppPrefs.kt
- [2c7e1f7] - chore(data): move DataUtils to data, rename it to DataManager
- [c89a6ec] - chore: drop PrettyTime dependency
- [89a1554] - chore(data): move Daos of Clipboard and Draft and DbHelper to data
- [caabbba] - chore(symbol): move adapters of Clipboard and Draft to symbol
- [309210d] - chore(data): extra opencc part from Config.java
- [968f4d9] - chore(broadcast): move IntentReceiver to broadcast, convert it to Kotlin
- [91e1e5d] - chore(util): tidy up stray util class or object
- [72c35ad] - chore: apply spotless check result
- [3618367] - feat: support switching from other IME
- [bc98e2c] - fix: keyboard width error when orientation changed
- [fb99245] - feat: define enter key label for different sense
- [d428f6c] - chore: solve conflicts
- [a50f4ad] - chore: change action_label_type to enter_label_mode in theme
- [ed24746] - feat(liquidkeyboard): design which key in new row
- [2e97211] - perf: hide liquidKeyboard when popup keyboard
- [c0be8b5] - chore: remove parse android_keys
- [0f0a38f] - chore(Key): move some event fileds to events and fix some error
- [7e81784] - fix: liquidkeyboard keywidth not changed when new theme selected
- [4a2c816] - perf: add perfs and evolve key swipe
- [384f48f] - perf: improve dark mode compatibility
- [5f625d9] - chore: show more build info in about preference
- [838aedd] - chore: upgrade opencc to 1.1.4
- [be97f7f] - chore: update opencc phrases file
- [8870368] - chore: update build info in about preference
- [99cb034] - chore: completely remove android_keys from the theme
- [e4de3ad] - chore: update build time in about preference
- [669171b] - chore: remove help activity to about activity
- [846cd65] - feat: add custom qq group in about activity
- [2290a5d] - fix: real keyboard could not input words
- [59cc9fa] - fix: braceleft and braceright keycode error, commitTextByChar count error
- [94b85ed] - chore: upgrade boost to 1.79.0
- [2cc35de] - chore: upgrade capn to 0.10.0
- [d9b4c1f] - chore: upgrade capn to 0.10.1
- [6e54daa] - feat: define page_size in perf activity
- [07b21e7] - feat: hook candidate commit to space key
- [36b308b] - feat: show candidates in liquidkeyboard
- [2b23492] - feat: design comment position in liquidkeyboard candidates
- [3aa2bf0] - feat: increase page size modes for candidates
- [627bc40] - feat: swipe left candidates and show liquidkeyboard
- [72e5a49] - fix: switch hide_comment not works
- [8762f0f] - fix: candidate in windows not hiden when liquidkeyboard shown
- [67975a0] - perf: adjust candidate swipe action tigger
- [f7eb94a] - perf: adjust LiquidKeyboard candidate UI
- [39393f6] - refactor(util): new Logcat
- [1746fa1] - chore: add customactivityoncrash dependency
- [d034aa0] - feat: record last pid for crash logs
- [d6c0d1e] - refactor(components): new LogView
- [88935d9] - refactor(util): new DeviceInfo
- [2080ce9] - refactor(settings): new LogActivity
- [9857cd4] - feat: enable custom crash activity
- [84836d2] - refactor(fragments): separate PrefFragment from PrefMainActivity
- [ddec337] - feat(settings): add entry to view real-time logs
- [5e61873] - fix,refactor(drawable): adjust icon resources
- [41c3afb] - feat: long click to delete candidate
- [4f6239d] - chore: update librime
- [0e99167] - chore: update cmakelists due the change of librime
- [6db78b1] - feat: add mini keyboard for real keyboard (osfans#765)
- [041c621] - chore: click item in about activity to copy build info
- [13b8642] - chore: change translation
- [1817efa] - fix: remove duplicated string resource
- [a52f539] - pref: add switch for long clicking to delete candidate
- [6cd82b6] - doc: update build guide (osfans#783)
- [af45cc1] - chore: replace name of submodule with repo name
- [f2c2a75] - ci: upload arm64_v8a apk and librime_jni.so
- [68de0c6] - doc: polish readme document [ci skip]
- [8f12815] - doc: minor change words in readme
- [7cacd64] - chore: bump version to 3.2.8
- [9fb5c3d] - feat: long click to delete clipboard item
- [05428eb] - chore(gradle): get git branch info from ci
- [0572618] - fix: selected text not provide to presetkey option
- [53b22c3] - fix: KP_0 - KP_9 could not input
- [3d0c03d] - refactor: improve commit text logic and performance
- [7a9a691] - fix: wrong key background
- [8f4d027] - fix: missing default.custom.yaml
- [c685ddf] - chore: upgrade gradle to 7.5
- [f58516d] - fix: fix copy text crash issue
- [3447848] - chore: clean dead code in manifest
- [cb342c3] - fix: long click to delete wrong behaviour
- [652a867] - chore: upgrade capnp to 0.10.2
- [908637e] - feat: show variable length keys in liquid keyboard
- [d5ad817] - feat: ignore Shift locke for space, number and symbol
- [23b6de4] - fix: bug in modify keys
- [6da7a58] - feat: change key label when shift key on
- [9b8d8d8] - fix: some key with shift couldn't input in ascii mode
- [cd72053] - fix: modifier state lost when longclick keys
- [76fc165] - feat: not use shifted label when Shift lock ignored
- [56170d9] - feat: ignore modifer keys when preset key has modifer
- [72845e3] - fix: commit char when librime not process key
- [3ae3273] - fix: shift_lock value ascii_long not work
- [57188bc] - perf: show ascii label when ascii_punct on
- [5b48bc2] - fix: num key not work, show shift label when alt/meta/ctrl on
- [1781a59] - feat(data): implement data synchronization in DataManager
- [26849eb] - refactor(data): replace prepareRime with sync in Config
- [fee2036] - refactor(components): optimize logic in ResetAssetsDialog
- [1d28629] - refactor(components): optimize logic in SchemaPickerDialog
- [63fd86b] - refactor(ui): put all ui-related files into ui directory
- [305bf2b] - refactor(ui): new MainViewModel
- [545a392] - refactor(ui): apply MainViewModel to PerfMainActivity and its fragments
- [be95e64] - refactor(ui): reorganize preference screen
- [44f5372] - refactor(ui): rename classes to be consistent with new preference names
- [ed92809] - refactor(util): implement withLoadingDialog for lifecycleCoroutineScope
- [3bad159] - refactor(ui): apply new progress dialog implementation
- [1d9f2e8] - refactor(ui): improve code logic in ThemePickerDialog
- [0dfcf07] - fix(ui): fail to enable or disable schema(s) sometimes
- [129b90b] - refactor(ui): improve code logic in SoundPickerDialog
- [96ed341] - chore: set compileOptions
- [fa4dbbb] - refactor(ui): improve code logic in ColorPickerDialog
- [c6db387] - fix(ui): "Sync in background" preference never show the time and status of last sync
- [f36ff94] - refactor: apply spotless check
- [ce55836] - refactor(res): polish translations
- [1ce3bec] - chore: disable desugaring temporarily
- [4c39d67] - fix(config): endless loop in setTheme
- [0058e89] - fix: hide_comment not works
- [2055637] - feat: manage data in clipboard / draft / collection
- [b18c7ec] - chore: move acticity part to activity alias
- [963998f] - feat: config apps not save draft, increase save draft frequency
- [33c3487] - feat: floating window for liquid keyboard
- [0c8f884] - chore: bump version to 3.2.9
- [7e40542] - feat: input symbol in liquid Keyboard
- [c8c2867] - chore: remove redundant items in manifest
- [8f12555] - fix(data): should list sound profiles in the subdir
- [3dfc4ed] - chore: add junit test implementations
- [312452e] - refactor(data): remove unused functions in Config.java
- [8c1839e] - chore: polish methods to get custom build config fields
- [1ba414e] - chore: update gradle build tools plugin to 7.2.2
- [634d114] - refactor(ui): improve how to show license page
- [641afed] - fix(ui): the buttons in the navigation bar were difficult to see
- [e727d23] - feat(ui): add animation when navigate between the fragments
- [5b7bcbc] - refactor(ui): polish LiquidKeyboardActivity
- [9e0e83f] - fix(ui/data): try to fix hardcoded data dir
- [e43b928] - refactor(ui): reorder preferences in OtherFragment
- [8c6d777] - fix(ui): navigation bar overlaid the last preference
- [0a69316] - refactor(ui): fine tune DialogSeekBarPreference
- [fc1d671] - chore: migrate to new gradle settings management
- [35002f0] - chore: update cmake to 3.22.1
- [d1c731b] - feat/refactor(ime): no permission required to show popups above the input view ...
- [bb3d9b3] - feat(ui): simplify the picker creation with implementing CoroutineChoiceDialog class
- [ad142f2] - refactor(ime): move all show-dialog-related methods to Kotlin side ...
- [c4e2c80] - refactor(ui): apply the new show picker methods in activity fragments
- [97cf4a0] - refactor(ui): remove old picker implementations
- [1d750ee] - chore: remove system alter window permission in manifest
- [948877e] - refactor(res): remove redundant layout files
- [677106c] - feat(ui): basically implement FolderPickerPreference
- [472bb48] - chore: update dependencies
- [bd36499] - feat(util): implement UriUtils
- [6964d23] - feat(ui): support to choose data directory via SAF
- [c537038] - chore: minor reformat manifest
- [170960f] - chore: fix code style in manifest
- [dddf91c] - feat(util): add SystemServices to contain frequently used services
- [f57e137] - chore: introduce XXPermission to simplify permission request process
- [da9ce3e] - refactor(ui): apply XXPermission APIs in PerfMainActivity
- [faed379] - chore: add andoridx room to manage database
- [af2a1d0] - feat(data): initialize androidx room database stuffs
- [be9d3ff] - feat(data): initialize ClipboardHelper to enhance management of clipboard
- [dc04a18] - chore: mark argument to export room database architecture
- [f47f578] - refactor: remove redundant construct parameter of Rime and Config class
- [322cc76] - refactor(ime/symbol): improve LiquidKeyboard UI logic
- [f587539] - refactor: adjust input views
- [d6b824b] - refactor(data): complete new database stuffs
- [d7cf6be] - feat(data): add and apply migration methods to database
- [03f05a8] - feat(data): apply coroutine to room database stuffs
- [b92648b] - refactor(data): adjust database migrate methods
- [1591ea0] - refactor(data): rewrite implementations for database bean displaying
- [619008f] - refactor(data): continue to improve LiquidKeyboard implementations
- [42008c3] - feat(ime): operate database beans on keyboard by popup menu
- [e2f060d] - fix(data): pinned beans don't move to the top of the list
- [6f6305a] - fix(data/symbol): insert a unique bean failed when collect a bean
- [054da09] - fix(ime): symbol: invisible key text in LiquidKeyboard
- [a34a9c3] - feat(ime): add delete all database beans menu action
- [cb4ab69] - chore: bump version to 3.2.10
- [da4f6ab] - refactor(data): refactor AppPrefs ...
- [1efe8ab] - refactor(data): completely remove methods/variables should can only handle by AppPrefs from Config
- [e0cd0f6] - refactor(data): rename some variables to make it easier to understand their usages
- [ef110ef] - refactor(data): move Config to theme package
- [3393a3f] - refactor(data/ui/res): refactor database related sharedpeferences to use more proper types to store
- [a1788c5] - fix(ui): changing color scheme doesn't work
- [2486e64] - feat(jni): enable native logging
- [a9d5972] - refactor(data): refactor LogView with RecyclerView to improve its performance
- [84d907b] - feat(ui): show warning or error log info when deploy from the main setting page
- [0afc710] - build(jni): remove capnproto module
- [cfcc345] - build(jni): replace miniglog with glog bundled by librime
- [46cc245] - refactor(jni): only call RimeSetup at first run
- [1cb87c5] - refactor(jni): tweak with include_directories ...
- [544805f] - refactor(ui): change the log tag to the new app name of rime traits
- [6583482] - chore: update librime to 1.7.3-g9086de3
- [0874974] - ci: not to require capnproto dependency anymore
- [f7cc962] - chore: upgrade opencc to 1.1.5
- [7494f02] - refactor(data, ui): remove old database stuffs
- [ba2f085] - feat(data, ime, ui, res): add new preference screen for clipboard, ...
- [3211ca9] - refactor(util, ime): bundle more system services to SystemServices.kt ...
- [405d779] - refactor(jni): remove out-of-date test class
- [7d3e450] - refactor(jni): minor adjust to the headers
- [22ad347] - refactor(core, data, ime, util, jni): optimize the process to get config map...
- [1a15562] - feat(core, ime): use kotlin flow to emit and handle rime notification
- [e15d853] - refactor(Config): replace the most of the capture type with Object ...
- [6ad478a] - feat(Config): new basic config type getter implementations
- [d831538] - refactor(Config): tidy the code that how to parse color string
- [119b4ff] - refactor(data, ime): rename and simplify PopupPosition (PositionType previously)
- [5b37469] - refactor(data, ime): reform the getters of the keyboard style parameters
- [0240385] - refactor(data, ime): reform how to get size parameters for theme layout
- [37a305c] - refactor(data, ime, util): reform how to get typeface for the theme layout
- [31b47ea] - refactor(data, ime): reform the getters of the liquid keyboard parameters
- [960bb51] - refactor(Config): reform how to apply sound package
- [af8d0df] - refactor(data, ui): migrate more theme related parameters to ThemeManager ...
- [22c9459] - refactor(Config): minor refactor of the getter holder classes
- [4c095a0] - refactor(Config): optimize some loop implementations
- [520e991] - refactor(keyboard): remove the Context parameter
- [d96a6a3] - refactor(data, ime, ...): reform some getters of the preset keyboard parameters
- [8d7a554] - refactor(data, ime): reform KeyboardSwitcher
- [d64d318] - fix(Keyboard): keyboard definition doesn't fallback to default ...
- [0789403] - refactor(data, ime): update or remove some deprecated methods and parameters
- [756bc78] - refactor(data, ime, util): migrate more parameters from Config ...
- [0f342b0] - refactor(data, ime, util): continue to shrink duplicated or similar parts in Config
- [678eb8f] - refactor(data, ime, ui, util): shrink the methods of parsing the color parameters in Config
- [4b4c272] - refactor(data, core, ime, ui): move the sound parameters from Config to SoundManager
- [272cbdc] - fix(Rime): switches on the bar toggle to the opposite states as they show
- [0e35b5b] - feat(core, data, jni): try to redeploy only after the theme config files have been modified
- [1b4650b] - fix: fix crash in theme/color picker
- [6098ec7] - chore: upgrade opencc to 1.1.6
- [9681fae] - chore: bump version to 3.2.11
- [1e01fb9] - fix(data): restore disappear key round corners (osfans#895)
- [a5b4d6e] - fix(data,util): parse color values from inputted map first to get drawable
- [810fbdf] - chore,refactor(res): update social media information
- [c340181] - fix(ui): initialize sound related stuffs on storage permission granted
- [6de7617] - fix(data): add detection of whether the custom file has modified ...
- [68c599c] - fix(ui): make sure sound package configs are showed in the picker
- [fb21642] - fix(jni): don't specify log dir since we don't really need the log files (osfans#906)
- [f6f6a3b] - fix(data,ime): eliminate the wired padding on the either side of liquid keyboard (osfans#869)
- [231d992] - chore: add kaml dependency ...
- [4b6f8ac] - refactor,fix(data,ime,ui,res): enhance key sound theme management
- [6ce3631] - build,refactor(ime,ui,util): eliminate warnings during build
- [7b91663] - fix: unset ascii mode after switching keyboard
- [239af5a] - chore: add several splitties modules
- [f4585b3] - refactor(data,ime,ui,util): replace SystemService with Splitties's one
- [c6140e4] - refactor(core,data,ime,...): structuralize the schema list item
- [5a14112] - refactor(core,jni,ui): reform the native method of selecting schemas
- [1560288] - refactor(core,ime,jni,ui,util): shrink the native stuffs
- [731cf0a] - refactor(core,ime,jni,ui): migrate more C++ methods must to call ...
- [0b55a23] - refactor(core,jni): remove the the bridges of configuration APIs
- [67b6374] - refactor(core,jni): remove redundant deployment APIs
- [d280ee9] - refactor(core,data,ime,jni,ui): move OpenCC APIs to OpenCCDictManager
- [f8ea394] - refactor(core,data,ime,...): make all native methods comply with Camel Case
- [09791a9] - refactor(core,data,ime): split out schema parsing stuffs from Rime.java
- [60ab4d5] - refactor(core,data,jni): bundle more data to schema data class
- [723b9dd] - refactor(keyboard,lifecycle): remove useless CoroutineScopeJava
- [3d276c4] - chore,feat: generate rime key val constants and keycode mapping using ksp
- [c9e9350] - feat,refactor(ime): reform how to handle the return (enter) key
- [2b74137] - refactor(ime): reform how to initialize the local array
- [e18767c] - refactor(ime): cancels TextInputManager's inheritance from MainCoroutineScope
- [fe4c5bb] - refactor(ime,util): move launchMainActivity to ShortcutUtils
- [a51a80f] - refactor(ime): optimize the enum classes related key event stuffs
- [7c66996] - refacor(data,ime): optimize the handling of key code/event somewhere
- [5e3b220] - refactor(core,data,ime,jni): replace RimeCandidate with new data class
- [47b6946] - refactor(core,jni): move some calculations to C++ side ...
- [a6624de] - refactor(ime,util): convert GraphicUtils class to object
- [acf3c77] - feat,refactor(core,data): sync built-in data before setting up
- [11b59b8] - feat,refactor(core,ui,jni): reimplement setting integer in custom config
- [e17d5d0] - fix(core,data): build opencc dictionaries in the user data dir
- [6f7eba8] - fix,feat(ui): display schema name instead of its id in the picker
- [2994bfe] - chore: update dependencies and compile sdk version
- [0f86f10] - fix(data): don't use librime's API to get the user data dir
- [5f33a55] - fix(data): make all properties optional when deserializing a schema config
- [0943b30] - fix,feat(ui): show loading dialog after confirming the schemas to enable
- [8fef8bc] - Update trime.yaml
- [46f3862] - chore: upgrade librime to 1.8.5
- [b978f3a] - chore: bump version to 3.2.12
- [3a6f933] - build(build.gradle,res): append suffix to debug type package
- [47aee95] - build,refactor: migrate build configuration from Groovy to KTS
- [b40783e] - chore: update getting stared and third party library info in README
- [459dc09] - build: register clean up tasks
- [266c021] - fix(build): properly setup signing configs
- [5f9309e] - chore: update targetSdkVersion to 33
- [9fad5b8] - chore: bump version to 3.2.12
- [a3a7f11] - fix: remove self registered clean task
- [7e9864b] - fix: suppress enum-entry-name-case rule
- [5403eca] - fix: fix trailing-comma-on-call-site rule
- [a455d03] - chore: apply latest ktlint format
- [bcad5dc] - chore: upgrade spotless to 6.16.0
- [22bb42e] - chore: upgrade google format to 1.16.0
- [85bdc30] - chore: upgrade ktlint to 0.48.2
- [aa9b46c] - fix && feat: improve the usability of swipe gesture
- [e1f1907] - fix: composition UI disappears after jump to liquid keyboard and then back
- [b3ab8ab] - fix: flicking screen when changing keyboard
- [887651c] - fix composing key
- [a3e27a5] - fix: fix some issues
- [56f1e21] - fix: flush layout with switching keyboard
- [c5230db] - chore: hack workaround for gradle 8.0.2
- [9800507] - chore: upgrade gralde to 8.0.2
- [75d121a] - fix: move namespace to gradle file
- [f3299ef] - refactor(jni): split objconv.h from rime_jni.cc
- [bb81f3e] - fix: avoid potential deployment failure
- [e616620] - feat(jni): add getRimeStateLabel api which returns the state label for UI display
- [2c90d5a] - fix(data): enhance the exception handling when parsing schema file
- [03fe0d2] - fix(jni): add exception handling to prevent unexpected program crashes
- [a7e0cbb] - fix(Config.java): deploy theme file every time
- [ee70def] - refactor(jni): slightly refactor CMake stuffs
- [8904652] - style: add clang format style
- [b370961] - chore: add clang format helper tool
- [8aa9a2d] - style: apply clang format for native file
- [afbdbfe] - ci: remove spotless check
- [b12dddb] - ci: install clang-format package
- [7ab57a5] - chore: add style lint and format task
- [4220a3e] - fix: replace macros with inline funtction
- [8f895bc] - chore: use default clang format
- [92e7659] - doc: update pull request template with style lint
- [eeb5e7d] - chore: migrate from cookpad/license-tools-plugin to mikepenz/AboutLibraries
- [e8a01a2] - chore: add license for native dependency
- [44a3d2e] - chore: update dependencies
- [c02e983] - chore: set jdk version of kotlin for codegen module ...
- [e0774c1] - chore: upgrade AGP to 7.4.2
- [47a89b2] - chore: upgrade spotless to 6.17.0
- [bae618f] - fix liquid_keyboard_window not display
- [183ce21] - feat(data): new method to resolve compiled config file path
- [8e830b6] - feat(util/config): new config parser
- [f7a033b] - refactor: convert old Config.java to Theme.kt
- [1b68213] - refactor(util/config): polish new config parser
- [ecd2e02] - refactor(TrimeApplication.kt): refactor logging format
- [403a913] - feat: custom UncaughtExceptionHandler
- [5b9601e] - feat: expose the static create method of Config
- [8b246a0] - feat(ConfigTypes.kt): add contentToString method to each config types
- [5d875b3] - feat(util/config): small improvements for Config and ConfigTypes
- [bc070b7] - refactor(data): utilize new config parser to initialize schema stuffs
- [20fed36] - refactor(text): move all candidates down once one of them has comment
- [00c6382] - fix(SchemaManager.kt): ensure all switch options' enable index is not less than 0
- [d651a65] - refactor: merge the usages of ConfigGetter into CollectionUtils
- [9ea36ab] - refactor: some cleanups
- [16128ff] - refactor: adjust third party library summary display
- [f215633] - fix(Rime.java): ensure deploy opencc dictionaries each time startup librime (osfans#960)
- [87a20d1] - chore: update librime-lua to latest
- [2844407] - refactor(Trime.java): some cleanups
- [b2dcd7e] - refactor(rime_jni.cc): define notification handler in JNI function
- [77996e2] - refactor: convert Rime.java to Rime.kt
- [ba27779] - refactor: rename RimeEvent to RimeNotification
- [b4a151e] - feat(data,util/config): add decode method to ConfigItem
- [ee5ca29] - refactor(core): get commit text in place
- [de7fdd3] - fix(method.xml): could not open setting page from system settings
- [37a762a] - chore(ci): replace cache check file
- [6f9203d] - fix: set output of checksum
- [ba7aff0] - fix can't input some Chinese punctuation marks
- [31fa50f] - chore: upgrade gralde to 8.1.1
- [435d134] - chore: bump version to 3.2.13
- [cf1ad84] - add: Monochrome icon for Android 13+ devices
- [f3dca25] - Build codegen use jdk 17
- [c1cf0a7] - fix: fix dynamic keyboard outdated data
- [cd98833] - chore: bump version to 3.2.14
- [998d923] - fix: fix build error of missing resource
- [750a646] - chore: update .gitignore template
- [d173c46] - chore: upgrade gradle to 8.2
- [6c61c5f] - fix: fix build config error
- [179526f] - chore: upgrade ndk to 25.2.9519653
- [d74f135] - chore: upgrade google java format to 1.17.0
- [e7ca43d] - chore: upgrade AGP to 8.0.2
- [809977a] - chore: upgrade ktlint to 0.49.1
- [ad77f79] - chore: apply ktlint format
- [e4bc0cd] - fix: apply all kotlin code with ktlint
- [30cf4c5] - chore: upgrade spotless to 6.20.0
- [cbb49d4] - chore: upgrade ktlint to 0.50.0
- [cc59c1b] - fix: apply the ktlint rule
- [b3db9bd] - 增加定时同步功能
- [19e33f6] - fix: After the pinned status changes, multiple items may be affected and all need to be updated.
- [c92a413] - fix: Update clipboard view when clipboard content changes.
- [65fe317] - formatting code
- [8fd7395] - fix: fix composition window disappear
- [a1324d3] - chore: upgrade gradle to 8.2.1
- [ec4abb7] - chore: remove obsolete artwork
- [bf04d08] - fix: Modify the wrong kaomoji keys.
- [e2f9ec1] - fix: fix liquid keyboard (osfans#1052)
- [59ba807] - fix: fix the crash that happens when the screen is rotated. (osfans#1054)
- [70166d3] - chore: update trime author
- [7c50708] - feat(data, ime, ui, res): add edit text function for liquid keyboard
- [7120e40] - feat: add confirm delete all function
- [a444617] - add internationalization resources
- [f7498c5] - fix: fix two issues with temux
- [d718ceb] - fix: init flexbox by screen orientation
- [0f9cc4e] - fix: initialize the keyboardView.layoutManager every time in the liquid keyboard
- [1a198a2] - fix: update data directory on time
- [4563b15] - fix: update tab manager when theme changes
- [e7336b8] - chore: upgrade rime to latest
- [b2624b1] - chore: upgrade boost to 1.83.0
- [0ca3f43] - fix: add missing boost header
- [e6ed880] - fix: refresh liquid keyboard's candidates view
- [cbe811a] - chore: bump version to 3.2.15
- [ac654e3] - chore: upgrade rime to 1.9.0
- [3501cc9] - fix: timing sync crash above Android 12
- [6dc39ad] - Add librime-predict
- [e66cd6f] - chore: upgrade ktlint to 1.0.1
- [e236272] - chore: format code with ktlint 1.0.1
- [31894f6] - fix: update opencc asset
- [12a59e4] - chore: bump version to 3.2.16
- [e0a7105] - refactor(jni): remove workaround for rime tools
- [db1581f] - build(jni): try to replace boost git submodule with source tarball
- [f71e5d6] - chore: ignore boost build artifactory
- [e39f742] - build(jni): more neat way to find headers
- [36adb9b] - build(jni): use marisa vendored by (lib)rime
- [0ba4060] - chore: update librime to latest commit
- [46d9ecc] - build(jni): try to improve boost build
- [3399efb] - build(jni): try to improve the build of rime and its plugins
- [21dbff3] - fix: incorrect schemaId to resolve keyboard
- [83c2f74] - fix: Incorrectly consume
keyEvent
- [19b62f5] - fix: missing init values for
LandscapeInputUIMode
- [9aad56e] - ci: use change log builder action
- [5251076] - chore: remove obsolete change log script
- [d7b9e60] - chore: unify job step name
- [0375d2b] - chore: upgrade setup android action to v3
- [9f0f371] - chore: change commit template style