beta 0.1.1
authorpk910 <philipp@pk910.de>
Sat, 5 Mar 2016 18:15:41 +0000 (19:15 +0100)
committerpk910 <philipp@pk910.de>
Sat, 5 Mar 2016 18:15:41 +0000 (19:15 +0100)
24 files changed:
app/src/main/java/de/dhbwloe/campusapp/database/DatabaseManager.java
app/src/main/java/de/dhbwloe/campusapp/database/VorlesungsplanDatabaseHelper.java
app/src/main/java/de/dhbwloe/campusapp/fragments/DashboardMensa.java
app/src/main/java/de/dhbwloe/campusapp/fragments/DashboardNewsDhbw.java
app/src/main/java/de/dhbwloe/campusapp/fragments/DashboardNewsStuv.java
app/src/main/java/de/dhbwloe/campusapp/fragments/DashboardVorlesungsplan.java
app/src/main/java/de/dhbwloe/campusapp/fragments/SplashScreen.java
app/src/main/java/de/dhbwloe/campusapp/fragments/Vorlesungsplan.java
app/src/main/java/de/dhbwloe/campusapp/fragments/VorlesungsplanExams.java
app/src/main/java/de/dhbwloe/campusapp/fragments/VorlesungsplanExamsListAdapter.java
app/src/main/java/de/dhbwloe/campusapp/fragments/VorlesungsplanExamsListItem.java
app/src/main/java/de/dhbwloe/campusapp/fragments/VorlesungsplanGroups.java
app/src/main/java/de/dhbwloe/campusapp/fragments/VorlesungsplanUpcomingCourseListItem.java
app/src/main/java/de/dhbwloe/campusapp/network/IscRequestHelper.java
app/src/main/res/layout/fragment_dashboard.xml
app/src/main/res/layout/fragment_dashboard_mensa_menu.xml
app/src/main/res/layout/fragment_dashboard_news_dhbw.xml [deleted file]
app/src/main/res/layout/fragment_dashboard_news_entry.xml [new file with mode: 0644]
app/src/main/res/layout/fragment_dashboard_news_none.xml [new file with mode: 0644]
app/src/main/res/layout/fragment_dashboard_news_stuv.xml [deleted file]
app/src/main/res/layout/fragment_vorlesungsplan_exams_exam.xml
app/src/main/res/layout/fragment_vorlesungsplan_group.xml [new file with mode: 0644]
app/src/main/res/values-en/strings.xml [new file with mode: 0644]
app/src/main/res/values/strings.xml

index 06cf972fb5aa9c9f91626ec636b442c07ed778fa..32d7c61da4e5c3247e667cc44bd6ee2f5c5a7f48 100644 (file)
@@ -376,6 +376,13 @@ public class DatabaseManager {
         return vorlesungsplanDBHelper.getCourseCalendarEvents(coursename, timeFrom, timeTo);
     }
 
