void requestLocationOrDeliverCurrent() { if (mGoogleApiClient == null) { return; } final Location location = getLastLocation(); if (isLocationAcceptable(location)) { onLocationChanged(location); } else { mLocationRequestTimeOut.start(); LocationServices.FusedLocationApi.requestLocationUpdates( mGoogleApiClient, createLocationRequest(), this); } }