package com.realtrackandroid.views.dialogs;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import android.app.Activity;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.widget.TimePicker;
public class PickTimeDialog extends DialogFragment implements TimePickerDialog.OnTimeSetListener {
PickTimeDialogListener callingActivity;
public PickTimeDialog() {
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
callingActivity = (PickTimeDialogListener) activity;
}
catch (ClassCastException e) {
throw (new ClassCastException("ERROR: " + activity.toString()
+ " MUST implement the PickTimeDialogListener interface!!!"));
}
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// get the prepopulated date
DateFormat parser = new SimpleDateFormat("hh:mm aaa");
Date date;
Calendar c = Calendar.getInstance();
String timeToDisplay = getArguments().getString("timetodisplay");
try {
date = parser.parse(timeToDisplay);
c.setTime(date);
}
catch (ParseException e) {
}
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
return new TimePickerDialog(getActivity(), this, hour, minute, false);
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
String timeToDisplay = String.format("%02d:%02d %s",
((hourOfDay / 12) > 0 ? ((hourOfDay == 12) ? 12 : (hourOfDay - 12))
: ((hourOfDay == 0) ? 12 : hourOfDay)), minute, ((hourOfDay / 12) > 0 ? "PM"
: "AM"));
callingActivity.setTime(timeToDisplay);
}
}