- Introduced null-checks for `packageInfo` in `ChangeDeviceInfoUtil` package processing to improve error handling.
- Removed redundant `scriptResult` assignment in `MainActivity` for cleaner execution logic.
- Updated APK and baseline profile files for release configuration.
- Introduced null-checks for `packageInfo` in `ChangeDeviceInfoUtil` package processing to improve error handling.
- Removed redundant `scriptResult` assignment in `MainActivity` for cleaner execution logic.
- Updated APK and baseline profile files for release configuration.
- Improved `ShellUtils` with enhanced logging, thread-management, and safety checks for shell command execution.
- Streamlined `TaskUtil`'s file operations with safer and more robust shell commands for deletion, copying, and compression.
- Replaced Java I/O-based file management in `TaskUtil` with shell-based operations for better performance and security.
- Added new helper methods like `delFileSh`, `copyFolderSh`, and `clearUpFileInDst` in `TaskUtil`.
Introduced new `TaskUtil` utility class for device info upload, file compression, and remote operations. Updated `MainActivity` to dynamically fetch and utilize Android ID, added Android 13+ permission handling for `FOREGROUND_SERVICE`. Included Mockito dependencies for unit testing, implemented `TaskUtilTest` for API interaction validation. Adjusted `ChangeDeviceInfoUtil` initialization and fetched properties dynamically. Updated `minSdk` and network security configuration.
Enhanced script execution flow with dedicated `broadcastLock` and `taskLock` for better synchronization. Improved logging, broadcast receiver management, and error handling in `AutoJsUtil`. Removed unused methods and redundant synchronization. Added counter for script runs and optimized lifecycle management for stability.
Introduced synchronized locking for script execution flow in `MainActivity` and added a robust broadcast receiver registration process in `AutoJsUtil`. Enhanced logging, error handling, and script management utilities. Updated `AutoJsUtil` with better file validation and context-aware lifecycle methods for improved stability and clarity.
Refactored `ChangeDeviceInfoUtil` to dynamically fetch and apply device properties from JSON inputs. Added flexible handling of runtime values, improved error handling, and introduced `HttpUtil` methods for URL placeholders and retrieving the local IP address. Updated `MainActivity` and scripts for streamlined execution flow and better integration.
Implemented dynamic retrieval of device properties from external APIs, parsing JSON responses, and replacing statically hardcoded values. Enhanced flexibility for device information management. Added error handling for JSON parsing and root access validation.
Added detailed data collection including network type, language, country, advertiser ID, AppsFlyer parameters, device information, sensor data, battery status, and timestamps. Improved network type detection with `NetworkCapabilities` for accuracy. Integrated mock values for testing.
Introduced input field and button in `MainActivity` and updated layout to enable dynamic iteration of proxy operations based on user input. Implemented logic to handle input validation and sequential proxy processing using predefined proxy names.
Added system-level data collection for properties like User-Agent, OS version, language, DPI, time zone, network type, ISP, country, and Google Advertising ID (GAID). Integrated `play-services-ads-identifier` dependency for retrieving GAID. Updated `build.gradle` and `libs.versions.toml` accordingly.
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`.
Added IntelliJ IDEA project configuration, lint baseline, and inspection profiles for consistency and static analysis. Removed redundant null-check for intent in `MainActivity` to simplify logic and improve readability.
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.
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.
```
Simplified VPN configuration, enhanced permission handling, and improved V2Ray file checks to ensure smoother setup. Updated assets and JSON configs to align with new network requirements and reduced redundancy in logging and error handling.
Replaced ProxyVpnService with SingBoxLauncher for enhanced VPN control and functionality. Introduced new utilities such as IpUtil and HttpUtil for network-related operations. Updated MainActivity to utilize the new VPN workflow and removed outdated VPN service logic.
Introduced a `ProxyVpnService` to manage a VPN connection and a `ShellUtils` utility for executing commands. Enabled script result communication with the server using `CloudPhoneManageService` via Retrofit. Updated permissions, dependencies, and MainActivity to support these features.