I have an application, that is used for monitoring purposes, which shows the data from a farm that is stored in firebase. I thought it'll be good on my part to handle situations where the user can know whether the internet connection is poor/ non existent. below is the code for the same.
My thinking is: get the responseCode by visiting https://www.google.com every 30 seconds , if it is 200 (successfully reached) then just do the same continuously , but if the response is not 200, then try the same but every 10 seconds for 3 times and if the problem still persists, then show an alert to quit the application else if the internet comes back within those 3 tries, then just show an alert that the internet is back online, and reset the clock to go off every 30 seconds again.
TimerAlwaysFires and TimerEnabled sections of Internet checker clock is checked.
To test it out , i built the app and opened the app, then just switched off the mobile data after some time; now the problem is none of those alerts ever popped up ! all i got was below! Any idea why it would happen ?
Question 2: when i switch to other app (without giving quit from the app or clearing it from the recent apps section) i get the below ! that is still overlays into other apps , i tried handling this by disabling the timer when i quit the app, but since that block won't be triggered when just go between apps , i was wondering if there's a better way of achieving the objective ?!
a) how often do you need to check/update the farm data ? Is this every 30 seconds ? Is this really necessary?
b) Why not try the simple internet checker extension as an alternative?
a) Have you considered using the Taifun Tools extension ActivityStateChanged event for stopping/starting your clock timer when you switch apps?
b) Have you considered using the Screen ErrorOccured block to capture the connection error and prevent it from appearing, or providing a message in the app only instead of a device wide message?
It just seems like using a sledgehammer to crack a nut....
With the extension you can just check for internet - if it is there fetch data, if not provide message to try again in a bit, and/or automate to try again with a clock timer.
I don't see a Screen Error Block to capture the error? With that, you can display your own message in your own message label. All the Internet checking is entirely superfluous, as Tim has said - if the connection fails, let the User know, as per Tim's example, but maybe with a count down so the User can see something is happening. If, after say three minutes, there is still no connection, then and only then you might test for another site like Google to determine if the problem is specific to the farm.