Problem
Tricky Addon WebUI only works with Tricky Store. Oh My Keymint (OMK) uses different config format (TOML) and file paths, so the WebUI doesn't support it.
What's needed
1. Engine detection
Detect which engine is installed at startup:
- Check
/data/adb/modules/oh_my_keymint/module.prop → OMK
- Check
/data/adb/modules/tricky_store/module.prop → Tricky Store
- OMK takes priority if both are installed
2. Config management
OMK uses two TOML files:
injector.toml — target apps list in [scoop] section
config.toml — policy in [trust], [device], [crypto] sections
Need to read/write both files, preserving all sections.
3. Policy dialog
When OMK is active, show all OMK fields in the default policy dialog:
- Trust: os_version, security_patch, vb_key, vb_hash
- Device: brand, device, manufacturer, model, product, serial
- Crypto: root_kek_seed, kak_seed, shared_secret_seed, shared_secret_nonce
- Injector: log_level
4. Keybox
OMK keybox path: /data/misc/keystore/omk/keybox.xml
Requires ownership keystore:keystore (uid 1017) and permissions 0600.
Since WebUI runs in app context, need to use su -c for writing.
5. Daemon restart
After saving config, restart OMK daemons by creating marker file at /data/adb/omk/restart.all.
6. Module scripts
service.sh: Skip prop handler for OMK, symlink to correct engine
uninstall.sh: Clean up symlinks and restore keybox for both engines
UI requirements
- When OMK is active: show small "Oh My Keymint" label next to title
- When Tricky Store or unknown: UI looks exactly like original (no changes)
- No extra badges, status indicators, or visual clutter
Constraints
- Zero changes for Tricky Store users
- No background services or polling
- WebUI only runs when opened in root manager
Problem
Tricky Addon WebUI only works with Tricky Store. Oh My Keymint (OMK) uses different config format (TOML) and file paths, so the WebUI doesn't support it.
What's needed
1. Engine detection
Detect which engine is installed at startup:
/data/adb/modules/oh_my_keymint/module.prop→ OMK/data/adb/modules/tricky_store/module.prop→ Tricky Store2. Config management
OMK uses two TOML files:
injector.toml— target apps list in[scoop]sectionconfig.toml— policy in[trust],[device],[crypto]sectionsNeed to read/write both files, preserving all sections.
3. Policy dialog
When OMK is active, show all OMK fields in the default policy dialog:
4. Keybox
OMK keybox path:
/data/misc/keystore/omk/keybox.xmlRequires ownership
keystore:keystore(uid 1017) and permissions0600.Since WebUI runs in app context, need to use
su -cfor writing.5. Daemon restart
After saving config, restart OMK daemons by creating marker file at
/data/adb/omk/restart.all.6. Module scripts
service.sh: Skip prop handler for OMK, symlink to correct engineuninstall.sh: Clean up symlinks and restore keybox for both enginesUI requirements
Constraints