Merge pull request #454 from FineFindus/fix/quote-improvements
feat: quote improvements
This commit is contained in:
commit
96ccb14a59
|
@ -718,9 +718,13 @@ public abstract class BaseStatusListFragment<T extends DisplayItemsParent> exten
|
||||||
}
|
}
|
||||||
|
|
||||||
if (startIndex!=-1 && endIndex!=-1) {
|
if (startIndex!=-1 && endIndex!=-1) {
|
||||||
ArrayList<StatusDisplayItem> items=StatusDisplayItem.buildItems(this, status, accountID, status, knownAccounts, null, 0);
|
//Only StatusListFragments can display Status/Quotes
|
||||||
|
assert this instanceof StatusListFragment;
|
||||||
|
List<StatusDisplayItem> items=((StatusListFragment) this).buildDisplayItems(status);
|
||||||
displayItems.subList(startIndex, endIndex+1).clear();
|
displayItems.subList(startIndex, endIndex+1).clear();
|
||||||
|
boolean isEmpty=displayItems.isEmpty();
|
||||||
displayItems.addAll(startIndex, items);
|
displayItems.addAll(startIndex, items);
|
||||||
|
if(!isEmpty)
|
||||||
adapter.notifyItemRangeChanged(startIndex, items.size());
|
adapter.notifyItemRangeChanged(startIndex, items.size());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -338,7 +338,7 @@ public abstract class StatusDisplayItem{
|
||||||
if(!statusForContent.mediaAttachments.isEmpty() && statusForContent.poll==null) // add spacing if immediately preceded by attachment
|
if(!statusForContent.mediaAttachments.isEmpty() && statusForContent.poll==null) // add spacing if immediately preceded by attachment
|
||||||
contentItems.add(new DummyStatusDisplayItem(parentID, fragment));
|
contentItems.add(new DummyStatusDisplayItem(parentID, fragment));
|
||||||
contentItems.addAll(buildItems(fragment, statusForContent.quote, accountID, parentObject, knownAccounts, filterContext, FLAG_NO_FOOTER|FLAG_INSET|FLAG_NO_EMOJI_REACTIONS|FLAG_IS_FOR_QUOTE));
|
contentItems.addAll(buildItems(fragment, statusForContent.quote, accountID, parentObject, knownAccounts, filterContext, FLAG_NO_FOOTER|FLAG_INSET|FLAG_NO_EMOJI_REACTIONS|FLAG_IS_FOR_QUOTE));
|
||||||
} else {
|
} else if((flags & FLAG_INSET)==0){
|
||||||
tryAddNonOfficialQuote(statusForContent, fragment, accountID);
|
tryAddNonOfficialQuote(statusForContent, fragment, accountID);
|
||||||
}
|
}
|
||||||
if(contentItems!=items && statusForContent.spoilerRevealed){
|
if(contentItems!=items && statusForContent.spoilerRevealed){
|
||||||
|
@ -431,14 +431,10 @@ public abstract class StatusDisplayItem{
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(SearchResults results){
|
public void onSuccess(SearchResults results){
|
||||||
if (!results.statuses.isEmpty()){
|
if (!results.statuses.isEmpty()){
|
||||||
Status quote=results.statuses.get(0);
|
status.quote=results.statuses.get(0);
|
||||||
// don't show self-referential quotes
|
|
||||||
if(!Objects.equals(status.id, results.statuses.get(0).id)){
|
|
||||||
status.quote=quote;
|
|
||||||
fragment.updateStatusWithQuote(status);
|
fragment.updateStatusWithQuote(status);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(ErrorResponse error){
|
public void onError(ErrorResponse error){
|
||||||
|
|
Loading…
Reference in New Issue