예제 #1
0
        public override void LoadPlugins(IMvxPluginManager pluginManager)
        {
            base.LoadPlugins(pluginManager);

            pluginManager.EnsurePluginLoaded <MvvmCross.Plugin.Messenger.Plugin>();
            pluginManager.EnsurePluginLoaded <MvvmCross.Plugin.Json.Plugin>();
        }
예제 #2
0
 protected virtual void InitializeApp(IMvxPluginManager pluginManager, IMvxApplication app)
 {
     app.LoadPlugins(pluginManager);
     SetupLog.Trace("Setup: Application Initialize - On background thread");
     app.Initialize();
     Mvx.RegisterSingleton <IMvxViewModelLocatorCollection>(app);
 }
예제 #3
0
        protected virtual void InitializeApp(IMvxPluginManager pluginManager)
        {
            var app = CreateAndInitializeApp(pluginManager);

            Mvx.RegisterSingleton(app);
            Mvx.RegisterSingleton <IMvxViewModelLocatorCollection>(app);
        }
        /// <summary>
        /// Used to ensure plugins are loaded.
        /// </summary>
        /// <returns>returns base manager</returns>
        protected override IMvxPluginManager CreatePluginManager(IMvxIoCProvider iocProvider)
        {
            IMvxPluginManager manager = base.CreatePluginManager(iocProvider);

            manager.EnsurePluginLoaded <MvvmCross.Plugin.Messenger.Plugin>();
            return(manager);
        }
예제 #5
0
 public override void LoadPlugins(IMvxPluginManager pluginManager)
 {
     pluginManager.EnsurePluginLoaded <MvvmCross.Plugins.File.PluginLoader>();
     pluginManager.EnsurePluginLoaded <MvvmCross.Plugins.DownloadCache.PluginLoader>();
     pluginManager.EnsurePluginLoaded <MvvmCross.Plugins.Json.PluginLoader>();
     base.LoadPlugins(pluginManager);
 }
예제 #6
0
        public override void LoadPlugins(IMvxPluginManager pluginManager)
        {
            base.LoadPlugins(pluginManager);
            pluginManager.EnsurePluginLoaded <PluginLoader>();

            // loading via bootloader won't work for UWP projects?
        }
예제 #7
0
        protected override void InitializeApp(IMvxPluginManager pluginManager, IMvxApplication app)
        {
            base.InitializeApp(pluginManager, app);

#if !USE_PRODUCTION_API
            System.Net.ServicePointManager.ServerCertificateValidationCallback
                += (sender, certificate, chain, sslPolicyErrors) => true;
#endif

            var database    = new Database();
            var timeService = new TimeService(Scheduler.Default);
            var version     = NSBundle.MainBundle.InfoDictionary["CFBundleShortVersionString"];
            var userAgent   = new UserAgent("Daneel", version.ToString());

            var apiFactory   = new ApiFactory(environment, userAgent);
            var loginManager = new LoginManager(apiFactory, database, timeService, TaskPoolScheduler.Default);

            Mvx.RegisterSingleton <ITimeService>(timeService);
            Mvx.RegisterSingleton <IDialogService>(new DialogService());
            Mvx.RegisterSingleton <IBrowserService>(new BrowserService());
            Mvx.RegisterSingleton <IAccessRestrictionStorage>(
                new UserDataAccessRestrictionStorage(Version.Parse(version.ToString())));
            Mvx.RegisterSingleton <ISuggestionProviderContainer>(
                new SuggestionProviderContainer(
                    new MostUsedTimeEntrySuggestionProvider(database, timeService)
                    )
                );

            var togglApp = app as App;
            togglApp.Initialize(loginManager, navigationService);
        }
예제 #8
0
 public override void LoadPlugins(IMvxPluginManager pluginManager)
 {
     base.LoadPlugins(pluginManager);
     pluginManager.EnsurePluginLoaded <Acr.MvvmCross.Plugins.BarCodeScanner.PluginLoader>();
     pluginManager.EnsurePluginLoaded <Acr.MvvmCross.Plugins.UserDialogs.PluginLoader>();
     pluginManager.EnsurePluginLoaded <Acr.MvvmCross.Plugins.Settings.PluginLoader>();
 }
예제 #9
0
        public override void LoadPlugins(IMvxPluginManager pluginManager)
        {
            Mvx.RegisterType <IMessageService, MessageService>();

            Mvx.RegisterSingleton <INetworkService>(() => new WinUWPNetworkService());
            base.LoadPlugins(pluginManager);
        }
