IT WORKS, now i need to polish it :)

This commit is contained in:
LucasGGamerM
2023-01-31 20:30:05 -03:00
parent ede4137935
commit dae2632c18
9 changed files with 22 additions and 52 deletions

View File

@@ -521,10 +521,10 @@ public abstract class BaseStatusListFragment<T extends DisplayItemsParent> exten
public void onRevealFilteredClick(WarningFilteredStatusDisplayItem.Holder holder){ public void onRevealFilteredClick(WarningFilteredStatusDisplayItem.Holder holder){
Status status=holder.getItem().status; Status status=holder.getItem().status;
revealFiltered(status, holder.getItemID()); // revealFiltered(status, holder.getItemID());
} }
protected void revealFiltered(Status status, String itemID){ protected void revealFiltered(Status status, ArrayList<StatusDisplayItem> showedItems){
status.filterRevealed=true; status.filterRevealed=true;
} }
@@ -565,6 +565,11 @@ public abstract class BaseStatusListFragment<T extends DisplayItemsParent> exten
public void onGapClick(GapStatusDisplayItem.Holder item){} public void onGapClick(GapStatusDisplayItem.Holder item){}
public void onWarningClick(WarningFilteredStatusDisplayItem.Holder warningItem){ public void onWarningClick(WarningFilteredStatusDisplayItem.Holder warningItem){
int i = warningItem.getAbsoluteAdapterPosition();
for(StatusDisplayItem item:warningItem.filteredItems){
i++;
displayItems.add(i, item);
}
adapter.notifyItemChanged(warningItem.getAbsoluteAdapterPosition()); adapter.notifyItemChanged(warningItem.getAbsoluteAdapterPosition());
} }

View File

@@ -106,14 +106,6 @@ public class AudioStatusDisplayItem extends StatusDisplayItem{
seekBar.setEnabled(false); 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){ private void onPlayPauseClick(View v){

View File

@@ -154,14 +154,6 @@ public class FooterStatusDisplayItem extends StatusDisplayItem{
boost.setEnabled(item.status.visibility==StatusPrivacy.PUBLIC || item.status.visibility==StatusPrivacy.UNLISTED || item.status.visibility==StatusPrivacy.LOCAL 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))); || (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){ private void bindButton(TextView btn, long count){

View File

@@ -400,14 +400,6 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
more.setContentDescription(desc); more.setContentDescription(desc);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) more.setTooltipText(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 @Override

View File

@@ -74,14 +74,6 @@ public abstract class ImageStatusDisplayItem extends StatusDisplayItem{
photo.setContentDescription(TextUtils.isEmpty(item.attachment.description) ? item.parentFragment.getString(R.string.media_no_description) : item.attachment.description); photo.setContentDescription(TextUtils.isEmpty(item.attachment.description) ? item.parentFragment.getString(R.string.media_no_description) : item.attachment.description);
didClear=false; 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 @Override

View File

@@ -85,14 +85,6 @@ public class LinkCardStatusDisplayItem extends StatusDisplayItem{
didClear=false; 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 @Override

View File

@@ -93,6 +93,9 @@ public abstract class StatusDisplayItem{
public static ArrayList<StatusDisplayItem> buildItems(BaseStatusListFragment fragment, Status status, String accountID, DisplayItemsParent parentObject, Map<String, Account> knownAccounts, boolean inset, boolean addFooter, Notification notification, boolean disableTranslate){ public static ArrayList<StatusDisplayItem> buildItems(BaseStatusListFragment fragment, Status status, String accountID, DisplayItemsParent parentObject, Map<String, Account> knownAccounts, boolean inset, boolean addFooter, Notification notification, boolean disableTranslate){
String parentID=parentObject.getID(); String parentID=parentObject.getID();
ArrayList<StatusDisplayItem> items=new ArrayList<>(); ArrayList<StatusDisplayItem> items=new ArrayList<>();
ArrayList<StatusDisplayItem> filtered=new ArrayList<>();
Status statusForContent=status.getContentStatus(); Status statusForContent=status.getContentStatus();
Bundle args=new Bundle(); Bundle args=new Bundle();
args.putString("account", accountID); args.putString("account", accountID);
@@ -184,7 +187,8 @@ public abstract class StatusDisplayItem{
} }
if(!statusForContent.filterRevealed){ if(!statusForContent.filterRevealed){
items.add(new WarningFilteredStatusDisplayItem(parentID, fragment, statusForContent)); filtered.add(new WarningFilteredStatusDisplayItem(parentID, fragment, statusForContent, items));
return filtered;
} }
return items; return items;

View File

@@ -190,14 +190,6 @@ public class TextStatusDisplayItem extends StatusDisplayItem{
} }
}); });
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 @Override

View File

@@ -13,14 +13,18 @@ import org.joinmastodon.android.fragments.BaseStatusListFragment;
import org.joinmastodon.android.model.Status; import org.joinmastodon.android.model.Status;
import org.joinmastodon.android.ui.drawables.SawtoothTearDrawable; import org.joinmastodon.android.ui.drawables.SawtoothTearDrawable;
import java.util.ArrayList;
// Mind the gap! // Mind the gap!
public class WarningFilteredStatusDisplayItem extends StatusDisplayItem{ public class WarningFilteredStatusDisplayItem extends StatusDisplayItem{
public boolean loading; public boolean loading;
public final Status status; public final Status status;
public ArrayList<StatusDisplayItem> filteredItems;
public WarningFilteredStatusDisplayItem(String parentID, BaseStatusListFragment parentFragment, Status status){ public WarningFilteredStatusDisplayItem(String parentID, BaseStatusListFragment parentFragment, Status status, ArrayList<StatusDisplayItem> items){
super(parentID, parentFragment); super(parentID, parentFragment);
this.status=status; this.status=status;
this.filteredItems = items;
} }
@Override @Override
@@ -32,6 +36,7 @@ public class WarningFilteredStatusDisplayItem extends StatusDisplayItem{
public final View warningWrap; public final View warningWrap;
public final ProgressBar progress; public final ProgressBar progress;
public final TextView text; public final TextView text;
public ArrayList<StatusDisplayItem> filteredItems;
public Holder(Context context, ViewGroup parent){ public Holder(Context context, ViewGroup parent){
super(context, R.layout.display_item_warning, parent); super(context, R.layout.display_item_warning, parent);
@@ -43,7 +48,11 @@ public class WarningFilteredStatusDisplayItem extends StatusDisplayItem{
@Override @Override
public void onBind(WarningFilteredStatusDisplayItem item){ public void onBind(WarningFilteredStatusDisplayItem item){
filteredItems = item.filteredItems;
}
public void hide(WarningFilteredStatusDisplayItem item){
filteredItems = item.filteredItems;
} }
@Override @Override