package org.onebrick.android.cards; import android.content.Context; import android.content.Intent; import android.provider.CalendarContract; import android.support.annotation.NonNull; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import org.onebrick.android.R; import org.onebrick.android.helpers.DateTimeFormatter; import org.onebrick.android.models.Event; import java.util.Calendar; import butterknife.Bind; public class TitleCard extends EventCard { @Bind(R.id.tv_event_title) TextView mTitleTextView; @Bind(R.id.tv_event_time) TextView mDateTimeTextView; @Bind(R.id.tv_event_address) TextView mLocationTextView; @Bind(R.id.iv_calendar) ImageView mCalendarImageView; public TitleCard(Context context, @NonNull Event event) { super(context, event); } @Override public View initView(@NonNull ViewGroup parent) { initView(parent, R.layout.card_event_detail_title); mTitleTextView.setText(mEvent.getTitle()); mDateTimeTextView.setText(DateTimeFormatter.getInstance().getFormattedEventDate(mEvent.getStartDate()) + " - " + DateTimeFormatter.getInstance().getFormattedTimeEndOnly(mEvent.getStartDate(), mEvent.getEndDate())); mLocationTextView.setText(mEvent.getAddress()); mCalendarImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { final DateTimeFormatter dtf = DateTimeFormatter.getInstance(); final Calendar beginTime = Calendar.getInstance(); beginTime.setTime(dtf.getDateFromString(mEvent.getStartDate())); final Calendar endTime = Calendar.getInstance(); beginTime.setTime(dtf.getDateFromString(mEvent.getEndDate())); Intent intent = new Intent(Intent.ACTION_INSERT) .setData(CalendarContract.Events.CONTENT_URI) .putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, beginTime.getTimeInMillis()) .putExtra(CalendarContract.EXTRA_EVENT_END_TIME, endTime.getTimeInMillis()) .putExtra(CalendarContract.Events.TITLE, mEvent.getTitle()) .putExtra(CalendarContract.Events.EVENT_LOCATION, mEvent.getAddress()) .putExtra(CalendarContract.Events.AVAILABILITY, CalendarContract.Events.AVAILABILITY_BUSY); mContext.startActivity(intent); mCalendarImageView.setImageResource(R.drawable.ic_calendar); } }); return mView; } }