예제 #10
0
파일: Setup.cs 프로젝트: brahmb/mobileapp
        protected override void InitializeApp(IMvxPluginManager pluginManager, IMvxApplication app)
        {
            const string clientName                  = "Giskard";
            var          packageInfo                 = ApplicationContext.PackageManager.GetPackageInfo(ApplicationContext.PackageName, 0);
            var          version                     = packageInfo.VersionName;
            var          sharedPreferences           = ApplicationContext.GetSharedPreferences(clientName, FileCreationMode.Private);
            var          database                    = new Database();
            var          scheduler                   = Scheduler.Default;
            var          timeService                 = new TimeService(scheduler);
            var          suggestionProviderContainer = new SuggestionProviderContainer(
                new MostUsedTimeEntrySuggestionProvider(database, timeService, maxNumberOfSuggestions)
                );

            var appVersion        = Version.Parse(version);
            var userAgent         = new UserAgent(clientName, version);
            var mailService       = new MailService(ApplicationContext);
            var dialogService     = new DialogService();
            var platformConstants = new PlatformConstants();
            var keyValueStorage   = new SharedPreferencesStorage(sharedPreferences);
            var settingsStorage   = new SettingsStorage(appVersion, keyValueStorage);
            var feedbackService   = new FeedbackService(userAgent, mailService, dialogService, platformConstants);
            var schedulerProvider = new AndroidSchedulerProvider();

            var foundation =
                TogglFoundation
                .ForClient(userAgent, appVersion)
                .WithDatabase(database)
                .WithScheduler(scheduler)
                .WithTimeService(timeService)
                .WithMailService(mailService)
                .WithApiEnvironment(environment)
                .WithGoogleService <GoogleService>()
                .WithRatingService <RatingService>()
                .WithLicenseProvider <LicenseProvider>()
                .WithAnalyticsService(analyticsService)
                .WithSchedulerProvider(schedulerProvider)
                .WithPlatformConstants(platformConstants)
                .WithRemoteConfigService <RemoteConfigService>()
                .WithApiFactory(new ApiFactory(environment, userAgent))
                .WithBackgroundService(new BackgroundService(timeService))
                .WithSuggestionProviderContainer(suggestionProviderContainer)
                .WithApplicationShortcutCreator(new ApplicationShortcutCreator(ApplicationContext))

                .StartRegisteringPlatformServices()
                .WithDialogService(dialogService)
                .WithFeedbackService(feedbackService)
                .WithLastTimeUsageStorage(settingsStorage)
                .WithBrowserService <BrowserService>()
                .WithKeyValueStorage(keyValueStorage)
                .WithUserPreferences(settingsStorage)
                .WithOnboardingStorage(settingsStorage)
                .WithNavigationService(navigationService)
                .WithAccessRestrictionStorage(settingsStorage)
                .WithErrorHandlingService(new ErrorHandlingService(navigationService, settingsStorage))
                .Build();

            foundation.RevokeNewUserIfNeeded().Initialize();

            base.InitializeApp(pluginManager, app);
        }
예제 #11
0
        public virtual void LoadPlugins(IMvxPluginManager pluginManager)
        {
            if (pluginManager == null)
            {
                throw new NullReferenceException(nameof(pluginManager));
            }

            var pluginAttribute  = typeof(MvxPluginAttribute);
            var pluginAssemblies = GetPluginAssemblies();

            //Search Assemblies for Plugins
            foreach (var pluginAssembly in pluginAssemblies)
            {
                var assemblyTypes = pluginAssembly.ExceptionSafeGetTypes();

                //Search Types for Valid Plugin
                foreach (var type in assemblyTypes)
                {
                    if (TypeContainsPluginAttribute(type))
                    {
                        //Ensure Plugin has been loaded
                        pluginManager.EnsurePluginLoaded(type);
                    }
                }
            }

            bool TypeContainsPluginAttribute(Type type) => (type.GetCustomAttributes(pluginAttribute, false)?.Length ?? 0) > 0;
        }
예제 #12
0
 /// <inheritdoc />
 public override void LoadPlugins(IMvxPluginManager pluginManager)
 {
     //We have to do this here, since the loading via bootloader won't work for UWP projects
     Mvx.IoCProvider.LazyConstructAndRegisterSingleton <IMvxFileStore, MvxWindowsFileStore>();
     Mvx.IoCProvider.LazyConstructAndRegisterSingleton <IMvxNativeVisibility, MvxWinRTVisibility>();
     Mvx.IoCProvider.LazyConstructAndRegisterSingleton <IMvxMessenger, MvxMessengerHub>();
 }
예제 #13
0
파일: Setup.cs 프로젝트: eminozandac/IRIS_2
 public override void LoadPlugins(IMvxPluginManager pluginManager)
 {
     pluginManager.EnsurePluginLoaded <VisibilityPluginBootstrap>();
     pluginManager.EnsurePluginLoaded <MessengerPluginBootstrap>();
     pluginManager.EnsurePluginLoaded <JsonPluginBootstrap>();
     pluginManager.EnsurePluginLoaded <SettingsPluginBootstrap>();
     base.LoadPlugins(pluginManager);
 }
