public void UpdateMediaListItem(AniList.Models.MediaModels.MediaList mediaList) { if (mediaList.Media?.Type == MediaType.Anime) { var instance = MediaListFragment.GetInstance(MediaListFragment.AnimeMediaListFragmentName); (instance as MediaListFragment)?.UpdateMediaListItem(mediaList); } else if (mediaList.Media?.Type == MediaType.Manga) { (MediaListFragment.GetInstance(MediaListFragment.MangaMediaListFragmentName) as MediaListFragment) ?.UpdateMediaListItem(mediaList); } var itemPosition = _adapter?.Items.FindIndex(x => x.Model?.Id == mediaList.Media?.Id); if (itemPosition == null || mediaList.Media == null) { return; } mediaList.Media.MediaListEntry = mediaList; _adapter.ReplaceItem(itemPosition.Value, _adapter.CreateViewModelFunc?.Invoke(mediaList.Media)); }
public void RemoveMediaListItem(int mediaListId) { (MediaListFragment.GetInstance(MediaListFragment.AnimeMediaListFragmentName) as MediaListFragment) ?.RemoveMediaListItem(mediaListId); (MediaListFragment.GetInstance(MediaListFragment.MangaMediaListFragmentName) as MediaListFragment) ?.RemoveMediaListItem(mediaListId); DeleteMediaListOnAdapters(mediaListId); }
public void UpdateMediaListItem(AniList.Models.MediaModels.MediaList mediaList) { // this whole method is predicated on the fact that deletions from media lists are currently not possible throught he app // this logic will need to be updated once that functionality has been added _media.MediaListEntry = _mediaList = mediaList; if (_mediaDetailsView == null) { DisplaySnackbarMessage("Error occurred while updating media view", Snackbar.LengthLong); return; } var statusView = _mediaDetailsView.FindViewById <TextView>(Resource.Id.Media_ListStatus); statusView.Visibility = ViewStates.Visible; statusView.Text = _mediaList.Status.DisplayValue; var mediaListSummaryView = _mediaDetailsView.FindViewById <DataRow>(Resource.Id.Media_MediaListSummary); if (mediaList != null && _mediaListOptions != null) { mediaListSummaryView.Visibility = ViewStates.Visible; mediaListSummaryView.TextOne = $"Rating: {mediaList.GetScoreString(_mediaListOptions.ScoreFormat)}"; if (_media?.Type == MediaType.Anime) { mediaListSummaryView.TextTwo = mediaList.GetFormattedProgressString(_media.Type, _media.Episodes); } else if (_media?.Type == MediaType.Manga) { mediaListSummaryView.TextTwo = mediaList.GetFormattedProgressString(_media.Type, _media.Chapters); } } InvalidateOptionsMenu(); if (_media.Type == MediaType.Anime) { var instance = MediaListFragment.GetInstance(MediaListFragment.AnimeMediaListFragmentName); (instance as MediaListFragment)?.UpdateMediaListItem(mediaList); } else if (_media.Type == MediaType.Manga) { (MediaListFragment.GetInstance(MediaListFragment.MangaMediaListFragmentName) as MediaListFragment) ?.UpdateMediaListItem(mediaList); } }
public void UpdateMediaListItem(AniList.Models.MediaModels.MediaList mediaList) { if (mediaList.Media?.Type == MediaType.Anime) { var instance = MediaListFragment.GetInstance(MediaListFragment.AnimeMediaListFragmentName); (instance as MediaListFragment)?.UpdateMediaListItem(mediaList); } else if (mediaList.Media?.Type == MediaType.Manga) { (MediaListFragment.GetInstance(MediaListFragment.MangaMediaListFragmentName) as MediaListFragment) ?.UpdateMediaListItem(mediaList); } UpdateMediaListOnAdapters(mediaList); }
public bool OnNavigationItemSelected(IMenuItem menuItem) { if (menuItem.ItemId == Resource.Id.Menu_Navigation_Settings) { _navClosedAction = () => SettingsActivity.StartActivity(this); _navigationDrawer.CloseDrawer(GravityCompat.Start); return(false); } _selectedItem = menuItem; _selectedItem.SetChecked(true); switch (_selectedItem.ItemId) { case Resource.Id.Menu_Navigation_Home: ChangeFragment(HomeFragment.GetInstance() ?? new HomeFragment()); break; case Resource.Id.Menu_Navigation_Anime: ChangeFragment(MediaListFragment.GetInstance(MediaListFragment.AnimeMediaListFragmentName) ?? MediaListFragment.CreateMediaListFragment(Settings.LoggedInUser?.Id ?? 0, MediaType.Anime)); break; case Resource.Id.Menu_Navigation_Manga: ChangeFragment(MediaListFragment.GetInstance(MediaListFragment.MangaMediaListFragmentName) ?? MediaListFragment.CreateMediaListFragment(Settings.LoggedInUser?.Id ?? 0, MediaType.Manga)); break; case Resource.Id.Menu_Navigation_Discover: ChangeFragment(new DiscoverFragment()); break; //case Resource.Id.Menu_Navigation_CurrentSeason: // ChangeFragment(new CurrentSeasonFragment()); // break; case Resource.Id.Menu_Navigation_TorrentSearch: ChangeFragment(new TorrentSearchFragment()); break; case Resource.Id.Menu_Navigation_Browse: ChangeFragment(new BrowseFragment()); break; } return(true); }
public void RemoveMediaListItem(int mediaListId) { (MediaListFragment.GetInstance(MediaListFragment.AnimeMediaListFragmentName) as MediaListFragment) ?.RemoveMediaListItem(mediaListId); (MediaListFragment.GetInstance(MediaListFragment.MangaMediaListFragmentName) as MediaListFragment) ?.RemoveMediaListItem(mediaListId); var itemPosition = _adapter?.Items.FindIndex(x => x.Model?.MediaListEntry?.Id == mediaListId); if (itemPosition == null) { return; } var item = _adapter.Items[itemPosition.Value]; item.Model.MediaListEntry = null; _adapter.ReplaceItem(itemPosition.Value, _adapter.CreateViewModelFunc?.Invoke(item.Model)); }