protected virtual async void OnSettingsValueChanged(ISettingsItemVm item) { switch (item.ElementType) { case SettingsElementType.Region: //var regionId = ((ISettingsPickerVm)item).SelectedValueId; //AppSettings.RegionID = regionId; //ChangeRegionHeaderTo(regionId); break; case SettingsElementType.Geolocation: AppSettings.IsGeolocationEnabled = ((SettingsSwitchVm)item).Enabled; break; case SettingsElementType.Notifications: try { if (_notificationCTS != null) { _notificationCTS.Cancel(); } _notificationCTS = new CancellationTokenSource(); var enabled = ((SettingsSwitchVm)item).Enabled; await VmService.ChangeNotifications(enabled, _notificationCTS.Token); AppSettings.IsNotificationsEnabled = enabled; } catch (OperationCanceledException) { } break; } }
protected virtual void OnItemSelected(ISettingsItemVm item) { switch (item.ElementType) { case SettingsElementType.Region: var regionPickerItem = (ISettingsPickerVm)item; NavigationService.NavigateToRegions(new SettingsPickerBundle(NavigationType.Push, regionPickerItem.SelectedValueId, regionPickerItem.SelectedValueTitle)); break; case SettingsElementType.Language: var languagePickerItem = (ISettingsPickerVm)item; NavigationService.NavigateToLanguages(new SettingsPickerBundle(NavigationType.Push, languagePickerItem.SelectedValueId, languagePickerItem.SelectedValueTitle)); break; } }