some fixes
[DHBWCampusApp.git] / app / src / main / java / de / dhbwloe / campusapp / fragments / SplashScreen.java
index eb543d5b3fb46ca2c60a6d6db8aad80a82f9415e..83d773fa2d775d35ccfa73d973d32e4454217263 100644 (file)
@@ -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);
+    }
+
 }