From ede4137935a97f9bc0c800de02153e83f300e2e4 Mon Sep 17 00:00:00 2001 From: LucasGGamerM Date: Sun, 29 Jan 2023 18:46:39 -0300 Subject: [PATCH] It now hides everything! It still doesnt pop up though :D --- .../fragments/BaseStatusListFragment.java | 4 ++ .../displayitems/AudioStatusDisplayItem.java | 9 ++++ .../displayitems/FooterStatusDisplayItem.java | 9 ++++ .../displayitems/HeaderStatusDisplayItem.java | 43 +++++++++---------- .../displayitems/ImageStatusDisplayItem.java | 9 ++++ .../LinkCardStatusDisplayItem.java | 9 ++++ .../displayitems/PhotoStatusDisplayItem.java | 9 ++++ .../ReblogOrReplyLineStatusDisplayItem.java | 1 + .../ui/displayitems/StatusDisplayItem.java | 1 - .../displayitems/TextStatusDisplayItem.java | 12 ++++++ 10 files changed, 82 insertions(+), 24 deletions(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/BaseStatusListFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/BaseStatusListFragment.java index d06515d3f..6e4f53a6a 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/BaseStatusListFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/BaseStatusListFragment.java @@ -529,6 +529,10 @@ public abstract class BaseStatusListFragment exten } +// public void notifyItemsChanged(int adapterPosition){ +// adapter.notifyItemChanged(adapterPosition); +// } + public void onVisibilityIconClick(HeaderStatusDisplayItem.Holder holder){ Status status=holder.getItem().status; diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/AudioStatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/AudioStatusDisplayItem.java index 3d3acef9c..d1bfc0047 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/AudioStatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/AudioStatusDisplayItem.java @@ -105,6 +105,15 @@ public class AudioStatusDisplayItem extends StatusDisplayItem{ }else{ seekBar.setEnabled(false); } + + if(!item.status.filterRevealed){ + this.itemView.setVisibility(View.GONE); + ViewGroup.LayoutParams params = this.itemView.getLayoutParams(); + params.height = 0; + params.width = 0; + this.itemView.setLayoutParams(params); +// item.parentFragment.notifyItemsChanged(this.getAbsoluteAdapterPosition()); + } } private void onPlayPauseClick(View v){ diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/FooterStatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/FooterStatusDisplayItem.java index f38f632c7..c42ef35c1 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/FooterStatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/FooterStatusDisplayItem.java @@ -153,6 +153,15 @@ public class FooterStatusDisplayItem extends StatusDisplayItem{ bookmark.setSelected(item.status.bookmarked); boost.setEnabled(item.status.visibility==StatusPrivacy.PUBLIC || item.status.visibility==StatusPrivacy.UNLISTED || item.status.visibility==StatusPrivacy.LOCAL || (item.status.visibility==StatusPrivacy.PRIVATE && item.status.account.id.equals(AccountSessionManager.getInstance().getAccount(item.accountID).self.id))); + + if(!item.status.filterRevealed){ + this.itemView.setVisibility(View.GONE); + ViewGroup.LayoutParams params = this.itemView.getLayoutParams(); + params.height = 0; + params.width = 0; + this.itemView.setLayoutParams(params); +// item.parentFragment.notifyItemsChanged(this.getAbsoluteAdapterPosition()); + } } private void bindButton(TextView btn, long count){ diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/HeaderStatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/HeaderStatusDisplayItem.java index be07d3244..6c68b9b8f 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/HeaderStatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/HeaderStatusDisplayItem.java @@ -145,8 +145,6 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{ private Relationship relationship; private APIRequest currentRelationshipRequest; - ViewGroup.LayoutParams params; - private static final ViewOutlineProvider roundCornersOutline=new ViewOutlineProvider(){ @Override public void getOutline(View view, Outline outline){ @@ -179,7 +177,9 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{ })); optionsMenu=new PopupMenu(activity, more); + optionsMenu.inflate(R.menu.post); + optionsMenu.setOnMenuItemClickListener(menuItem->{ Account account=item.user; int id=menuItem.getItemId(); @@ -277,17 +277,19 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{ args.putString("profileDisplayUsername", account.getDisplayUsername()); Nav.go(item.parentFragment.getActivity(), ListTimelinesFragment.class, args); } + + if(!item.status.filterRevealed){ + this.itemView.setVisibility(View.GONE); + ViewGroup.LayoutParams params = this.itemView.getLayoutParams(); + params.height = 0; + params.width = 0; + this.itemView.setLayoutParams(params); +// item.parentFragment.notifyItemsChanged(this.getAbsoluteAdapterPosition()); + } return true; }); UiUtils.enablePopupMenuIcons(activity, optionsMenu); -// if(!item.status.filterRevealed){ -// this.itemView.setVisibility(View.GONE); -// params = this.itemView.getLayoutParams(); -// params.height = 0; -// params.width = 0; -// this.itemView.setLayoutParams(params); -// } } // public void setFilteredShown(){ @@ -317,20 +319,6 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{ botIcon.setColorFilter(username.getCurrentTextColor()); separator.setVisibility(View.VISIBLE); -// if(item.user.bot){ -// SpannableStringBuilder ssb = new SpannableStringBuilder(); -// ssb.append('@'+item.user.acct); -// ssb.append(" "); -// Drawable botIcon=username.getResources().getDrawable(R.drawable.ic_bot, itemView.getContext().getTheme()).mutate(); -// botIcon.setBounds(0, 0, botIcon.getIntrinsicWidth(), botIcon.getIntrinsicHeight()); -// botIcon.setTint(username.getCurrentTextColor()); -// ssb.append(itemView.getContext().getString(R.string.manually_approves_followers), new ImageSpan(botIcon, ImageSpan.ALIGN_BASELINE), 0); -// username.setPaddingRelative(0,0,16,0); -// username.setText(ssb); -// } - -// username.setCompoundDrawablesWithIntrinsicBounds(item.user.bot ? R.drawable.ic_fluent_bot_24_filled : 0, 0, 0, 0); - if (item.scheduledStatus!=null) if (item.scheduledStatus.scheduledAt.isAfter(CreateStatus.DRAFTS_AFTER_INSTANT)) { timestamp.setText(R.string.sk_draft); @@ -411,6 +399,15 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{ more.setContentDescription(desc); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) more.setTooltipText(desc); + + if(!item.status.filterRevealed){ + this.itemView.setVisibility(View.GONE); + ViewGroup.LayoutParams params = this.itemView.getLayoutParams(); + params.height = 0; + params.width = 0; + this.itemView.setLayoutParams(params); +// item.parentFragment.notifyItemsChanged(this.getAbsoluteAdapterPosition()); + } } @Override diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/ImageStatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/ImageStatusDisplayItem.java index 782f94e17..0b893b5a6 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/ImageStatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/ImageStatusDisplayItem.java @@ -73,6 +73,15 @@ public abstract class ImageStatusDisplayItem extends StatusDisplayItem{ photo.setImageDrawable(crossfadeDrawable); photo.setContentDescription(TextUtils.isEmpty(item.attachment.description) ? item.parentFragment.getString(R.string.media_no_description) : item.attachment.description); didClear=false; + + if(!item.status.filterRevealed){ + this.itemView.setVisibility(View.GONE); + ViewGroup.LayoutParams params = this.itemView.getLayoutParams(); + params.height = 0; + params.width = 0; + this.itemView.setLayoutParams(params); +// item.parentFragment.notifyItemsChanged(this.getAbsoluteAdapterPosition()); + } } @Override diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/LinkCardStatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/LinkCardStatusDisplayItem.java index 42ac3b429..b38df7b07 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/LinkCardStatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/LinkCardStatusDisplayItem.java @@ -84,6 +84,15 @@ public class LinkCardStatusDisplayItem extends StatusDisplayItem{ photo.setImageDrawable(crossfadeDrawable); didClear=false; } + + if(!item.status.filterRevealed){ + this.itemView.setVisibility(View.GONE); + ViewGroup.LayoutParams params = this.itemView.getLayoutParams(); + params.height = 0; + params.width = 0; + this.itemView.setLayoutParams(params); +// item.parentFragment.notifyItemsChanged(this.getAbsoluteAdapterPosition()); + } } @Override diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/PhotoStatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/PhotoStatusDisplayItem.java index bbfc7a082..cc5882dc2 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/PhotoStatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/PhotoStatusDisplayItem.java @@ -106,6 +106,15 @@ public class PhotoStatusDisplayItem extends ImageStatusDisplayItem{ altTextWrapper.setVisibility(View.GONE); } } + + if(!item.status.filterRevealed){ + this.itemView.setVisibility(View.GONE); + ViewGroup.LayoutParams params = this.itemView.getLayoutParams(); + params.height = 0; + params.width = 0; + this.itemView.setLayoutParams(params); +// item.parentFragment.notifyItemsChanged(this.getAbsoluteAdapterPosition()); + } } private void onShowHideClick(View v){ diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/ReblogOrReplyLineStatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/ReblogOrReplyLineStatusDisplayItem.java index 366d5ba9f..df198f823 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/ReblogOrReplyLineStatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/ReblogOrReplyLineStatusDisplayItem.java @@ -100,6 +100,7 @@ public class ReblogOrReplyLineStatusDisplayItem extends StatusDisplayItem{ if (visibilityText != 0) text.setContentDescription(item.text + " (" + ctx.getString(visibilityText) + ")"); if(Build.VERSION.SDK_INT{ if (item.translation == null) { translateProgress.setVisibility(View.VISIBLE); @@ -186,6 +189,15 @@ public class TextStatusDisplayItem extends StatusDisplayItem{ rebind(); } }); + + if(!item.status.filterRevealed){ + this.itemView.setVisibility(View.GONE); + ViewGroup.LayoutParams params = this.itemView.getLayoutParams(); + params.height = 0; + params.width = 0; + this.itemView.setLayoutParams(params); +// item.parentFragment.notifyItemsChanged(this.getAbsoluteAdapterPosition()); + } } @Override