Exemplo n.º 1
0
        public static ObjectProvider <ILifetimeScope> Of(FragmentActivity activity,
                                                         Action <ContainerBuilder> configurationAction = null)
        {
            return(new ObjectProvider <ILifetimeScope>(ObjectStores <ILifetimeScope> .Of(activity), () =>
            {
                var mainApp = activity.Application as ApplicationBase;
                if (mainApp == null)
                {
                    throw new ArgumentException();
                }
                if (configurationAction == null)
                {
                    return mainApp.ApplicationComponentContext.BeginLifetimeScope();
                }

                return mainApp.ApplicationComponentContext.BeginLifetimeScope(configurationAction);
            }));
        }
Exemplo n.º 2
0
        public static ObjectProvider <ILifetimeScope> GetProvider(Fragment fragment)
        {
            var fragmentActivity = fragment.Activity;

            if (fragmentActivity == null)
            {
                throw new ArgumentException("Can\'t create ViewModelProvider for detached fragment");
            }
            return(new ObjectProvider <ILifetimeScope>(ObjectStores <ILifetimeScope> .Of(fragment), () =>
            {
                var activitybase = fragmentActivity as AppCompatActivityBase;
                if (activitybase == null)
                {
                    throw new ArgumentException();
                }

                return activitybase.GetComponentContext().BeginLifetimeScope();
            }));
        }