protected override async void OnInitialized()
        {
            SafeFireAndForgetExtensions.SetDefaultExceptionHandling(LogException);
            InitializeComponent();

            await NavigationService.NavigateAsync("NavigationPage/MainPage");
        }
Ejemplo n.º 2
0
        public App()
        {
            InitializeComponent();

            SafeFireAndForgetExtensions.SetDefaultExceptionHandling(ExceptionHandler.LogException);

            var page         = FreshPageModelResolver.ResolvePageModel <HomePageModel>();
            var navContainer = new FreshNavigationContainer(page);

            MainPage = navContainer;
        }
Ejemplo n.º 3
0
        public async Task SafeFireAndForget_SetDefaultExceptionHandling_NoParams()
        {
            //Arrange
            Exception?exception = null;

            SafeFireAndForgetExtensions.SetDefaultExceptionHandling(ex => exception = ex);

            //Act
            NoParameterDelayedNullReferenceExceptionTask().SafeFireAndForget();
            await NoParameterTask();
            await NoParameterTask();

            //Assert
            Assert.IsNotNull(exception);
        }
Ejemplo n.º 4
0
        protected override async void OnInitialized()
        {
            SafeFireAndForgetExtensions.SetDefaultExceptionHandling(LogException);
            InitializeComponent();

            VersionTracking.Track();
            Xamarin.Forms.Device.SetFlags(new[] { "CarouselView_Experimental", "SwipeView_Experimental" });

            switch (Xamarin.Forms.Device.RuntimePlatform)
            {
            case Xamarin.Forms.Device.Android:
                var permission = await DependencyService.Get <IPermission>().VerifyStoragePermissions();

                break;
            }

            //TaskScheduler.UnobservedTaskException += (sender, e) =>
            //{
            //    Logger.Log(e.Exception.Message);
            //};

#if DEBUG
            //HotReloader.Current.Run(this);
            ConstantManager.BaseUrl = ConstantManager.TestApiUrl;
#elif RELEASE
            ConstantManager.BaseUrl = ConstantManager.StageApiUrl;
#endif
            var versionUpdated = VersionTracking.CurrentVersion.CompareTo(VersionTracking.PreviousVersion);
            if (string.IsNullOrEmpty(Settings.UserId))
            {
                await NavigationService.NavigateAsync("LoginView");
            }
            else if (versionUpdated > 0 && VersionTracking.IsFirstLaunchForCurrentVersion && VersionTracking.PreviousVersion != null)
            {
                await NavigationService.NavigateAsync("WhatIsNewView");
            }
            else
            {
                if (TargetIdiom.Tablet == Xamarin.Forms.Device.Idiom)
                {
                    await NavigationService.NavigateAsync("MainPageTablet");
                }
                else
                {
                    await NavigationService.NavigateAsync("MainPage");
                }
            }
        }
Ejemplo n.º 5
0
        public App()
        {
            InitializeComponent();

            SafeFireAndForgetExtensions.SetDefaultExceptionHandling(ex =>
            {
                if (ex == null)
                {
                    return;
                }
                Console.Error.WriteLine("SafeFireAndForget: Exception - " +
                                        $"Message={ex.Message} -- StackTrace={ex.StackTrace}");
            });

            MainPage = new NavigationPage(new MainPage());
        }
Ejemplo n.º 6
0
        public async Task SafeFireAndForgetT_SetDefaultExceptionHandling_WithParams()
        {
            //Arrange
            Exception?exception1 = null;
            NullReferenceException?exception2 = null;

            SafeFireAndForgetExtensions.SetDefaultExceptionHandling(ex => exception1 = ex);

            //Act
            NoParameterDelayedNullReferenceExceptionTask().SafeFireAndForget <NullReferenceException>(onException: ex => exception2 = ex);
            await NoParameterTask();
            await NoParameterTask();

            //Assert
            Assert.IsNotNull(exception1);
            Assert.IsNotNull(exception2);
        }
Ejemplo n.º 7
0
        // Initialization code. Don't use any Avalonia, third-party APIs or any
        // SynchronizationContext-reliant code before AppMain is called: things aren't initialized
        // yet and stuff might break.
        public static void Main(string[] args)
        {
            FixCurrentDirectory();
            if (ProgramBootstrap.TryLaunchUpdaterIfNeeded())
            {
                return;
            }
            System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
            SafeFireAndForgetExtensions.SetDefaultExceptionHandling(Console.WriteLine);
            var app = BuildAvaloniaApp();

            try
            {
                app.StartWithClassicDesktopLifetime(args);
            }
            catch (Exception e)
            {
                FatalErrorHandler.ExceptionOccured(e);
            }
        }
Ejemplo n.º 8
0
        private void ApplicationSetup()
        {
#if DEBUG
            SafeFireAndForgetExtensions.Initialize(true);
#endif
            VersionTracking.Track();

            if (VersionTracking.IsFirstLaunchEver)
            {
            }

            var directoryPath = Path.Combine(FileSystem.AppDataDirectory, Configuration.FavoriteThumbnailsFolderName);
            if (!Directory.Exists(directoryPath))
            {
                Directory.CreateDirectory(directoryPath);
            }
            directoryPath = Path.Combine(FileSystem.AppDataDirectory, Configuration.SnaphotsFolderName);
            if (!Directory.Exists(directoryPath))
            {
                Directory.CreateDirectory(directoryPath);
            }
        }
Ejemplo n.º 9
0
 public void BeforeEachTest()
 {
     SafeFireAndForgetExtensions.Initialize(false);
     SafeFireAndForgetExtensions.RemoveDefaultExceptionHandling();
 }
Ejemplo n.º 10
0
 public void AfterEachTest()
 {
     SafeFireAndForgetExtensions.Initialize(false);
     SafeFireAndForgetExtensions.SetDefaultExceptionHandling(null);
 }