@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_event_detail); sharedPref = getApplicationContext().getSharedPreferences("PREFERENCE_FILE_KEY", Context.MODE_PRIVATE); ButterKnife.bind(this); Bundle extras = getIntent().getExtras(); _container_summary.setVisibility(View.VISIBLE); _container_artist.setVisibility(View.GONE); _container_venue.setVisibility(View.GONE); _summary_description.setVisibility(View.GONE); _summary_tickets_buy.setVisibility(View.GONE); _artist_websites.setVisibility(View.GONE); _artist_description.setVisibility(View.GONE); _venue_address.setVisibility(View.GONE); String eventID = "1038341"; // default should return 'Katie Melua' event String artistID = ""; String venueID = ""; if (extras != null) { eventID = extras.getString("EventID"); } // _baseLayout.setOnTouchListener(this); // ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams) // _baseLayout.getLayoutParams(); // anchorLeft = _baseLayout.getLeft() + lp.leftMargin; myRealm = Realm.getDefaultInstance(); final Event event = myRealm.where(Event.class).equalTo("id", eventID).findFirst(); final Artist artist = myRealm.where(Artist.class).equalTo("id", event.getArtist().getId()).findFirst(); Log.d("Artist", artist.toString()); final Venue venue = myRealm.where(Venue.class).equalTo("id", event.getVenue().getId()).findFirst(); Log.d("Venue", venue.toString()); artistID = artist.getId(); venueID = venue.getId(); setEventData(eventID); setArtistData(artistID); setVenueData(venueID); Log.d("Event", event.getArtist().getName()); Log.d("Partial Data", event.toString()); _summary_tickets_buy.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { try { if (event.getUrl() != null) { Toast.makeText(getApplicationContext(), "Show me dem tickets!", Toast.LENGTH_SHORT) .show(); Log.d("Buying", event.getUrl()); Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(event.getUrl())); startActivity(browserIntent); } else { Toast.makeText(getApplicationContext(), "No ticket link :(", Toast.LENGTH_SHORT) .show(); Log.d("Else", event.getUrl()); } } catch (Exception e) { Log.d("Catch", e.toString()); } } }); // Check if realm already has full event data (via EventURL), if not, make volley request try { if (event.getUrl() == null) { // TODO: needs to update to get latest ticket info, maybe a timestamp check to // be added/separate api route for ticket info requestFullData(eventID, "Event"); Log.d(TAG, "Requesting full data..."); } else { Log.d(TAG, "Already has full data"); } } catch (Exception e) { Log.d(TAG, e.toString()); } try { if (event.getArtist().getDescription() == null) { // check if full artist data already in realm requestFullData(artistID, "Artist"); Log.d(TAG, "Requesting full artist data..."); } else { Log.d(TAG, "Already has full artist data"); } } catch (Exception e) { Log.d(TAG, e.toString()); } try { if (event.getVenue().getSw_website() == null) { // check if full venue data already in realm requestFullData(venueID, "Venue"); Log.d(TAG, "Requesting full venue data..."); } else { Log.d(TAG, "Already has full venue data"); } } catch (Exception e) { Log.d(TAG, e.toString()); } _close.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); }