IT WORKS, now i need to polish it :)
This commit is contained in:
@@ -521,10 +521,10 @@ public abstract class BaseStatusListFragment<T extends DisplayItemsParent> exten
|
||||
|
||||
public void onRevealFilteredClick(WarningFilteredStatusDisplayItem.Holder holder){
|
||||
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;
|
||||
|
||||
}
|
||||
@@ -565,6 +565,11 @@ public abstract class BaseStatusListFragment<T extends DisplayItemsParent> exten
|
||||
public void onGapClick(GapStatusDisplayItem.Holder item){}
|
||||
|
||||
public void onWarningClick(WarningFilteredStatusDisplayItem.Holder warningItem){
|
||||
int i = warningItem.getAbsoluteAdapterPosition();
|
||||
for(StatusDisplayItem item:warningItem.filteredItems){
|
||||
i++;
|
||||
displayItems.add(i, item);
|
||||
}
|
||||
adapter.notifyItemChanged(warningItem.getAbsoluteAdapterPosition());
|
||||
}
|
||||
|
||||
|
||||
@@ -106,14 +106,6 @@ public class AudioStatusDisplayItem extends StatusDisplayItem{
|
||||
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){
|
||||
|
||||
@@ -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
|
||||
|| (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){
|
||||
|
||||
@@ -400,14 +400,6 @@ 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
|
||||
|
||||
@@ -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);
|
||||
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
|
||||
|
||||
@@ -85,14 +85,6 @@ public class LinkCardStatusDisplayItem extends StatusDisplayItem{
|
||||
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
|
||||
|
||||
@@ -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){
|
||||
String parentID=parentObject.getID();
|
||||
ArrayList<StatusDisplayItem> items=new ArrayList<>();
|
||||
|
||||
ArrayList<StatusDisplayItem> filtered=new ArrayList<>();
|
||||
|
||||
Status statusForContent=status.getContentStatus();
|
||||
Bundle args=new Bundle();
|
||||
args.putString("account", accountID);
|
||||
@@ -184,7 +187,8 @@ public abstract class StatusDisplayItem{
|
||||
}
|
||||
|
||||
if(!statusForContent.filterRevealed){
|
||||
items.add(new WarningFilteredStatusDisplayItem(parentID, fragment, statusForContent));
|
||||
filtered.add(new WarningFilteredStatusDisplayItem(parentID, fragment, statusForContent, items));
|
||||
return filtered;
|
||||
}
|
||||
|
||||
return items;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -13,14 +13,18 @@ import org.joinmastodon.android.fragments.BaseStatusListFragment;
|
||||
import org.joinmastodon.android.model.Status;
|
||||
import org.joinmastodon.android.ui.drawables.SawtoothTearDrawable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
// Mind the gap!
|
||||
public class WarningFilteredStatusDisplayItem extends StatusDisplayItem{
|
||||
public boolean loading;
|
||||
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);
|
||||
this.status=status;
|
||||
this.filteredItems = items;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -32,6 +36,7 @@ public class WarningFilteredStatusDisplayItem extends StatusDisplayItem{
|
||||
public final View warningWrap;
|
||||
public final ProgressBar progress;
|
||||
public final TextView text;
|
||||
public ArrayList<StatusDisplayItem> filteredItems;
|
||||
|
||||
public Holder(Context context, ViewGroup parent){
|
||||
super(context, R.layout.display_item_warning, parent);
|
||||
@@ -43,7 +48,11 @@ public class WarningFilteredStatusDisplayItem extends StatusDisplayItem{
|
||||
|
||||
@Override
|
||||
public void onBind(WarningFilteredStatusDisplayItem item){
|
||||
filteredItems = item.filteredItems;
|
||||
}
|
||||
|
||||
public void hide(WarningFilteredStatusDisplayItem item){
|
||||
filteredItems = item.filteredItems;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user