import de.dhbwloe.campusapp.CampusAppContext;
import de.dhbwloe.campusapp.CampusAppFragment;
import de.dhbwloe.campusapp.R;
+import de.dhbwloe.campusapp.coursenames.CourseNameManager;
+import de.dhbwloe.campusapp.coursenames.CourseNameManagerInterface;
import de.dhbwloe.campusapp.mensaplan.MensaplanManager;
import de.dhbwloe.campusapp.mensaplan.MensaplanManagerInterface;
import de.dhbwloe.campusapp.news.NewsManager;
AppContext.addDefaultSearchIndexes();
break;
case 3:
+ String lastCNSyncStr = AppContext.getDatabaseManager().getRuntimeCache("LastCNSync");
+ long lastCNSync;
+ if(lastCNSyncStr != null)
+ lastCNSync = Long.parseLong(lastCNSyncStr);
+ else
+ lastCNSync = 0;
+
+ CourseNameManager cnm = new CourseNameManager();
+
+ if(lastCNSync == 0 || now - lastCNSync > (86400 * 7)) { //sync every 7 days
+ cnm.synchronizeCourseNames(new CourseNameManagerInterface() {
+ @Override
+ public void onCourseNamesSynchronized() {
+ long now = (new Date()).getTime() / 1000;
+ AppContext.getDatabaseManager().setRuntimeCache("LastCNSync", Long.toString(now));
+ timerHandler.postDelayed(timerRunnable, 100);
+ }
+
+ @Override
+ public void onCourseNamesFailed(String errorMessage) {
+ timerHandler.postDelayed(timerRunnable, 100);
+ }
+ });
+ }
+ else
+ break;
+ return;
+ case 4:
String startCounter = AppContext.getDatabaseManager().getRuntimeCache("AppStartCounter");
if(startCounter == null || Integer.parseInt(startCounter) == 0) {
AppContext.getNavigationManager().navigatePage("FirstRun", null, false);
}
AppContext.getDatabaseManager().setRuntimeCache("AppStartCounter", Integer.toString(Integer.parseInt(startCounter) + 1));
break;
- case 4:
+ case 5:
String lastVLMFullSyncStr = AppContext.getDatabaseManager().getRuntimeCache("LastVLMFullSync");
String lastVLMPartialSyncStr = AppContext.getDatabaseManager().getRuntimeCache("LastVLMPartialSync");
long lastVLMFullSync, lastVLMPartialSync;
else
lastVLMPartialSync = 0;
- String kursTag = AppContext.getDatabaseManager().getRuntimeCache("CourseName");
+ final String kursTag = AppContext.getDatabaseManager().getRuntimeCache("CourseName");
if(kursTag == null || kursTag.isEmpty())
break;
CalendarManager vpm = new CalendarManager(AppContext, kursTag);
vpm.performFullSynchronisation(new CalendarManagerInterface() {
@Override
public void onCalendarUpdateDone() {
+ if(!AppContext.getDatabaseManager().haveCourseName(kursTag)) {
+ CourseNameManager cnm = new CourseNameManager();
+ cnm.addCourseName(kursTag);
+ }
+
long now = (new Date()).getTime() / 1000;
AppContext.getDatabaseManager().setRuntimeCache("LastVLMFullSync", Long.toString(now));
AppContext.getDatabaseManager().setRuntimeCache("LastVLMPartialSync", Long.toString(now));
vpm.performFastSynchronisation(new CalendarManagerInterface() {
@Override
public void onCalendarUpdateDone() {
+ if(!AppContext.getDatabaseManager().haveCourseName(kursTag)) {
+ CourseNameManager cnm = new CourseNameManager();
+ cnm.addCourseName(kursTag);
+ }
+
long now = (new Date()).getTime()/1000;
AppContext.getDatabaseManager().setRuntimeCache("LastVLMPartialSync", Long.toString(now));
timerHandler.postDelayed(timerRunnable, 100);
else
break;
return;
- case 5:
+ case 6:
String lastMPMSyncStr = AppContext.getDatabaseManager().getRuntimeCache("LastMPSync");
long lastMPMSync;
if(lastMPMSyncStr != null)
else
break;
return;
- case 6:
case 7:
- final String syncSource = (progressCounter == 6 ? "DHBW" : "STUV");
+ case 8:
+ final String syncSource = (progressCounter == 7 ? "DHBW" : "STUV");
String lastNewsSyncStr = AppContext.getDatabaseManager().getRuntimeCache("LastNewsSync_"+syncSource);
long lastNewsSync;
if(lastNewsSyncStr != null)
else
break;
return;
- case 8:
+ case 9:
String lastStuvSyncStr = AppContext.getDatabaseManager().getRuntimeCache("LastStuvSync");
long lastStuvSync;
if(lastStuvSyncStr != null)