Buggy code:
public class MainActivity extends FragmentActivity implements GoogleApiClient . ConnectionCallbacks , GoogleApiClient . OnConnectionFailedListener , LocationListener , OnMapReadyCallback { private GoogleApiClient mGoogleApiClient ; private GoogleMap mMap ; private Parser mParser ; private Geocoder mGeocoder ; private Location mLastLocation ; private double [ ] mBounds = new double [ ] { 38.803149 , - 77.11974 , 38.995548 , - 76.909393 } ; private List < Geofence > mGeofenceList ; private FloatingActionButton mSettings_button ; private TreeSet < Crime > mCrimesList ; private TreeSet < Crime > mBadCrimesList = new TreeSet < Crime > ( ) ; private HashMap < String , String > mSettings ; private double mRadius = 5 ; private Circle mRadiusCircle ; private final double METERS_PER_MILE = 1609.34 ; private final int BLUE_COLOR = 278514943 ; private final int START_ZOOM = 12 ; private final String DATA = "ASAP__from03_27_2016__to04_07_2016.xml" ; private final String TAG = "MainActivity" ; public static final String NOTIFICATION = "notification" ; private final int SETTINGS_REQUEST = 1 ; private final int MAX_CRIMES = 100 ; private LatLng mCurrentLoc ; private LatLng [ ] movement = new LatLng [ 4 ] ; private LocationManager mLocationManager ; @ Override protected void onCreate ( Bundle savedInstanceState ) { } protected void onStart ( ) { } protected void onStop ( ) { } public void TestGeofence ( ) { } @ Override public void onMapReady ( GoogleMap googleMap ) { } private void updateRadiusCircle ( ) { } private void updateScreenLoc ( LatLng loc ) { } private void loadCrimes ( LatLng Loc ) { } private void removeBadCrimes ( ) { } private void addCrimeMarker ( Crime c ) { } private static double distance ( double lat1 , double lon1 , double lat2 , double lon2 , String unit ) { } private static double deg2rad ( double deg ) { } private static double rad2deg ( double rad ) { } @ Override protected void onActivityResult ( int requestCode , int resultCode , Intent data ) { if ( requestCode != ( SETTINGS_REQUEST ) ) { Log . i ( TAG , "onActivityResult():incorrect<seq2seq4repair_space>Request<seq2seq4repair_space>Code!" ) ; return ; } if ( resultCode == ( RESULT_CANCELED ) ) { Log . i ( TAG , "onActivityResult():<seq2seq4repair_space>user<seq2seq4repair_space>backed<seq2seq4repair_space>out<seq2seq4repair_space>of<seq2seq4repair_space>settings<seq2seq4repair_space>page!" ) ; return ; } if ( ( ! ( data . hasExtra ( "radius" ) ) ) || ( ! ( data . hasExtra ( "checkboxes" ) ) ) ) { Log . i ( TAG , "no<seq2seq4repair_space>setting<seq2seq4repair_space>changes" ) ; return ; } mSettings = ( ( HashMap < String , String > ) ( data . getSerializableExtra ( "checkboxes" ) ) ) ; <START_BUG> mRadius = data . getDoubleExtra ( "radius" , mRadius ) ; <END_BUG> updateRadiusCircle ( ) ; Log . i ( TAG , "*********Back<seq2seq4repair_space>to<seq2seq4repair_space>MAIN_ACTIVITY*********" ) ; Log . i ( TAG , "SETTINGS<seq2seq4repair_space>DATA:" ) ; Log . i ( TAG , mSettings . toString ( ) ) ; Log . i ( TAG , ( "Radius:<seq2seq4repair_space>" + ( mRadius ) ) ) ; Log . i ( TAG , "**************************************" ) ; int i = 0 ; for ( Crime crime : mCrimesList ) { i ++ ; Log . i ( TAG , ( "crime<seq2seq4repair_space>" + i ) ) ; boolean visable = false ; Log . i ( TAG , ( ( mSettings . keySet ( ) . size ( ) ) + "!" ) ) ; for ( String offense : mSettings . keySet ( ) ) { if ( crime . offense . equals ( offense ) ) { Log . i ( TAG , ( ( ( crime . offense ) + "!=" ) + offense ) ) ; visable = true ; } else { Log . i ( TAG , ( ( ( crime . offense ) + "!=" ) + offense ) ) ; } } if ( visable == false ) { crime . setVisable ( false ) ; Log . i ( TAG , ( ( ( ( "Set<seq2seq4repair_space>crime<seq2seq4repair_space>[" + ( crime . offense ) ) + "]<seq2seq4repair_space>@<seq2seq4repair_space>" ) + ( crime . address ) ) + "to<seq2seq4repair_space>NOT<seq2seq4repair_space>VISABLE" ) ) ; if ( i < ( MAX_CRIMES ) ) { continue ; } else { return ; } } double distance = MainActivity . distance ( crime . Lat , crime . Long , mCurrentLoc . latitude , mCurrentLoc . longitude , "M" ) ; if ( distance > ( mRadius ) ) { crime . setVisable ( false ) ; Log . i ( TAG , ( ( ( ( ( ( ( "crime<seq2seq4repair_space>@<seq2seq4repair_space>" + ( crime . address ) ) + "<seq2seq4repair_space>is<seq2seq4repair_space>" ) + distance ) + "<seq2seq4repair_space>miles<seq2seq4repair_space>way,<seq2seq4repair_space>" ) + "which<seq2seq4repair_space>is<seq2seq4repair_space>less<seq2seq4repair_space>than<seq2seq4repair_space>" ) + ( mRadius ) ) + "miles,<seq2seq4repair_space>the<seq2seq4repair_space>Radius." ) ) ; if ( i < ( MAX_CRIMES ) ) { continue ; } else { return ; } } crime . setVisable ( true ) ; crime . marker . setTitle ( mSettings . get ( crime . offense ) ) ; crime . marker . setSnippet ( crime . address ) ; if ( i < ( MAX_CRIMES ) ) { continue ; } else { return ; } } } @ Override public void onConnected ( Bundle bundle ) { } @ Override public void onConnectionSuspended ( int i ) { } @ Override public void onConnectionFailed ( ConnectionResult connectionResult ) { } @ Override public void onLocationChanged ( Location location ) { } private void sendPushNotification ( String errorMessage ) { } private void turnOnLocationManager ( ) { } public void updateLocation ( LatLng location ) { } private void shutdownLocationManager ( ) { } public boolean intersects ( double Lat1 , double Long1 , double Lat2 , double Long2 ) { } }

Fix:
mRadius = data . getIntExtra ( "radius" , ( - 1 ) ) ;