4 seconds may be cutting it close, since Android throws ANR if main thread is not responding to UI input within 5s. Also, we should move this value into a constant.