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.CampusAppFragment;
20 import de.dhbwloe.campusapp.R;
23 * A simple {@link Fragment} subclass.
25 public class MensaTagesplan extends CampusAppFragment {
26 private ArrayList<de.dhbwloe.campusapp.mensaplan.MensaTagesplan> tagesplanMenueItems = new ArrayList<>();
27 private Date viewPlanDate;
28 private boolean setActiveOnLoad = false;
30 public void onSetActive() {
31 if(viewPlanDate == null) {
32 setActiveOnLoad = true;
35 SimpleDateFormat titleDateFormater = new SimpleDateFormat("dd.MM.yyyy");
36 AppContext.setTitle("Mensa: " + titleDateFormater.format(viewPlanDate));
39 private void setupPlanDate() {
40 Bundle args = getArguments();
43 long plandate = args.getLong("date");
45 planDay = new Date(plandate * 1000);
46 DateFormat justDay = new SimpleDateFormat("yyyyMMdd");
48 planDay = justDay.parse(justDay.format(planDay));
49 } catch (Exception e) {
56 viewPlanDate = planDay;
60 public void onCreate(Bundle savedInstanceState) {
61 super.onCreate(savedInstanceState);
68 public View onCreateView(LayoutInflater inflater, ViewGroup container,
69 Bundle savedInstanceState) {
70 View view = inflater.inflate(R.layout.fragment_mensa_tagesplan, container, false);
72 if(viewPlanDate == null) {
73 AppContext.getNavigationManager().navigatePage("Mensa", null, false); // silent redirect
77 setActiveOnLoad = false;
81 ListView tagesplanItemsList = (ListView) view.findViewById(R.id.tagesplanItems);
82 MensaTagesplanListAdapter listAdapter = new MensaTagesplanListAdapter(view.getContext(), R.layout.fragment_mensa_tagesplan_listitem, tagesplanMenueItems);
83 tagesplanItemsList.setAdapter(listAdapter);
85 tagesplanItemsList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
87 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
88 de.dhbwloe.campusapp.mensaplan.MensaTagesplan item = tagesplanMenueItems.get(position);
101 private void requestMenues() {
102 Date endOfDay = (Date)viewPlanDate.clone();
103 endOfDay.setTime(endOfDay.getTime() + (86400 - 1) * 1000);
105 de.dhbwloe.campusapp.mensaplan.MensaTagesplan menues[] = AppContext.getDatabaseManager().getMensaTagesplan(viewPlanDate.getTime()/1000, endOfDay.getTime()/1000);
106 tagesplanMenueItems.clear();
107 for(de.dhbwloe.campusapp.mensaplan.MensaTagesplan menue : menues) {
108 tagesplanMenueItems.add(menue);