Theme selection is no longer needed with Compose theming. Remove
ThemeFragment, ThemeViewModel, DarkThemeDialog, TappableHeadlineItem,
and associated XML layouts. Remove theme navigation from Settings.
Made-with: Cursor
Replace data binding and @Bindable properties with StateFlow<UiState>.
Implement InstallScreen composable with options card, method selection,
and release notes. Remove fragment_install_md2.xml layout.
Made-with: Cursor
Replace Fragment data-binding UI with a Compose-based ActionScreen
sharing the same console output pattern as FlashScreen. ActionViewModel
now uses mutableStateListOf for console lines and StateFlow for state.
Remove old ConsoleItem (no longer used by either Flash or Action),
fragment_action_md2.xml, item_console_md2.xml, and stale nav reference.
Made-with: Cursor
Replace Fragment data-binding UI with a Compose-based FlashScreen
using LazyColumn for monospace console output with auto-scroll,
a save log TextButton, and miuix FloatingActionButton for reboot.
FlashViewModel now uses mutableStateListOf for console lines and
StateFlow for flash state. Back press blocking uses
OnBackPressedCallback instead of BaseFragment override.
Made-with: Cursor
Replace Fragment data-binding UI with a Compose-based ModuleScreen
using miuix Card, Switch, and TextButton components. ModuleViewModel
now uses StateFlow<UiState> and Compose-friendly ModuleItem with
mutableStateOf for enable/remove/update state. Each module card shows
name, version/author, description, enable toggle, and action/update/
remove buttons. Remove old ModuleRvItem, XML layouts, and stale
navigation reference.
Made-with: Cursor
Replace Fragment data-binding UI with a Compose-based SuperuserScreen
using miuix Card, Switch, Slider, and TextButton components.
SuperuserViewModel now uses StateFlow<UiState> and Compose-friendly
PolicyItem with mutableStateOf for reactive updates.
Remove old PolicyRvItem, XML layouts, and stale navigation reference.
Made-with: Cursor
Replace the Fragment data-binding UI with a Compose-based LogScreen
using miuix TabRow for switching between SU Log and Magisk Log tabs.
LogViewModel now uses StateFlow instead of @Bindable properties.
Remove old XML layouts, LogRvItem, and SuLogRvItem. Also clean up
stale tools:layout references in navigation graph.
Made-with: Cursor
Replace the DenyList screen's data-binding XML layouts and RecyclerView
system with a Compose UI using LazyColumn, Card, Checkbox, and Switch.
DenyListViewModel now uses StateFlow with combine for reactive filtering
instead of the custom filterList/ObservableHost pattern. App and process
state is tracked via Compose mutableStateOf for efficient recomposition.
Remove DenyListRvItem.kt and all associated XML layouts (fragment_deny_md2,
item_hide_md2, item_hide_process_md2).
Made-with: Cursor
Add Settings as a fifth tab in the bottom nav bar instead of a toolbar
icon in the Home screen. Add a global nav action for the settings
destination and remove the old Home-to-Settings fragment action.
Made-with: Cursor
Config.Value.DEFAULT_CHANNEL is -1, which is out of bounds for the
SuperDropdown items list. Coerce to valid range on initialization.
Made-with: Cursor
Replace the Settings screen's data-binding XML layouts and RecyclerView
item system with a declarative Compose UI using miuix components:
SuperSwitch for toggles, SuperDropdown for selectors, SuperArrow for
navigation items, and SuperDialog for text input dialogs.
SettingsViewModel now exposes DenyList state via StateFlow and provides
action methods instead of the old Handler/BaseSettingsItem pattern.
Remove BaseSettingsItem.kt, SettingsItems.kt, and all associated XML
layouts (fragment_settings_md2, item_settings, item_settings_section,
dialog_settings_app_name, dialog_settings_download_path,
dialog_settings_update_channel).
Made-with: Cursor
Replace the Home screen's data-binding XML layouts with a Compose UI
using miuix components. HomeViewModel now uses StateFlow instead of
@Bindable/ObservableHost for UI state. HomeFragment hosts the new
HomeScreen composable via ComposeView.
Remove old XML layouts (fragment_home_md2, include_home_magisk,
include_home_manager, item_developer, item_icon_link) and the
DeveloperItem RvItem class that are no longer needed.
Made-with: Cursor