Exemple #1
0
        public void TestDefaultCtor()
        {
            // set up
            var track = UnitTestHelper.GetDefaultTrack();
            var page  = new AddTrackPopupPage(track);

            // check
            Assert.IsNotNull(page.Content, "page content must have been set");
        }
Exemple #2
0
        /// <summary>
        /// Imports a single track and adds it to the map
        /// </summary>
        /// <param name="geoDataFile">geo data file to import track from</param>
        /// <param name="trackIndex">track index</param>
        /// <returns>true when loading track was successful, false when not</returns>
        private static async Task <bool> ImportTrackAsync(IGeoDataFile geoDataFile, int trackIndex)
        {
            var track = geoDataFile.LoadTrack(trackIndex);

            if (track == null)
            {
                return(false);
            }

            track.Description = HtmlConverter.Sanitize(track.Description);

            track.CalculateStatistics();

            await CloseWaitingPopupPageAsync();

            track = await AddTrackPopupPage.ShowAsync(track);

            if (track == null)
            {
                return(false); // user canceled editing track properties
            }

            // sample track heights only when it's a flight; non-flight tracks are draped onto
            // the ground
            if (track.IsFlightTrack)
            {
                await AdjustTrackHeightsAsync(track);
            }

            var dataService      = DependencyService.Get <IDataService>();
            var trackDataService = dataService.GetTrackDataService();

            await trackDataService.Add(track);

            if (track.IsLiveTrack)
            {
                var liveWaypointRefreshService = DependencyService.Get <LiveDataRefreshService>();
                liveWaypointRefreshService.AddLiveTrack(track);
            }

            await App.AddTrack(track);

            App.MapView.ZoomToTrack(track);

            App.ShowToast("Track was loaded.");

            return(true);
        }
        /// <summary>
        /// Imports a single track and adds it to the map
        /// </summary>
        /// <param name="geoDataFile">geo data file to import track from</param>
        /// <param name="trackIndex">track index</param>
        /// <returns>true when loading track was successful, false when not</returns>
        private static async Task <bool> ImportTrackAsync(IGeoDataFile geoDataFile, int trackIndex)
        {
            var track = geoDataFile.LoadTrack(trackIndex);

            if (track == null)
            {
                return(false);
            }

            track.CalculateStatistics();

            await CloseWaitingPopupPageAsync();

            track = await AddTrackPopupPage.ShowAsync(track);

            if (track == null)
            {
                return(false); // user canceled editing track properties
            }

            // sample track heights only when it's a flight; non-flight tracks are draped onto
            // the ground
            if (track.IsFlightTrack)
            {
                await SampleTrackHeightsAsync(track);
            }

            var dataService = DependencyService.Get <IDataService>();

            var currentList = await dataService.GetTrackListAsync(CancellationToken.None);

            currentList.Add(track);

            await dataService.StoreTrackListAsync(currentList);

            App.AddMapTrack(track);
            App.ZoomToTrack(track);

            App.ShowToast("Track was loaded.");

            return(true);
        }