Repository navigation
2.2.0: liquid glass UI, modem patch on Home, fixes for #6 #7 #13 #14 #15 - #17
Merged
Merged
Conversation
UI - Liquid-glass design system (Modifier.liquidGlass): translucent panes over a backdrop lit by soft colour pools, specular rim and bloom, light and dark. - Floating glass tab bar with a sliding lens; in-app System/Light/Dark switch. - The 5G regional modem patch is the first card on Setup once root is granted (shared RegionalPatchCard + RegionalPatchViewModel, also on Bands). Every install goes through the confirmation dialog; results are shown. Issues - #7, #14: Android 17 QPR2 broker crash on stopDelegateShellPermissionIdentity; the broker no longer throws on the app's main thread, reports errors back through an instrumentation watcher, and read-back waits for the value to settle instead of racing the async write. - #15: pre-initialise SQLiteCompatibilityWalFlags in the root service so opening cfg.db no longer needs an app identity. - #13: KernelSU and APatch support for the regional patch installer. - #6: opt-in "Reapply after reboot" for Shizuku mode. Fixes - Root mode no longer passes the access check via a Shizuku grant. - NSA 5G counts as connected; pending-reboot/removal patch states are WARN. - Revalidate only offered before the overlay is live. - Busy/running flags no longer survive rotation with their work cancelled. - Pages no longer stick on "no SIM" when subscriptions load late. - Overview binder calls moved off the main thread; Shizuku listener leaks fixed. - Boot reapply workers add hidden-API exemptions they previously lacked. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 tasks
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Version 2.2.0: a liquid-glass UI, the 5G regional modem patch moved to the top of Setup for root users, fixes for the open issues, and a set of bugs found in review.
Issues fixed
stopDelegateShellPermissionIdentity(), which throwsNoSuchMethodErroron QPR2. The override had already applied, then the app process died.LinkageError, falls back to reflection, and relies on instrumentation teardown as a last resort. The broker no longer throws on the app's main thread.startInstrumentationis async, so the immediate read-back raced the write. Callers off the main thread now wait on anIInstrumentationWatcherand see the broker's real error, andapplyAndConfirmpolls the read-back for about 2 s before declaring a rejection. A new test covers this.SQLiteDatabase.openDatabasein the root service triggers aSettings.Globallookup through an app identity it doesn't have. The service now callsSQLiteCompatibilityWalFlags.init(null)first, with a HiddenApiBypass fallback. Install results and errors are now shown on the patch card instead of failing silently.ksudorapd:ksud sepolicy patchon KernelSU.magisk_filelabel under Magisk.UI
Modifier.liquidGlass: translucent body, a specular highlight in the top corner, a gradient rim with a coloured lower edge, and a top sheen. It sits over a backdrop lit by three large soft colour pools. Separate light and dark tokens, and no elevation shadows, which show through translucent panes as a grey smudge.RegionalPatchCardandRegionalPatchViewModellead the Setup screen once root is granted. The card shows its prerequisites (Tensor, Magisk/KSU, Modem DB), has one install button, and shrinks to one line once active. The same card replaces the old section on Bands.Other fixes
ReadinessRules.hasAccess).Test plan
:app:testDebugUnitTestpasses: 28 tests, including newReadinessRulesTestandControlStateTest.waitsForAValueThatLandsLate:app:assembleDebugand:app:assembleRelease(R8) build locally🤖 Generated with Claude Code