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; } }