protected ActivityIncrementalCollection(IStravaService stravaService, ActivityFeedFilter cachename) : base(cachename) { _stravaService = stravaService; _athleteService = ServiceLocator.Current.GetInstance <IStravaAthleteService>(); _settingsService = ServiceLocator.Current.GetInstance <ISettingsService>(); }
public async Task SetActivityFeedFilterAsync(ActivityFeedFilter filter) { await LoadSettingsAsync(createIfNotExisting : true); _settings.ActivityFeedFilter = filter; await SaveSettingsToStorageAsync(); }
private async void ViewLoaded() { if (!_viewModelLoaded) { ActivityFeedFilter filter = await _settingsService.GetStoredActivityFeedFilterAsync(); var athlete = await _stravaService.GetAthleteAsync(); ApplyActivityFeedFilter(filter); _viewModelLoaded = true; } }
//TODO: Glenn - Can't remember, was this set up as async void for fire and forget reasons? private async void ViewLoaded() { if (!_viewModelLoaded) { //TODO: Glenn - Check loaded version with saved version in Settings, if different show what's new dialog and overwrite settings field //AppInfoDialog appInfo = new AppInfoDialog(); //await appInfo.ShowAsync(); ActivityFeedFilter filter = await _settingsService.GetStoredActivityFeedFilterAsync(); var athlete = await _stravaService.GetAthleteAsync(); ApplyActivityFeedFilter(filter); _viewModelLoaded = true; } }
protected CachedKeyedIncrementalLoadingBase(ActivityFeedFilter name) { _filter = name; //Currently the Strava API has no difference in returning Friends' feed of All feed, so we store the cache under the same name! switch (name) { case ActivityFeedFilter.All: case ActivityFeedFilter.Friends: _name = ActivityFeedFilter.All.ToString(); break; default: _name = name.ToString(); break; } LoadNewData(); }
private void ApplyActivityFeedFilter(ActivityFeedFilter filter) { switch (filter) { case ActivityFeedFilter.All: FilterText = "Showing all activities"; ActivityIncrementalCollection = new FriendActivityIncrementalCollection(_stravaService, ActivityFeedFilter.All); break; case ActivityFeedFilter.Followers: FilterText = "Showing friends' activities"; ActivityIncrementalCollection = new FriendActivityIncrementalCollection(_stravaService, ActivityFeedFilter.Friends); break; case ActivityFeedFilter.My: FilterText = "Showing my activities"; ActivityIncrementalCollection = new MyActivityIncrementalCollection(_stravaService); break; } }
//TODO: Glenn - Can't remember, was this set up as async void for fire and forget reasons? private async void ViewLoaded() { if (!_viewModelLoaded) { var runTimeVersion = _settingsService.AppVersion; var storedVersion = await _settingsService.GetStoredAppVersionAsync(); ActivityFeedFilter filter = await _settingsService.GetStoredActivityFeedFilterAsync(); _athlete = await _stravaService.GetAthleteAsync(); ApplyActivityFeedFilter(filter); //Show what's new information if the current version is newer than the stored version if (storedVersion.CompareTo(runTimeVersion) < 0) { await _settingsService.SetAppVersionAsync(runTimeVersion); //TODO: Glenn - Check loaded version with saved version in Settings, if different show what's new dialog and overwrite settings field AppInfoDialog appInfo = new AppInfoDialog(); //TODO: Change the strings to enums or constants for the visual states if (CurrentState.Name.Equals("Mobile", StringComparison.OrdinalIgnoreCase)) { appInfo.FullSizeDesired = true; } else { appInfo.MinWidth = (double)(Window.Current.Bounds.Width * 90) / 100; appInfo.MinHeight = (double)(Window.Current.Bounds.Height * 90) / 100; } await appInfo.ShowAsync(); } _viewModelLoaded = true; } }
public FriendActivityIncrementalCollection(IStravaService stravaService, ActivityFeedFilter filter) : base(stravaService, filter) { _stravaService = stravaService; }