@Override protected void loadData() { showProgress(R.string.loading); final String ll = LocationUtils.getLatLon(); if (ll == null) { showError(R.string.no_location); return; } Callback<ExploreVenues.ExploreVenuesResponse> callback = new Callback<ExploreVenues.ExploreVenuesResponse>() { @Override public void success( ExploreVenues.ExploreVenuesResponse exploreVenuesResponse, Response response) { if (exploreVenuesResponse.getVenues().size() == 0) { showError(R.string.no_venues_found); } else { showContent( new VenuesAdapter(exploreVenuesResponse.getVenues()), new CardSelectedListener() { @Override public void onCardSelected(Object item) { mSelectedVenue = (ExploreVenues.Venue) item; openOptionsMenu(); } }); } } @Override public void failure(RetrofitError retrofitError) { showError(R.string.error_please_try_again); DebugLog.e(retrofitError); } }; int type = getIntent().getIntExtra(EXTRA_TYPE, TYPE_EXPLORE); switch (type) { case TYPE_EXPLORE: Api.get().create(ExploreVenues.class).best(ll, callback); break; case TYPE_SEARCH: String query = getIntent().getStringExtra(EXTRA_QUERY); Api.get().create(ExploreVenues.class).search(ll, query, callback); break; } }