Skip to content

Releases: m4mental/phone-control

Official Release v1.0.101

Choose a tag to compare

@github-actions github-actions released this 01 Oct 11:03

📱 Phone Control Release — v1.0.101

Channel: main • Commit: 9f4c1fc • Date: 2026-10-01 11:03 UTC

📝 Changes in this Build

release: sync dev to main with root command injection hardening, validated entrypoints & firewall cleanup resilience


📦 Package & Security Details

  • APK Asset: PhoneControl-v1.0.101.apk
  • Signing: Unified Cryptographic Release Keystore (Zero Conflict)
  • R8 Minification: Enabled (Dead Code & Resources Stripped)
  • Architecture: Universal ARM64-v8a

Official Release v1.0.99

Choose a tag to compare

@github-actions github-actions released this 30 Sep 00:59

📱 Phone Control Release — v1.0.99

Channel: main • Commit: df18b64 • Date: 2026-09-30 00:59 UTC

📝 Changes in this Build

feat(wireless-adb): smart port auto-sleep, custom port config & network roaming sync

Changes & Fix Notes:

  • 🚀 Feature: Integrated Smart Port Auto-Sleep for Root Wireless ADB, suspending tcp port on Wi-Fi/Hotspot disconnect
  • 🚀 Feature: Added custom port preference (1024..65535) with dialog validation and instant 1-tap reset to 5555
  • 🚀 Feature: Added real-time network roaming alerts and IP toast notifications upon Wi-Fi/Hotspot reconnection
  • 🚀 Feature: Updated WirelessAdbTileService QS tile to dynamically reflect custom port in : subtitle
  • 🐛 Fix: Added 15-second anti-flapping debounce buffer on network disconnect to prevent rapid port restarts
  • 🐛 Fix: Hardened delayed suspension runnable to verify both isEnabled and isAutoSleepEnabled before executing
  • 🐛 Fix: Cancelled pending sleep callbacks immediately when auto-sleep preference is toggled off
  • 🐛 Fix: Added @volatile isServiceDestroyed guard and @synchronized locks across all WirelessAdbManager state transitions
  • 🎨 UI/UX: Material 3 switches and custom port dialog with live lifecycle-scoped UI broadcast updates
  • 🛡️ Guardrails: Added wireless_adb_port and wireless_adb_auto_sleep to MasterManager atomic revert tables
  • 📝 Docs: Documented Root Wireless ADB Suite in README.md architectural hub without changelog pollution

Modified Files:

  • app/src/main/java/com/example/phonecontrol/AutoTweakService.kt: Debounce logic, runnable cancellation, lifecycle safety
  • app/src/main/java/com/example/phonecontrol/WirelessAdbManager.kt: Thread-safe port suspension, custom port preference, Wi-Fi/Hotspot detection
  • app/src/main/java/com/example/phonecontrol/SettingsActivity.kt: Auto-sleep switch, custom port dialog, lifecycle broadcast receiver
  • app/src/main/java/com/example/phonecontrol/WirelessAdbTileService.kt: Custom port tile formatting and status toasts
  • app/src/main/java/com/example/phonecontrol/MasterManager.kt: Factory reset persistence rollback for adb keys
  • app/src/main/res/layout/activity_settings.xml: Material 3 UI layout for auto-sleep and port selection
  • README.md: Architecture and feature hub documentation for Wireless ADB

📦 Package & Security Details

  • APK Asset: PhoneControl-v1.0.99.apk
  • Signing: Unified Cryptographic Release Keystore (Zero Conflict)
  • R8 Minification: Enabled (Dead Code & Resources Stripped)
  • Architecture: Universal ARM64-v8a

Official Release v1.0.97

Choose a tag to compare

@github-actions github-actions released this 29 Sep 18:32

📱 Phone Control Release — v1.0.97

Channel: main • Commit: 7528f10 • Date: 2026-09-29 18:32 UTC

📝 Changes in this Build

fix(auto-tweak): maintain AI ticker lifecycle across per-app transitions

