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();
        }
Exemple #3
0
        private async void ViewLoaded()
        {
            if (!_viewModelLoaded)
            {
                ActivityFeedFilter filter = await _settingsService.GetStoredActivityFeedFilterAsync();

                var athlete = await _stravaService.GetAthleteAsync();

                ApplyActivityFeedFilter(filter);

                _viewModelLoaded = true;
            }
        }
Exemple #4
0
        //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;
            }
        }
Exemple #5
0
        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();
        }
Exemple #6
0
        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;
            }
        }
Exemple #7
0
        //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;
 }