Beispiel #1
0
        public static void UpdateTile(ShellTile tile)
        {
            int id = Int32.Parse(tile.NavigationUri.OriginalString.Replace("/MainPage.xaml?tile=", ""));

            IRouteStopPair pair = App.UB.TileRegister.Get(id);

            if (pair == null)
            {
                return;
            }

            StopGroup stop  = pair.Stop;
            Route     route = pair.Route;

            DateTime now       = DateTime.Now;
            var      timeTable = App.Model.GetTimetable(route, stop, now);

            var control  = CreateTileBackgroundControl(stop, route, timeTable, now);
            Uri imageUri = GenerateTileImage(control, id + ".png");

            StandardTileData tileData = new StandardTileData
            {
                Title           = "",
                BackgroundImage = imageUri
            };

            tile.Update(tileData);

            //return true;
        }
Beispiel #2
0
        protected override async void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
        {
            if (e.NavigationMode == NavigationMode.New)
            {
                if (!App.AppEnabled)
                {
                    MessageBox.Show("Your trial period has expired. You cannot use the app until you buy the full version.");
                    App.Current.Terminate();
                }

                //InitializerProcess.SendStatisctics();

                if (!App.DatabaseExists() || AppFields.ForceUpdate)
                {
                    var downloadResult = await DownloadDBDialog.Show();

                    DownloadDone(downloadResult);
                }
                if (InitializerProcess.FirstRun)
                {
                    await ShowLocationConsentBox();
                }
                FavoritesTab.SetContent();
                contentSetterTask = new PeriodicTask(updateContent);
                contentSetterTask.RunEveryMinute();

                string tile;
                if (NavigationContext.QueryString.TryGetValue("tile", out tile) && !tile.StartsWith("stoproute"))
                {
                    IRouteStopPair pair = App.UB.TileRegister.Get(Int32.Parse(tile));
                    if (pair != null)
                    {
                        NavigateToRouteStopPage(this, pair.Route, pair.Stop);
                    }
                }

                var checkUpdateResult = await UpdateMonitor.CheckUpdate();

                if (checkUpdateResult == UpdateMonitor.Result.Found)
                {
                    IndicateUpdateAvailable();
                }
            }
            else
            {
                FavoritesTab.SetContent();
                if (contentSetterTask != null)
                {
                    contentSetterTask.Resume();
                }
            }
        }