# Carrier IMS for Pixel (TurboIMS)
Carrier and IMS toolkit for Google Pixel
Tune VoLTE / VoWiFi / VoNR, 5G display behavior, and network compatibility with Shizuku privileges.
中文(默认) | English
## Repository Migration Note
- Repository has been renamed from `ryfineZ/TurboIMS` to `ryfineZ/carrier-ims-for-pixel`.
- Use `3.8.5` or later. In-app actions (`Check Update / Submit Issue / Open Repo`) now point to the new repository.
- If an old build fails to update or open issue links, install manually from the new Releases page.
## Positioning
This project is a continuously maintained branch based on [Mystery00/TurboIMS](https://github.com/Mystery00/TurboIMS), with major usability and compatibility improvements for Mainland China and cross-region use cases.
Recent improvements include:
- network diagnostics with side-by-side App vs CarrierConfig readback
- denser card layout and tighter spacing for faster operation
## Screenshots
## Feature Matrix
| Module | Capability | Notes |
|---|---|---|
| System Info | app/device/patch/Shizuku status | quick environment visibility |
| IMS Registration | status query + manual register | one-tap register workflow |
| Carrier Features | VoLTE / VoWiFi / ViLTE / VoNR / UT / Cross-SIM | realtime switches, rollback on failure |
| 5G Features | 5G NR / 5G signal threshold / 5G+ icon | optimized for common CN scenarios |
| Network Fix | captive portal one-tap fix | fixes restricted/exclamation network states |
| TikTok Fix | no-network fix for TikTok (Mainland SIM) | shown only for Mainland SIM |
| Diagnostics | logs / full config view / issue shortcut | submit issues with useful context |
| In-app Update | check, download, install updates | integrated with GitHub Releases |
## Quick Start
1. Download APK from [Releases](https://github.com/ryfineZ/carrier-ims-for-pixel/releases)
2. Install and start [Shizuku](https://shizuku.rikka.app/)
3. Open app and grant Shizuku permission
4. Select SIM and toggle required features
## Requirements
- Pixel Tensor devices (Pixel 6/7/8/9/10, Fold, Tablet)
- Android 13+
- Shizuku running and authorized
## Build (Developers)
```bash
./gradlew :app:assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk
```
If local signing is required, configure `local.properties`:
```properties
SIGN_KEY_STORE_FILE=/path/to/your.keystore
SIGN_KEY_STORE_PASSWORD=***
SIGN_KEY_ALIAS=***
SIGN_KEY_PASSWORD=***
```
## FAQ
### IMS not registered
- confirm Shizuku is ready
- verify VoLTE / VoWiFi availability
- collect logs and submit an issue
### Network has signal but no internet
- check APN first
- then try the network verification fix card
### TikTok still unavailable
- TikTok fix switch only appears for Mainland SIM
- restart target app or refresh its session after changes
### "Check update / Submit issue" fails on old versions
- The repository has been renamed to `ryfineZ/carrier-ims-for-pixel`; old links may fail in some clients or network conditions.
- Upgrade to `3.8.5` or later. New versions use the new repository endpoints and include a legacy API fallback for update checks.
- If in-app update fails on an old build, download and install APK manually from the new Releases page.
### Why "country code modification" was removed and replaced by "TikTok one-tap fix"
- The old "country code" flow only wrote CarrierConfig override `sim_country_iso_override_string`; it did not truly modify baseband-level MCC/MNC.
- Real network identity values (for example `gsm.operator.numeric` and registered MCC/MNC) are usually not changed by this override, so it is not a stable or universal "change country code" method.
- In practice, TikTok availability was not determined by "switching to another country", but by setting ISO to an abnormal value, which could trigger an app-side identification fallback path and bypass part of SIM-region checks.
- Based on this actual behavior, the project changed the entry to a clearer switch: "Fix TikTok No Network", to avoid implying that the app can truly rewrite carrier identity.
- This behavior depends on target app versions and risk-control policy, and may change over time. It is provided for compatibility troubleshooting and testing only.
## Changelog
- Full changelog: [CHANGELOG.md](CHANGELOG.md)
- Releases: [GitHub Releases](https://github.com/ryfineZ/carrier-ims-for-pixel/releases)
## Credits
- [Mystery00/TurboIMS](https://github.com/Mystery00/TurboIMS)
- [vvb2060/Ims](https://github.com/vvb2060/Ims)
- [kyujin-cho/pixel-volte-patch](https://github.com/kyujin-cho/pixel-volte-patch)
- [nullbytepl/CarrierVanityName](https://github.com/nullbytepl/CarrierVanityName)
## Disclaimer
This app modifies carrier-related system configuration for learning, testing, and personal tuning purposes. Use at your own risk.
## License
Apache-2.0