package net.avh4.platform;
import com.google.inject.Guice;
import com.google.inject.Inject;
import com.google.inject.Injector;
import java.util.GregorianCalendar;
public class Platform implements Runnable {
private final TimeProvider time;
private final UI ui;
@Inject
protected Platform(TimeProvider time, UI ui) {
this.time = time;
this.ui = ui;
}
public static void main(String[] args) {
Injector injector = Guice.createInjector(new RealModule());
Platform p = injector.getInstance(Platform.class);
p.run();
}
@Override
public void run() {
for (String url : getEmailReviewUrls().split("\n")) {
ui.browseUrl(url);
}
}
private String getEmailReviewUrls() {
return createGmailLink(0) + createGmailLink(-1) + createGmailLink(-2) + createGmailLink(-3)
+ createGmailLink(-4);
}
private String createGmailLink(int year_offset) {
GregorianCalendar now = new GregorianCalendar();
now.setTime(time.getDate());
int end_date = now.get(GregorianCalendar.DAY_OF_MONTH);
now.add(GregorianCalendar.DATE, -1);
int start_date = now.get(GregorianCalendar.DAY_OF_MONTH);
final int year = 2010 + year_offset;
return "https://mail.google.com/mail/?shva=1#search/after%3A" + year + "%2F3%2F"
+ start_date + "+before%3A" + year + "%2F3%2F" + end_date
+ "+label%3AInbox+OR+label%3Aotherinbox\n";
}
}