I implement GoogleApiClient as bellow:
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this, 0 /* client
build() calls onConnected immediately if you are already connected. Therefore, your variable might be null.
Better use
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this, 0 /* clientId */, this)
.addApi(LocationServices.API)
.addApi(Places.GEO_DATA_API)
.addConnectionCallbacks(this);
mGoogleApiClient.build();