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)
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;
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);
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
@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;
}
}
});
+ 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);
}
}
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
@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;
}
}
});
- // 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);
}
}
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;
indices.setDescription("Vorlesung " + event.getEventTitle());
indices.addKeyWord(event.getGroupTitle());
indices.addKeyWord(event.getEventLocation());
- return null;
+ return indices;
}
});
}
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;
}
});
}
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;
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.
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);
}
@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;
}
});
}
+ 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<>();
event.getEventId(),
coursename,
event.getEventTitle(),
+ event.getEventLocation(),
event.getEventFrom(),
event.getEventTo(),
1
holder.eventDate.setText(item.getEventDate());
holder.eventStart.setText(item.getEventStart());
holder.eventEnd.setText(item.getEventEnd());
+ holder.eventLocation.setText(item.getEventLocation());
return row;
}
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);
}
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;
return groupName;
}
+ public String getEventLocation() {
+ return eventLocation;
+ }
+
public String getEventDate() {
if(eventStart == 0)
return null;
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;
}
});
+ 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;
}
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;
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.
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);
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);
+ }
}
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);
<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>
-<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"
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"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:textColor="@color/color_dhbw_darkred" />
-</RelativeLayout>
+
+</LinearLayout>
+++ /dev/null
-<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>
--- /dev/null
+<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>
--- /dev/null
+<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>
+++ /dev/null
-<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>
<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"
--- /dev/null
+<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="•"
+ 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>
--- /dev/null
+<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 & 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>
<string name="navigation_drawer_close">Close navigation drawer</string>
<string name="action_settings">Settings</string>
+ <string name="listDot">•</string>
<string name="week_monday">Montag</string>
<string name="week_tuesday">Dienstag</string>
<string name="search_news_description">News der DHBW & 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>
<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>
<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>