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){
|
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());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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){
|
||||||
|
|||||||
@@ -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){
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user