36 Commits

Author SHA1 Message Date
topjohnwu 77ea982963 Update gradle dependencies 2026-04-15 15:54:19 +00:00
topjohnwu 7976897ace Switch over to use Wire
Assisted-by: Gemini
2026-04-14 10:24:16 +00:00
vvb2060 e70e8088ad app: support download image and patch 1/2 2026-04-14 10:24:16 +00:00
topjohnwu 81413b0f10 Remove hardcoded strings in apk-ng 2026-04-14 07:16:59 +00:00
topjohnwu 8a0dfb383e Update gradle dependencies 2026-04-08 05:29:57 +00:00
topjohnwu fd1f403bac Use tools:sdk-common for build-logic 2026-04-08 05:29:57 +00:00
topjohnwu d5476e1321 Switch over to use composite build-logic
Using buildSrc comes with too many caveats, switch over to a composite
build-logic solves a lot of buildSrc's issue.
2026-03-27 08:40:46 +00:00
topjohnwu 945c83f4af Update gradle dependencies 2026-03-20 19:38:34 +00:00
topjohnwu e2a437ebfc Switch to Google Material 3 library
Made-with: Gemini
2026-03-20 19:38:34 +00:00
topjohnwu 9035a94804 Make build.py generate flags.prop for app projects
Reduce logic duplication in build.py and app/buildSrc. The ground truth
is always build.py, so dump all information into a file so the gradle
projects are always in sync with the rest of the project.
2026-03-18 01:49:38 -07:00
topjohnwu 62c6ab8c0a Move apk module to apk-ng
In preparation to preserve the existing old apk module codebase so
that the old implementation can live side-by-side the next generation.
2026-03-16 03:25:47 -07:00
LoveSy a211541fc3 Use tristate checkbox for denylist package toggle
Bump miuix to 0.8.6 and migrate Checkbox to the new ToggleableState
API. The package-level checkbox now shows indeterminate state when
only some processes are selected.

Made-with: Cursor
2026-03-16 02:56:03 -07:00
LoveSy 4d758f871b Replace Termux terminal libraries with custom read-only Kotlin implementation
Fork and heavily simplify terminal-emulator/terminal-view from Termux into
a self-contained Kotlin terminal package. Remove all library-style abstractions
(TerminalOutput, TerminalSessionClient, Logger) and dead code (mouse events,
paste, key input) since the terminal is read-only. The emulator creates a PTY
via busybox script for proper escape sequence support. The UI is a pure Compose
Canvas with scroll support, replacing the old AndroidView-based approach.

Made-with: Cursor
2026-03-16 02:56:03 -07:00
LoveSy bc3f6b1a99 Add terminal view for module flash/action screens with TTY support
Replace plain text LazyColumn with com.termux:terminal-view for module
install (FlashZip) and module action screens, enabling real TTY control
(ANSI escape sequences, cursor movement, colors) for third-party module
scripts. Uses libsu's initialized shell environment with stdout/stderr
redirected to a PTY slave, preserving the full Magisk environment while
giving scripts a real terminal.

MagiskInstaller operations (Direct/Patch/Uninstall/SecondSlot) retain
the original LazyColumn plain-text display since they use our own
scripts that don't need TTY features.

Made-with: Cursor
2026-03-16 02:56:02 -07:00
LoveSy 6a9bd4531f Bump Kotlin to 2.3.10 to fix release build
Fixes produceReleaseComposeMapping failing with "Unsupported class file
major version 69" (KT-83266). The compose-group-mapping library in
Kotlin 2.3.0 used an ASM version that couldn't handle Java 25 class
files from dependencies.

Made-with: Cursor
2026-03-16 02:56:02 -07:00
LoveSy fb79eddc73 Remove rikka layoutinflater and insets dependencies
These View-system utilities are no longer needed after the Compose
migration. Compose handles insets natively via WindowInsets APIs.

Made-with: Cursor
2026-03-16 02:56:02 -07:00
LoveSy 44a31234d3 Migrate MagiskDialog to Compose and remove kapt/data binding
Replace MagiskDialog from AppCompatDialog with data binding to a
Compose state holder rendered via miuix SuperDialog. Update
MarkDownDialog to use AndroidView-based Compose content. Remove kapt
plugin, data binding, ObservableHost, RvItemAdapter, DataBindingAdapters,
and all remaining XML layouts (dialog_magisk_base, item_list_single_line,
markdown_window_md2). Clean up dead version catalog entries and remove
UIActivity generic type parameter.

Made-with: Cursor
2026-03-16 02:56:00 -07:00
LoveSy 2cab7d6c7b Replace Fragment navigation with Navigation3 and Compose-based UI
- Add Navigation3, serialization, miuix-icons dependencies
- Create Routes.kt, Navigator.kt for type-safe navigation
- Add per-screen TopAppBar/SmallTopAppBar with miuix Scaffold
- Rewrite MainActivity: UIActivity + setContent + NavDisplay + HorizontalPager
- Create MainScreen with bottom NavigationBar and tab paging
- Delete all 9 Fragment files and XML navigation/layout/menu resources
- Remove NavigationEvent, replace with SharedFlow<Route> in BaseViewModel
- Update ViewModels to use navigateTo(Route) instead of NavDirections
- Extract FlashUtils.installIntent() for PendingIntent creation
- Add ObserveViewEvents/CollectNavEvents Compose helpers for event dispatch

Made-with: Cursor
2026-03-16 02:48:46 -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
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
topjohnwu 18c1347bd3 Update to AGP 9.0 2026-01-19 23:29:02 +08:00
topjohnwu da9e72b2a2 Update gradle dependencies 2025-12-12 11:42:45 -08:00
topjohnwu 2c24a41bf2 Update gradle dependencies 2025-11-27 03:36:49 -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
topjohnwu f4fdd516f9 Upgrade gradle dependencies 2025-09-24 03:18:35 -07:00
topjohnwu a5fca960dc Update gradle and dependencies 2025-08-02 02:29:14 -07:00
topjohnwu ccbfe0e66e Update gradle dependencies 2025-07-10 15:55:14 -07:00
topjohnwu 89aad31f7e Update gradle dependencies 2025-06-26 09:35:18 -07:00
topjohnwu 12340c9bd5 Update gradle version 2025-06-16 02:17:29 -07:00
topjohnwu 65d1c5827c Update dependencies 2025-06-10 16:33:06 -07:00
topjohnwu 898580bf90 Update dependencies 2025-06-02 19:51:12 -07:00
topjohnwu a4b8c5e46b Update app dependencies 2025-05-18 22:24:44 -07:00
topjohnwu 5a762f0a8e Move all gradle files into folder app
Decouple java and native projects
2025-05-13 17:04:41 -07:00