How long would you prompt the user with an indicator before showing a connection error? On the one hand a mobile user doesn't like waiting forever until the indicator disappears. On the other hand a request can take quite long when there is a poor network connection... How long do you let the user wait in worst case?
It's hard to answer such question without knowing the typical response time. Users are fairly accustomed to wait a few seconds when using mobile devices whilst on mobile networks.
This famous post, while applicable to websites, suggests that after 10 seconds users 'lose it'. Could be used as a rough guideline.
Put the user in control (be user-oriented)
There are two principle ways you can improve usability with regards to this issue:
I don't think there is a clear answer here, you can answer it very easy with "it depends".
You might have to consider the following things:
Personally if the timeout is between 10 - 15s I will consider it a normal latency, if it is 20s or more, I will most likely quit the app.