Added `CheckAccessibilityWorker` with WorkManager to periodically validate and prompt accessibility service activation. Registered new `MyAccessibilityService` in manifest and set configurations. Introduced native `Singbox` methods for VPN operations and added compatibility fixes, including JNI library path initialization. Updated dependency `androidx.work:work-runtime:2.9.0`.
Addressed directory creation failure and missing V2Ray files to prevent app crashes during VPN initialization. Enabled `requestLegacyExternalStorage` to ensure compatibility with file handling on newer Android versions.
Addressed issue where `CustomVpnService` fails to properly start in foreground, leading to a `ForegroundServiceDidNotStartInTimeException`. Added handling for service termination and cleanup to prevent abrupt failure.
Deleted `DeviceUtils.java` as it is no longer used and removed redundant native method calls. Disabled safety checks for shell commands in `ShellUtils.java` for enhanced flexibility, ensuring they won't interrupt execution. Updated JNI method paths in `infoct.cpp` to align with updated package structure.
This commit introduces multiple native methods, written in C++, to interact with system and device info such as RAM, CPU, disk, and uptime. It also includes mechanisms to modify or reset system properties, bypass anti-debugging, and handle file path redirection. Additionally, ensures proper JNI bindings to avoid runtime errors like `UnsatisfiedLinkError`.
Refactored ShellUtils to improve safety, error handling, and modularity, including checks for command safety, better error logging, and execution timeout handling. Introduced a new ClassUtils utility for operations on classes, such as retrieving short class names, converting between primitive and wrapper types, and handling interfaces and superclasses.
Improve VPN service stability and update V2Ray assets
Enhanced the VPN service by refining error handling, adding retry logic, and improving resource cleanup. Consolidated V2Ray asset management logic, ensured compatibility with device architectures, and adjusted permissions handling for newer Android versions. Renamed and reorganized V2Ray assets for better structure.
```