//public override void OnPause() //{ // if (_isEnableSaveState) // { // SaveGalleryTemp(); // SavePreparePostTemp(); // } // base.OnPause(); //} //private void TitleOnFocusChange(object sender, View.FocusChangeEventArgs e) //{ // if (!e.HasFocus) // SavePreparePostTemp(); //} //private void LocalTagsChanged(object sender, NotifyCollectionChangedEventArgs e) //{ // Model.Tags = LocalTagsAdapter.LocalTags.ToArray(); // SavePreparePostTemp(); //} //private void TitleChanged(object sender, Android.Text.TextChangedEventArgs e) //{ // Model.Title = Title.Text; //} //private void DescriptionChanged(object sender, Android.Text.TextChangedEventArgs e) //{ // Model.Description = Description.Text; //} protected virtual async void InitData() { if (_isSingleMode) { Photos.Visibility = ViewStates.Gone; PreviewContainer.Visibility = ViewStates.Visible; Preview.CornerRadius = Style.CornerRadius5; RatioBtn.Visibility = ViewStates.Gone; RotateBtn.Visibility = ViewStates.Gone; var previewSize = BitmapUtils.CalculateImagePreviewSize(Media[0].Parameters, Style.ScreenWidth - Style.Margin15 * 2); var layoutParams = new RelativeLayout.LayoutParams(previewSize.Width, previewSize.Height); layoutParams.SetMargins(Style.Margin15, 0, Style.Margin15, Style.Margin15); PreviewContainer.LayoutParameters = layoutParams; Preview.Touch += PreviewOnTouch; if (Media[0].UploadState >= UploadState.Saved) { Preview.SetImageBitmap(Media[0]); } } else { Photos.Visibility = ViewStates.Visible; PreviewContainer.Visibility = ViewStates.Gone; Photos.SetLayoutManager(new LinearLayoutManager(Activity, LinearLayoutManager.Horizontal, false)); Photos.AddItemDecoration(new ListItemDecoration(Style.Margin10)); Photos.LayoutParameters.Height = Style.GalleryHorizontalHeight; Photos.SetAdapter(_galleryAdapter); } await ConvertAndSave(); if (!IsInitialized) { return; } await CheckOnSpam(); if (!IsInitialized) { return; } if (IsSpammer == true) { return; } StartUploadMedia(true); }
public override void OnViewCreated(View view, Bundle savedInstanceState) { if (IsInitialized) { return; } base.OnViewCreated(view, savedInstanceState); _galleryAdapter = new MediaAdapter(_editPost); SetEditPost(); RatioBtn.Visibility = RotateBtn.Visibility = ViewStates.Gone; if (_editPost.Media.Length > 1) { Photos.Visibility = ViewStates.Visible; PreviewContainer.Visibility = ViewStates.Gone; Photos.SetLayoutManager(new LinearLayoutManager(Activity, LinearLayoutManager.Horizontal, false)); Photos.SetAdapter(_galleryAdapter); Photos.AddItemDecoration(new ListItemDecoration((int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 10, Resources.DisplayMetrics))); } else { Photos.Visibility = ViewStates.Gone; PreviewContainer.Visibility = ViewStates.Visible; var margin = (int)BitmapUtils.DpToPixel(15, Resources); var previewSize = BitmapUtils.CalculateImagePreviewSize(_editPost.Media[0].Size.Width, _editPost.Media[0].Size.Height, Style.ScreenWidth - margin * 2, int.MaxValue); var layoutParams = new RelativeLayout.LayoutParams(previewSize.Width, previewSize.Height); layoutParams.SetMargins(margin, 0, margin, margin); PreviewContainer.LayoutParameters = layoutParams; Preview.CornerRadius = Style.CornerRadius5; var url = _editPost.Media[0].Thumbnails.Mini; Picasso.With(Activity).Load(url).CenterCrop() .Resize(PreviewContainer.LayoutParameters.Width, PreviewContainer.LayoutParameters.Height) .Into(Preview); Preview.Touch += PreviewOnTouch; } SearchTextChanged(); }
public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType) { var maxWidth = Style.GalleryHorizontalScreenWidth; var maxHeight = Style.GalleryHorizontalHeight; var previewSize = BitmapUtils.CalculateImagePreviewSize(_postMedia[0].Size.Width, _postMedia[0].Size.Height, maxWidth, maxHeight); var cardView = new CardView(parent.Context) { LayoutParameters = new FrameLayout.LayoutParams(previewSize.Width, previewSize.Height), Radius = BitmapUtils.DpToPixel(5, parent.Resources) }; var image = new ImageView(parent.Context) { Id = Resource.Id.photo, LayoutParameters = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent) }; image.SetScaleType(ImageView.ScaleType.FitXy); cardView.AddView(image); return(new MediaViewHolder(cardView)); }
public override void OnViewCreated(View view, Bundle savedInstanceState) { if (IsInitialized) { return; } base.OnViewCreated(view, savedInstanceState); _pageTitle.Text = AppSettings.LocalizationManager.GetText(LocalizationKeys.PlagiarismTitle); _guidelines.Text = AppSettings.LocalizationManager.GetText(LocalizationKeys.GuidelinesForPlagiarism); _cancelPublishing.Text = AppSettings.LocalizationManager.GetText(LocalizationKeys.CancelPublishing); _continuePublishing.Text = AppSettings.LocalizationManager.GetText(LocalizationKeys.ContinuePublishing); _pageTitle.Typeface = Style.Semibold; _guidelines.Typeface = Style.Semibold; _plagiarismTitle.Typeface = Style.Regular; _plagiarismDescription.Typeface = Style.Regular; _cancelPublishing.Typeface = Style.Semibold; _continuePublishing.Typeface = Style.Semibold; guidelinesUri = Android.Net.Uri.Parse(Constants.Guide); _topPanel.BringToFront(); _backButton.Click += (sender, e) => { ((BaseActivity)Activity).OnBackPressed(); }; _rootLayout.Click += (sender, e) => { ((BaseActivity)Activity).HideKeyboard(); }; _guidelines.Click += OpenGuidelines; _cancelPublishing.Click += CancelPublishing; _continuePublishing.Click += ContinuePublishing; if (media.Count > 1) { _photos.Visibility = ViewStates.Visible; _previewContainer.Visibility = ViewStates.Gone; _photos.SetLayoutManager(new LinearLayoutManager(Activity, LinearLayoutManager.Horizontal, false)); _photos.SetAdapter(adapter); _photos.AddItemDecoration(new ListItemDecoration((int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 10, Resources.DisplayMetrics))); } else { _photos.Visibility = ViewStates.Gone; _previewContainer.Visibility = ViewStates.Visible; _preview.ClipToOutline = true; var margin = (int)BitmapUtils.DpToPixel(15, Resources); if (media[0].PreparedBitmap != null) { var previewSize = BitmapUtils.CalculateImagePreviewSize(media[0].Parameters, Style.ScreenWidth - margin * 2); var layoutParams = new RelativeLayout.LayoutParams(previewSize.Width, previewSize.Height); layoutParams.SetMargins(margin, 0, margin, margin); _previewContainer.LayoutParameters = layoutParams; _preview.SetImageBitmap(media[0].PreparedBitmap); } } var similarText = AppSettings.LocalizationManager.GetText(LocalizationKeys.SimilarPhoto).ToLower(); var photoText = AppSettings.LocalizationManager.GetText(LocalizationKeys.Photo).ToLower(); var plagiarismText = string.Empty; CustomClickableSpan clickableSpan; SpannableString spannableTitle; if (model.PlagiarismUsername == AppSettings.User.Login) { plagiarismText = AppSettings.LocalizationManager.GetText(LocalizationKeys.SelfPlagiarism, similarText); clickableSpan = new CustomClickableSpan(); clickableSpan.Click += OpenSimilar; spannableTitle = SpannableText(plagiarismText, similarText, clickableSpan); _plagiarismTitle.SetText(spannableTitle, TextView.BufferType.Spannable); _plagiarismDescription.Visibility = ViewStates.Gone; } else { var author = $"@{model.PlagiarismUsername}"; plagiarismText = AppSettings.LocalizationManager.GetText(LocalizationKeys.PhotoPlagiarism, similarText, author); spannableTitle = new SpannableString(plagiarismText); var similarIndex = plagiarismText.IndexOf(similarText, StringComparison.Ordinal); clickableSpan = new CustomClickableSpan(); var authorIndex = plagiarismText.IndexOf(author, StringComparison.Ordinal); var clickableAuthor = new CustomClickableSpan(); clickableSpan.Click += OpenSimilar; clickableAuthor.Click += OpenProfile; spannableTitle.SetSpan(new ForegroundColorSpan(Resources.GetColor(Resource.Color.rgb255_34_5)), similarIndex, similarIndex + similarText.Length, 0); spannableTitle.SetSpan(clickableSpan, similarIndex, similarIndex + similarText.Length, SpanTypes.ExclusiveExclusive); spannableTitle.SetSpan(new ForegroundColorSpan(Resources.GetColor(Resource.Color.rgb255_34_5)), authorIndex, authorIndex + author.Length, 0); spannableTitle.SetSpan(clickableAuthor, authorIndex, authorIndex + author.Length, SpanTypes.ExclusiveExclusive); _plagiarismTitle.SetText(spannableTitle, TextView.BufferType.Spannable); var descriptionText = AppSettings.LocalizationManager.GetText(LocalizationKeys.PlagiarismDescription, photoText); var clickablePhoto = new CustomClickableSpan(); clickablePhoto.Click += OpenSimilar; var spannableDescription = SpannableText(descriptionText, photoText, clickablePhoto); _plagiarismDescription.Visibility = ViewStates.Visible; _plagiarismDescription.SetText(spannableDescription, TextView.BufferType.Spannable); _plagiarismDescription.MovementMethod = new LinkMovementMethod(); } _plagiarismTitle.MovementMethod = new LinkMovementMethod(); }