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; }
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(); } } }