Commit Graph

3556 Commits

Author SHA1 Message Date
LoveSy e000607d71 Remove Theme screen and related dead code
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
2026-03-16 02:48:20 -07:00
LoveSy 08d0b9be27 Migrate Install screen to Jetpack Compose with miuix
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
2026-03-16 02:48:20 -07:00
LoveSy 45c7cf19c5 Migrate Action screen to Jetpack Compose with miuix
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
2026-03-16 02:48:20 -07:00
LoveSy 4204fc56d4 Migrate Flash screen to Jetpack Compose with miuix
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
2026-03-16 02:48:20 -07:00
LoveSy 390d529168 Migrate Modules screen to Jetpack Compose with miuix
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
2026-03-16 02:48:20 -07:00
LoveSy a757758e10 Migrate Superuser screen to Jetpack Compose with miuix
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
2026-03-16 02:48:20 -07:00
LoveSy 7a6c8508ce Migrate Log screen to Jetpack Compose with miuix
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
2026-03-16 02:48:20 -07:00
LoveSy ffdb5cb511 Migrate DenyList screen to Jetpack Compose with miuix
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
2026-03-16 02:48:20 -07:00
LoveSy 47f1a33585 Move Settings to bottom navigation bar
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
2026-03-16 02:48:20 -07:00
LoveSy 20d6d70ff6 Fix Settings crash when update channel is default (-1)
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
2026-03-16 02:48:20 -07:00
LoveSy 397a906905 Migrate Settings screen to Jetpack Compose with miuix
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
2026-03-16 02:48:20 -07:00
LoveSy a9ade79617 Fix HomeFragment to observe ViewModel events
Implement ViewModelHolder in HomeFragment so that ViewEvents
(navigation, permissions, snackbar) are properly dispatched.

Made-with: Cursor
2026-03-16 02:48:20 -07:00
LoveSy 70a0dafb21 Migrate Home screen to Jetpack Compose with miuix
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
2026-03-16 02:48:20 -07:00
LoveSy e6c4268694 Add MagiskTheme composable wrapping MiuixTheme
Create MagiskTheme that wraps MiuixTheme with light/dark color scheme
based on the existing Config.darkTheme preference setting.

Made-with: Cursor
2026-03-16 02:48:20 -07:00
LoveSy 9107bb6af3 Add Compose and miuix dependencies
Add Jetpack Compose BOM, activity-compose, lifecycle-runtime-compose,
lifecycle-viewmodel-compose, and miuix library dependencies.
Enable the Compose compiler plugin alongside existing data binding.

Made-with: Cursor
2026-03-16 02:48:16 -07:00
topjohnwu 925ed577e7 Move plugins to its own section in version catalog 2026-03-16 02:46:57 -07:00
Neebe3289 1d4fbd9e75 Update Indonesian translation
Change-Id: I19f109e9cdfec643b33180a78b932f47b2030d7d
2026-03-11 00:45:08 -07:00
yashikada 7845da2943 Workaround for #9726 2026-03-11 00:44:18 -07:00
topjohnwu e8a58776f1 Release Magisk v30.7
[skip ci]
2026-02-23 00:02:33 -08:00
topjohnwu bb082e703c Update app dependencies 2026-02-22 14:22:54 -08:00
topjohnwu 4dd6e3c252 Minor changes for app 2026-02-05 00:56:10 -08:00
Wang Han a657af5dc9 Refine useLocaleManager with intent check for locales
This fixes https://github.com/topjohnwu/Magisk/issues/9628.
2026-01-31 23:34:03 -08:00
topjohnwu 18c1347bd3 Update to AGP 9.0 2026-01-19 23:29:02 +08:00
topjohnwu 0bbc736051 Properly set abiList with config.prop for APK 2025-12-16 02:38:27 -08:00
topjohnwu da9e72b2a2 Update gradle dependencies 2025-12-12 11:42:45 -08:00
Arbri çoçka 9cc830c565 Update strings.xml values_sq 2025-12-05 16:22:03 -08:00
hajs1664 ddbac50645 update korean translation 2025-12-05 11:15:21 -08:00
topjohnwu ccb264f33a Release Magisk v30.6
[skip ci]
2025-12-01 15:46:33 -08:00
topjohnwu 363566d0d5 Release Magisk v30.5
[skip ci]
2025-12-01 01:52:46 -08:00
topjohnwu 2c24a41bf2 Update gradle dependencies 2025-11-27 03:36:49 -08:00
topjohnwu 3a60ef2039 Update to ONDK r29.3 2025-11-21 13:28:46 -08:00
topjohnwu 1599bfc2c5 Update dependencies 2025-11-02 13:52:32 -08:00
topjohnwu 4ee2235961 Update dependencies 2025-10-20 10:30:09 -07:00
Wang Han 470acc93c9 Remove clickable attribute from item_module_md2.xml 2025-10-19 14:02:02 -07:00
Wang Han 0edb80b10f Set module card as non clickable
It's so easy to mis-click card.
2025-10-19 14:02:02 -07:00
topjohnwu c3db2e368d Release Magisk v30.4
[skip ci]
2025-10-02 04:30:47 -07:00
Wang Han ca2e40593f Make fetchUpdate safe 2025-10-02 04:03:44 -07:00
Mohammad Hasan Keramat J 8836a09c8c core: Update Persian translation 2025-09-30 00:21:44 -07:00
topjohnwu f16e93c7db Release Magisk v30.3
[skip ci]
2025-09-29 21:35:45 -07:00
Thonsi 1b0ddec66e Remove unused code 2025-09-29 02:33:02 -07:00
topjohnwu 742913ebcb Support installing Magisk on vendor_boot
Close #9238, fix #8835
2025-09-28 01:10:11 -07:00
topjohnwu f4fdd516f9 Upgrade gradle dependencies 2025-09-24 03:18:35 -07:00
Radoš Milićev aab8344058 Update Serbian 2025-09-14 18:42:22 -07:00
MONA 675b5f9565 feat(i18n): Add Hinglish translation 2025-09-02 01:27:58 -07:00
MONA 1b2c43268e feat(i18n): Add Hinglish translation 2025-09-02 01:27:58 -07:00
topjohnwu 484d53ef7e Update to ONDK r29.2 2025-08-28 16:15:59 -07:00
topjohnwu 975120d6a6 Release Magisk v30.2
[skip ci]
2025-08-06 03:32:32 -07:00
topjohnwu 959430e030 Fix systemless hosts installation 2025-08-05 09:44:51 -07:00
topjohnwu 2923c8ccd1 Add module upgrade test 2025-08-05 09:44:51 -07:00
topjohnwu 7df4a9d74f Add uninstaller.sh test 2025-08-05 09:44:51 -07:00