I recall moving startDemo() to onResume() because some demo I was working on didn't have the camera initialised at the onCreate() step.

Could you remove the setUpMapIfNeeded() call from onStart()?