* In certain network situations (e.g. while changing from wifi to
cellular) it can happen, that the HashMap is modified while the stats
are currently being recalculated
* We can prevent this by moving adding and removing of any network
to the same handler so the callbacks can happen without breaking the
flow
* Move the existing code in handleMessage into some little helper
methods so it stays simple and readable
Fixes: https://gitlab.com/LineageOS/issues/android/-/issues/2870
Change-Id: I38c0c27a4f76fab5aeee013beab346c088bbbd59