| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| NetToggle.apk | 2026-07-29 | 46.0 kB | |
| README.md | 2026-07-29 | 3.9 kB | |
| v1.0.30 source code.tar.gz | 2026-07-29 | 4.5 MB | |
| v1.0.30 source code.zip | 2026-07-29 | 4.6 MB | |
| Totals: 4 Items | 9.2 MB | 0 | |
NetToggle v1.0.30
What's Changed
- Optimize NetToggle Root/Shizuku handling and QS tile performance by @Dhangofa in https://github.com/Dhangofa/NetToggle/pull/1
- Add app info, runtime version display, and developer links by @Dhangofa in https://github.com/Dhangofa/NetToggle/pull/2
- Prepare NetToggle for F-Droid and add app info UI by @Dhangofa in https://github.com/Dhangofa/NetToggle/pull/4
Highlights
This release focuses on improving NetToggle’s reliability, Root/Shizuku permission handling, QS tile responsiveness, active SIM handling, and overall system resource usage.
Root/Shizuku mode handling
- Fresh install no longer auto-selects Root mode.
- Added explicit execution mode states:
- No mode selected
- Root mode
- Shizuku mode
- Root permission is now checked when Root mode is selected or restored.
- Shizuku permission is requested only when the user selects Shizuku mode.
- Saved Shizuku mode now checks status without automatically showing the permission popup.
- Shizuku callbacks now update UI only when Shizuku mode is currently selected.
- Added safer cleanup for Shizuku listeners when MainActivity is destroyed.
- Added cleanup for active Root permission check process/thread when MainActivity is destroyed.
- Prevented stale Root/Shizuku permission callbacks from updating UI after MainActivity closes.
QS tile performance improvements
- Added proper network state constants instead of raw numeric state values.
- Added unknown/setup tile state instead of assuming 4G Only on first install.
- Cached generated QS tile icons to avoid recreating Bitmap/Icon objects on every tile update.
- Added immediate
Switching...tile feedback while a mode change is running. - Moved Root/Shizuku command execution off the QS tile click path.
- Added background executor for network mode switching.
- Added Android 7+ compatible main-thread UI update handling.
- Added duplicate-tap protection to avoid queuing multiple toggle commands.
- Tile state now updates only after command execution succeeds.
- Previous tile state is preserved if Root/Shizuku command execution fails.
SIM and network mode handling
- Removed hardcoded
-s 0behavior. - Added active data SIM detection using
multi_sim_data_call. - Mapped active data SIM index to phone command index:
multi_sim_data_call=1→cmd phone -s 0multi_sim_data_call=2→cmd phone -s 1- Added current mode detection using legacy
preferred_network_mode1/2values. - Added legacy mode ID mapping:
11→ 4G Only23→ 5G Only33→ Preferred 5G9→ Preferred 4G- Current mode is read only when cached tile state is unknown, reducing unnecessary shell/Shizuku calls during normal QS panel refresh.
Resource usage improvements
- Reduced unnecessary command execution when pulling down Quick Settings.
- Reduced CPU overhead by using cached tile state during normal QS refresh.
- Removed repeated Shizuku reflection lookup by caching the
newProcessmethod. - Cached regex pattern used for legacy mode parsing.
- Removed unused command result stderr storage.
- Added process cleanup after Root/Shizuku command execution.
Adds a lightweight app info/developer section to the NetToggle configuration screen.
- Show app title and runtime APK version.
- Add developer section with person icon and developer name.
- Add icon-only GitHub and Telegram links.
- Use lightweight VectorDrawable icons.
- Open GitHub/Telegram links externally using browser/app intent.
- Keep UI changes isolated to MainActivity and activity_main.xml.
- No QS tile behavior or background execution changes.
Notes
- Root or Shizuku is required.
- On fresh install, open the app and select either Root or Shizuku mode first.
Full Changelog: https://github.com/Dhangofa/NetToggle/compare/v1.0-2...v1.0.30