Nadeeja NirmalaIT Manager

Android work below the interface

My Android projects deal with the parts most apps never touch: IMS and 5G settings on Pixel phones, and full-device VPN tunnels. Getting those right means checking what the phone is really doing, not just what the screen says.

By Nadeeja NirmalaAndroid and platform engineerUpdated 10 October 2026
  1. Interface

    What you see on screen is only the top layer.

  2. Layers

    Below it sit the Android framework, telephony and IMS, and the modem. A change can look right at the top and fail further down.

  3. Evidence

    So diagnosis follows the evidence down the stack: what Android reports, what the modem reports, and whether IMS is really registered.

Fig. 1  The stack under an Android interface. Scroll to take it apart.

Why this kind of Android work is different

An app like this sits between Android’s own rules, the phone’s firmware, the carrier’s settings and the network. A change can look right on screen and still fail further down, so I follow the evidence all the way down.

The work covers Android 11 to 17. I use the normal APIs where they’re enough, Shizuku or root where they aren’t, and the radio diagnostics the phone exposes.

Android versions11 to 17
TelephonyIMS + 5G
NetworkingIKEv2 VPN

IMS and 5G settings on Pixel phones

Pixel IMS 5G works on Tensor Pixel phones. The hard part is telling apart what the phone can do, what the carrier allows, and what is registered right now. So the app checks what Android reports, what the modem reports, and whether the IMS services are really registered.

Root and Shizuku give more room to test, but having the access doesn’t prove a setting works. Every change needs an expected result and a way to confirm it at the radio and service level.

VPN tunnels with Lumen

A VPN app has to work with Android’s VPN lifecycle, routing, DNS, certificates and battery limits. A “connected” badge on its own tells you very little. The app has to show what is actually protected, and what happens when the tunnel drops.

Lumen builds full-device IKEv2/IPsec tunnels on Android’s own VPN service. Routing, reconnects and diagnostics are part of what the user sees, not hidden away.

Turning low-level control into an app people can use

  • Show the state people need, without claiming a certainty Android doesn’t give.
  • Make anything that needs root or Shizuku obvious, and easy to undo.
  • Test across Android versions and devices.
  • Tie what the screen shows to logs and lower-level evidence.
  • Design the failure and recovery screens as carefully as the happy path.

The same approach runs through Recall, my next app: a private search engine that indexes and searches on the phone.

ScopeAndroid 11 to 17, IMS and radio diagnostics, IKEv2, root and Shizuku
What I checkRegistration state, system logs, tunnel state, routing and recovery
ReleasedPixel IMS 5G 1.0.5 (GPL-3.0) and Lumen (MIT), open source; NIRALYTH 0.11.0 in public beta

Further reading

Android’s VPN developer guide covers the platform rules these apps work within.

Work with me

I build and debug Android apps where the network, the radio and security are part of the product.

Get in touch