예제 #14
0
 public override void LoadPlugins(IMvxPluginManager pluginManager)
 {
     pluginManager.EnsurePluginLoaded<Cirrious.MvvmCross.Plugins.Visibility.PluginLoader>();
     pluginManager.EnsurePluginLoaded<Cirrious.MvvmCross.Plugins.Json.PluginLoader>();
     pluginManager.EnsurePluginLoaded<Cirrious.MvvmCross.Plugins.DownloadCache.PluginLoader>();
     pluginManager.EnsurePluginLoaded<Cirrious.MvvmCross.Plugins.File.PluginLoader>();
     base.LoadPlugins(pluginManager);
 }
예제 #15
0
        protected override void InitializeApp(IMvxPluginManager pluginManager, IMvxApplication app)
        {
            base.InitializeApp(pluginManager, app);

            ApplicationTheme theme = Mvx.IoCProvider.Resolve <ISettingsService>().Theme;
            //(app as UWPApplication).RequestedTheme =
            //    (Windows.UI.Xaml.ApplicationTheme)((theme == ApplicationTheme.Default) ? ApplicationTheme.Light : theme);
        }
예제 #16
0
        protected virtual IMvxApplication CreateAndInitializeApp(IMvxPluginManager pluginManager)
        {
            var app = CreateApp();

            app.LoadPlugins(pluginManager);
            app.Initialize();
            return(app);
        }
예제 #17
0
        public override void LoadPlugins(IMvxPluginManager pluginManager)
        {
            base.LoadPlugins(pluginManager);

            Mvx.RegisterType<IMvxSqliteConnectionFactory, WindowsSqliteConnectionFactory>();
            Mvx.RegisterType<IDialogService, DialogService>();
            Mvx.RegisterType<ICryptographyMD5, CryptographyMD5>();
        }
예제 #18
0
파일: App.cs 프로젝트: 42Spikes/F2S
        public override void LoadPlugins(IMvxPluginManager pluginManager)
        {
            base.LoadPlugins(pluginManager);

            F2S.MvvmX.Plugins.Sphero.PluginLoader.Instance.EnsureLoaded();

            Mvx.RegisterSingleton<ISpheroManager>(new SpheroManager());
            Mvx.RegisterSingleton<ISpheroListService>(new SpheroListService());
        }
예제 #19
0
 public override void LoadPlugins(IMvxPluginManager pluginManager)
 {
     pluginManager.EnsurePluginLoaded <Cirrious.MvvmCross.Plugins.Messenger.PluginLoader>();
     pluginManager.EnsurePluginLoaded <Cirrious.MvvmCross.Plugins.Json.PluginLoader>();
     pluginManager.EnsurePluginLoaded <Cirrious.MvvmCross.Plugins.JsonLocalisation.PluginLoader>();
     pluginManager.EnsurePluginLoaded <Cirrious.MvvmCross.Plugins.File.PluginLoader>();
     pluginManager.EnsurePluginLoaded <Cirrious.MvvmCross.Plugins.ResourceLoader.PluginLoader>();
     base.LoadPlugins(pluginManager);
 }
예제 #20
0
        public override void LoadPlugins(IMvxPluginManager pluginManager)
        {
            base.LoadPlugins(pluginManager);

            Mvx.RegisterType<IMvxComposeEmailTask, MvxComposeEmailTask>();
            Mvx.RegisterType<IMvxWebBrowserTask, MvxWebBrowserTask>();
            Mvx.RegisterType<IMvxSqliteConnectionFactory, WindowsSqliteConnectionFactory>();
            Mvx.RegisterType<IMvxProtectedData, MvxStoreProtectedData>();
        }
예제 #21
0
 protected virtual Task InitializeApp(IMvxPluginManager pluginManager, IMvxApplication app)
 {
     return(Task.Run(() =>
     {
         app.LoadPlugins(pluginManager);
         SetupLog?.Trace("Setup: Application Initialize - On background thread");
         app.Initialize();
     }));
 }
예제 #22
0
        public override void LoadPlugins(IMvxPluginManager pluginManager)
        {
            base.LoadPlugins(pluginManager);
            pluginManager.EnsurePluginLoaded<MvvmCross.Plugins.Messenger.PluginLoader>();

            //We have to do this here, since the loading via bootloader won't work for UWP projects
            Mvx.RegisterType<IMvxComposeEmailTask, MvxComposeEmailTask>();
            Mvx.RegisterType<IMvxWebBrowserTask, MvxWebBrowserTask>();
            Mvx.RegisterType<IMvxSqliteConnectionFactory, WindowsSqliteConnectionFactory>();
            Mvx.RegisterType<IMvxFileStore, MvxWindowsCommonFileStore>();
        }
