private void ImageClick(object sender, EventArgs e) { var image = sender as ImageView; var position = (int)image.GetTag(Resource.Id.Object_Position); var item = Items[position]; if (item.Type == ActivityType.Text) { if (item.User?.Id == null) { return; } UserActivity.StartActivity(Context, item.User.Id); } else if (item.Type == ActivityType.Message) { if (item.Messenger?.Id == null) { return; } UserActivity.StartActivity(Context, item.Messenger.Id); } else if (item.Type == ActivityType.AnimeList || item.Type == ActivityType.MangaList) { if (item.Media?.Id == null) { return; } MediaActivity.StartActivity(Context, item.Media.Id); } }
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); }
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); }
private void ImageClick(object sender, EventArgs e) { var senderView = sender as View; var userPos = (int)senderView.GetTag(Resource.Id.Object_Position); var viewModel = Items[userPos]; UserActivity.StartActivity(Context, viewModel.Model?.User?.Id ?? 0); }
private void SetupNavigation() { var navHeader = _navigationView.GetHeaderView(0); _notificationImageView = navHeader.FindViewById <BadgeImageView>(Resource.Id.Navigation_NotificationIcon); var userNameViewContainer = navHeader.FindViewById <LinearLayout>(Resource.Id.Navigation_UserNameContainer); var userNameView = navHeader.FindViewById <TextView>(Resource.Id.Navigation_UserName); if (!Settings.IsUserAuthenticated) { navHeader.FindViewById(Resource.Id.Navigation_NotificationIcon).Visibility = ViewStates.Gone; userNameViewContainer.Click += (sender, args) => { _navClosedAction = () => { LoginActivity.StartActivity(this); }; _navigationDrawer.CloseDrawer(GravityCompat.Start); }; } else { var user = Settings.LoggedInUser; userNameView.Text = user?.Name ?? "User Error"; userNameViewContainer.Click += (sender, args) => { _navClosedAction = () => AniListNotificationsDialog.Create(this, Presenter.GetNotificationsEnumerable(), _unreadNotificationCount, () => SetNotificationCount(0)); _navigationDrawer.CloseDrawer(GravityCompat.Start); }; if (!string.IsNullOrWhiteSpace(user?.Avatar?.Large)) { var profileImageView = navHeader.FindViewById <ImageView>(Resource.Id.Navigation_ProfileImage); profileImageView.Visibility = ViewStates.Visible; ImageLoader.LoadImage(profileImageView, user.Avatar.Large); profileImageView.Click += (sender, args) => { _navClosedAction = () => UserActivity.StartActivity(this, user.Id); _navigationDrawer.CloseDrawer(GravityCompat.Start); }; } if (!string.IsNullOrWhiteSpace(user?.BannerImage)) { var bannerView = navHeader.FindViewById <ImageView>(Resource.Id.Navigation_ProfileBannerImage); bannerView.Visibility = ViewStates.Visible; ImageLoader.LoadImage(bannerView, user.BannerImage); } } _navigationView.SetNavigationItemSelectedListener(this); _navigationDrawer.DrawerClosed += OnDrawerClosed; }
private void RowClick(object sender, EventArgs e) { var view = sender as View; var position = (int)view.GetTag(Resource.Id.Object_Position); var item = Items[position]; if (item.Type == ActivityType.Text || item.Type == ActivityType.AnimeList || item.Type == ActivityType.MangaList) { UserActivity.StartActivity(Context, item.User.Id); } else if (item.Type == ActivityType.Message) { UserActivity.StartActivity(Context, item.Messenger.Id); } }
private View CreateMediaFollowingUsersMediaListStatusView(int mediaId) { var mediaListEnumerable = Presenter.GetMediaFollowingUsersMediaListsEnumerable(mediaId, PageLength); var retView = LayoutInflater.Inflate(Resource.Layout.View_List, null); var recycler = retView.FindViewById <RecyclerView>(Resource.Id.List_RecyclerView); var recyclerAdapter = new MediaListRecyclerAdapter(this, CardType, mediaListEnumerable, MediaListViewModel.CreateUserMediaListViewModel) { ClickAction = (viewModel, position) => UserActivity.StartActivity(this, viewModel.Model?.User?.Id ?? 0) }; recycler.SetAdapter(recyclerAdapter); return(retView); }
private void SetDefaultClickActions() { ClickAction = (viewModel, position) => UserActivity.StartActivity(Context, viewModel.Model.Id); }