public async Task SetRequestCategoryAsync(SearchSettings request) {
if (request != null) {
FilterSettings.Search = request.Search;
if (!string.IsNullOrEmpty(request.RatingCategory) && request.RatingValue.HasValue) {
FilterSettings.RatingCategory = request.RatingCategory;
FilterSettings.RatingOperator = request.RatingOperator;
FilterSettings.RatingValue = request.RatingValue;
}
playMode = PlayerMode.RequestCategory;
} else {
FilterSettings.Search = null;
FilterSettings.RatingCategory = null;
FilterSettings.RatingValue = null;
playMode = PlayerMode.Normal;
}
await SelectNextVideoAsync(0, false).ConfigureAwait(false);
Application.Current.Dispatcher.Invoke(() => PlaylistChanged?.Invoke(this, new EventArgs()));
}