using System;
using Android.OS;
using Android.Widget;
using Android.App;
using System.Threading.Tasks;
using Android.Content;
namespace GUTSchedule.Droid.Fragments
{
///
/// Date picker
///
public class DatePickerFragment : Android.Support.V4.App.DialogFragment, DatePickerDialog.IOnDateSetListener
{
DateTime _date;
bool dismissed = false;
public override Dialog OnCreateDialog(Bundle savedInstanceState) =>
new DatePickerDialog(Activity, this, _date.Year, _date.Month - 1, _date.Day);
// Occures when user selected a date
public void OnDateSet(DatePicker view, int year, int month, int dayOfMonth)
{
_date = view.DateTime;
dismissed = true;
}
public override void OnCancel(IDialogInterface dialog)
{
base.OnCancel(dialog);
dismissed = true;
}
///
/// Shows date picker and waits for user input
///
/// Fragment manager of the current activity (In most common cases it is this.FragmentManager)
/// Date which is to be selected by default
/// picked by user
public async Task GetDate(Android.Support.V4.App.FragmentManager manager, DateTime date)
{
_date = date;
Show(manager, "datePicker");
while (!dismissed)
await Task.Delay(100);
return _date;
}
}
}