X-Git-Url: http://git.pk910.de/?p=DHBWCampusApp.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fde%2Fdhbwloe%2Fcampusapp%2Ffragments%2FSplashScreen.java;h=445a6082260f6b92f7efb724ab65c31d5e1b65cb;hp=e94ddb3712e8f608efc7b184365a1a377364ad51;hb=17d3a2ce93fd3ba1ec692dea601f246ef8e068b2;hpb=48e758721a39298a85c69ecc7267f3daf6993e78 diff --git a/app/src/main/java/de/dhbwloe/campusapp/fragments/SplashScreen.java b/app/src/main/java/de/dhbwloe/campusapp/fragments/SplashScreen.java index e94ddb3..445a608 100644 --- a/app/src/main/java/de/dhbwloe/campusapp/fragments/SplashScreen.java +++ b/app/src/main/java/de/dhbwloe/campusapp/fragments/SplashScreen.java @@ -34,6 +34,8 @@ import de.dhbwloe.campusapp.CampusApp; 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; @@ -111,6 +113,34 @@ public class SplashScreen extends CampusAppFragment { 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); @@ -118,7 +148,7 @@ public class SplashScreen extends CampusAppFragment { } 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; @@ -131,7 +161,7 @@ public class SplashScreen extends CampusAppFragment { 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); @@ -140,6 +170,11 @@ public class SplashScreen extends CampusAppFragment { 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)); @@ -168,6 +203,11 @@ public class SplashScreen extends CampusAppFragment { 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); @@ -193,7 +233,7 @@ public class SplashScreen extends CampusAppFragment { else break; return; - case 5: + case 6: String lastMPMSyncStr = AppContext.getDatabaseManager().getRuntimeCache("LastMPSync"); long lastMPMSync; if(lastMPMSyncStr != null) @@ -221,9 +261,9 @@ public class SplashScreen extends CampusAppFragment { 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) @@ -251,7 +291,7 @@ public class SplashScreen extends CampusAppFragment { else break; return; - case 8: + case 9: String lastStuvSyncStr = AppContext.getDatabaseManager().getRuntimeCache("LastStuvSync"); long lastStuvSync; if(lastStuvSyncStr != null)