예제 #23
0
파일: Setup.cs 프로젝트: cacaxiq/mobileapp
        protected override void InitializeApp(IMvxPluginManager pluginManager, IMvxApplication app)
        {
#if !USE_PRODUCTION_API
            System.Net.ServicePointManager.ServerCertificateValidationCallback
                += (sender, certificate, chain, sslPolicyErrors) => true;
#endif

            const string clientName  = "Daneel";
            var          version     = NSBundle.MainBundle.InfoDictionary["CFBundleShortVersionString"].ToString();
            var          database    = new Database();
            var          scheduler   = Scheduler.Default;
            var          timeService = new TimeService(scheduler);
            var          suggestionProviderContainer = new SuggestionProviderContainer(
                new MostUsedTimeEntrySuggestionProvider(database, timeService, maxNumberOfSuggestions)
                );

            var appVersion      = Version.Parse(version);
            var userAgent       = new UserAgent(clientName, version);
            var keyValueStorage = new UserDefaultsStorage();
            var settingsStorage = new SettingsStorage(Version.Parse(version), keyValueStorage);

            var foundation =
                TogglFoundation
                .ForClient(userAgent, appVersion)
                .WithDatabase(database)
                .WithScheduler(scheduler)
                .WithTimeService(timeService)
                .WithApiEnvironment(environment)
                .WithGoogleService <GoogleService>()
                .WithLicenseProvider <LicenseProvider>()
                .WithAnalyticsService(analyticsService)
                .WithPlatformConstants <PlatformConstants>()
                .WithApiFactory(new ApiFactory(environment, userAgent))
                .WithBackgroundService(new BackgroundService(timeService))
                .WithApplicationShortcutCreator <ApplicationShortcutCreator>()
                .WithSuggestionProviderContainer(suggestionProviderContainer)
                .WithMailService(new MailService((ITopViewControllerProvider)Presenter))

                .StartRegisteringPlatformServices()
                .WithBrowserService <BrowserService>()
                .WithKeyValueStorage(keyValueStorage)
                .WithUserPreferences(settingsStorage)
                .WithOnboardingStorage(settingsStorage)
                .WithNavigationService(navigationService)
                .WithAccessRestrictionStorage(settingsStorage)
                .WithPasswordManagerService <OnePasswordService>()
                .WithDialogService(new DialogService((ITopViewControllerProvider)Presenter))
                .WithApiErrorHandlingService(new ApiErrorHandlingService(navigationService, settingsStorage))
                .Build();

            foundation.RevokeNewUserIfNeeded().Initialize();

            base.InitializeApp(pluginManager, app);
        }
예제 #24
0
        protected override void InitializeApp(IMvxPluginManager pluginManager, IMvxApplication app)
        {
            base.InitializeApp(pluginManager, app);

            if (!(app is App _app))
            {
                return;
            }

            Mvx.IoCProvider.LazyConstructAndRegisterSingleton(() => CreateConfiguratorSettings(_app.GetType().Assembly));
        }
예제 #25
0
        public override void LoadPlugins(IMvxPluginManager pluginManager)
        {
            base.LoadPlugins(pluginManager);
            pluginManager.EnsurePluginLoaded <PluginLoader>();

            //We have to do this here, since the loading via bootloader won't work for UWP projects
            Mvx.RegisterType <IMvxComposeEmailTask, MvxComposeEmailTask>();
            Mvx.RegisterType <IMvxWebBrowserTask, MvxWebBrowserTask>();
            Mvx.RegisterType <IMvxSqliteConnectionFactory, WindowsSqliteConnectionFactory>();
            Mvx.RegisterType <IMvxFileStore, MvxWindowsCommonFileStore>();
        }
예제 #26
0
        public override void LoadPlugins(IMvxPluginManager pluginManager)
        {
            base.LoadPlugins(pluginManager);
            try
            {
                pluginManager.EnsurePluginLoaded<Acr.MvvmCross.Plugins.BarCodeScanner.PluginLoader>();
            }
            catch (Exception)
            {

            }
        }
예제 #27
0
        /// <inheritdoc />
        public override void LoadPlugins(IMvxPluginManager pluginManager)
        {
            base.LoadPlugins(pluginManager);
            pluginManager.EnsurePluginLoaded <PluginLoader>();

            //We have to do this here, since the loading via bootloader won't work for UWP projects
            Mvx.RegisterType <IMvxComposeEmailTask, MvxComposeEmailTask>();
            Mvx.RegisterType <IMvxWebBrowserTask, MvxWebBrowserTask>();
            Mvx.RegisterType <IMvxFileStore, MvxWindowsCommonFileStore>();
            Mvx.RegisterType <ISettings, WindowsUwpSettings>();
            Mvx.RegisterType <IMvxNativeVisibility, MvxWinRTVisibility>();
        }
