I don't know how hard this would be, but it would be really nice if the Android app could store 2 IP addresses. The first would be a internet based address and the second a local intranet IP address. At that point, the Android device would check what it's IP address was. If it had the same intranet IP (192.168.x.x or 10.0.x.x), it should try to connect to the HG server on the local intranet IP. If outside of that domain (connected to either 3G/4G or some other WiFi) then it should use the internet IP.
The only snag I see (which could be overriden with either a check box or by turning off WiFi of the device) would be if you are at a different location (coffee shop, book store, etc) that uses the same local IP that you do for your HG network (e.g., 192.168.0.x).
I would think the local IP could be optional.