Buggy code:
public class TrailInfoActivity extends Activity { public class TabListener < T extends Fragment > implements ActionBar . TabListener { private final Fragment fragment ; private final String tag ; private final int containerViewId ; public TabListener ( Fragment fragment , String tag , int containerViewId ) { } public void onTabSelected ( Tab tab , FragmentTransaction ft ) { } public void onTabUnselected ( Tab tab , FragmentTransaction ft ) { } public void onTabReselected ( Tab tab , FragmentTransaction ft ) { } } public static class OverviewFragment extends Fragment { private EditText editTextName ; private EditText editTextDescr ; private Trail trail ; @ Override public View onCreateView ( LayoutInflater inflater , ViewGroup container , Bundle savedInstanceState ) { } @ Override public void onPause ( ) { } public void setTrail ( Trail trail ) { } } public static class AreaFragment extends TrailMapFragment { private Trail trail ; @ Override public View onCreateView ( LayoutInflater inflater , ViewGroup container , Bundle savedInstanceState ) { } @ Override public void onStart ( ) { } private void drawTrailArea ( ) { LatLngBounds . Builder boundsBuilder = new LatLngBounds . Builder ( ) ; List < LatLng > locations = new ArrayList < LatLng > ( ) ; for ( Checkpoint checkpoint : trail . getCheckpoints ( ) ) { if ( ( locations . size ( ) ) == 0 ) { addCheckpoint ( checkpoint , false , true ) ; } LatLng location = new LatLng ( checkpoint . location . getLatitude ( ) , checkpoint . location . getLongitude ( ) ) ; locations . add ( location ) ; boundsBuilder . include ( location ) ; } if ( ( locations . size ( ) ) > 1 ) { LatLngBounds bounds = boundsBuilder . build ( ) ; PolygonOptions rectOptions = new PolygonOptions ( ) ; double latOverhead = ( Math . abs ( ( ( bounds . northeast . latitude ) - ( bounds . southwest . latitude ) ) ) ) * 0.05 ; double lngOverhead = ( Math . abs ( ( ( bounds . northeast . longitude ) - ( bounds . southwest . longitude ) ) ) ) * 0.05 ; rectOptions . add ( new LatLng ( ( ( bounds . northeast . latitude ) + latOverhead ) , ( ( bounds . northeast . longitude ) + lngOverhead ) ) ) ; rectOptions . add ( new LatLng ( ( ( bounds . northeast . latitude ) + latOverhead ) , ( ( bounds . southwest . longitude ) - lngOverhead ) ) ) ; rectOptions . add ( new LatLng ( ( ( bounds . southwest . latitude ) - latOverhead ) , ( ( bounds . southwest . longitude ) - lngOverhead ) ) ) ; rectOptions . add ( new LatLng ( ( ( bounds . southwest . latitude ) - latOverhead ) , ( ( bounds . northeast . longitude ) + lngOverhead ) ) ) ; rectOptions . fillColor ( ( ( ( getResources ( ) . getColor ( purple_very_light ) ) & 16777215 ) | 1140850688 ) ) ; rectOptions . strokeColor ( getResources ( ) . getColor ( purple_light ) ) ; rectOptions . strokeWidth ( 2 ) ; getMap ( ) . addPolygon ( rectOptions ) . setZIndex ( ( - 1 ) ) ; setCamera ( locations ) ; } else if ( ( locations . size ( ) ) == 1 ) { <START_BUG> setCameraTarget ( locations . get ( 1 ) ) ; <END_BUG> setCameraZoom ( DEFAULT_ZOOM ) ; } else { } } public void setTrail ( Trail trail ) { } } public static class ChasesFragment extends SelectableListFragment < Chase > { private Trail trail ; public ChasesFragment ( ) { } @ Override public void onActivityCreated ( Bundle savedInstanceState ) { } @ Override protected List < Chase > loadInBackground ( ) { } @ Override protected View getItemView ( Chase item , View convertView , ViewGroup parent ) { } @ Override protected boolean onActionItemClicked ( MenuItem item , int position , long id ) { } @ Override public void onListItemClick ( int position , long id ) { } @ Override public void onSelectionChanged ( int position , long id ) { } private void deleteChase ( Chase chase ) { } public void setTrail ( Trail trail ) { } } public static final String KEY_TRAILID = "trailId" ; private static final String FRAGMENT_TAG_OVERVIEW = "overview" ; private static final String FRAGMENT_TAG_AREA = "area" ; private static final String FRAGMENT_TAG_CHASES = "chases" ; private TrailInfoActivity . OverviewFragment overviewFragment ; private TrailInfoActivity . AreaFragment areaFragment ; private TrailInfoActivity . ChasesFragment chasesFragment ; FrameLayout frameContent ; Trail trail = null ; public static void show ( Context context , Trail trail ) { } @ Override protected void onCreate ( Bundle savedInstanceState ) { } @ Override protected void onSaveInstanceState ( Bundle outState ) { } @ Override public boolean onCreateOptionsMenu ( Menu menu ) { } @ Override public boolean onPrepareOptionsMenu ( Menu menu ) { } @ Override public boolean onOptionsItemSelected ( MenuItem item ) { } }

Fix:
setCameraTarget ( locations . get ( 0 ) ) ;