예제 #28
0
        protected override void InitializeApp(IMvxPluginManager pluginManager)
        {
            Mvx.RegisterSingleton <IDeviceConnectivityService> (new DeviceConnectivityService());
            Mvx.RegisterSingleton <IAudioPlayerService> (new AudioPlayerService());
            Mvx.RegisterSingleton <IAppInfoProvider> (new AppInfoProvider());
            Mvx.RegisterSingleton <IDialogManager> (new DialogManager());
            Mvx.RegisterSingleton <IMvxComposeEmailTask> (new MyComposeEmailTask());
            Mvx.RegisterSingleton <IFirstViewStartInfoProvider>(new FirstViewStartInfoProvider());
            Mvx.RegisterSingleton <IGAService>(new GAService());

            base.InitializeApp(pluginManager);
        }
예제 #29
0
        public override void LoadPlugins(IMvxPluginManager pluginManager)
        {
            base.LoadPlugins(pluginManager);
            //pluginManager.EnsurePluginLoaded<Acr.MvvmCross.Plugins.BarCodeScanner.PluginLoader>();
            //pluginManager.EnsurePluginLoaded<Acr.MvvmCross.Plugins.DeviceInfo.PluginLoader>();
            //pluginManager.EnsurePluginLoaded<Acr.MvvmCross.Plugins.Settings.PluginLoader>();
            pluginManager.EnsurePluginLoaded<Acr.MvvmCross.Plugins.UserDialogs.PluginLoader>();

            pluginManager.EnsurePluginLoaded<Cirrious.MvvmCross.Plugins.Messenger.PluginLoader>();
			pluginManager.EnsurePluginLoaded<Cirrious.MvvmCross.Plugins.DownloadCache.PluginLoader>();
			pluginManager.EnsurePluginLoaded<Cirrious.MvvmCross.Plugins.PictureChooser.PluginLoader> ();
        }
예제 #30
0
파일: Setup.cs 프로젝트: fatelord/chgk
		protected override void InitializeApp (IMvxPluginManager pluginManager)
		{
			Mvx.RegisterSingleton<IDeviceConnectivityService> (new DeviceConnectivityService ());
			Mvx.RegisterSingleton<IAudioPlayerService> (new AudioPlayerService ());
			Mvx.RegisterSingleton<IAppInfoProvider> (new AppInfoProvider ());
			Mvx.RegisterSingleton<IDialogManager> (new DialogManager ());
			Mvx.RegisterSingleton<IMvxComposeEmailTask> (new MyComposeEmailTask ());
            Mvx.RegisterSingleton<IFirstViewStartInfoProvider>(new FirstViewStartInfoProvider());
            Mvx.RegisterSingleton<IGAService>(new GAService());

			base.InitializeApp (pluginManager);
		}
예제 #31
0
        public override void LoadPlugins(IMvxPluginManager pluginManager) {
            base.LoadPlugins(pluginManager);
			pluginManager.EnsurePlatformAdaptionLoaded<Acr.MvvmCross.Plugins.BarCodeScanner.PluginLoader>();
			pluginManager.EnsurePlatformAdaptionLoaded<Acr.MvvmCross.Plugins.DeviceInfo.PluginLoader>();
			pluginManager.EnsurePlatformAdaptionLoaded<Acr.MvvmCross.Plugins.Settings.PluginLoader>();
			pluginManager.EnsurePlatformAdaptionLoaded<Acr.MvvmCross.Plugins.UserDialogs.PluginLoader>();
			pluginManager.EnsurePlatformAdaptionLoaded<Acr.MvvmCross.Plugins.FileSystem.PluginLoader>();
            pluginManager.EnsurePlatformAdaptionLoaded<Acr.MvvmCross.Plugins.SignaturePad.PluginLoader>();
            pluginManager.EnsurePlatformAdaptionLoaded<Cirrious.MvvmCross.Plugins.Color.PluginLoader>();
            pluginManager.EnsurePlatformAdaptionLoaded<Cirrious.MvvmCross.Plugins.File.PluginLoader>();
			pluginManager.EnsurePluginLoaded<Cirrious.MvvmCross.Plugins.Messenger.PluginLoader>();
        }
예제 #32
0
        public override void LoadPlugins(IMvxPluginManager pluginManager)
        {
            base.LoadPlugins(pluginManager);
            //pluginManager.EnsurePluginLoaded<Acr.MvvmCross.Plugins.BarCodeScanner.PluginLoader>();
            //pluginManager.EnsurePluginLoaded<Acr.MvvmCross.Plugins.DeviceInfo.PluginLoader>();
            //pluginManager.EnsurePluginLoaded<Acr.MvvmCross.Plugins.Settings.PluginLoader>();
            pluginManager.EnsurePluginLoaded <Acr.MvvmCross.Plugins.UserDialogs.PluginLoader>();

            pluginManager.EnsurePluginLoaded <Cirrious.MvvmCross.Plugins.Messenger.PluginLoader>();
            pluginManager.EnsurePluginLoaded <Cirrious.MvvmCross.Plugins.DownloadCache.PluginLoader>();
            pluginManager.EnsurePluginLoaded <Cirrious.MvvmCross.Plugins.PictureChooser.PluginLoader> ();
        }