Changes & Fix Notes:

  • 🐛 Fix (AI Ticker Startup Check): Decouple mode check from active per-app state in service startup checks. Ensure startAiTicker() keeps periodic background checks alive whenever rbAutomatic is selected, even if a per-app profile is active, while cleanly stopping the ticker only in manual mode.
  • 🐛 Fix (Per-App Hierarchy Revert): In reevaluatePerAppHierarchy(), explicitly schedule startAiTicker() via aiTickerHandler when all configured per-app applications are closed and system reverts back to rbAutomatic mode.
  • 🛡️ Guardrails: Preserved existing per-app frequency protections inside checkAndApplyDynamicAiTweak() to prevent periodic AI ticks from overriding active game/app profiles.

Modified Files:

  • app/src/main/java/com/example/phonecontrol/AutoTweakService.kt: Updated startup mode verification and scheduled ticker restart on per-app exit.

📦 Package & Security Details

  • APK Asset: PhoneControl-v1.0.97.apk
  • Signing: Unified Cryptographic Release Keystore (Zero Conflict)
  • R8 Minification: Enabled (Dead Code & Resources Stripped)
  • Architecture: Universal ARM64-v8a

Official Release v1.0.94

Choose a tag to compare

@github-actions github-actions released this 29 Sep 08:32

📱 Phone Control Release — v1.0.94

Channel: main • Commit: e0bbd2f • Date: 2026-09-29 08:32 UTC

📝 Changes in this Build

ci(build): fix ubuntu runner java home and harden keystore validation

Changes & Fix Notes:

  • 🐛 Fix (CI Build): Removed hardcoded Windows java.home (C:/Program Files/Android/Android Studio/jbr) from gradle.properties which caused Gradle on GitHub Actions Ubuntu runner to fail immediately with missing Java executable.
  • 🐛 Fix (Keystore Decoding): Hardened .github/workflows/android.yml to decode release keystore only when KEYSTORE_BASE64 is non-empty via shell conditional, avoiding invalid env context evaluation.
  • 🛡️ Guardrails: Added non-zero file length checks (keystoreFile.length() > 0L) in app/build.gradle.kts to prevent crashes if an empty keystore file is encountered.
  • ⚡ Verification: Verified ./gradlew assembleRelease passes with R8 minification and resource shrinking in 4m 19s.

📦 Package & Security Details

  • APK Asset: PhoneControl-v1.0.94.apk
  • Signing: Unified Cryptographic Release Keystore (Zero Conflict)
  • R8 Minification: Enabled (Dead Code & Resources Stripped)
  • Architecture: Universal ARM64-v8a

Official Release v1.0.81

Choose a tag to compare

@github-actions github-actions released this 23 Sep 17:16

feat(cicd): configure unified signing keystore, 3-tier branch release workflow and about card

Changes & Fix Notes:

  • 🚀 Feature: Implemented 3-Tier multi-branch release workflow in GitHub Actions (main=Stable Latest, dev=Beta, alpha=Rolling Pre-release).
  • 🚀 Feature: Added interactive 'About Phone Control' card in Settings with live app version, build number, channel badge, CPU architecture, root diagnostics, and direct GitHub Releases link.
  • 🔒 Security: Configured unified Zero-Conflict release keystore (phonecontrol-release.jks) across local PC and GitHub Actions to eliminate signature mismatch errors.
  • 🛡️ Guardrails: Added keystore patterns to .gitignore to ensure cryptographic keys are never leaked to public git repositories.

Modified Files:

  • .github/workflows/android.yml: Multi-channel release logic and base64 keystore decoding.
  • .gitignore: Ignored keystore files and directory.
  • app/build.gradle.kts: Unified signingConfig for release and debug builds.
  • app/src/main/res/layout/activity_settings.xml: Added About Phone Control card layout.
  • app/src/main/java/com/example/phonecontrol/SettingsActivity.kt: Implemented setupAboutCard logic.

Beta Channel (Build 106)

Pre-release

Choose a tag to compare

@github-actions github-actions released this 23 Sep 17:15

📱 Phone Control Release — beta-latest

Channel: dev • Commit: 7af8f95 • Date: 2026-10-03 22:35 UTC

📝 Changes in this Build

feat(wireless-adb): smart port auto-sleep for Wi-Fi, hotspot and USB tethering

