void TryCloseMvxDialog(IMvxViewModel viewModel) { if (_dialogFragment != null) { if (_dialogFragment.ViewModel.GetType() == viewModel.GetType()) { _dialogFragment.Dismiss(); _dialogFragment = null; return; } } }
protected virtual void ShowFragmnetFromCache(MvxViewModelRequest request, Type fragmentType) { MvxFragment fragment = GetCachedFragmentByType(fragmentType); if (fragment != null) { ShowMvxFragment(fragment, request, fragmentType, fragment != null); } else { var newFragment = CreateFragmentByType(fragmentType); if (newFragment is MvxDialogFragment) { _dialogFragment = newFragment as MvxDialogFragment; ShowMvxDialogFragment(_dialogFragment, request, fragmentType); } else { ShowMvxFragment(newFragment as MvxFragment, request, fragmentType, fragment != null); } } }
protected void ShowDialog(MvxDialogFragment dialog, MvxViewModelRequest request) { PrepareFragment(dialog, request); dialog.Show((Activity as MvxFragmentActivity).SupportFragmentManager, "tag"); }
protected virtual void ShowMvxDialogFragment(MvxDialogFragment fragment, MvxViewModelRequest request, Type fragmentType) { fragment.ViewModel = _viewModelLoader.LoadViewModel(request, null); fragment.Show(fragmentHolderActivity.GetFragmentManager(), fragmentType.Name); }