예제 #33
0
 private bool OptionalLoadPlatformAdaption(IMvxPluginManager manager, Type type)
 {
     try
     {
         manager.EnsurePluginLoaded(type);
         return true;
     }
     catch (Exception exception /*Pokemon - catch them all*/)
     {
         MvxTrace.Trace("Exception loading {0} was {1}", type.FullName, exception.ToLongString());
         return false;
     }
 }
예제 #34
0
 private bool OptionalLoadPlatformAdaption(IMvxPluginManager manager, Type type)
 {
     try
     {
         manager.EnsurePluginLoaded(type);
         return(true);
     }
     catch (Exception exception /*Pokemon - catch them all*/)
     {
         MvxTrace.Trace("Exception loading {0} was {1}", type.FullName, exception.ToLongString());
         return(false);
     }
 }
예제 #35
0
 public override void LoadPlugins(IMvxPluginManager pluginManager)
 {
     base.LoadPlugins(pluginManager);
     pluginManager.EnsurePlatformAdaptionLoaded <Acr.MvvmCross.Plugins.BarCodeScanner.PluginLoader>();
     pluginManager.EnsurePlatformAdaptionLoaded <Acr.MvvmCross.Plugins.DeviceInfo.PluginLoader>();
     pluginManager.EnsurePlatformAdaptionLoaded <Acr.MvvmCross.Plugins.Settings.PluginLoader>();
     pluginManager.EnsurePlatformAdaptionLoaded <Acr.MvvmCross.Plugins.UserDialogs.PluginLoader>();
     pluginManager.EnsurePlatformAdaptionLoaded <Acr.MvvmCross.Plugins.FileSystem.PluginLoader>();
     pluginManager.EnsurePlatformAdaptionLoaded <Acr.MvvmCross.Plugins.SignaturePad.PluginLoader>();
     pluginManager.EnsurePlatformAdaptionLoaded <Cirrious.MvvmCross.Plugins.Color.PluginLoader>();
     pluginManager.EnsurePlatformAdaptionLoaded <Cirrious.MvvmCross.Plugins.File.PluginLoader>();
     pluginManager.EnsurePluginLoaded <Cirrious.MvvmCross.Plugins.Messenger.PluginLoader>();
 }
예제 #36
0
        public override void LoadPlugins(IMvxPluginManager pluginManager)
        {
            base.LoadPlugins(pluginManager);
            pluginManager.EnsurePluginLoaded<PluginLoader>();

            //We have to do this here, since the loading via bootloader won't work for UWP projects
            Mvx.RegisterType<IMvxComposeEmailTask, MvxComposeEmailTask>();
            Mvx.RegisterType<IMvxWebBrowserTask, MvxWebBrowserTask>();
            Mvx.RegisterType<IMvxSqliteConnectionFactory, WindowsSqliteConnectionFactory>();
            Mvx.RegisterType<IMvxFileStore, MvxWindowsCommonFileStore>();
            Mvx.RegisterType<ISettings, WindowsCommonSettings>();
            Mvx.RegisterType<IConnectivity, Connectivity>();
            Mvx.RegisterType<IMvxNativeVisibility, MvxWinRTVisibility>();
        }
예제 #37
0
        protected override void InitializeApp(IMvxPluginManager pluginManager, IMvxApplication app)
        {
            base.InitializeApp(pluginManager, app);

#if !USE_PRODUCTION_API
            System.Net.ServicePointManager.ServerCertificateValidationCallback
                += (sender, certificate, chain, sslPolicyErrors) => true;
#endif

            const string clientName  = "Daneel";
            var          version     = NSBundle.MainBundle.InfoDictionary["CFBundleShortVersionString"].ToString();
            var          database    = new Database();
            var          scheduler   = Scheduler.Default;
            var          timeService = new TimeService(scheduler);
            var          suggestionProviderContainer = new SuggestionProviderContainer(
                new MostUsedTimeEntrySuggestionProvider(database, timeService, maxNumberOfSuggestions)
                );

            var keyValueStorage = new UserDefaultsStorage();
            var settingsStorage = new SettingsStorage(Version.Parse(version), keyValueStorage);

            var foundation = Foundation.Foundation.Create(
                clientName,
                version,
                database,
                timeService,
                scheduler,
                new MailService((ITopViewControllerProvider)Presenter),
                new GoogleService(),
                environment,
                new LicenseProvider(),
                analyticsService,
                new PlatformConstants(),
                new ApplicationShortcutCreator(),
                suggestionProviderContainer
                );

            foundation
            .RegisterServices(
                new DialogService((ITopViewControllerProvider)Presenter),
                new BrowserService(),
                keyValueStorage,
                settingsStorage,
                settingsStorage,
                settingsStorage,
                navigationService,
                new OnePasswordService())
            .RevokeNewUserIfNeeded()
            .Initialize(app as App, Scheduler.Default);
        }
