Restructure app into premium ROM hub with Modules, Tools and on‑demand root#6
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1a944ae6d4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| fun setValue(key: String, value: String) { | ||
| _uiState.update { it.copy(values = it.values.toMutableMap().apply { put(key, value) }) } |
There was a problem hiding this comment.
Persist module edits instead of keeping them in transient state
setValue only mutates an in-memory map, and this view model is created from hiltViewModel() inside each module route, so edits are lost when the destination is recreated and never reach any preference/backend layer. In practice, the new module toggles/sliders look interactive but do not actually apply or persist ROM settings, which breaks the core module workflow introduced in this commit.
Useful? React with 👍 / 👎.
| FeatureControlType.SLIDER -> { | ||
| val current = value.toFloatOrNull() ?: 0f | ||
| Text(current.toInt().toString()) | ||
| Slider(value = current, onValueChange = { onValue(it.toInt().toString()) }, valueRange = 0f..255f) |
There was a problem hiding this comment.
Replace hardcoded slider range with option-specific bounds
All slider controls are forced to 0f..255f, but several configured slider defaults in the module catalog are much higher (for example notification animation duration defaults to 1000). That mismatch causes incorrect rendering/interaction for those controls (out-of-range initial values and values effectively capped to 255), so users cannot set valid values for affected module options.
Useful? React with 👍 / 👎.
Motivation
Description
Home,Modules,Tools, andSettings, and added module subroutes forAbout Phone,Notifications,Notification Animations,Lockscreen, andControl Center.ModuleCatalogand generic module UI (FeatureOption/FeatureSection) plusModulesScreenandModulesViewModelthat map many uploaded preference keys into reusable toggle/slider/list/color/action controls.ToolsScreenand moved Monet access into the Tools flow, added an inlineCheck Root Statusaction inMonetScreen, and removed the launch-time root gate from the app and Monet preferences/state handling.RootShell,OverlayCommandBuilder,OverlayRepository,MonetController,MonetOverlayRegistry), and applied visible branding cleanup in Compose UI to replace legacy ROM branding with DeadZon/neutral labels.Testing
./gradlew assembleDebug, which failed in this environment due to missing/incorrect Android SDK/platform resolution (25.0.1), so a full build could not be verified here.git diff --checkwhich reported no issues andgit statusto confirm changed files were tracked../gradlew assembleDebug(expected to succeed once SDK is available).Codex Task