+    public CourseEvent[] getCourseEventsByGroup(CourseGroup group) {
+        openDatabase();
+        if(vorlesungsplanDBHelper == null)
+            vorlesungsplanDBHelper = new VorlesungsplanDatabaseHelper(AppContext, database);
+        return vorlesungsplanDBHelper.getCourseEventsByGroup(group);
+    }
+
     public CourseEvent[] getCourseCalendarTimetable(String coursename, long timeFrom, int days) {
         openDatabase();
         if(vorlesungsplanDBHelper == null)
index 8fc5f9569edc11dc2d67b8e531303c7ff85d4ef0..2894cc871cfa381405a46f216b8078fd544f6a4b 100644 (file)
@@ -282,7 +282,54 @@ public class VorlesungsplanDatabaseHelper {
         return eventsArr;
     }
 
+    public CourseEvent[] getCourseEventsByGroup(CourseGroup group) {
+        String[] whereArgs;
+        whereArgs = new String[] {
+                Integer.toString(group.getGroupId())
+        };
+        Cursor resultSet = database.rawQuery(
+                "SELECT " +
+                        "Id, CourseName, UniqueId, SequenceId, CourseCalendarEvent.EventFrom, CourseCalendarEvent.EventTo, EventTitle, EventLocation, EventStatus, RecurRule, ExcludeDates, CourseGroupId, EventType " +
+                        "FROM " +
+                        "CourseCalendarEvent " +
+                        "LEFT JOIN " +
+                        "CourseCalendar ON CourseCalendar.Id = CourseCalendarEvent.EventId "+
+                        "WHERE " +
+                        "CourseGroupId = ? ORDER BY CourseCalendarEvent.EventFrom ASC ",
+                whereArgs);
+        ArrayList<CourseEvent> events = new ArrayList<CourseEvent>();
+        if(resultSet.moveToFirst()) {
+            int[] columnIndexes = {
+                    resultSet.getColumnIndex("Id"),
+                    resultSet.getColumnIndex("CourseName"),
+                    resultSet.getColumnIndex("UniqueId"),
+                    resultSet.getColumnIndex("SequenceId"),
+                    resultSet.getColumnIndex("EventFrom"),
+                    resultSet.getColumnIndex("EventTo"),
+                    resultSet.getColumnIndex("EventTitle"),
+                    resultSet.getColumnIndex("EventLocation"),
+                    resultSet.getColumnIndex("EventStatus"),
+                    resultSet.getColumnIndex("RecurRule"),
+                    resultSet.getColumnIndex("ExcludeDates"),
+                    resultSet.getColumnIndex("CourseGroupId"),
+                    resultSet.getColumnIndex("EventType")
+            };
+            do {
+                int eventType = resultSet.getInt(columnIndexes[12]);
+
+                CourseEvent event = new CourseEvent(resultSet.getInt(columnIndexes[0]), resultSet.getString(columnIndexes[1]), resultSet.getString(columnIndexes[2]), resultSet.getInt(columnIndexes[3]),
+                        resultSet.getLong(columnIndexes[4]), resultSet.getLong(columnIndexes[5]), resultSet.getString(columnIndexes[6]), resultSet.getString(columnIndexes[7]),
+                        resultSet.getString(columnIndexes[8]), resultSet.getString(columnIndexes[9]), resultSet.getString(columnIndexes[10]), group, eventType);
 
+                events.add(event);
+            } while (resultSet.moveToNext());
+        }
+        resultSet.close();
+
+        CourseEvent[] eventsArr = new CourseEvent[events.size()];
+        eventsArr = events.toArray(eventsArr);
+        return eventsArr;
+    }
 
     public CourseGroup getCourseGroup(int courseGroupId) {
         CourseGroup coursegroup = null;
index fa75c5c8f5aff4caf0beae0ec31ef7e68a338478..5a9c41ba137db3b5d245172647a21ed46e5d4011 100644 (file)
@@ -76,7 +76,7 @@ public class DashboardMensa extends CampusAppFragment {
             if(menuTitle == null || menuTitle.matches("^Buffet"))
                 continue;
 
-            RelativeLayout menu = (RelativeLayout) li.inflate(R.layout.fragment_dashboard_mensa_menu, null, false);
+            LinearLayout menu = (LinearLayout) li.inflate(R.layout.fragment_dashboard_mensa_menu, null, false);
             menueContainer.addView(menu);
 
             TextView menuName = (TextView) menu.findViewById(R.id.menuName);
index 48342fa310503202dcb7963ed95488e836e944a5..20f1ad8f18fd04380e134e5fbd2b72e7b8781e25 100644 (file)
@@ -6,19 +6,21 @@ import android.support.v4.app.Fragment;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
 
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.Date;
 
-import de.dhbwloe.campusapp.CampusAppFragment;
 import de.dhbwloe.campusapp.R;
 
 /**
  * A simple {@link Fragment} subclass.
  */
 public class DashboardNewsDhbw extends News {
-
+    private View newsEntryPanel;
+    private View newsNonePanel;
 
     public DashboardNewsDhbw() {
         // Required empty public constructor
@@ -28,7 +30,10 @@ public class DashboardNewsDhbw extends News {
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
                              Bundle savedInstanceState) {
-        oFragmentView = inflater.inflate(R.layout.fragment_dashboard_news_stuv, container, false);
+
+        oFragmentView = new RelativeLayout(inflater.getContext());
+        newsEntryPanel = inflater.inflate(R.layout.fragment_dashboard_news_entry, container, false);
+        newsNonePanel = inflater.inflate(R.layout.fragment_dashboard_news_none, container, false);
 
         return oFragmentView;
     }
@@ -51,8 +56,20 @@ public class DashboardNewsDhbw extends News {
             }
         });
 
+        RelativeLayout container = (RelativeLayout) oFragmentView;
+        container.removeAllViews();
+
+        if(newsListItems.size() > 0) {
+            container.addView(newsEntryPanel);
+
+            TextView dateView = (TextView) newsEntryPanel.findViewById(R.id.newsDate);
+            TextView titleView = (TextView) newsEntryPanel.findViewById(R.id.newsTitle);
+            NewsListItem newsItem = newsListItems.get(0);
 
-        // show newsListItems
+            dateView.setText(newsItem.getFormatedDate());
+            titleView.setText(newsItem.getTitle());
+        } else
+            container.addView(newsNonePanel);
     }
 
 }
index ba692a6cc4ae3ea056e76e969d01305c0fd61600..57bf356b299ba922779bc92504ade93100f12ffe 100644 (file)
@@ -6,19 +6,21 @@ import android.support.v4.app.Fragment;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
 
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.Date;
 
-import de.dhbwloe.campusapp.CampusAppFragment;
 import de.dhbwloe.campusapp.R;
 
 /**
  * A simple {@link Fragment} subclass.
  */
 public class DashboardNewsStuv extends News {
-
+    private View newsEntryPanel;
+    private View newsNonePanel;
 
     public DashboardNewsStuv() {
         // Required empty public constructor
@@ -28,7 +30,10 @@ public class DashboardNewsStuv extends News {
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
                              Bundle savedInstanceState) {
-        oFragmentView = inflater.inflate(R.layout.fragment_dashboard_news_stuv, container, false);
+
+        oFragmentView = new RelativeLayout(inflater.getContext());
+        newsEntryPanel = inflater.inflate(R.layout.fragment_dashboard_news_entry, container, false);
+        newsNonePanel = inflater.inflate(R.layout.fragment_dashboard_news_none, container, false);
 
         return oFragmentView;
     }
@@ -52,7 +57,20 @@ public class DashboardNewsStuv extends News {
             }
         });
 
-        // show newsListItems
+        RelativeLayout container = (RelativeLayout) oFragmentView;
+        container.removeAllViews();
+
+        if(newsListItems.size() > 0) {
+            container.addView(newsEntryPanel);
+
+            TextView dateView = (TextView) newsEntryPanel.findViewById(R.id.newsDate);
+            TextView titleView = (TextView) newsEntryPanel.findViewById(R.id.newsTitle);
+            NewsListItem newsItem = newsListItems.get(0);
+
+            dateView.setText(newsItem.getFormatedDate());
+            titleView.setText(newsItem.getTitle());
+        } else
+            container.addView(newsNonePanel);
     }
 
 }
index bb0105d35a1c20f524d1d574b043dbea555ba8ae..91e56c435ade80f8e38f3e5fbc1587f4c3226b9b 100644 (file)
@@ -44,7 +44,7 @@ public class DashboardVorlesungsplan extends CampusAppFragment {
         view = inflater.inflate(R.layout.fragment_dashboard_timetable, container, false);
         String kursTag = AppContext.getDatabaseManager().getRuntimeCache("CourseName");
         if(kursTag == null || kursTag.isEmpty()) {
-            return null;
+            return view;
         }
         courseName = kursTag;
         return view;
index 83d773fa2d775d35ccfa73d973d32e4454217263..961a32be18645d312a8ff73a3da63fa60798ff15 100644 (file)
@@ -142,7 +142,7 @@ public class SplashScreen extends CampusAppFragment {
                                     indices.setDescription("Vorlesung " + event.getEventTitle());
                                     indices.addKeyWord(event.getGroupTitle());
                                     indices.addKeyWord(event.getEventLocation());
-                                    return null;
+                                    return indices;
                                 }
                             });
                         }