예제 #38
0
        public override void LoadPlugins(IMvxPluginManager pluginManager)
        {
            base.LoadPlugins(pluginManager);
            pluginManager.EnsurePluginLoaded <PluginLoader>();

            //We have to do this here, since the loading via bootloader won't work for UWP projects
            Mvx.RegisterType <IMvxComposeEmailTask, MvxComposeEmailTask>();
            Mvx.RegisterType <IMvxWebBrowserTask, MvxWebBrowserTask>();
            Mvx.RegisterType <IMvxSqliteConnectionFactory, WindowsSqliteConnectionFactory>();
            Mvx.RegisterType <IMvxFileStore, MvxWindowsCommonFileStore>();
            Mvx.RegisterType <ISettings, WindowsCommonSettings>();
            Mvx.RegisterType <IConnectivity, Connectivity>();
            Mvx.RegisterType <IMvxNativeVisibility, MvxWinRTVisibility>();
            Mvx.RegisterType <IAppInformation, WindowsAppInformation>();
            Mvx.RegisterType <IStoreOperations, MarketplaceOperations>();
        }
예제 #39
0
        protected override void InitializeApp(IMvxPluginManager pluginManager, IMvxApplication app)
        {
            base.InitializeApp(pluginManager, app);

            const string clientName                  = "Giskard";
            var          packageInfo                 = ApplicationContext.PackageManager.GetPackageInfo(ApplicationContext.PackageName, 0);
            var          version                     = packageInfo.VersionName;
            var          sharedPreferences           = ApplicationContext.GetSharedPreferences(clientName, FileCreationMode.Private);
            var          database                    = new Database();
            var          scheduler                   = Scheduler.Default;
            var          timeService                 = new TimeService(scheduler);
            var          suggestionProviderContainer = new SuggestionProviderContainer(
                new MostUsedTimeEntrySuggestionProvider(database, timeService, maxNumberOfSuggestions)
                );

            var keyValueStorage = new SharedPreferencesStorage(sharedPreferences);
            var settingsStorage = new SettingsStorage(Version.Parse(version), keyValueStorage);

            var foundation = Foundation.Foundation.Create(
                clientName,
                version,
                database,
                timeService,
                scheduler,
                new MailService(ApplicationContext),
                new GoogleService(),
                environment,
                new LicenseProvider(),
                analyticsService,
                new PlatformConstants(),
                new ApplicationShortcutCreator(ApplicationContext),
                suggestionProviderContainer
                );

            foundation
            .RegisterServices(
                new DialogService(),
                new BrowserService(),
                keyValueStorage,
                settingsStorage,
                settingsStorage,
                settingsStorage,
                navigationService,
                new OnePasswordService())
            .RevokeNewUserIfNeeded()
            .Initialize(app as App, Scheduler.Default);
        }
예제 #40
0
        public virtual void LoadPlugins(IMvxPluginManager pluginManager)
        {
            var pluginAttribute = typeof(MvxPluginAttribute);

            var pluginTypes =
                GetPluginAssemblies()
                .SelectMany(assembly => assembly.GetTypes())
                .Where(TypeContainsPluginAttribute);

            foreach (var pluginType in pluginTypes)
            {
                pluginManager.EnsurePluginLoaded(pluginType);
            }

            bool TypeContainsPluginAttribute(Type type)
            => (type.GetCustomAttributes(pluginAttribute, false)?.Length ?? 0) > 0;
        }
