public MediaListViewModel(AniList.Models.MediaModels.MediaList model, MediaListDetailType primaryMediaListDetailType, MediaListDetailType secondaryMediaListDetailType, bool displayTimeUntilAiringCountdown, MediaListRecyclerAdapter.MediaListProgressDisplayType progressDisplayType, ScoreFormat scoreFormat) : base(model) { _displayTimeUntilAiringCountdown = displayTimeUntilAiringCountdown; _scoreFormat = scoreFormat; _progressDisplayType = progressDisplayType; TitleText = model.Media?.Title?.UserPreferred; DetailPrimaryText = GetDetailString(model.Media?.Type, primaryMediaListDetailType); DetailSecondaryText = GetDetailString(model.Media?.Type, secondaryMediaListDetailType); ImageUri = model.Media?.CoverImage?.Large ?? model.Media?.CoverImage?.Medium; IsPriority = model.Priority > 0; ButtonIcon = GetEpisodeAddIcon(); ImageColor = Color.ParseColor(model.Media?.CoverImage?.Color ?? "#00000000"); WatchingStatus = GetWatchingStatus(); }
public static MediaListViewModel CreateViewModel(AniList.Models.MediaModels.MediaList model, ScoreFormat scoreFormat, bool displayTimeUntilAiringCountdown, MediaListRecyclerAdapter.MediaListProgressDisplayType progressDisplayType, bool readOnly, bool showEpisodeAddButtonForRepeatingMedia) { var secondaryDetail = MediaListDetailType.Progress; if (model.Status?.Equals(MediaListStatus.Planning) == true) { secondaryDetail = MediaListDetailType.EpisodeCountOrMovieLength; } else if (model.Status?.Equals(MediaListStatus.Completed) == true) { secondaryDetail = MediaListDetailType.Rating; } return(new MediaListViewModel(model, MediaListDetailType.FormatAndAiringInfo, secondaryDetail, displayTimeUntilAiringCountdown, progressDisplayType, scoreFormat) { IsButtonVisible = !readOnly && (model.Status?.Equals(MediaListStatus.Current) == true || showEpisodeAddButtonForRepeatingMedia && model.Status?.Equals(MediaListStatus.Repeating) == true) }); }
public void CreateMediaListProgressDisplayItem(MediaListRecyclerAdapter.MediaListProgressDisplayType mediaListProgressDisplay) { var options = new List <string> { "Never", "Releasing\nOnly", "Releasing +\n1 Week", "Always" }; _settingsContainer.AddView( SettingsActivity.CreateSpinnerSettingRow(this, "Episode Progress Display", "Choose how you'd like to display episode progress. This will change the title color for your currently watched Anime to show how up-to-date you are.", options, (int)mediaListProgressDisplay, (sender, args) => { Presenter.SetMediaListProgressDisplay((MediaListRecyclerAdapter.MediaListProgressDisplayType)args.Position); if (mediaListProgressDisplay != (MediaListRecyclerAdapter.MediaListProgressDisplayType)args.Position) { _recreateActivity = true; Intent.PutExtra(MainActivity.RecreateActivityIntentKey, true); } })); _settingsContainer.AddView(SettingsActivity.CreateSettingDivider(this)); }
public void SetMediaListProgressDisplay( MediaListRecyclerAdapter.MediaListProgressDisplayType mediaListProgressDisplay) { AniDroidSettings.MediaListProgressDisplay = mediaListProgressDisplay; }