Changes & Fix Notes:

  • 🚀 Feature: Enabled Smart Port Auto-Sleep by default (isAutoSleepEnabled = true) so Wireless ADB stays active strictly when connected to Wi-Fi, Hotspot, or USB Tethering.
  • 🐛 Fix: Resolved battery drain on Mobile Data (Cellular) by removing generic ip route get 1.1.1.1 from getFallbackIp(), preventing cellular SIM IP addresses from falsely masquerading as local debugging networks.
  • ⚡ Performance & Battery: Added registerDefaultNetworkCallback and USB state/power intent receivers to AutoTweakService for instant port suspension on cellular handoff and zero idle power consumption.
  • 🎨 UI/UX: Updated SettingsActivity, Quick Settings Tile, and layout strings to clarify that Wireless ADB operates on Wi-Fi, Hotspot, and USB Tethering, while automatically suspending on Mobile Data and offline standby.
  • 🛡️ Guardrails: Preserved existing listening port configuration (1024..65535), 15s anti-flapping debounce delay, and root elevation safeguards without modifying frozen app or equalizer logic.

Modified Files:

  • app/src/main/java/com/example/phonecontrol/WirelessAdbManager.kt: Defaulted auto-sleep to true and restricted IP discovery to local debug interfaces (wlan, ap, rndis, usb, eth).
  • app/src/main/java/com/example/phonecontrol/AutoTweakService.kt: Registered default network callback, Ethernet transport, and USB tethering broadcast actions.
  • app/src/main/java/com/example/phonecontrol/SettingsActivity.kt: Clarified auto-sleep status indicators and toast feedback.
  • app/src/main/java/com/example/phonecontrol/WirelessAdbTileService.kt: Updated QS tile standby subtitles and feedback messages.
  • app/src/main/res/layout/activity_settings.xml: Updated descriptive label for Smart Port Auto-Sleep.
  • README.md: Documented USB Tethering, Hotspot, and Mobile Data standby protection in network management specs.

📦 Package & Security Details

  • APK Asset: PhoneControl-Beta.apk
  • Signing: Unified Cryptographic Release Keystore (Zero Conflict)
  • R8 Minification: Enabled (Dead Code & Resources Stripped)
  • Architecture: Universal ARM64-v8a

Alpha Rolling Build (cf9cc61)

Pre-release

Choose a tag to compare

@github-actions github-actions released this 23 Sep 17:15

feat(cicd): configure unified signing keystore, 3-tier branch release workflow and about card

Changes & Fix Notes:

  • 🚀 Feature: Implemented 3-Tier multi-branch release workflow in GitHub Actions (main=Stable Latest, dev=Beta, alpha=Rolling Pre-release).
  • 🚀 Feature: Added interactive 'About Phone Control' card in Settings with live app version, build number, channel badge, CPU architecture, root diagnostics, and direct GitHub Releases link.
  • 🔒 Security: Configured unified Zero-Conflict release keystore (phonecontrol-release.jks) across local PC and GitHub Actions to eliminate signature mismatch errors.
  • 🛡️ Guardrails: Added keystore patterns to .gitignore to ensure cryptographic keys are never leaked to public git repositories.

Modified Files:

  • .github/workflows/android.yml: Multi-channel release logic and base64 keystore decoding.
  • .gitignore: Ignored keystore files and directory.
  • app/build.gradle.kts: Unified signingConfig for release and debug builds.
  • app/src/main/res/layout/activity_settings.xml: Added About Phone Control card layout.
  • app/src/main/java/com/example/phonecontrol/SettingsActivity.kt: Implemented setupAboutCard logic.

Release v1.0.78

Choose a tag to compare

@github-actions github-actions released this 21 Sep 10:33

docs(readme): purge What's New & Recent Fixes section per project guidelines

Release v1.0.77

Choose a tag to compare

@github-actions github-actions released this 21 Sep 10:22

docs(readme): update features, QS tile preferences & stability notes for release

Release v1.0.76

Choose a tag to compare

@github-actions github-actions released this 14 Sep 07:54

docs(readme): refine project documentation, features & architecture for release