1 package de.dhbwloe.campusapp.fragments;
4 import android.os.Bundle;
5 import android.support.v4.app.Fragment;
6 import android.view.LayoutInflater;
7 import android.view.View;
8 import android.view.ViewGroup;
9 import android.widget.LinearLayout;
10 import android.widget.RelativeLayout;
11 import android.widget.TextView;
13 import java.text.SimpleDateFormat;
14 import java.util.Calendar;
15 import java.util.Date;
17 import de.dhbwloe.campusapp.CampusAppContext;
18 import de.dhbwloe.campusapp.CampusAppFragment;
19 import de.dhbwloe.campusapp.R;
20 import de.dhbwloe.campusapp.Tools;
21 import de.dhbwloe.campusapp.mensaplan.MensaTagesplan;
24 * A simple {@link Fragment} subclass.
26 public class DashboardMensa extends CampusAppFragment {
29 public DashboardMensa() {
30 // Required empty public constructor
35 public View onCreateView(LayoutInflater inflater, ViewGroup container,
36 Bundle savedInstanceState) {
37 view = inflater.inflate(R.layout.fragment_dashboard_mensa, container, false);
43 private void refreshMensaMenue() {
44 if(AppContext == null)
45 AppContext = CampusAppContext.getInstance();
46 Calendar cal = Calendar.getInstance();
47 cal.setTime(new Date());
48 cal.set(Calendar.HOUR_OF_DAY, 0);
49 cal.set(Calendar.MINUTE, 0);
50 cal.set(Calendar.SECOND, 0);
51 cal.set(Calendar.MILLISECOND, 0);
52 long now = (new Date()).getTime() / 1000;
53 long mensaCloseTime = (3600 * 13); // 13 uhr
54 long timeFrom = cal.getTime().getTime() / 1000;
55 if(now > timeFrom + mensaCloseTime)
57 long timeTo = timeFrom + (86400 * 3) + 86399; // +3days for weekend
59 MensaTagesplan[] dayplans = AppContext.getDatabaseManager().getMensaTagesplan(timeFrom, timeTo);
60 if(dayplans.length == 0) {
64 MensaTagesplan dayplan = dayplans[0];
65 TextView dateTextView = (TextView) view.findViewById(R.id.menuDate);
66 dateTextView.setText(getDateText(dayplan.getPlanDate(), now));
68 LinearLayout menueContainer = (LinearLayout) view.findViewById(R.id.menuList);
69 menueContainer.removeAllViews();
71 MensaTagesplan cmenue = dayplan;
73 LayoutInflater li = LayoutInflater.from(AppContext.getMainActivity());
75 String menuTitle = cmenue.getMenuName();
76 if(menuTitle == null || menuTitle.matches("^Buffet"))
79 LinearLayout menu = (LinearLayout) li.inflate(R.layout.fragment_dashboard_mensa_menu, null, false);
80 menueContainer.addView(menu);
82 TextView menuName = (TextView) menu.findViewById(R.id.menuName);
83 TextView menuPrice = (TextView) menu.findViewById(R.id.menuPrice);
85 menuName.setText(cmenue.getName());
86 String priceStr = cmenue.getFormatedRolePrice();
87 menuPrice.setText(priceStr);
88 } while(i < dayplans.length && (cmenue = dayplans[++i]) != null && cmenue.getPlanDate() == dayplan.getPlanDate());
91 private String getDateText(long date, long now) {
94 datetext = AppContext.getResString(R.string.dashboard_calendar_today);
95 else if(now < date + (86400*2))
96 datetext = AppContext.getResString(R.string.dashboard_calendar_tomorrow);
98 Date dateObj = new Date(date * 1000);
99 String dayStr = Tools.getWeekdayString(dateObj);
100 SimpleDateFormat dateFormat = new SimpleDateFormat(AppContext.getResString(R.string.timeformat_dashboard_mensa));
102 datetext = dayStr + ", " + dateFormat.format(dateObj);