import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
-import android.graphics.Matrix;
import android.graphics.Point;
-import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.view.ViewTreeObserver;
import android.widget.ImageView;
import android.widget.ProgressBar;
-import android.widget.TextView;
import java.util.Date;
import de.dhbwloe.campusapp.mensaplan.MensaplanManagerInterface;
import de.dhbwloe.campusapp.news.NewsManager;
import de.dhbwloe.campusapp.news.NewsManagerInterface;
-import de.dhbwloe.campusapp.vorlesungen.VorlesungsplanManager;
-import de.dhbwloe.campusapp.vorlesungen.VorlesungsplanManagerInterface;
+import de.dhbwloe.campusapp.search.SearchIndices;
+import de.dhbwloe.campusapp.vorlesungen.CalendarManager;
+import de.dhbwloe.campusapp.vorlesungen.CalendarManagerInterface;
+import de.dhbwloe.campusapp.vorlesungen.CourseEvent;
+import de.dhbwloe.campusapp.vorlesungen.CourseGroup;
/**
* A simple {@link Fragment} subclass.
else
lastVLMPartialSync = 0;
- VorlesungsplanManager vpm = new VorlesungsplanManager(AppContext, "tif13a");
+ String kursTag = AppContext.getDatabaseManager().getRuntimeCache("CourseName");
+ if(kursTag == null || kursTag.isEmpty())
+ break;
+ CalendarManager vpm = new CalendarManager(AppContext, kursTag);
if(lastVLMFullSync == 0 || now - lastVLMFullSync > (86400 * 14)) { // full sync every 14 days
- vpm.performFullSynchronisation(new VorlesungsplanManagerInterface() {
+ vpm.performFullSynchronisation(new CalendarManagerInterface() {
@Override
- public void onVorlesungsplanUpdateDone() {
+ public void onCalendarUpdateDone() {
long now = (new Date()).getTime() / 1000;
AppContext.getDatabaseManager().setRuntimeCache("LastVLMFullSync", Long.toString(now));
AppContext.getDatabaseManager().setRuntimeCache("LastVLMPartialSync", Long.toString(now));
}
@Override
- public void onVorlesungsplanUpdateFail(String errorMessage) {
+ public void onCalendarUpdateFail(String errorMessage) {
timerHandler.postDelayed(timerRunnable, 100);
}
+ @Override
+ public SearchIndices onGenerateCalendarSearchIndices(CourseEvent event) {
+ CourseGroup group = event.getCourseGroup();
+ SearchIndices indices = new SearchIndices("Vorlesungsplan#Group"+group.getGroupId(), false);
+ indices.setUpdateTime(event.getEventFrom());
+ indices.setTarget("#Vorlesungsplan#groupid=" + group.getGroupId());
+ indices.setTitle("Vorlesungsplan " + event.getCourseName());
+ indices.setDescription("Vorlesung " + event.getEventTitle());
+ indices.addKeyWord(event.getGroupTitle());
+ indices.addKeyWord(event.getEventLocation());
+ return null;
+ }
});
}
else if(lastVLMPartialSync == 0 || now - lastVLMPartialSync > (86400)) { // partial sync every day
- vpm.performFastSynchronisation(new VorlesungsplanManagerInterface() {
+ vpm.performFastSynchronisation(new CalendarManagerInterface() {
@Override
- public void onVorlesungsplanUpdateDone() {
+ public void onCalendarUpdateDone() {
long now = (new Date()).getTime()/1000;
AppContext.getDatabaseManager().setRuntimeCache("LastVLMPartialSync", Long.toString(now));
timerHandler.postDelayed(timerRunnable, 100);
}
@Override
- public void onVorlesungsplanUpdateFail(String errorMessage) {
+ public void onCalendarUpdateFail(String errorMessage) {
timerHandler.postDelayed(timerRunnable, 100);
}
+ @Override
+ public SearchIndices onGenerateCalendarSearchIndices(CourseEvent event) {
+ CourseGroup group = event.getCourseGroup();
+ SearchIndices indices = new SearchIndices("Vorlesungsplan#Group"+group.getGroupId(), false);
+ indices.setUpdateTime(event.getEventFrom());
+ indices.setTarget("#Vorlesungsplan#groupid=" + group.getGroupId());
+ indices.setTitle("Vorlesungsplan " + event.getCourseName());
+ indices.setDescription("Vorlesung " + event.getEventTitle());
+ indices.addKeyWord(event.getGroupTitle());
+ indices.addKeyWord(event.getEventLocation());
+ return null;
+ }
});
}
else
else
lastStuvSync = 0;
- VorlesungsplanManager stuvsyncmgr = new VorlesungsplanManager(AppContext, "STUV");
+ final String calendarName = "STUV";
+ CalendarManager stuvsyncmgr = new CalendarManager(AppContext, calendarName);
if(lastStuvSync == 0 || now - lastStuvSync > (86400 * 3)) { // full sync every 3 days
- stuvsyncmgr.performFullSynchronisation(new VorlesungsplanManagerInterface() {
+ stuvsyncmgr.performFullSynchronisation(new CalendarManagerInterface() {
@Override
- public void onVorlesungsplanUpdateDone() {
+ public void onCalendarUpdateDone() {
long now = (new Date()).getTime() / 1000;
AppContext.getDatabaseManager().setRuntimeCache("LastStuvSync", Long.toString(now));
timerHandler.postDelayed(timerRunnable, 100);
}
@Override
- public void onVorlesungsplanUpdateFail(String errorMessage) {
+ public void onCalendarUpdateFail(String errorMessage) {
timerHandler.postDelayed(timerRunnable, 100);
}
+
+ @Override
+ public SearchIndices onGenerateCalendarSearchIndices(CourseEvent event) {
+ CourseGroup group = event.getCourseGroup();
+ SearchIndices indices = new SearchIndices("Vorlesungsplan#Group"+group.getGroupId(), false);
+ indices.setUpdateTime(event.getEventFrom());
+ indices.setTarget("#News#showevent=" + group.getGroupId() + "&course=" + calendarName);
+ indices.setTitle(calendarName+" Event: " + event.getCourseName());
+ indices.setDescription(event.getEventTitle());
+ indices.addKeyWord(event.getGroupTitle());
+ indices.addKeyWord(event.getEventLocation());
+
+ return null;
+ }
});
}
else
timerHandler.postDelayed(timerRunnable, 100);
}
};
- timerHandler.postDelayed(timerRunnable, 500);
return view;
}
+ @Override
+ public void onResume() {
+ super.onResume();
+ timerHandler.postDelayed(timerRunnable, 500);
+ }
+
}