java.net.SocketTimeoutException indicates a TCP connection error. Maybe a firewall problem?
Make resource detection interruptible
Resource detection in the setup process may take a while and blocks the whole GUI, so it should be interruptible, for instance by pressing the back key.
Considering that AsyncTask(Loader) doesn’t seem to provide a mechanism to kill the thread directly, but only via stop points and
isCancelled()polling, and that such stop points don’t provide immediate cancellation, I guess this won’t be implemented.