Ejemplo n.º 1
0
 protected BaseRecyclerAdapter(BaseAniDroidActivity context, List <T> items, RecyclerCardType cardType) : base(context)
 {
     Items             = items ?? throw new ArgumentNullException(nameof(items));
     CardType          = cardType;
     DefaultIconColor  = ColorStateList.ValueOf(new Color(context.GetThemedColor(Resource.Attribute.Secondary_Dark)));
     FavoriteIconColor = ColorStateList.ValueOf(new Color(ContextCompat.GetColor(context, Resource.Color.Favorite_Red)));
 }
Ejemplo n.º 2
0
 public MediaEdgeRecyclerAdapter(BaseAniDroidActivity context,
                                 IAsyncEnumerable <OneOf <IPagedData <MediaEdge>, IAniListError> > enumerable, RecyclerCardType cardType,
                                 Func <MediaEdge, MediaEdgeViewModel> createViewModelFunc) : base(context, enumerable, cardType,
                                                                                                  createViewModelFunc)
 {
     SetDefaultClickActions();
 }
Ejemplo n.º 3
0
        public static View CreateChevronSettingRow(BaseAniDroidActivity context, string name, string description, EventHandler tapEvent)
        {
            var view        = context.LayoutInflater.Inflate(Resource.Layout.View_SettingItem_Chevron, null);
            var nameView    = view.FindViewById <TextView>(Resource.Id.SettingItem_Name);
            var textTwoView = view.FindViewById <TextView>(Resource.Id.SettingItem_Details);

            if (!string.IsNullOrWhiteSpace(name))
            {
                nameView.Text = name;
            }
            else
            {
                nameView.Visibility = ViewStates.Gone;
            }

            if (!string.IsNullOrWhiteSpace(description))
            {
                textTwoView.Text = description;
            }
            else
            {
                textTwoView.Visibility = ViewStates.Gone;
            }

            view.Id     = (int)DateTime.Now.Ticks;
            view.Click += tapEvent;

            return(view);
        }
Ejemplo n.º 4
0
        public static void Create(BaseAniDroidActivity context, MediaTitle title, ICollection <string> alternateNames)
        {
            var dialogView = context.LayoutInflater.Inflate(Resource.Layout.Dialog_MediaTitles, null);

            if (!string.IsNullOrWhiteSpace(title.Romaji))
            {
                dialogView.FindViewById(Resource.Id.MediaTitles_RomajiContainer).Visibility = ViewStates.Visible;
                dialogView.FindViewById <TextView>(Resource.Id.MediaTitles_Romaji).Text     = title.Romaji;
            }

            if (!string.IsNullOrWhiteSpace(title.English))
            {
                dialogView.FindViewById(Resource.Id.MediaTitles_EnglishContainer).Visibility = ViewStates.Visible;
                dialogView.FindViewById <TextView>(Resource.Id.MediaTitles_English).Text     = title.English;
            }

            if (!string.IsNullOrWhiteSpace(title.Native))
            {
                dialogView.FindViewById(Resource.Id.MediaTitles_NativeContainer).Visibility = ViewStates.Visible;
                dialogView.FindViewById <TextView>(Resource.Id.MediaTitles_Native).Text     = title.Native;
            }

            if (alternateNames?.Any() == true)
            {
                dialogView.FindViewById(Resource.Id.MediaTitles_AlsoKnownAsContainer).Visibility = ViewStates.Visible;
                dialogView.FindViewById <TextView>(Resource.Id.MediaTitles_AlsoKnownAs).Text     = string.Join("\n", alternateNames);
            }

            var dialog = new AlertDialog.Builder(context, context.GetThemedResourceId(Resource.Attribute.Dialog_Theme));

            dialog.SetView(dialogView);
            dialog.Show();
        }
