100% offline period tracker. You own the data. It can't ever be sold, shared, or divulged because it never leaves your device.
Create a calendar
PeriodCalendar calendar = new PeriodCalendar(new PeriodPredictor(), new OvulationPredictor());
Add a period
LocalDate periodDate = LocalDate.now();
calendar.addPeriod(periodDate);
Add a period with flow
LocalDate periodDate = LocalDate.now();
calendar.addPeriod(periodDate, Flow.LIGHT);
Get a period
Day day = calendar.getDay(periodDate);
Period period = day.getPeriod();
Get a period with flow
Day day = calendar.getDay(periodDate);
Period period = day.getPeriod();
Flow flow = period.getFlow();
Predict next period window
PeriodWindow periodWindow = calendar.getNextPeriodWindow();
boolean isEmpty = periodWindow.isEmpty();
LocalDate startDate = periodWindow.getStartDate();
List<LocalDate> dates = periodWindow.getDates();
Predict next fertility window
FertilityWindow fertilityWindow = calendar.getNextFertilityWindow();
List<LocalDate> nextFertilityWindow = fertilityWindow.getFertilityWindow();
LocalDate ovulationDate = fertilityWindow.getOvulationDate();
Add temperature
Temperature temperature = new Temperature(new BigDecimal("98.6"), Metric.FAHRENHEIT);
calendar.addTemperature(date, temperature);
Temperature retrievedTemperature = calendar.getDay(date).getTemperature();