package net.dhruvpatel.shortify; import android.app.Activity; import android.app.DatePickerDialog; import android.app.Dialog; import android.app.DialogFragment; import android.app.TimePickerDialog; import android.os.Bundle; import android.text.format.DateFormat; import android.widget.DatePicker; import android.widget.TimePicker; import net.dhruvpatel.shortify.interfaces.DateListener; import net.dhruvpatel.shortify.interfaces.TimeListener; import java.util.Calendar; /** * Created by dhruv on 19-08-2016. */ public class InputHandlers { private static DatePickerFragment datePickerFragment; private static DateListener mDateListner; private static TimePickerFragment timePickerFragment; private static TimeListener mTimeListner; protected static Activity sInputHandlersActivity; public static class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { // Use the current date as the default date in the picker final Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int day = c.get(Calendar.DAY_OF_MONTH); // Create a new instance of DatePickerDialog and return it return new DatePickerDialog(getActivity(), this, year, month, day); } public void onDateSet(DatePicker view, int year, int month, int day) { mDateListner.onSelect(day, month + 1, year); } } public static class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { // Use the current time as the default values for the picker final Calendar c = Calendar.getInstance(); int hour = c.get(Calendar.HOUR_OF_DAY); int minute = c.get(Calendar.MINUTE); // Create a new instance of TimePickerDialog and return it return new TimePickerDialog(getActivity(), this, hour, minute, DateFormat.is24HourFormat(getActivity())); } public void onTimeSet(TimePicker view, int hourOfDay, int minute) { mTimeListner.onSelect(hourOfDay, minute); } } public static void datePicker(DateListener dateListener){ datePickerFragment = new DatePickerFragment(); datePickerFragment.show(sInputHandlersActivity.getFragmentManager(), "datePicker"); mDateListner = dateListener; } public static void timePicker(TimeListener timeListener){ timePickerFragment = new TimePickerFragment(); timePickerFragment.show(sInputHandlersActivity.getFragmentManager(), "timePicker"); mTimeListner = timeListener; } }