package io.github.memfis19.sample.process; import android.util.Log; import net.fortuna.ical4j.model.Component; import net.fortuna.ical4j.model.ComponentFactoryImpl; import net.fortuna.ical4j.model.Date; import net.fortuna.ical4j.model.Dur; import net.fortuna.ical4j.model.PropertyList; import net.fortuna.ical4j.model.property.DtStart; import net.fortuna.ical4j.model.property.Duration; import net.fortuna.ical4j.model.property.RRule; import io.github.memfis19.cadar.data.entity.Event; import io.github.memfis19.cadar.internal.utils.SyncUtils; /** * Created by memfis on 4/2/15. */ class EventComponentCreator { private final static String TAG = "EventComponentCreator"; private Event event; EventComponentCreator(Event event) { this.event = event; } Component createEventComponent(ComponentFactoryImpl componentFactory) { return componentFactory.createComponent(Component.VEVENT, createEventPropertyList()); } private PropertyList createEventPropertyList() { PropertyList propertyList = new PropertyList(); DtStart dtStart = new DtStart(new Date(event.getEventStartDate())); Duration duration = new Duration(new Dur(0, 1, 0, 0)); propertyList.add(dtStart); propertyList.add(createRepeatRule(event)); propertyList.add(duration); return propertyList; } private RRule createRepeatRule(Event event) { RRule rRule = new RRule(); String rRuleString = ""; try { rRuleString = SyncUtils.getRepeatRule(event); rRule.setValue(rRuleString); } catch (Exception e) { Log.e(TAG, "Can't set RRULE value: " + rRuleString); } return rRule; } }