Modernize build system and stabilize ad blocking hook logic#1
Conversation
- Added GitHub Actions workflow `android.yml` to automatically build the debug APK using JDK 8. - Safely cleaned the build system by replacing `jcenter()` with `mavenCentral()` and configuring `jitpack.io` / `api.xposed.info`. - Stabilized `Main` hook logic to avoid duplicate installations, safely reload `XSharedPreferences`, and verify null values. - Retained crucial documentation regarding the sensitivity of the `QUERY_ALL_PACKAGES` permission required for Android 11+. - Improved `ViewBlocking` to prevent parent views from collapsing incorrectly by adding detached view checks and child count conditions. - Upgraded `NameBlocking` to safely traverse superclasses (with depth boundaries) and correctly cache results to improve overall system performance without hitting core Android UI components. - Modernized `UrlFiltering` by utilizing safe normalized host and path matching over raw URI logic, preventing random crashes and encoding errors on string `WebView` operations.
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
- Added GitHub Actions workflow `android.yml` to automatically build the debug APK using JDK 8. Fixed CI jdk version compatibility for cmdline-tools. - Safely cleaned the build system by replacing `jcenter()` with `mavenCentral()` and configuring `jitpack.io` / `api.xposed.info`. - Stabilized `Main` hook logic to avoid duplicate installations, safely reload `XSharedPreferences`, and verify null values. - Retained crucial documentation regarding the sensitivity of the `QUERY_ALL_PACKAGES` permission required for Android 11+. - Improved `ViewBlocking` to prevent parent views from collapsing incorrectly by adding detached view checks and child count conditions. - Upgraded `NameBlocking` to safely traverse superclasses (with depth boundaries) and correctly cache results to improve overall system performance without hitting core Android UI components. - Modernized `UrlFiltering` by utilizing safe normalized host and path matching over raw URI logic, preventing random crashes and encoding errors on string `WebView` operations.
- The `android-actions/setup-android@v3` and `sdkmanager` operations require Java 11 or later to parse the `com/android/sdklib/tool/sdkmanager/SdkManagerCli` classes properly, but our compile environment needs JDK 8. - Added a step to load JDK 17 before `sdkmanager`, and load JDK 8 afterwards for compilation to fix the `UnsupportedClassVersionError` build breakage.
…DK 17 - Dropped `android-actions/setup-android` because it inherently locks itself to the ambient JAVA_HOME or causes conflicts with older components and modern JDKs on github actions. - Used manual sdkmanager zip download block + execution under JDK 17 context, then flipped over to JDK 8 for the build context exactly like the legacy setup script `android-ci.yml`.
Merge pull request #1 from Illhm/modernize-build-and-stabilize-hooks-…
Modernize the build system by migrating away from
jcentertomavenCentraland establish GitHub Actions integration for continuous delivery without dropping legacy compatibility.Simultaneously, stabilize and refine the hook logic handling across API Blocking, View Blocking, Name Blocking, and URL Filtering. The updates prevent repetitive execution cycles, accurately cache results for performance, check class properties reliably to deter false positives (such as inadvertently collapsing system wrappers), and secure
PermissionManagerServiceoverrides.PR created automatically by Jules for task 13380161201457280561 started by @Illhm