예제 #41
0
        public void Load()
        {
            IMvxPluginManager manager = Mvx.IoCProvider.Resolve <IMvxPluginManager>();

            manager.EnsurePluginLoaded <MinoriEditorShell.Platforms.Wpf.Plugin>();

            // for repeatable ribbon items
            Uri[] mainribbon = new Uri[]
            {
                new Uri("pack://application:,,,/Fluent;Component/Themes/Generic.xaml"),
                new Uri("pack://application:,,,/Fluent;component/Themes/Accents/Cobalt.xaml"),
            };

            IMesThemeManager thememanager = Mvx.IoCProvider.Resolve <IMesThemeManager>();

            foreach (var theme in thememanager.Themes)
            {
                switch (theme)
                {
                case MesBlueTheme blue:
                    blue.AddRange(mainribbon);
                    blue.AddRange(new Uri[] {
                        new Uri("pack://application:,,,/Fluent;component/Themes/Colors/BaseLight.xaml"),
                        new Uri("pack://application:,,,/MinoriEditorShell.Ribbon;component/Platforms/Wpf/Themes/BlueTheme.xaml"),
                    });
                    break;

                case MesLightTheme light:
                    light.AddRange(mainribbon);
                    light.AddRange(new Uri[] {
                        new Uri("pack://application:,,,/Fluent;component/Themes/Colors/BaseLight.xaml"),
                        new Uri("pack://application:,,,/MinoriEditorShell.Ribbon;component/Platforms/Wpf/Themes/LightTheme.xaml"),
                    });
                    break;

                case MesDarkTheme dark:
                    dark.AddRange(mainribbon);
                    dark.AddRange(new Uri[] {
                        new Uri("pack://application:,,,/Fluent;component/Themes/Colors/BaseDark.xaml"),
                        new Uri("pack://application:,,,/MinoriEditorShell.Ribbon;component/Platforms/Wpf/Themes/DarkTheme.xaml"),
                    });
                    break;
                }
            }
        }
 protected virtual IMvxApplication CreateAndInitializeApp(IMvxPluginManager pluginManager)
 {
     var app = CreateApp();
     app.LoadPlugins(pluginManager);
     app.Initialize();
     return app;
 }
        /*
         * this code removed - as it just would't work on enough platforms :/
         * I blame Microsoft... not supporting GetReferencedAssembliesEx() on WP and WinRT
         * means that we can't really do nice automated plugin loading
        protected void TryAutoLoadPluginsByReflection()
        {
            var assemblies = GetPluginOwningAssemblies();
            var candidatePluginNames = assemblies.SelectMany(a => a.GetReferencedAssembliesEx()).Distinct();
            var filtered = candidatePluginNames
                .Where(a => a.Name.Contains("Plugin"))
                .Where(a => !a.Name.Contains("Droid"));

            var list = filtered.ToList();
            foreach (var assemblyName in list)
            {
                var pluginTypeName = string.Format("{0}.Plugin, {0}", assemblyName.Name);
                var type = Type.GetType(pluginTypeName);
                if (type == null)
                {
                    MvxTrace.Trace("Plugin not found - will not autoload {0}");
                    continue;
                }

                var field = type.GetField("Instance", BindingFlags.Static | BindingFlags.Public);
                if (field == null)
                {
                    MvxTrace.Trace("Plugin Instance not found - will not autoload {0}");
                    continue;
                }

                var instance = field.GetValue(null);
                if (instance == null)
                {
                    MvxTrace.Trace("Plugin Instance was empty - will not autoload {0}");
                    continue;
                }
                var pluginLoader = instance as IMvxPluginLoader;
                if (pluginLoader == null)
                {
                    MvxTrace.Trace("Plugin Instance was not a loader - will not autoload {0}");
                    continue;
                }

                EnsurePluginLoaded(pluginLoader);
            }
        }
         */

        protected virtual void InitializeApp(IMvxPluginManager pluginManager)
        {
            var app = CreateAndInitializeApp(pluginManager);
            Mvx.RegisterSingleton(app);
            Mvx.RegisterSingleton<IMvxViewModelLocatorCollection>(app);
        }
 public virtual void LoadPlugins(IMvxPluginManager pluginManager)
 {
 }
예제 #45
0
 public override void LoadPlugins(IMvxPluginManager pluginManager)
 {
     pluginManager.EnsurePluginLoaded<PluginLoader>();
     base.LoadPlugins(pluginManager);
 }
예제 #46
0
 public override void LoadPlugins(IMvxPluginManager pluginManager)
 {
     base.LoadPlugins(pluginManager);
     Mvx.RegisterSingleton<IMvxLocationWatcher>(() => new MvxWCommonLocationWatcher());
 }
예제 #47
0
 public override void LoadPlugins(IMvxPluginManager pluginManager)
 {
     base.LoadPlugins(pluginManager);
 }
예제 #48
0
 public override void LoadPlugins(IMvxPluginManager pluginManager)
 {
     pluginManager.EnsurePluginLoaded<PluginLoader>();
     pluginManager.EnsurePluginLoaded<MvvmCross.Plugins.Visibility.PluginLoader>();
     base.LoadPlugins(pluginManager);
 }
        public override void LoadPlugins(IMvxPluginManager pluginManager)
        {
            base.LoadPlugins(pluginManager);

            PluginLoader.Instance.EnsureLoaded();
        }
예제 #50
0
 public override void LoadPlugins(IMvxPluginManager pluginManager)
 {
     base.LoadPlugins(pluginManager);
     pluginManager.EnsurePluginLoaded<PluginLoader>();
     Mvx.RegisterSingleton<IConnectivity>(() => new Connectivity());
 }
예제 #51
0
 public override void LoadPlugins(IMvxPluginManager pluginManager)
 {
     base.LoadPlugins(pluginManager);
     pluginManager.EnsurePluginLoaded<MvvmCross.Plugins.Messenger.PluginLoader>();
 }
 public override void LoadPlugins(IMvxPluginManager pluginManager)
 {
     base.LoadPlugins(pluginManager);
     Mvx.RegisterType<IContacts, WindowsContacts>();
 }