PixelCarrierSettings
13 · GitHub
More about this app
Enable VoLTE for carriers in unsupported regions on Pixel devices
PixelCarrierSettings
Enable VoLTE for carriers in unsupported regions on Pixel devices.
Originally this app was made because I want to override specific configurations in one click (5G SA and signal thresholds). As of writing this, using setImsProvisioningInt (from Ims's version 1.0, it doesn't have an UI) seems to be the only way to set VoLTE enabled persistently (explained below in "Override configurations" section), so I updated my app and made an UI for it.
Usage
Enable VoLTE
- Install and start Shizuku
- Install this app, start it, and grant Shizuku permission
- Tap on Enable VoLTE
- Go to system settings - Network & internet - SIMs - select the one you have enabled VoLTE for - turn on VoLTE (or 4G calling, depending on the carrier config)
- You may need to turn on VoLTE in system settings again if you reboot the system after using this method for the first time. Then it should stay on and there is no need to do it again for the same SIM card. Unlike
overrideConfig, this will not be reset after reboots or system updates.
Override configurations
From "Config overrides" menu, you can override carrier configurations (the same as what Pixel IMS does, but these are some presets). However, starting with Android 16 QPR2 Beta 3, calling overrideConfig with persistent=true is no longer possible for non-system apps, so these settings will be reset upon system reboot.
- Enable VoLTE: Sets
KEY_CARRIER_VOLTE_AVAILABLE_BOOLto true, not needed if you use the Enable VoLTE option on the first screen. - Enable NR(5G) SA: Sets
KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAYto[1, 2]which enables both NSA and SA. - Enable VoNR(Vo5G): Sets
KEY_VONR_ENABLED_BOOLandKEY_VONR_SETTING_VISIBILITY_BOOLto true. VoNR lets the device stay connected to 5G when calling instead of switching to LTE. - Enable VoWiFi: Sets the following options to true.
KEY_CARRIER_WFC_IMS_AVAILABLE_BOOLKEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOLKEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_ENABLED_BOOLKEY_EDITABLE_WFC_MODE_BOOLKEY_EDITABLE_WFC_ROAMING_MODE_BOOLKEY_WFC_SPN_FORMAT_IDX_INT
- Override 5G signal threshold: Sets
KEY_5G_NR_SSRSRP_THRESHOLDS_INT_ARRAYto[-115, -105, -95, -85]. This option exists because with AOSP's default values I only get 1 bar 5G signal in my area, but on other devices the signal are full or at least 2 bars (dBm values are the same). - Disable Signal Inflate (5 bars to 4): Sets
KEY_INFLATE_SIGNAL_STRENGTH_BOOLto false. Changes signal icon from 5 bars to 4, also makes unified signal icon possible if using 2 SIMs. - Show IMS status in SIM status: Sets
KEY_SHOW_IMS_REGISTRATION_STATUS_BOOLto true. This addsIMS registration stateto About phone - SIM status. Android 16 QPR3 Beta 1 has a bug which crashescom.android.phonewhen opening PhoneInformation or PhoneInformationV2 test menu. This option allows seeing IMS status without going to the menu.
If you need manual/custom overrides, please check out Pixel IMS.
References
How Shizuku is used
Can enable VoLTE, VoNR, WiFi calling and manage IMS via `CarrierConfigManager` and `ITelephony` through Shizuku.
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
This app uses Shizuku to unlock carrier calling features and manage IMS provisioning for each SIM on Pixel devices.
- Enable VoLTE calling: turn on VoLTE availability and related LTE display options by applying carrier setting overrides through Shizuku.
- Enable 5G and VoNR: turn on VoNR, 5G standalone and non standalone modes and custom 5G signal thresholds by applying carrier setting overrides through Shizuku.
- Manage WiFi calling: turn on WiFi calling availability, roaming and editable calling modes by applying carrier setting overrides through Shizuku.
- Control IMS provisioning: enable or disable IMS opt in and reset IMS state for each SIM using the privileged phone service through Shizuku.
- Reset carrier customizations: clear all applied overrides and restore carrier defaults through Shizuku.
Android APIs or commands used
IActivityManager.startInstrumentationIActivityManager.startDelegateShellPermissionIdentityIActivityManager.stopDelegateShellPermissionIdentityCarrierConfigManager.overrideConfigITelephony.getImsProvisioningIntITelephony.setImsProvisioningIntITelephony.resetImsISub.getActiveSubscriptionInfoListISub.getSlotIndex
Changelog
What's new for version 13
- Added workaround for crash on Android 17 QPR2
- Added LTE+ options
Full Changelog: https://github.com/iKirby/PixelCarrierSettings/compare/12...13
Permissions
1 permission requested