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=83d773fa2d775d35ccfa73d973d32e4454217263;hp=eb543d5b3fb46ca2c60a6d6db8aad80a82f9415e;hb=60b04973e203241d319e2d8ee6c150d641b02a65;hpb=bd624f87e88e024b0c680f989cf008941fccc17f 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 eb543d5..83d773f 100644 --- a/app/src/main/java/de/dhbwloe/campusapp/fragments/SplashScreen.java +++ b/app/src/main/java/de/dhbwloe/campusapp/fragments/SplashScreen.java @@ -3,9 +3,7 @@ package de.dhbwloe.campusapp.fragments; 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; @@ -13,10 +11,8 @@ import android.view.Display; 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; @@ -27,8 +23,11 @@ import de.dhbwloe.campusapp.mensaplan.MensaplanManager; 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. @@ -114,12 +113,15 @@ public class SplashScreen extends CampusAppFragment { 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)); @@ -127,23 +129,47 @@ public class SplashScreen extends CampusAppFragment { } @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 @@ -215,21 +241,36 @@ public class SplashScreen extends CampusAppFragment { 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 @@ -246,9 +287,14 @@ public class SplashScreen extends CampusAppFragment { timerHandler.postDelayed(timerRunnable, 100); } }; - timerHandler.postDelayed(timerRunnable, 500); return view; } + @Override + public void onResume() { + super.onResume(); + timerHandler.postDelayed(timerRunnable, 500); + } + }