We update `LSPosedBridge` to align with upstream API changes, which have replaced annotation-based hooker discovery with a naming convention.
The `doHook` implementation has been refactored to:
- Remove dependencies on the deleted `io.github.libxposed.api.annotations` package (`XposedHooker`, `BeforeInvocation`, `AfterInvocation`).
- Scan for public static methods explicitly named `before` and `after` instead of relying on annotations.
- Enforce validation on these named methods to ensure they match the required signatures.
To adapt to this change, existing Hooker classes are refactored by removing the deprecated annotations and renaming their callback methods to `before` and `after` respectively.
Co-authored-by: frknkrc44 <krc440002@gmail.com>
1. Use JDK 21
2. Update android plugins for JDK 21
3. Update gradle wrapper
The new R8 engine will change more class names than before, we thus
need to save those needed ones.
* add activity controller
* Hook `TRANSACTION_setActivityController`
* Hook setActivityController
* Inject into settings
* Check categories for manager
* Inject manager
* Hook webview
* Should not load modules for manager
* Remove shouldBlock
* remove pendding when server died
* Add shortcut automatically
* Load resources from manager
* Fix shortcut sleep wait
* Make R8 happy
* Fix when am is proxy
* lspd should run with euid=1000 after system server started
* Add shortcut from daemon
* Set injected package into gradle build script
* Try to inject into shell instead of settings
* Fix shortcut of shell and add icon
* Fix proguard
* hook handleReceiver
* Properly solve conflict
* Update shortcut everytime unlock
* Clear log
* Fix build
* chageng to use process${variantCapped}Resources
* Remove auto install manager
* Fix crash on some devices
* Fix new intent
* Make app toast when restart fails
* Fallback to recreate
* refine code
* Use fakecontext to set shortcut
* Fix compatibility with Android 12
* Fix `credentialProtectedDataDir`
* Fix webview
* Fix recreate
* Fix autofill
* Fix webview cache context
* Switch to inject into settings
* Send notification from daemon
* Change notification title