DialerLine is an LSPosed module for rooted Pixel phones that improves the dual-SIM experience in Phone by Google.
It adds a small SIM selector next to the call button on the keypad screen, remembers the last selected line, and routes normal outgoing calls through that selected SIM without changing Android's global default voice SIM.
- Shows the current outgoing line on the Phone by Google keypad
- Lets you tap to switch between available calling accounts
- Persists your selection across app relaunches
- Forces normal outgoing calls to use the selected line
- Keeps all behavior scoped to
com.google.android.dialer
- It does not replace the default dialer
- It does not change Android's global default voice SIM
- It does not switch mobile data
- It does not change incoming-call behavior
- It does not use resource hooks
- Rooted Pixel device
- LSPosed with modern libxposed support
- Phone by Google
- Dual-SIM setup for the SIM selector to appear
- Build and install the APK:
./gradlew :app:installDebug- Enable
DialerLinein LSPosed. - Scope it only to
com.google.android.dialer. - Reboot, or at minimum force-stop Phone by Google.
- Open the keypad screen in Phone by Google.
- Open the keypad screen
- Tap the SIM selector next to the call button to switch lines
- Dial a normal phone number and place the call
On single-SIM devices, or when only one calling account is available, the selector stays hidden.
- Emergency calls are left to stock behavior
- Labels prefer carrier/account names and fall back to
SIM nonly when needed - The current UI is tuned for the tested Pixel + Phone by Google layout, so future Google Dialer updates may require layout adjustments
app/
src/main/java/dev/yasir/dialerline/
DialerLineModule.kt
account/
guard/
hook/
state/
ui/
util/
src/main/resources/META-INF/xposed/
java_init.list
module.prop
scope.list
docs/
architecture.md
development.md
troubleshooting.md
manual-test-plan.md