[Paid Software Announcement and Discussion] Emil Borconi:
Sorry if my instructions are confusing I will get to make a tutorial video, but I really SUCK at it... my voice is horrible, my video editing skills are non existent and I'm generally not good in expressing my thoughts....

Now to answer the question, if you run Android 9 or 10 on the master and the master connects to the Wifi hotspot, you DO NOT need to have the headunit server running on the phone (that is the beauty of it).

Back to the problem, I still fail to comprehend what is actually going wrong, the whole WifiLauncher app is really super simple:

It has an intent listener for BT CONNECT action, when the intent is received it verifies if the connected BT device does match one from the selected devices, if it does it starts a foreground service (notification), which checks if the connected Wifi network equals "HUR" if it doesn't, it will check if HUR is in the saved networks list, if it is it will ask the system to disconnect the current Wifi and try to connect to HUR wifi, if it's not in the list, first it will add it to the list then it will ask the system to perform the reconnect action. It will keep looping trough this, till the connected network equals HUR (or till you exit the listener service with the exit button). Once it connects to the network, it will fire up the intent for AA to connect to the slave and then do a force-stop on itself (force-stop was necessary because some devices inexplicably dropped the connection after exactly 30 minutes, if WifiLauncher was present....)

So everything is triggered by the BT connection. Sadly as of Nougat, Android have removed the possibility to receive any intent from the system, when the system connects to a Wifi. You can only register to listen for this intents from inside a code, meaning you're app has to run. If you create a background service which listens for this, it will 90% get killed by the system, so you have to register a fore-ground service, but a foreground service means it needs to have an icon in the taskbar all the time (not something nice at all) and it's not effective either. Android did introduce a so called JobScheduler where you can schedule jobs based on some criteria (for example if the device is connected to a network) but you don't really have control and it's designed to do stuff in background (for example upload pictures or whatever, non-time critical action).

I have to explore a possible hack to all this, if I bound the Wifi Launcher to the notification listener service (so Wifi Launcher will be able to access all notifications) I could probably drop the need of BT being toggled, but that will bear other negative things. If you get into the car and you are still connected to you're home Wifi, it can take quite a while till you're phone connects to the slave's hotspot, and because my app won't know anything it can't keep trying to reconnect (which speeds up the connection process a lot) so that is a pretty massive trade off.

Another possible solution will be to add a listener to the Wifi Launcher for HUR app, as most users will be happy fine with the things being triggered one time when the BT connects, those who want to re-connect without the BT being reconnected can set up an automate flaw or tasker task, which simply fires up the Wifi Launcher (instead of the need to toggle the BT).