package com.github.tibolte.agendacalendarview.agenda;
import com.github.tibolte.agendacalendarview.CalendarManager;
import com.github.tibolte.agendacalendarview.models.CalendarEvent;
import com.github.tibolte.agendacalendarview.utils.DateHelper;
import android.content.Context;
import android.util.AttributeSet;
import java.util.Calendar;
import java.util.List;
import se.emilsjolander.stickylistheaders.StickyListHeadersListView;
/**
* StickyListHeadersListView to scroll chronologically through events.
*/
public class AgendaListView extends StickyListHeadersListView {
// region Constructors
public AgendaListView(Context context) {
super(context);
}
public AgendaListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public AgendaListView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
// endregion
// region Public methods
public void scrollToCurrentDate(Calendar today) {
List<CalendarEvent> events = CalendarManager.getInstance().getEvents();
int toIndex = 0;
for (int i = 0; i < events.size(); i++) {
if (DateHelper.sameDate(today, events.get(i).getInstanceDay())) {
toIndex = i;
break;
}
}
final int finalToIndex = toIndex;
post(()->setSelection(finalToIndex));
}
// endregion
}