package org.smartpaws.fragments;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import org.smartpaws.R;
import org.smartpaws.notifications.AlarmService;
import org.smartpaws.objects.Convention;
import org.smartpaws.objects.transform.Filter;
import org.smartpaws.recycler.ReminderRecyclerView;
import org.smartpaws.util.TimeUtils;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;
import java.util.TimeZone;
public class ReminderFragment extends Fragment {
private View root;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Convention convention = (Convention) getArguments().getSerializable("convention");
int day = getArguments().getInt("day");
Calendar cal = Calendar.getInstance();
cal.setTime(convention.getDateStart());
cal.add(Calendar.DATE, day);
AlarmService.Reminder[] reminders = Filter.byDate(AlarmService.getReminders(), cal.getTime());
root = inflater.inflate(R.layout.frag_reminder, null);
TextView dateView = (TextView) root.findViewById(R.id.schedule_date);
SimpleDateFormat formatStart = new SimpleDateFormat("EEEE, dd", Locale.getDefault());
SimpleDateFormat formatEnd = new SimpleDateFormat(" MMMM yyyy", Locale.getDefault());
formatStart.setTimeZone(TimeZone.getDefault());
formatEnd.setTimeZone(TimeZone.getDefault());
dateView.setText(formatStart.format(cal.getTime())
+ TimeUtils.getDayOfMonthSuffix(cal.get(Calendar.DAY_OF_MONTH))
+ formatEnd.format(cal.getTime()));
RecyclerView recycler = (RecyclerView) root.findViewById(R.id.cardList);
if (reminders.length == 0) {
recycler.setVisibility(View.GONE);
} else {
root.findViewById(R.id.no_reminders_container).setVisibility(View.GONE);
}
recycler.setHasFixedSize(false);
recycler.setAdapter(new ReminderRecyclerView(reminders, this));
LinearLayoutManager llm = new LinearLayoutManager(root.getContext());
llm.setOrientation(LinearLayoutManager.VERTICAL);
recycler.setLayoutManager(llm);
return root;
}
public View getRoot() {
return root;
}
}