Buggy code:
public class MapsActivity extends BaseActivity implements Toolbar . OnMenuItemClickListener , CameraUpdateListener , CarDetailsFragment . OnCarPositionDeletedListener , ParkedCarDelegate . CarSelectedListener , SpotsDelegate . SpotSelectedListener , LocationListener , GoogleMap . OnCameraChangeListener , GoogleMap . OnMapClickListener , GoogleMap . OnMapLongClickListener , GoogleMap . OnMarkerClickListener , OnMapReadyCallback { protected static final String TAG = "Maps" ; static final String DETAILS_FRAGMENT_TAG = "DETAILS_FRAGMENT" ; static final int REQUEST_ON_PURCHASE = 1001 ; private static final float INITIAL_ZOOM = 12.0F ; private GoogleMap mMap ; List < AbstractMarkerDelegate > delegates = new ArrayList ( ) ; private SpotsDelegate spotsDelegate ; private Map < Car , ParkedCarDelegate > parkedCarDelegateMap ; private static final LocationRequest REQUEST = LocationRequest . create ( ) . setInterval ( 5000 ) . setFastestInterval ( 16 ) . setPriority ( PRIORITY_BALANCED_POWER_ACCURACY ) ; private View myLocationButton ; private ScrollView detailsContainer ; private DetailsFragment detailsFragment ; private boolean detailsDisplayed = false ; private IInAppBillingService iInAppBillingService ; private final BroadcastReceiver carPosReceiver = new BroadcastReceiver ( ) { @ Override public void onReceive ( Context context , Intent intent ) { } } ; private ServiceConnection mServiceConn = new ServiceConnection ( ) { @ Override public void onServiceDisconnected ( ComponentName name ) { } @ Override public void onServiceConnected ( ComponentName name , IBinder service ) { } } ; private PendingIntent pIntent ; @ Override protected void onPlusClientSignIn ( ) { } @ Override protected void onPlusClientSignOut ( ) { } private void goToLogin ( ) { } @ Override protected void onConnectingStatusChange ( boolean connecting ) { } @ Override protected void onCreate ( Bundle savedInstanceState ) { } private boolean mapInitialised = false ; @ Override public void onMapReady ( GoogleMap googleMap ) { } private ParkedCarDelegate getParkedCarDelegate ( Car car ) { } private void showDetails ( ) { } private void setMapPadding ( int bottomPadding ) { } private void hideDetails ( ) { } @ Override public void onBackPressed ( ) { } @ Override protected void onResume ( ) { } private void bindBillingService ( ) { } @ Override protected void onActivityResult ( int requestCode , int resultCode , Intent data ) { } @ Override protected void onSignInRequired ( ) { } @ Override protected void onDestroy ( ) { super . onDestroy ( ) ; Log . d ( MapsActivity . TAG , "onDestroy" ) ; if ( ( iInAppBillingService ) != null ) { unbindService ( mServiceConn ) ; } <START_BUG> if ( getGoogleApiClient ( ) . isConnected ( ) ) { <END_BUG> FusedLocationApi . removeLocationUpdates ( getGoogleApiClient ( ) , this ) ; ActivityRecognitionApi . removeActivityUpdates ( getGoogleApiClient ( ) , pIntent ) ; } saveMapCameraPosition ( ) ; } private void saveMapCameraPosition ( ) { } @ Override public void onSaveInstanceState ( Bundle savedInstanceState ) { } private boolean isDeviceOnline ( ) { } private void goToTutorial ( ) { } @ Override protected void onPause ( ) { } private void setUpMap ( ) { } private void setUpMapListeners ( ) { } private void openDonationDialog ( ) { } protected void startDeviceSelection ( ) { } @ Override public void onLocationChanged ( Location location ) { } private boolean initialCameraSet = false ; private void setInitialCamera ( ) { } @ Override public void onMapLongClick ( LatLng latLng ) { } private LatLng getUserLatLng ( ) { } private Location getUserLocation ( ) { } @ Override public void onCameraChange ( CameraPosition cameraPosition ) { } @ Override public boolean onMarkerClick ( Marker marker ) { } @ Override public void onMapClick ( LatLng point ) { } @ Override public boolean onMenuItemClick ( MenuItem menuItem ) { } public void drawIfNecessary ( ) { } @ Override public void onSpotClicked ( ParkingSpot spot ) { } private void setDetailsFragment ( DetailsFragment fragment ) { } @ Override public void onCarPositionDeleted ( Car car ) { } @ Override public void onCarClicked ( Car car ) { } private boolean justFinishedAnimating = false ; @ Override public void onCameraUpdateRequest ( CameraUpdate cameraUpdate ) { } private void zoomToMyLocation ( boolean resetZoom ) { } }

Fix:
if ( ( ( getGoogleApiClient ( ) ) != null ) && ( getGoogleApiClient ( ) . isConnected ( ) ) ) {