@@ -164,11 +164,11 @@ public class SplashScreen extends CampusAppFragment {
                                     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.setTitle(AppContext.getResString(R.string.search_vorlesungsplan_group_title, event.getCourseName()));
+                                    indices.setDescription(event.getEventTitle());
                                     indices.addKeyWord(event.getGroupTitle());
                                     indices.addKeyWord(event.getEventLocation());
-                                    return null;
+                                    return indices;
                                 }
                             });
                         }
index d4b8bb692e892aa8eee8b79b397d8cb51352268c..a0bde341d8e7827dc27329cfc7450e5b16e50bb9 100644 (file)
@@ -10,6 +10,9 @@ import android.support.v4.view.ViewPager;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.LinearLayout;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
 
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -17,9 +20,12 @@ import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 
+import de.dhbwloe.campusapp.CampusAppContext;
 import de.dhbwloe.campusapp.CampusAppFragment;
 import de.dhbwloe.campusapp.R;
 import de.dhbwloe.campusapp.search.SearchIndices;
+import de.dhbwloe.campusapp.vorlesungen.CourseEvent;
+import de.dhbwloe.campusapp.vorlesungen.CourseGroup;
 
 /**
  * A simple {@link Fragment} subclass.
@@ -39,7 +45,7 @@ public class Vorlesungsplan extends CampusAppFragment {
                     setDescription(R.string.search_vorlesungsplan_description);
                     addKeyWord(R.string.search_vorlesungsplan_keywords);
                 }},
-                new SearchIndices("Vorlesungsplan", true) {{
+                new SearchIndices("VorlesungsplanExams", true) {{
                     setUpdateTime(1);
                     setTarget("#Vorlesungsplan#view=exams");
                     setTitle(R.string.search_vorlesungsplan_klausur_title);
@@ -50,16 +56,44 @@ public class Vorlesungsplan extends CampusAppFragment {
     }
 
     @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-                             Bundle savedInstanceState) {
-        View view = inflater.inflate(R.layout.fragment_vorlesungsplan, container, false);
-        AppContext.setTitle(AppContext.getResString(R.string.vorlesungsplan_title));
+    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+        Bundle arguments = getArguments();
+        int showGroupId = 0;
+        boolean showExamsPage = false;
+        if(arguments != null) {
+            String groupid = arguments.getString("groupid");
+            if(groupid != null)
+                showGroupId = Integer.parseInt(groupid);
+            String view = arguments.getString("view");
+            if(view != null && view.equalsIgnoreCase("exams"))
+                showExamsPage = true;
+        }
+
+        View view = null;
+        if(showGroupId > 0) {
+            view = inflater.inflate(R.layout.fragment_vorlesungsplan_group, container, false);
+
+            CourseGroup group = AppContext.getDatabaseManager().getCourseGroup(showGroupId);
+            if(group != null) {
+                AppContext.setTitle(AppContext.getResString(R.string.vorlesungsplan_group_title, group.getGroupName()));
+
+                showGroupEvents(view, group);
+            } else
+                view = null;
+        }
+        if(view == null) {
+            view = inflater.inflate(R.layout.fragment_vorlesungsplan, container, false);
+            AppContext.setTitle(AppContext.getResString(R.string.vorlesungsplan_title));
+
+            ViewPager pager = (ViewPager) view.findViewById(R.id.viewpager);
+            setupViewPager(pager);
 
-        ViewPager pager = (ViewPager) view.findViewById(R.id.viewpager);
-        setupViewPager(pager);
+            if(showExamsPage)
+                pager.setCurrentItem(2);
 
-        TabLayout tabLayout = (TabLayout) view.findViewById(R.id.tabs);
-        tabLayout.setupWithViewPager(pager);
+            TabLayout tabLayout = (TabLayout) view.findViewById(R.id.tabs);
+            tabLayout.setupWithViewPager(pager);
+        }
 
         return view;
     }
@@ -97,6 +131,81 @@ public class Vorlesungsplan extends CampusAppFragment {
         });
     }
 
+    private void showGroupEvents(View view, CourseGroup group) {
+        CourseEvent events[] = AppContext.getDatabaseManager().getCourseEventsByGroup(group);
+
+        CourseEvent nextEvent = null;
+        CourseEvent lastEvent = null;
+        CourseEvent examEvent = null;
+        long now = (new Date()).getTime()/1000;
+        SimpleDateFormat dateFormat = new SimpleDateFormat(AppContext.getResString(R.string.timeformat_vorlesungsplan_fulldate));
+
+        LinearLayout container = (LinearLayout) view.findViewById(R.id.allEventsList);
+        TextView groupName = (TextView) view.findViewById(R.id.courseTitle);
+        TextView nextEventView = (TextView) view.findViewById(R.id.nextEvent);
+        TextView lastEventView = (TextView) view.findViewById(R.id.lastEvent);
+        TextView examEventView = (TextView) view.findViewById(R.id.klausurEvent);
+
+        groupName.setText(group.getGroupName());
+        container.removeAllViews();
+
+        for(CourseEvent event : events) {
+            if(event.getEventFrom() >= now && nextEvent == null)
+                nextEvent = event;
+            if(event.getCourseType() == CourseEvent.CourseType.COURSETYPE_KLAUSUR)
+                examEvent = event;
+            else
+                lastEvent = event;
+
+            LinearLayout eventEntry = new LinearLayout(view.getContext());
+            eventEntry.setLayoutParams(new LinearLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
+                    RelativeLayout.LayoutParams.WRAP_CONTENT));
+            eventEntry.setOrientation(LinearLayout.HORIZONTAL);
+
+            TextView dotView = new TextView(view.getContext());
+            dotView.setText(AppContext.getResString(R.string.listDot));
+            eventEntry.addView(dotView);
+
+            if(event.getEventFrom() < now)
+                dotView.setTextColor(AppContext.getMainActivity().getResources().getColor(R.color.color_dhbw_lightgray));
+            else
+                dotView.setTextColor(AppContext.getMainActivity().getResources().getColor(R.color.color_dhbw_darkred));
+
+            TextView nameView = new TextView(view.getContext());
+            LinearLayout.LayoutParams nameViewLayoutParams = new LinearLayout.LayoutParams(
+                    LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
+            nameViewLayoutParams.setMargins(16,0,0,0);
+            nameView.setLayoutParams(nameViewLayoutParams);
+            nameView.setText(dateFormat.format(new Date(event.getEventFrom() * 1000)));
+            eventEntry.addView(nameView);
+
+            TextView locationView = new TextView(view.getContext());
+            LinearLayout.LayoutParams locationViewLayoutParams = new LinearLayout.LayoutParams(
+                    LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
+            locationViewLayoutParams.setMargins(32,0,0,0);
+            locationView.setLayoutParams(locationViewLayoutParams);
+            locationView.setText(event.getEventLocation());
+            eventEntry.addView(locationView);
+
+            container.addView(eventEntry);
+        }
+
+        if(nextEvent != null)
+            nextEventView.setText(dateFormat.format(new Date(nextEvent.getEventFrom() * 1000)));
+        else
+            nextEventView.setText(CampusAppContext.getInstance().getResString(R.string.vorlesungsplan_groups_nonext));
+
+        if(lastEvent != null)
+            lastEventView.setText(dateFormat.format(new Date(lastEvent.getEventFrom() * 1000)));
+        else
+            lastEventView.setText(CampusAppContext.getInstance().getResString(R.string.vorlesungsplan_groups_nonext));
+
+        if(examEvent != null)
+            examEventView.setText(dateFormat.format(new Date(examEvent.getEventFrom() * 1000)));
+        else
+            examEventView.setText(CampusAppContext.getInstance().getResString(R.string.vorlesungsplan_groups_noklausur));
+    }
+
     class ViewPagerAdapter extends FragmentPagerAdapter {
         private final List<Fragment> mFragmentList = new ArrayList<>();
         private final List<String> mFragmentTitleList = new ArrayList<>();
index 1d089c0a3675808b44ee4b826366c7678fc755b6..a8aa4a407330192cd624d61ba00ac6d71827205b 100644 (file)
@@ -70,6 +70,7 @@ public class VorlesungsplanExams extends CampusAppFragment implements Vorlesungs
                     event.getEventId(),
                     coursename,
                     event.getEventTitle(),
+                    event.getEventLocation(),
                     event.getEventFrom(),
                     event.getEventTo(),
                     1
index a880be8bf9bb3ea9e13e016d332173a18947f9c8..4fb489cb5e8e2b82f0ec998df10ae0812b76f606 100644 (file)
@@ -49,6 +49,7 @@ public class VorlesungsplanExamsListAdapter extends ArrayAdapter<VorlesungsplanE
             holder.eventDate.setText(item.getEventDate());
             holder.eventStart.setText(item.getEventStart());
             holder.eventEnd.setText(item.getEventEnd());
+            holder.eventLocation.setText(item.getEventLocation());
 
             return row;
             }
@@ -56,12 +57,14 @@ public class VorlesungsplanExamsListAdapter extends ArrayAdapter<VorlesungsplanE
     static class RecordHolder {
         TextView groupName;
         TextView eventDate;
+        TextView eventLocation;
         TextView eventStart;
         TextView eventEnd;
 
         public RecordHolder(View view) {
             this.groupName = (TextView) view.findViewById(R.id.courseTitle);
             this.eventDate = (TextView) view.findViewById(R.id.eventDate);
+            this.eventLocation = (TextView) view.findViewById(R.id.eventLocation);
             this.eventStart = (TextView) view.findViewById(R.id.eventStart);
             this.eventEnd = (TextView) view.findViewById(R.id.eventEnd);
         }
index 06d3343abf2aca156a7bac77bda6d8b6a21258dd..e8ff5ab8db9574e1ba0f772290da19ca6647bcb5 100644 (file)
@@ -13,13 +13,15 @@ public class VorlesungsplanExamsListItem {
     private int groupId;
     private String courseName;
     private String groupName;
+    private String eventLocation;
     private long eventStart, eventEnd;
     private int eventCount;
 
-    public VorlesungsplanExamsListItem(int groupid, String coursename, String groupname, long eventstart, long eventend, int eventcount) {
+    public VorlesungsplanExamsListItem(int groupid, String coursename, String groupname, String eventlocation, long eventstart, long eventend, int eventcount) {
         groupId = groupid;
         courseName = coursename;
         groupName = groupname;
+        eventLocation = eventlocation;
         eventStart = eventstart;
         eventEnd = eventend;
         eventCount = eventcount;
@@ -37,6 +39,10 @@ public class VorlesungsplanExamsListItem {
         return groupName;
     }
 
+    public String getEventLocation() {
+        return eventLocation;
+    }
+
     public String getEventDate() {
         if(eventStart == 0)
             return null;
index a685709d29b7dd669cd9e6ce6da4e015605d9262..1ba916bca95fc87d4de6089b5d7fb5bef9c14a15 100644 (file)
@@ -3,9 +3,11 @@ package de.dhbwloe.campusapp.fragments;
 
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
+import android.text.method.CharacterPickerDialog;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.AdapterView;
 import android.widget.CheckBox;
 import android.widget.CompoundButton;
 import android.widget.ListView;
@@ -55,6 +57,17 @@ public class VorlesungsplanGroups extends CampusAppFragment implements Vorlesung
             }
         });
 
+        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                VorlesungsplanGroupsListItem item = listItems.get(position);
+
+                Bundle args = new Bundle();
+                args.putString("groupid", Integer.toString(item.getGroupId()));
+                AppContext.getNavigationManager().navigatePage("Vorlesungsplan", args);
+            }
+        });
+
         return view;
     }
 
index 6fc45f45227d8d834faa3751c4e9f7c929a8efe0..723579556c39a87440b98bd9a3520a255147d86f 100644 (file)
@@ -1,6 +1,7 @@
 package de.dhbwloe.campusapp.fragments;
 
 import android.content.Context;
+import android.os.Bundle;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.TextView;
@@ -11,6 +12,7 @@ import java.util.Date;
 import de.dhbwloe.campusapp.CampusAppContext;
 import de.dhbwloe.campusapp.R;
 import de.dhbwloe.campusapp.vorlesungen.CourseEvent;
+import de.dhbwloe.campusapp.vorlesungen.CourseGroup;
 
 /**
  * Created by pk910 on 20.02.2016.
@@ -24,6 +26,14 @@ public class VorlesungsplanUpcomingCourseListItem {
 
     public void updateContainerView(View view) {
 
+        android.support.v7.widget.CardView cardView = (android.support.v7.widget.CardView) view.findViewById(R.id.card_upcomingday);
+        cardView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                onEventClicked();
+            }
+        });
+
         SimpleDateFormat dateFormat = new SimpleDateFormat(CampusAppContext.getInstance().getResString(R.string.timeformat_vorlesungsplan_time));
         TextView timeFrom = (TextView) view.findViewById(R.id.timeFrom);
         TextView timeTo = (TextView) view.findViewById(R.id.timeTo);
@@ -39,4 +49,13 @@ public class VorlesungsplanUpcomingCourseListItem {
         location.setText(event.getEventLocation());
         courseTitle.setText(event.getEventTitle());
     }
+
+    private void onEventClicked() {
+        Bundle args = new Bundle();
+        CourseGroup group = event.getCourseGroup();
+        if(group == null)
+            return;
+        args.putString("groupid", Integer.toString(group.getGroupId()));
+        CampusAppContext.getInstance().getNavigationManager().navigatePage("Vorlesungsplan", args);
+    }
 }
index f840366ef64509aa71eeb2e8fdd8dd82fdaaa56b..613b511adc9871e30b6221c6da67658a8e5b095b 100644 (file)
@@ -43,7 +43,7 @@ public abstract class IscRequestHelper {
                 String error = null;
                 try {
                     error = new String(errorResponse, "US-ASCII");
-                } catch (UnsupportedEncodingException e1) {
+                } catch (Exception e1) {
                 }
                 Log.i("HTTPClient", "  Error: " + statusCode + " - " + error);
                 onCalendarRequestFail(statusCode, error);
index 8c8ac467b0a20f7c4d78d38cbd644fe6415876fb..8b71f0afee41fdc06b9503e337b74f906a5eef57 100644 (file)
@@ -56,7 +56,7 @@
     <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@+id/card_mensa"
         android:layout_width="match_parent"
-        android:layout_height="180dp"
+        android:layout_height="220dp"
         android:layout_margin="8dp"
         card_view:cardCornerRadius="5dp">
 
                     android:layout_below="@+id/imageView6"
                     android:layout_alignParentLeft="true"
                     android:layout_alignParentStart="true"
-                    tools:layout="@layout/fragment_dashboard_news_dhbw" />
+                    tools:layout="@layout/fragment_dashboard_news_entry" />
 
             </RelativeLayout>
         </android.support.v7.widget.CardView>
                     android:layout_below="@+id/imageView7"
                     android:layout_alignParentLeft="true"
                     android:layout_alignParentStart="true"
-                    tools:layout="@layout/fragment_dashboard_news_stuv" />
+                    tools:layout="@layout/fragment_dashboard_news_none" />
 
             </RelativeLayout>
         </android.support.v7.widget.CardView>
index d1e388ad59b5f088d5d254b45585fa14a3bc2434..70751f0ab3739f95f13bab669a7f4282979d9516 100644 (file)
@@ -1,14 +1,14 @@
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
+    android:orientation="horizontal"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
+    android:layout_height="wrap_content"
     tools:context="de.dhbwloe.campusapp.fragments.DashboardMensa"
     android:paddingLeft="8dp"
     android:paddingTop="4dp"
     android:paddingBottom="4dp"
     android:paddingRight="8dp">
 
-
     <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
@@ -27,7 +27,8 @@
         android:layout_alignParentTop="true"
         android:layout_toRightOf="@+id/textView18"
         android:layout_toEndOf="@+id/textView18"
-        android:layout_marginLeft="8dp" />
+        android:layout_marginLeft="8dp"
+        android:layout_weight="1" />
 
     <TextView
         android:layout_width="wrap_content"
@@ -38,4 +39,5 @@
         android:layout_alignParentRight="true"
         android:layout_alignParentEnd="true"
         android:textColor="@color/color_dhbw_darkred" />
-</RelativeLayout>
+
+</LinearLayout>
diff --git a/app/src/main/res/layout/fragment_dashboard_news_dhbw.xml b/app/src/main/res/layout/fragment_dashboard_news_dhbw.xml
deleted file mode 100644 (file)
index 38df6d2..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    tools:context="de.dhbwloe.campusapp.fragments.DashboardNewsDhbw">
-
-    <!-- TODO: Update blank fragment layout -->
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:text="@string/hello_blank_fragment" />
-
-</FrameLayout>
diff --git a/app/src/main/res/layout/fragment_dashboard_news_entry.xml b/app/src/main/res/layout/fragment_dashboard_news_entry.xml
new file mode 100644 (file)
index 0000000..e44b17a
--- /dev/null
@@ -0,0 +1,27 @@
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context="de.dhbwloe.campusapp.fragments.DashboardNewsDhbw"
+    android:padding="8dp">
+
+    <!-- TODO: Update blank fragment layout -->
+
+    <TextView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="{date}"
+        android:id="@+id/newsDate"
+        android:layout_alignParentTop="true"
+        android:layout_alignParentLeft="true"
+        android:layout_alignParentStart="true" />
+
+    <TextView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="{title}"
+        android:id="@+id/newsTitle"
+        android:layout_below="@+id/newsDate"
+        android:layout_alignLeft="@+id/newsDate"
+        android:layout_alignStart="@+id/newsDate" />
+</RelativeLayout>
diff --git a/app/src/main/res/layout/fragment_dashboard_news_none.xml b/app/src/main/res/layout/fragment_dashboard_news_none.xml
new file mode 100644 (file)
index 0000000..197cd4b
--- /dev/null
@@ -0,0 +1,17 @@
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context="de.dhbwloe.campusapp.fragments.DashboardNewsStuv">
+
+    <!-- TODO: Update blank fragment layout -->
+
+    <TextView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="@string/dashboard_news_none"
+        android:id="@+id/textView37"
+        android:layout_alignParentTop="true"
+        android:layout_centerHorizontal="true"
+        android:layout_marginTop="20dp" />
+</RelativeLayout>
diff --git a/app/src/main/res/layout/fragment_dashboard_news_stuv.xml b/app/src/main/res/layout/fragment_dashboard_news_stuv.xml
deleted file mode 100644 (file)
index a7900dc..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    tools:context="de.dhbwloe.campusapp.fragments.DashboardNewsStuv">
-
-    <!-- TODO: Update blank fragment layout -->
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:text="@string/hello_blank_fragment" />
-
-</FrameLayout>
index 15cb59b8d180644052765380ad01ac8a2f7bc98d..3ec019aad4f171d14f33479b4a3f7abe127a0bfb 100644 (file)
             <TextView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="@string/vorlesungsplan_exam_start"
+                android:text="@string/vorlesungsplan_exam_location"
                 android:id="@+id/textView17"
                 android:layout_below="@+id/textView16"
                 android:layout_marginLeft="12dp" />
 
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/vorlesungsplan_exam_start"
+                android:id="@+id/textView18"
+                android:layout_below="@+id/textView17"
+                android:layout_marginLeft="12dp" />
+
             <TextView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:text="@string/vorlesungsplan_exam_end"
                 android:id="@+id/klausurName"
-                android:layout_below="@+id/textView17"
+                android:layout_below="@+id/textView18"
                 android:layout_marginLeft="12dp" />
 
             <TextView
                 android:layout_toEndOf="@+id/textView16"
                 android:layout_marginLeft="16dp" />
 
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="{location}"
+                android:id="@+id/eventLocation"
+                android:layout_alignTop="@+id/textView17"
+                android:layout_alignLeft="@+id/eventDate"
+                android:layout_alignStart="@+id/eventDate" />
+
             <TextView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:text="{date}"
                 android:id="@+id/eventStart"
-                android:layout_alignBottom="@+id/textView17"
                 android:layout_alignLeft="@+id/eventDate"
-                android:layout_alignStart="@+id/eventDate" />
+                android:layout_alignStart="@+id/eventDate"
+                android:layout_alignBottom="@+id/textView18" />
 
             <TextView
                 android:layout_width="wrap_content"
diff --git a/app/src/main/res/layout/fragment_vorlesungsplan_group.xml b/app/src/main/res/layout/fragment_vorlesungsplan_group.xml
new file mode 100644 (file)
index 0000000..66023e3
--- /dev/null
@@ -0,0 +1,129 @@
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    xmlns:card_view="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context="de.dhbwloe.campusapp.fragments.VorlesungsplanGroups">
+
+    <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
+        android:id="@+id/card_upcomingday"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_margin="8dp"
+        card_view:cardCornerRadius="5dp">
+
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:padding="8dp">
+
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="{title}"
+                android:id="@+id/courseTitle"
+                android:layout_alignParentTop="true"
+                android:layout_alignParentLeft="true"
+                android:layout_alignParentStart="true" />
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/vorlesungsplan_groups_nextevent"
+                android:id="@+id/textView16"
+                android:layout_below="@+id/courseTitle"
+                android:layout_marginLeft="12dp"
+                android:layout_marginTop="8dp" />
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/vorlesungsplan_groups_lastevent"
+                android:id="@+id/textView17"
+                android:layout_below="@+id/textView16"
+                android:layout_marginLeft="12dp" />
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/vorlesungsplan_groups_klausur"
+                android:id="@+id/klausurName"
+                android:layout_below="@+id/textView17"
+                android:layout_marginLeft="12dp" />
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="{date}"
+                android:id="@+id/nextEvent"
+                android:layout_alignBottom="@+id/textView16"
+                android:layout_toRightOf="@+id/textView16"
+                android:layout_toEndOf="@+id/textView16"
+                android:layout_marginLeft="16dp" />
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="{date}"
+                android:id="@+id/lastEvent"
+                android:layout_alignBottom="@+id/textView17"
+                android:layout_alignLeft="@+id/nextEvent"
+                android:layout_alignStart="@+id/nextEvent" />
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="{date}"
+                android:id="@+id/klausurEvent"
+                android:layout_alignBottom="@+id/klausurName"
+                android:layout_alignLeft="@+id/nextEvent"
+                android:layout_alignStart="@+id/nextEvent" />
+
+            <RelativeLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_below="@+id/klausurName"
+                android:layout_marginTop="8dp">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@string/vorlesungsplan_group_allevents"
+                    android:id="@+id/textView34" />
+
+                <LinearLayout
+                    android:orientation="vertical"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_below="@+id/textView34"
+                    android:id="@+id/allEventsList"
+                    android:layout_marginLeft="8dp"
+                    android:layout_marginRight="8dp"
+                    android:layout_marginBottom="8dp">
+
+                    <LinearLayout
+                        android:orientation="horizontal"
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent">
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="&#8226;"
+                            android:id="@+id/textView35" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="{Vorlesung}"
+                            android:id="@+id/textView36"
+                            android:layout_marginLeft="4dp" />
+                    </LinearLayout>
+                </LinearLayout>
+            </RelativeLayout>
+
+        </RelativeLayout>
+    </android.support.v7.widget.CardView>
+
+</RelativeLayout>
diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml
new file mode 100644 (file)
index 0000000..e86f5a1
--- /dev/null
@@ -0,0 +1,170 @@
+<resources>
+    <string name="app_name">DHBW Campus App</string>
+    <string name="app_name_launcher">Campus App</string>
+
+    <string name="navigation_drawer_open">Open navigation drawer</string>
+    <string name="navigation_drawer_close">Close navigation drawer</string>
+
+    <string name="action_settings">Settings</string>
+
+    <string name="week_monday">Monday</string>
+    <string name="week_tuesday">Thuesday</string>
+    <string name="week_wednesday">Wednesday</string>
+    <string name="week_thursday">Thuesday</string>
+    <string name="week_friday">Friday</string>
+    <string name="week_saturday">Saturday</string>
+    <string name="week_sunday">Sunday</string>
+
+    <string name="week_monday_short">Mon</string>
+    <string name="week_tuesday_short">Tue</string>
+    <string name="week_wednesday_short">Wed</string>
+    <string name="week_thursday_short">Thu</string>
+    <string name="week_friday_short">Fri</string>
+    <string name="week_saturday_short">Sat</string>
+    <string name="week_sunday_short">Sun</string>
+
+    <string name="timeformat_dashboard_mensa">MM/dd</string>
+    <string name="timeformat_dashboard_vorlesungsplan_time">HH:mm</string>
+    <string name="timeformat_dashboard_vorlesungsplan_date">MM/dd</string>
+    <string name="timeformat_mensa_titledate">MM/dd/yyyy</string>
+    <string name="timeformat_vorlesungsplan_fulldate">MM/dd/yyyy HH:mm</string>
+    <string name="timeformat_vorlesungsplan_time">HH:mm</string>
+    <string name="timeformat_vorlesungsplan_date">MM/dd</string>
+    <string name="timeformat_news_event">MM/dd/yyyy HH:mm</string>
+    <string name="timeformat_news_news">MM/dd/yyyy</string>
+    <string name="mensaformat_price">#,##0.00 €</string>
+
+    <string name="appsearch_title">Search: %s</string>
+    <string name="appsearch_inapp">Campus App</string>
+    <string name="appsearch_indhbw">DHBW Search</string>
+    <string name="appsearch_instuv">Stuv Search</string>
+
+    <string name="search_dashboard_title">Dashboard</string>
+    <string name="search_dashboard_description">App Dashboard :)</string>
+    <string name="search_dashboard_keywords">home, dashboard, start, overview</string>
+    <string name="search_impressum_title">Imprint</string>
+    <string name="search_impressum_description">App Imprint</string>
+    <string name="search_impressum_keywords">autor, author, contact, imprint</string>
+    <string name="search_mensa_title">Dining Hall</string>
+    <string name="search_mensa_description">current dining hall plans</string>
+    <string name="search_mensa_keywords">mensa, diner, dining hall, eat, lunch, food, plan, hunger</string>
+    <string name="search_news_title">News</string>
+    <string name="search_news_description">DHBW &amp; Stuv News</string>
+    <string name="search_news_keywords">news, dhbw, stuv, dates, appointment, events</string>
+    <string name="search_vorlesungsplan_title">Lecture Plan</string>
+    <string name="search_vorlesungsplan_description">Your lecture plan</string>
+    <string name="search_vorlesungsplan_keywords">vorlesung, vorlesungen, plan, vorlesungsplan, stundenplan, termin, termine, kursplan, blockplan, block, zeit, zeiten, lecture, course, time, dates, deadlines</string>
+    <string name="search_vorlesungsplan_klausur_title">Lecture Plan</string>
+    <string name="search_vorlesungsplan_klausur_description">Your exams</string>
+    <string name="search_vorlesungsplan_klausur_keywords">klausuren, prüfungen, exams, termine, zeitpunkt, plan, ergebnisse, results</string>
+    <string name="search_wifi_title">Wifi Settings</string>
+    <string name="search_wifi_description">Wifi configuration for your device</string>
+    <string name="search_wifi_keywords">wlan, secure, dhbw-secure, wifi, w-lan, wireless, internet, netzwerk, network</string>
+
+    <string name="dashboard_title">Dashboard</string>
+    <string name="dashboard_mensa_title">Dining Hall</string>
+    <string name="dashboard_calendar_title">Lecture Plan</string>
+    <string name="dashboard_calendar_today">Today</string>
+    <string name="dashboard_calendar_tomorrow">Tomorrow</string>
+
+    <string name="dashboard_calendar_klausur">Exam: </string>
+
+    <string name="mensa_title">Menu</string>
+    <string name="mensa_dayplan_title">Menu: %s</string>
+    <string name="mensa_weekend">TGIF!</string>
+    <string name="mensacard_title">Card Balance</string>
+    <string name="mensacard_guthaben">Your balance:</string>
+
+    <string name="vorlesungsplan_title">Lecture Plan</string>
+    <string name="vorlesungsplan_upcoming">Next lecture</string>
+    <string name="vorlesungsplan_groups">Lecture Overview</string>
+    <string name="vorlesungsplan_exams">Exam Overview</string>
+    <string name="vorlesungsplan_show_old_courses">Show past lectures</string>
+    <string name="vorlesungsplan_groups_nextevent">Next lecture:</string>
+    <string name="vorlesungsplan_groups_lastevent">Last lecture:</string>
+    <string name="vorlesungsplan_groups_nonext">- none -</string>
+    <string name="vorlesungsplan_groups_noklausur">- none -</string>
+    <string name="vorlesungsplan_groups_klausur">Exam:</string>
+    <string name="vorlesungsplan_groups_praesi">Presentation:</string>
+
+    <string name="vorlesungsplan_exam_date">Date:</string>
+    <string name="vorlesungsplan_exam_start">Start:</string>
+    <string name="vorlesungsplan_exam_end">End:</string>
+
+    <string name="impressum_title">Imprint</string>
+    <string name="impressum_h1">Campus App</string>
+    <string name="impressum_about">This App was developed as part of the lecture \n\'Entwicklung mobiler Apps\'.</string>
+    <string name="impressum_author">Developed by:</string>
+    <string name="impressum_source">Sourcecode:</string>
+
+    <string name="news_title">News</string>
+    <string name="news_toggle_dhbw">DHBW News</string>
+    <string name="news_toggle_stuv">STUV News</string>
+    <string name="news_toggle_stuv_events">STUV Events</string>
+    <string name="news_followlink">more...</string>
+
+    <string name="settings_title">Settings</string>
+    <string name="settings_vorlesungsplan">Lecture Plan</string>
+    <string name="settings_course_caption">Your course description:</string>
+    <string name="settings_course_example">Example: tif13a, win14a, wwi15b</string>
+    <string name="settings_mensaplan">Dining Hall Menu</string>
+    <string name="settings_role_caption">Your profession:</string>
+    <string-array name="settings_role_values">
+        <item>Student</item>
+        <item>Employee</item>
+        <item>Pupil</item>
+        <item>Guest</item>
+    </string-array>
+
+    <string name="firstrun_select_couse">Please enter your course description:</string>
+    <string name="firstrun_select_couse_example">(eg. tif13a, win14a, wwi15b)</string>
+    <string name="firstrun_course_ok_button">Ok</string>
+    <string name="firstrun_run_as_guest">You can sign in as guest. You will then, however, not have the full functionality.</string>
+    <string name="firstrun_run_as_guest_button">Run as Guest</string>
+    <string name="firstrun_settings_note">You can change your course description in the app settings anytime.</string>
+    <string name="firstrun_slow_note">Due to the incredibly high speed of the DHBW infrastructure, the initial bootup may take a few moments.</string>
+
+    <string name="wifisettings_psk_caption">PSK:</string>
+    <string name="wifisettings_insecure_network">Warning: This network is potentially insecure!</string>
+
+    <string name="wifisettings_about_wifi">DHBW offers various ways to connect your device to WiFi networks.</string>
+    <string name="wifisettings_ssid_caption">SSID:</string>
+    <string name="wifisettings_security_caption">Security:</string>
+    <string name="wifisettings_eap_caption">EAP-Method:</string>
+    <string name="wifisettings_phase2_caption">Phase 2-Authentification:</string>
+    <string name="wifisettings_cacert_caption">CA-Certificate:</string>
+    <string name="wifisettings_username_caption">Username:</string>
+    <string name="wifisettings_password_caption">Password:</string>
+
+    <string name="wifiopts_security_open">Public</string>
+    <string name="wifiopts_security_wep">WEP</string>
+    <string name="wifiopts_security_wpa">WPA/WPA2 PSK</string>
+    <string name="wifiopts_security_wpa_enterprise">WPA/WPA2 Enterprise</string>
+
+    <string name="wifiopts_eap_peap">PEAP</string>
+    <string name="wifiopts_eap_tls">TLS</string>
+    <string name="wifiopts_eap_ttls">TTLS</string>
+    <string name="wifiopts_eap_pwd">PWD</string>
+
+    <string name="wifiopts_phase2_mschapv2">MSCHAPv2</string>
+    <string name="wifiopts_phase2_gtc">GTC</string>
+
+    <string name="wifisettings_connect_button">Connect now!</string>
+    <string name="wifisettings_connect_button_notfound">Network not available</string>
+    <string name="wifisettings_connect_button_scan">Scanning...</string>
+    <string name="wifisettings_connect_button_disabled">WiFi module deactivated!</string>
+    <string name="wifisettings_connect_button_ready">Connected!</string>
+    <string name="wifisettings_connect_button_connecting">Connecting...</string>
+    <string name="wifisettings_connect_button_authenticating">Authenticating...</string>
+    <string name="wifisettings_connect_button_failed">Login failed!</string>
+
+    <string name="wifisettings_current_status">WLAN Status:</string>
+    <string name="wifisettings_status_connected">Connected to %1$s</string>
+    <string name="wifisettings_status_connecting">Connecting to %1$s...</string>
+    <string name="wifisettings_status_disconnected">Not Connected!</string>
+
+
+    <!-- TODO: Remove or change this placeholder text -->
+    <string name="hello_blank_fragment">Hello blank fragment</string>
+
+</resources>
index cb90f709b43a5a95ff3e910f278728827b20d5f4..f2fe27d4132298f746c1f9835961d4279f2abece 100644 (file)
@@ -6,6 +6,7 @@
     <string name="navigation_drawer_close">Close navigation drawer</string>
 
     <string name="action_settings">Settings</string>
+    <string name="listDot">&#8226;</string>
 
     <string name="week_monday">Montag</string>
     <string name="week_tuesday">Dienstag</string>
@@ -52,6 +53,7 @@
     <string name="search_news_description">News der DHBW &amp; Stuv</string>
     <string name="search_news_keywords">news, dhbw, stuv, termin, termine</string>
     <string name="search_vorlesungsplan_title">Vorlesungsplan</string>
+    <string name="search_vorlesungsplan_group_title">Vorlesungsplan: %s</string>
     <string name="search_vorlesungsplan_description">Vorlesungsplan dienes Kurses</string>
     <string name="search_vorlesungsplan_keywords">vorlesung, vorlesungen, plan, vorlesungsplan, stundenplan, termin, termine, kursplan, blockplan, block, zeit, zeiten</string>
     <string name="search_vorlesungsplan_klausur_title">Vorlesungsplan</string>
@@ -66,6 +68,7 @@
     <string name="dashboard_calendar_title">Vorlesungsplan</string>
     <string name="dashboard_calendar_today">Heute</string>
     <string name="dashboard_calendar_tomorrow">Morgen</string>
+    <string name="dashboard_news_none">- keine -</string>
 
     <string name="dashboard_calendar_klausur">Klausur: </string>
 
@@ -76,6 +79,7 @@
     <string name="mensacard_guthaben">Dein Guthaben:</string>
 
     <string name="vorlesungsplan_title">Vorlesungsplan</string>
+    <string name="vorlesungsplan_group_title">Vorlesung: %s</string>
     <string name="vorlesungsplan_upcoming">Nächste Kurse</string>
     <string name="vorlesungsplan_groups">Kursübersicht</string>
     <string name="vorlesungsplan_exams">Klausurübersicht</string>
     <string name="vorlesungsplan_groups_praesi">Präsentation:</string>
 
     <string name="vorlesungsplan_exam_date">Datum:</string>
+    <string name="vorlesungsplan_exam_location">Raum:</string>
     <string name="vorlesungsplan_exam_start">Beginn:</string>
     <string name="vorlesungsplan_exam_end">Ende:</string>
 
+    <string name="vorlesungsplan_group_allevents">Alle Vorlesungen:</string>
+
     <string name="impressum_title">Impressum</string>
     <string name="impressum_h1">Campus App</string>
     <string name="impressum_about">Diese App wurde im Rahmen der Vorlesung \n\'Entwicklung mobiler Apps\' erstellt.</string>
     </string-array>
 
     <string name="firstrun_select_couse">Bitte tippe deine Kursbezeichnung ein:</string>
-    <string name="firstrun_select_couse_example">()</string>
+    <string name="firstrun_select_couse_example">(Beispiel: tif13a, win14a, wwi15b)</string>
     <string name="firstrun_course_ok_button">Ok</string>
     <string name="firstrun_run_as_guest">Alternativ kannst du die App auch als Gast starten. Jedoch stehen im Gastmodus nicht alle Funktionen zur verfügung.</string>
     <string name="firstrun_run_as_guest_button">Als Gast starten</string>