Ejemplo n.º 5
0
        public static void Create(BaseAniDroidActivity context, Action <string, string> searchAction, string searchType = "", string searchTerm = null)
        {
            var dialogue       = context.LayoutInflater.Inflate(Resource.Layout.Dialog_Search, null);
            var searchTypeView = dialogue.FindViewById <Spinner>(Resource.Id.Search_Type);
            var searchTermView = dialogue.FindViewById <EditText>(Resource.Id.Search_Text);

            searchTypeView.Adapter = new ArrayAdapter <string>(context, Resource.Layout.View_SpinnerDropDownItem, SearchResultsActivity.AniListSearchTypes.AllTypes);

            searchTermView.Text = searchTerm;

            if (SearchResultsActivity.AniListSearchTypes.AllTypes.Contains(searchType))
            {
                searchTypeView.SetSelection(Array.FindIndex(SearchResultsActivity.AniListSearchTypes.AllTypes, x => x == searchType));
            }

            var a = new AlertDialog.Builder(context, context.GetThemedResourceId(Resource.Attribute.Dialog_Theme)).Create();

            a.SetView(dialogue);
            a.SetTitle("Search AniList");
            a.SetButton((int)DialogButtonType.Neutral, "Cancel", (aS, eV) => a.Dismiss());
            a.SetButton((int)DialogButtonType.Positive, "Search", (aS, ev) => searchAction((string)searchTypeView.Adapter.GetItem(searchTypeView.SelectedItemPosition), searchTermView.Text));

            searchTermView.EditorAction += (tS, tE) =>
            {
                if (tE.ActionId == Android.Views.InputMethods.ImeAction.Search)
                {
                    searchAction((string)searchTypeView.Adapter.GetItem(searchTypeView.SelectedItemPosition),
                                 searchTermView.Text);
                }
            };

            a.Show();
        }
Ejemplo n.º 6
0
        public static View CreateCheckboxSettingRow(BaseAniDroidActivity context, string name, string description, bool isChecked, EventHandler <CompoundButton.CheckedChangeEventArgs> checkEvent)
        {
            var view = context.LayoutInflater.Inflate(Resource.Layout.View_SettingItem_Checkbox, null);

            var nameView    = view.FindViewById <TextView>(Resource.Id.SettingItem_Name);
            var textTwoView = view.FindViewById <TextView>(Resource.Id.SettingItem_Details);

            if (!string.IsNullOrWhiteSpace(name))
            {
                nameView.Text = name;
            }
            else
            {
                nameView.Visibility = ViewStates.Gone;
                textTwoView.SetTextColor(new Color(context.GetThemedColor(Resource.Attribute.Background_Text)));
            }

            if (!string.IsNullOrWhiteSpace(description))
            {
                textTwoView.Text = description;
            }
            else
            {
                textTwoView.Visibility = ViewStates.Gone;
            }

            var checkboxView = view.FindViewById <AppCompatCheckBox>(Resource.Id.SettingItem_Checkbox);

            checkboxView.Id             = (int)DateTime.Now.Ticks;
            checkboxView.Checked        = isChecked;
            checkboxView.CheckedChange += checkEvent;

            return(view);
        }
Ejemplo n.º 7
0
 public NyaaSiSearchRecyclerAdapter(BaseAniDroidActivity context,
                                    IAsyncEnumerable <OneOf <IPagedData <NyaaSiSearchResult>, IAniListError> > enumerable) : base(context,
                                                                                                                                  enumerable, RecyclerCardType.Custom)
 {
     InitializeColors();
     CustomCardUseItemDecoration = true;
 }
 protected LazyLoadingRecyclerViewAdapter(BaseAniDroidActivity context, IAsyncEnumerable <OneOf <IPagedData <T>, IAniListError> > enumerable, RecyclerCardType cardType) : base(context, new List <T> {
     null
 }, cardType)
 {
     _asyncEnumerable = enumerable;
     _asyncEnumerator = enumerable.GetAsyncEnumerator();
 }
Ejemplo n.º 9
0
        private static void PopulateLikesContainer(BaseAniDroidActivity context, AniListActivity activity, ViewGroup container)
        {
            var imageSize    = (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 40, context.Resources.DisplayMetrics);
            var padding      = (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 2, context.Resources.DisplayMetrics);
            var layoutParams = new ViewGroup.LayoutParams(imageSize, imageSize);

            var profileImages = activity.Likes.Select(x =>
            {
                var image = new ImageView(context)
                {
                    LayoutParameters = layoutParams
                };
                image.SetPadding(padding, padding, padding, padding);
                ImageLoader.LoadImage(image, x.Avatar.Large);
                image.Click += (lSend, lArgs) =>
                {
                    UserActivity.StartActivity(context, x.Id);
                };
                image.LongClick += (lSend, lArgs) =>
                {
                    Toast.MakeText(context, x.Name, ToastLength.Short).Show();
                };
                return(image);
            }).ToList();

            container.Visibility = activity.Likes.Any() ? ViewStates.Visible : ViewStates.Gone;
            profileImages.ForEach(container.AddView);
        }
