示例#1
0
        private Action GetNotificationClickAction()
        {
            Action retAction  = () => { };
            var    actionType = Model.GetNotificationActionType();

            if (actionType.Equals(NotificationActionType.Media))
            {
                retAction = () => MediaActivity.StartActivity(_context, Model.Media.Id);
            }
            else if (actionType.Equals(NotificationActionType.User))
            {
                retAction = () => UserActivity.StartActivity(_context, Model.User.Id);
            }
            else if (actionType.Equals(NotificationActionType.Activity))
            {
                retAction = () => _context.StartActivity(new Intent(Intent.ActionView, Android.Net.Uri.Parse($"https://anilist.co/activity/{Model.ActivityId}")));
            }
            else if (actionType.EqualsAny(NotificationActionType.Thread, NotificationActionType.Comment))
            {
                retAction = () => _context.StartActivity(new Intent(Intent.ActionView,
                                                                    Android.Net.Uri.Parse(
                                                                        $"https://anilist.co/forum/thread/{Model.Thread?.Id}{(Model.CommentId > 0 ? $"/comment/{Model.CommentId}" : "")}")));
            }

            return(retAction);
        }
示例#2
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);
        }
示例#3
0
        public static void StartActivity(BaseAniDroidActivity context, int userId, int?requestCode = null)
        {
            var intent = new Intent(context, typeof(UserActivity));

            intent.PutExtra(UserIdIntentKey, userId);

            if (requestCode.HasValue)
            {
                context.StartActivityForResult(intent, requestCode.Value);
            }
            else
            {
                context.StartActivity(intent);
            }
        }
示例#4
0
        public static void StartActivity(BaseAniDroidActivity context, BrowseMediaDto browseDto, int?requestCode = null)
        {
            var intent    = new Intent(context, typeof(BrowseActivity));
            var dtoString = AniListJsonSerializer.Default.Serialize(browseDto);

            intent.PutExtra(BrowseDtoIntentKey, dtoString);

            if (requestCode.HasValue)
            {
                context.StartActivityForResult(intent, requestCode.Value);
            }
            else
            {
                context.StartActivity(intent);
            }
        }
示例#5
0
        public static void StartActivity(BaseAniDroidActivity context)
        {
            var intent = new Intent(context, typeof(AboutActivity));

            context.StartActivity(intent);
        }