@Con-Hennekens That's true, but unfortunately I cannot think of something that the hardware produces that helps in tackling this. I think the app talks to the phone software and not directly to the hardware itself, but I'm note sure about that since that is not my cup of tea.
I would perhaps try to get the actual data speed and based on that determine whether to trigger a recalculation. A "no data" report may be based on a hard limit, instead of being a "workable" limit. Not an issue if your going from great speed to bad speed after which the app moves from on- to offline, but the other way around would be a issue for going from off- to online. If the app checks for a "data present" status with the limit of the datarate being too low, the recalculation might not succeed.
Maybe the app should stop trying to recalculate if the datarate is just too low, and stay offline untill the datarate is above a pragmatically determined workable dataspeed.