Ejemplo n.º 10
0
        public static void CreateNewActivity(BaseAniDroidActivity context, Func <string, Task> saveAction)
        {
            var dialog     = new AlertDialog.Builder(context, context.GetThemedResourceId(Resource.Attribute.Dialog_Theme)).Create();
            var dialogView = context.LayoutInflater.Inflate(Resource.Layout.Dialog_AniListActivityCreate, null);

            dialog.SetView(dialogView);

            dialog.SetButton((int)DialogButtonType.Negative, "Cancel", (send, args) => dialog.Dismiss());
            dialog.SetButton((int)DialogButtonType.Positive, "Post", (send, args) => { });

            dialog.ShowEvent += (sender2, e2) =>
            {
                var activityText = dialogView.FindViewById <EditText>(Resource.Id.AniListActivityCreate_Text);
                var createButton = dialog.GetButton((int)DialogButtonType.Positive);
                createButton.SetOnClickListener(new InterceptClickListener(async() =>
                {
                    if (string.IsNullOrWhiteSpace(activityText.Text))
                    {
                        Toast.MakeText(context, "Text can't be empty!", ToastLength.Short).Show();
                        return;
                    }

                    await saveAction(activityText.Text);
                    dialog.Dismiss();
                }));
            };

            dialog.Show();
        }
Ejemplo n.º 11
0
 public StudioEdgeRecyclerAdapter(BaseAniDroidActivity context,
                                  IAsyncEnumerable <OneOf <IPagedData <StudioEdge>, IAniListError> > enumerable, RecyclerCardType cardType,
                                  Func <StudioEdge, StudioEdgeViewModel> createViewModelFunc) : base(context, enumerable, cardType,
                                                                                                     createViewModelFunc)
 {
     ClickAction = (viewModel, position) => StudioActivity.StartActivity(Context, viewModel.Model?.Node?.Id ?? 0,
                                                                         BaseAniDroidActivity.ObjectBrowseRequestCode);
 }
Ejemplo n.º 12
0
        public static void StartActivity(BaseAniDroidActivity context, int userId, MediaType mediaType)
        {
            var intent = new Intent(context, typeof(MediaListActivity));

            intent.PutExtra(UserIdIntentKey, userId);
            intent.PutExtra(MediaTypeIntentKey, mediaType.Value);
            context.StartActivity(intent);
        }
Ejemplo n.º 13
0
 public StudioRecyclerAdapter(BaseAniDroidActivity context,
                              IAsyncEnumerable <OneOf <IPagedData <Studio>, IAniListError> > enumerable,
                              Func <Studio, StudioViewModel> createViewModelFunc) : base(context, enumerable, RecyclerCardType.Horizontal,
                                                                                         createViewModelFunc)
 {
     ClickAction =
         (viewModel, position) => StudioActivity.StartActivity(Context, viewModel.Model.Id);
 }
Ejemplo n.º 14
0
        private void BindListActivityViewHolder(AniListActivityViewHolder viewHolder, AniListActivity item)
        {
            viewHolder.Title.TextFormatted              = BaseAniDroidActivity.FromHtml($"<b><font color='{_userNameColorHex}'>{item.User?.Name}</font></b> {item.Status} {(!string.IsNullOrWhiteSpace(item.Progress) ? $"{item.Progress} of" : "")} <b><font color='{_actionColorHex}'>{item.Media?.Title?.UserPreferred}</font></b>");
            viewHolder.ContentText.Visibility           = ViewStates.Gone;
            viewHolder.ContentImageContainer.Visibility = ViewStates.Visible;
            viewHolder.ContentImageContainer.RemoveAllViews();

            ImageLoader.LoadImage(viewHolder.Image, item.Media?.CoverImage?.Large);
        }
Ejemplo n.º 15
0
        public static ISpanned ConvertToSpanned(string text)
        {
            var pipeline = new MarkdownPipelineBuilder().UseEmphasisExtras().UseEmojiAndSmiley().UseListExtras().Build();

            var cleanedText = FormatMarkdownText(text);
            var parsedText  = Markdig.Markdown.ToHtml(cleanedText, pipeline);

            return(BaseAniDroidActivity.FromHtml(parsedText));
        }
Ejemplo n.º 16
0
 public CharacterRecyclerAdapter(BaseAniDroidActivity context,
                                 IAsyncEnumerable <OneOf <IPagedData <Character>, IAniListError> > enumerable, RecyclerCardType cardType,
                                 Func <Character, CharacterViewModel> createViewModelFunc) : base(context, enumerable, cardType,
                                                                                                  createViewModelFunc)
 {
     ClickAction = (viewModel, position) =>
                   CharacterActivity.StartActivity(Context, viewModel.Model.Id,
                                                   BaseAniDroidActivity.ObjectBrowseRequestCode);
 }
Ejemplo n.º 17
0
 public MediaListFilterDialogFragment(BaseAniDroidActivity context, IMediaListView mediaListView, MediaType type, IList <string> genres, IList <MediaTag> tags)
 {
     _context              = context;
     _mediaListView        = mediaListView;
     _mediaListFilterModel = mediaListView.GetMediaListFilter();
     _type   = type;
     _genres = genres;
     _tags   = tags;
 }
Ejemplo n.º 18
0
 public AniListNotificationRecyclerAdapter(BaseAniDroidActivity context,
                                           IAsyncEnumerable <OneOf <IPagedData <AniListNotification>, IAniListError> > enumerable, int unreadCount,
                                           Func <AniListNotification, AniListNotificationViewModel> createViewModelFunc) : base(context, enumerable,
                                                                                                                                RecyclerCardType.Custom, createViewModelFunc)
 {
     _unreadCount = unreadCount;
     CustomCardUseItemDecoration = true;
     ClickAction = (viewModel, position) => (viewModel as AniListNotificationViewModel)?.ClickAction?.Invoke();
 }
Ejemplo n.º 19
0
        public AniListNotificationViewModel(AniListNotification model, BaseAniDroidActivity context, Color accentColor) : base(model)
        {
            _context = context;

            FormattedTitle = BaseAniDroidActivity.FromHtml(Model.GetNotificationHtml($"#{accentColor & 0xffffff:X6}"));
            Timestamp      = Model.GetAgeString(model.CreatedAt);
            ImageUri       = Model.GetImageUri();
            ClickAction    = GetNotificationClickAction();
        }
Ejemplo n.º 20
0
 public AniListActivityRecyclerAdapter(BaseAniDroidActivity context, AniListActivityRecyclerAdapter adapter) :
     base(context, adapter)
 {
     _presenter                  = adapter._presenter;
     _userId                     = adapter._userId;
     _userNameColorHex           = $"#{Context.GetThemedColor(Resource.Attribute.Primary) & 0xffffff:X6}";
     _actionColorHex             = $"#{Context.GetThemedColor(Resource.Attribute.Primary_Dark) & 0xffffff:X6}";
     _defaultIconColor           = new Color(context.GetThemedColor(Resource.Attribute.Secondary_Dark));
     CustomCardUseItemDecoration = adapter.CustomCardUseItemDecoration;
 }
Ejemplo n.º 21
0
 public AniListActivityRecyclerAdapter(BaseAniDroidActivity context, IAniListActivityPresenter presenter,
                                       IAsyncEnumerable <OneOf <IPagedData <AniListActivity>, IAniListError> > enumerable, int?currentUserId) : base(context, enumerable, RecyclerCardType.Custom)
 {
     _presenter                  = presenter;
     _userId                     = currentUserId;
     _userNameColorHex           = $"#{Context.GetThemedColor(Resource.Attribute.Primary) & 0xffffff:X6}";
     _actionColorHex             = $"#{Context.GetThemedColor(Resource.Attribute.Primary_Dark) & 0xffffff:X6}";
     _defaultIconColor           = new Color(context.GetThemedColor(Resource.Attribute.Secondary_Dark));
     CustomCardUseItemDecoration = true;
 }
Ejemplo n.º 22
0
 protected AniDroidRecyclerAdapter(BaseAniDroidActivity context,
                                   IAsyncEnumerable <OneOf <IPagedData <TModel>, IAniListError> > enumerable, RecyclerCardType cardType,
                                   Func <TModel, T> createViewModelFunc) : this(context, new List <T> {
     null
 }, cardType)
 {
     CreateViewModelFunc = createViewModelFunc;
     _asyncEnumerable    = enumerable;
     _asyncEnumerator    = enumerable.GetAsyncEnumerator();
 }
Ejemplo n.º 23
0
        public static void Create(BaseAniDroidActivity context, IAniListMediaListEditPresenter presenter, Media media, AniList.Models.MediaModels.MediaList mediaList, UserMediaListOptions mediaListOptions, bool completeMedia = false)
        {
            var dialog = new EditMediaListItemDialogFragment(presenter, media, mediaList, mediaListOptions, completeMedia)
            {
                Cancelable = true
            };
            var transaction = context.SupportFragmentManager.BeginTransaction();

            transaction.SetTransition((int)FragmentTransit.FragmentOpen);
            transaction.Add(Android.Resource.Id.Content, dialog).AddToBackStack(EditMediaListItemDialogFragment.BackstackTag).Commit();
        }
Ejemplo n.º 24
0
 public ReviewRecyclerAdapter(BaseAniDroidActivity context,
                              IAsyncEnumerable <OneOf <IPagedData <Review>, IAniListError> > enumerable, RecyclerCardType cardType,
                              Func <Review, ReviewViewModel> createViewModelFunc) : base(context, enumerable, cardType,
                                                                                         createViewModelFunc)
 {
     ClickAction = (viewModel, position) =>
     {
         Toast.MakeText(Application.Context, "In-app review viewing coming Soon™", ToastLength.Short).Show();
         var intent = new Intent(Intent.ActionView, Android.Net.Uri.Parse($"https://anilist.co/review/{viewModel.Model.Id}"));
         Context.StartActivity(intent);
     };
 }
Ejemplo n.º 25
0
        private static void CreateEditReply(BaseAniDroidActivity context, string oldText, Func <string, Task> saveAction, Func <Task> deleteAction)
        {
            var dialog          = new AlertDialog.Builder(context, context.GetThemedResourceId(Resource.Attribute.Dialog_Theme)).Create();
            var dialogView      = context.LayoutInflater.Inflate(Resource.Layout.Dialog_AniListActivityCreate, null);
            var replyText       = dialogView.FindViewById <EditText>(Resource.Id.AniListActivityCreate_Text);
            var replyTextLayout = dialogView.FindViewById <TextInputLayout>(Resource.Id.AniListActivityCreate_TextLayout);

            replyTextLayout.Hint = "Reply Text";

            replyText.Text = oldText;

            dialog.SetView(dialogView);

            dialog.SetButton((int)DialogButtonType.Negative, "Cancel", (send, args) => dialog.Dismiss());
            dialog.SetButton((int)DialogButtonType.Positive, "Save", (send, args) => { });
            dialog.SetButton((int)DialogButtonType.Neutral, "Delete", (send, args) =>
            {
                var confirmationDialog = new AlertDialog.Builder(context,
                                                                 context.GetThemedResourceId(Resource.Attribute.Dialog_Theme)).Create();
                confirmationDialog.SetTitle("Delete Reply");
                confirmationDialog.SetMessage("Are you sure you wish to delete this reply?");

                confirmationDialog.SetButton((int)DialogButtonType.Negative, "Cancel",
                                             (cSend, cArgs) => confirmationDialog.Dismiss());
                confirmationDialog.SetButton((int)DialogButtonType.Positive, "Delete",
                                             (cSend, cArgs) =>
                {
                    confirmationDialog.Dismiss();
                    dialog.Dismiss();
                    deleteAction?.Invoke();
                });

                confirmationDialog.Show();
            });

            dialog.ShowEvent += (sender2, e2) =>
            {
                var createButton = dialog.GetButton((int)DialogButtonType.Positive);
                createButton.SetOnClickListener(new InterceptClickListener(async() =>
                {
                    if (string.IsNullOrWhiteSpace(replyText.Text))
                    {
                        Toast.MakeText(context, "Text can't be empty!", ToastLength.Short).Show();
                        return;
                    }

                    await saveAction(replyText.Text);
                    dialog.Dismiss();
                }));
            };

            dialog.Show();
        }
Ejemplo n.º 26
0
 public ForumThreadRecyclerAdapter(BaseAniDroidActivity context,
                                   IAsyncEnumerable <OneOf <IPagedData <ForumThread>, IAniListError> > enumerable,
                                   Func <ForumThread, ForumThreadViewModel> createViewModelFunc) : base(context, enumerable,
                                                                                                        RecyclerCardType.Horizontal, createViewModelFunc)
 {
     ClickAction = (viewModel, position) =>
     {
         var intent = new Intent(Intent.ActionView);
         intent.SetData(Android.Net.Uri.Parse(viewModel.Model.SiteUrl));
         Context.StartActivity(intent);
     };
 }
Ejemplo n.º 27
0
        public MediaListRecyclerAdapter(BaseAniDroidActivity context, MediaListGroup mediaListGroup,
                                        RecyclerCardType cardType, Func <AniList.Models.MediaModels.MediaList, MediaListViewModel> createViewModelFunc, MediaListItemViewType viewType, bool highlightPriorityItems, bool useLongClickForEpisodeAdd, Action <MediaListViewModel, Action> episodeAddAction = null) : base(context,
                                                                                                                                                                                                                                                                                                                         mediaListGroup.Entries.Select(createViewModelFunc).ToList(), cardType)
        {
            CreateViewModelFunc     = createViewModelFunc;
            _isCustomList           = mediaListGroup.IsCustomList;
            _listName               = mediaListGroup.Name;
            _listStatus             = mediaListGroup.Status;
            _unfilteredItems        = Items;
            _viewType               = viewType;
            _highlightPriorityItems = highlightPriorityItems;

            _priorityBackgroundColor =
                ColorStateList.ValueOf(new Color(Context.GetThemedColor(Resource.Attribute.ListItem_Priority)));
            _upToDateTitleColor =
                ColorStateList.ValueOf(new Color(Context.GetThemedColor(Resource.Attribute.ListItem_UpToDate)));
            _slightlyBehindTitleColor =
                ColorStateList.ValueOf(new Color(Context.GetThemedColor(Resource.Attribute.ListItem_SlightlyBehind)));
            _behindTitleColor =
                ColorStateList.ValueOf(new Color(Context.GetThemedColor(Resource.Attribute.ListItem_Behind)));
            _veryBehindTitleColor =
                ColorStateList.ValueOf(new Color(Context.GetThemedColor(Resource.Attribute.ListItem_VeryBehind)));

            ClickAction = (viewModel, position) =>
                          MediaActivity.StartActivity(Context, viewModel.Model.Media?.Id ?? 0, BaseAniDroidActivity.ObjectBrowseRequestCode);

            // leave this as the non-edit action so we can leave the presenter out
            LongClickAction = (viewModel, position) =>
                              Context.DisplaySnackbarMessage(viewModel.Model.Media?.Title?.UserPreferred, Snackbar.LengthLong);

            if (episodeAddAction != null)
            {
                if (useLongClickForEpisodeAdd)
                {
                    ButtonLongClickAction = (viewModel, pos, callback) =>
                                            episodeAddAction.Invoke(viewModel as MediaListViewModel, callback);
                    ButtonClickAction = (viewModel, pos, callback) => Toast.MakeText(Context.ApplicationContext,
                                                                                     Context.GetString(Resource.String.MediaList_LongPressEnabledAlert), ToastLength.Short).Show();
                }
                else
                {
                    ButtonClickAction = (viewModel, pos, callback) =>
                                        episodeAddAction.Invoke(viewModel as MediaListViewModel, callback);
                }
            }

            if (_viewType != MediaListItemViewType.Normal)
            {
                CardType = RecyclerCardType.Custom;
                CustomCardUseItemDecoration = true;
            }
        }
Ejemplo n.º 28
0
        public static void Create(BaseAniDroidActivity context, IBrowsePresenter presenter)
        {
            var dialog =
                new BrowseFilterDialogFragment(context, presenter)
            {
                Cancelable = true
            };
            var transaction = context.SupportFragmentManager.BeginTransaction();

            transaction.SetTransition((int)FragmentTransit.FragmentOpen);
            transaction.Add(Android.Resource.Id.Content, dialog)
            .AddToBackStack(BrowseFilterDialogFragment.BackstackTag).Commit();
        }
Ejemplo n.º 29
0
        public static void Create(BaseAniDroidActivity context)
        {
            var textView = new TextView(context)
            {
                Text = "", LayoutParameters = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent)
            };

            textView.SetPadding(15, 5, 15, 5);

            var whatsNewVals      = context.Resources.GetStringArray(Resource.Array.Application_WhatsNew);
            var whatsNewSplitVals = whatsNewVals
                                    .Select(x =>
                                            new { Date = DateTime.TryParseExact(x.Split('|')[0], "MM-dd-yyyy", null, System.Globalization.DateTimeStyles.None, out var parsedDate) ? parsedDate : DateTime.Now, Val = x.Split('|')[1] })
Ejemplo n.º 30
0
        public static void Create(BaseAniDroidActivity context, IMediaListView view, MediaType type, IList <string> genres, IList <MediaTag> tags)
        {
            var dialog =
                new MediaListFilterDialogFragment(context, view, type, genres, tags)
            {
                Cancelable = true
            };
            var transaction = context.SupportFragmentManager.BeginTransaction();

            transaction.SetTransition((int)FragmentTransit.FragmentOpen);
            transaction.Add(Android.Resource.Id.Content, dialog)
            .AddToBackStack(MediaListFilterDialogFragment.BackstackTag).Commit();
        }