public IDialog CreateDialog(Xamarin.Forms.View contentView, IDialogMsg dialogMsg, DialogConfig config)
        {
            if (contentView == null)
            {
                throw new ArgumentException($"dialog contentView is null");
            }
            if (config == null)
            {
                config = new DialogConfig();
            }
            IDialogResult dialogResult            = null;
            TaskCompletionSource <string> mission = null;

            if (contentView is IDialogElement)
            {
                DialogResultManager manager = new DialogResultManager();
                manager.Build();
                dialogResult = manager.GetDialogResult();
                mission      = manager.GetResultMission();
            }
            var dialogFragment = new BaseDialogFragment2(_activity, contentView, config, dialogMsg, dialogResult);
            var dialogDroid    = new DialogInstance(dialogFragment, _fragmentManager, contentView, mission);

            return(dialogDroid);
        }
Beispiel #2
0
 public DialogInstance(BaseDialogFragment2 dialogFragment,
                       FragmentManager fragmentManage,
                       Xamarin.Forms.View dialogView,
                       TaskCompletionSource <string> misson = null)
 {
     this._dialogFragment = dialogFragment;
     this._fragmentManage = fragmentManage;
     this._misson         = misson;
     this.DialogView      = dialogView;
 }
        public IDialog CreateDialog(DialogType dialogType, IDialogMsg dialogMsg, DialogConfig config = null)
        {
            var contentView = _dialogsInitize.GetInitDialogContentView(dialogType);

            if (contentView == null)
            {
                throw new Exception($"{dialogType} not map");
            }
            if (config == null)
            {
                config = _dialogsInitize.GetInitDialogConfig(dialogType);
            }
            DialogResultManager manager = new DialogResultManager();

            manager.Build();
            var dialogFragment = new BaseDialogFragment2(_activity, contentView, config, dialogMsg,
                                                         manager.GetDialogResult());
            var dialogDroid = new DialogInstance(dialogFragment, _fragmentManager, contentView,
                                                 manager.GetResultMission());

            return(dialogDroid);
        }