private DatePickerDialog getDatePickerDialog(boolean create) {
   if (mDatePickerDialog == null && create) {
     mDatePickerDialog = DatePickerDialog.newInstance(mCallback, mYear, mMonth, mDay);
     mDatePickerDialog.setForceNotShow(true);
     final FragmentManager fm = Activity.extract(getContext(), true).getSupportFragmentManager();
     final FragmentTransaction ft = fm.beginTransaction();
     ft.add(mDatePickerDialog, getClass().getName() + "@" + getKey());
     ft.commitAllowingStateLoss();
     fm.executePendingTransactions();
   }
   return mDatePickerDialog;
 }
 protected void updateDialogState() {
   final DatePickerDialog dialog = getDatePickerDialog(false);
   if (dialog != null) {
     dialog.setDate(mYear, mMonth, mDay);
   }
 }