Skip to content

Improve Theme Deserialization with Jackson#1675

Closed
WhiredPlanck wants to merge 6 commits into
osfans:developfrom
WhiredPlanck:theme-deserialization
Closed

Improve Theme Deserialization with Jackson#1675
WhiredPlanck wants to merge 6 commits into
osfans:developfrom
WhiredPlanck:theme-deserialization

Conversation

@WhiredPlanck

Copy link
Copy Markdown
Collaborator

Pull request

Issue tracker

Fixes will automatically close the related issues

Fixes # N/A

Feature

Describe features of this pull request

KotlinX Serialization (kaml) is nice, but it's too oriented to parse our themes. Although we have wrapped it with custom Config class, it slows down the performance. Jackson is a popular library to parse JSON, YAML and more, and it provides quite performance as KotlinX Serialization, and it can be very flexible to deal with complex data parsing.

Code of conduct

Code style

Build pass

  • make debug

Manually test

  • Done

Code Review

  1. No wildcards import
  2. Manual build and test pass
  3. GitHub Action CI pass
  4. At least one contributor review and approve
  5. Merged clean without conflicts
  6. PR will be merged by rebase upstream base

Daily build

Login and download artifact at https://github.com/osfans/trime/actions

Additional Info

Changes requires manual intervention
Users who use zero value like 0x0000 as black color value without quote must to modify it to be quoted or 0xAA000000. Otherwise some things will be transparent.

@WhiredPlanck
WhiredPlanck requested review from Bambooin and goofyz June 25, 2025 20:06
KotlinX Serialization (kaml) is nice, but it's too oriented to parse our themes. Although we have wrapped it with custom Config class, it slows down the performance. Jackson is a popular library to parse JSON, YAML and more, and it provides quite performance as KotlinX Serialization, and it can be very flexible to deal with complex data parsing.
@WhiredPlanck
WhiredPlanck force-pushed the theme-deserialization branch from f80119d to 7bbd9d4 Compare June 25, 2025 20:13
@WhiredPlanck
WhiredPlanck force-pushed the theme-deserialization branch from 7bbd9d4 to 8256ab5 Compare June 26, 2025 04:01
@WhiredPlanck

Copy link
Copy Markdown
Collaborator Author

This PR is ready for review. @Bambooin

@Bambooin

Copy link
Copy Markdown
Collaborator

App frozen in Android 15.

@WhiredPlanck

Copy link
Copy Markdown
Collaborator Author

App frozen in Android 15.

It may be normal for debug version because app is deserializing all deployed themes. Just wait.

@WhiredPlanck

Copy link
Copy Markdown
Collaborator Author

@Bambooin But, I still want to complain: a theme system which needs to deploy to work is annoying. Do you have any idea with my suggestion about the WebView keyborad?

@Bambooin

Copy link
Copy Markdown
Collaborator
  1. Install Trime
  2. Open Trime
  3. Trime crash
  4. Open Trime
  5. Trime frozen
  6. Trime was terminated

@WhiredPlanck

Copy link
Copy Markdown
Collaborator Author

I build a release package by myself and it crashes with no end. This PR seems not able to be merge.

@WhiredPlanck
WhiredPlanck deleted the theme-deserialization branch July 6, 2025 08:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants