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.AdapterView;
10 import android.widget.ListView;
12 import java.text.DateFormat;
13 import java.text.ParseException;
14 import java.text.SimpleDateFormat;
15 import java.util.ArrayList;
16 import java.util.Calendar;
17 import java.util.Date;
19 import de.dhbwloe.campusapp.CampusAppContext;
20 import de.dhbwloe.campusapp.CampusAppFragment;
21 import de.dhbwloe.campusapp.R;
24 * A simple {@link Fragment} subclass.
26 public class MensaTagesplan extends CampusAppFragment {
27 private ArrayList<de.dhbwloe.campusapp.mensaplan.MensaTagesplan> tagesplanMenueItems = new ArrayList<>();
28 private Date viewPlanDate;
29 private boolean setActiveOnLoad = false;
30 private boolean redirectPage = true;
32 public void onSetActive() {
33 if(AppContext == null)
34 AppContext = CampusAppContext.getInstance();
35 if(viewPlanDate == null) {
36 AppContext.setTitle("");
37 setActiveOnLoad = true;
40 SimpleDateFormat titleDateFormater = new SimpleDateFormat(AppContext.getResString(R.string.timeformat_mensa_titledate));
41 AppContext.setTitle(AppContext.getResString(R.string.mensa_dayplan_title, titleDateFormater.format(viewPlanDate)));
44 private void setupPlanDate() {
45 Bundle args = getArguments();
48 boolean mensaparent = args.getBoolean("parentIsMensaFragment");
51 long plandate = args.getLong("date");
53 planDay = new Date(plandate * 1000);
54 DateFormat justDay = new SimpleDateFormat("yyyyMMdd");
56 planDay = justDay.parse(justDay.format(planDay));
57 } catch (Exception e) {
64 viewPlanDate = planDay;
68 public void onCreate(Bundle savedInstanceState) {
69 super.onCreate(savedInstanceState);
76 public View onCreateView(LayoutInflater inflater, ViewGroup container,
77 Bundle savedInstanceState) {
78 View view = inflater.inflate(R.layout.fragment_mensa_tagesplan, container, false);
80 if(viewPlanDate == null) {
82 AppContext.getNavigationManager().navigatePage("Mensa", null, false); // silent redirect
84 return inflater.inflate(R.layout.fragment_mensa_weekend, container, false);
89 setActiveOnLoad = false;
93 ListView tagesplanItemsList = (ListView) view.findViewById(R.id.tagesplanItems);
94 MensaTagesplanListAdapter listAdapter = new MensaTagesplanListAdapter(view.getContext(), R.layout.fragment_mensa_tagesplan_listitem, tagesplanMenueItems);
95 tagesplanItemsList.setAdapter(listAdapter);
97 tagesplanItemsList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
99 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
100 de.dhbwloe.campusapp.mensaplan.MensaTagesplan item = tagesplanMenueItems.get(position);
113 private void requestMenues() {
114 Date endOfDay = (Date)viewPlanDate.clone();
115 endOfDay.setTime(endOfDay.getTime() + (86400 - 1) * 1000);
117 de.dhbwloe.campusapp.mensaplan.MensaTagesplan menues[] = AppContext.getDatabaseManager().getMensaTagesplan(viewPlanDate.getTime()/1000, endOfDay.getTime()/1000);
118 tagesplanMenueItems.clear();
119 for(de.dhbwloe.campusapp.mensaplan.MensaTagesplan menue : menues) {
120 tagesplanMenueItems.add(menue);