Notifications
This commit is contained in:
@@ -31,8 +31,8 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
|
||||
private Fragment parentFragment;
|
||||
private String accountID;
|
||||
|
||||
public HeaderStatusDisplayItem(Status status, Account user, Instant createdAt, Fragment parentFragment, String accountID){
|
||||
super(status);
|
||||
public HeaderStatusDisplayItem(String parentID, Account user, Instant createdAt, Fragment parentFragment, String accountID){
|
||||
super(parentID);
|
||||
this.user=user;
|
||||
this.createdAt=createdAt;
|
||||
avaRequest=new UrlImageLoaderRequest(user.avatar);
|
||||
|
||||
@@ -21,8 +21,10 @@ public class PhotoStatusDisplayItem extends StatusDisplayItem{
|
||||
private Attachment attachment;
|
||||
private ImageLoaderRequest request;
|
||||
private Fragment parentFragment;
|
||||
public PhotoStatusDisplayItem(Status status, Attachment photo, Fragment parentFragment){
|
||||
super(status);
|
||||
private Status status;
|
||||
public PhotoStatusDisplayItem(String parentID, Status status, Attachment photo, Fragment parentFragment){
|
||||
super(parentID);
|
||||
this.status=status;
|
||||
this.attachment=photo;
|
||||
request=new UrlImageLoaderRequest(photo.url, 1000, 1000);
|
||||
this.parentFragment=parentFragment;
|
||||
@@ -69,7 +71,7 @@ public class PhotoStatusDisplayItem extends StatusDisplayItem{
|
||||
private void onViewClick(View v){
|
||||
if(item.parentFragment instanceof PhotoViewerHost){
|
||||
Status contentStatus=item.status.reblog!=null ? item.status.reblog : item.status;
|
||||
((PhotoViewerHost) item.parentFragment).openPhotoViewer(item.status, contentStatus.mediaAttachments.indexOf(item.attachment));
|
||||
((PhotoViewerHost) item.parentFragment).openPhotoViewer(item.parentID, item.status, contentStatus.mediaAttachments.indexOf(item.attachment));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,8 +10,11 @@ import org.joinmastodon.android.model.Status;
|
||||
import me.grishka.appkit.utils.BindableViewHolder;
|
||||
|
||||
public class ReblogOrReplyLineStatusDisplayItem extends StatusDisplayItem{
|
||||
public ReblogOrReplyLineStatusDisplayItem(Status status){
|
||||
super(status);
|
||||
private CharSequence text;
|
||||
|
||||
public ReblogOrReplyLineStatusDisplayItem(String parentID, CharSequence text){
|
||||
super(parentID);
|
||||
this.text=text;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -28,9 +31,7 @@ public class ReblogOrReplyLineStatusDisplayItem extends StatusDisplayItem{
|
||||
|
||||
@Override
|
||||
public void onBind(ReblogOrReplyLineStatusDisplayItem item){
|
||||
if(item.status.reblog!=null){
|
||||
text.setText(itemView.getContext().getString(R.string.user_boosted, item.status.account.displayName));
|
||||
}
|
||||
text.setText(item.text);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,21 +5,22 @@ import android.app.Fragment;
|
||||
import android.text.TextUtils;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.joinmastodon.android.R;
|
||||
import org.joinmastodon.android.model.Attachment;
|
||||
import org.joinmastodon.android.model.DisplayItemsParent;
|
||||
import org.joinmastodon.android.model.Status;
|
||||
import org.joinmastodon.android.ui.text.HtmlParser;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import me.grishka.appkit.imageloader.requests.ImageLoaderRequest;
|
||||
import me.grishka.appkit.utils.BindableViewHolder;
|
||||
|
||||
public abstract class StatusDisplayItem{
|
||||
public final Status status;
|
||||
public final String parentID;
|
||||
|
||||
public StatusDisplayItem(Status status){
|
||||
this.status=status;
|
||||
public StatusDisplayItem(String parentID){
|
||||
this.parentID=parentID;
|
||||
}
|
||||
|
||||
public abstract Type getType();
|
||||
@@ -42,18 +43,19 @@ public abstract class StatusDisplayItem{
|
||||
};
|
||||
}
|
||||
|
||||
public static List<StatusDisplayItem> buildItems(Fragment fragment, Status status, String accountID){
|
||||
public static ArrayList<StatusDisplayItem> buildItems(Fragment fragment, Status status, String accountID, DisplayItemsParent parentObject){
|
||||
String parentID=parentObject.getID();
|
||||
ArrayList<StatusDisplayItem> items=new ArrayList<>();
|
||||
Status statusForContent=status.reblog==null ? status : status.reblog;
|
||||
if(status.reblog!=null){
|
||||
items.add(new ReblogOrReplyLineStatusDisplayItem(status));
|
||||
items.add(new ReblogOrReplyLineStatusDisplayItem(parentID, fragment.getString(R.string.user_boosted, status.account.displayName)));
|
||||
}
|
||||
items.add(new HeaderStatusDisplayItem(status, statusForContent.account, statusForContent.createdAt, fragment, accountID));
|
||||
items.add(new HeaderStatusDisplayItem(parentID, statusForContent.account, statusForContent.createdAt, fragment, accountID));
|
||||
if(!TextUtils.isEmpty(statusForContent.content))
|
||||
items.add(new TextStatusDisplayItem(status, HtmlParser.parse(statusForContent.content, statusForContent.emojis), fragment));
|
||||
items.add(new TextStatusDisplayItem(parentID, HtmlParser.parse(statusForContent.content, statusForContent.emojis), fragment));
|
||||
for(Attachment attachment:statusForContent.mediaAttachments){
|
||||
if(attachment.type==Attachment.Type.IMAGE){
|
||||
items.add(new PhotoStatusDisplayItem(status, attachment, fragment));
|
||||
items.add(new PhotoStatusDisplayItem(parentID, status, attachment, fragment));
|
||||
}
|
||||
}
|
||||
return items;
|
||||
|
||||
@@ -26,8 +26,8 @@ public class TextStatusDisplayItem extends StatusDisplayItem implements LinkSpan
|
||||
private CharSequence text;
|
||||
private ImageLoaderRequest[] emojiRequests;
|
||||
private Fragment parentFragment;
|
||||
public TextStatusDisplayItem(Status status, CharSequence text, Fragment parentFragment){
|
||||
super(status);
|
||||
public TextStatusDisplayItem(String parentID, CharSequence text, Fragment parentFragment){
|
||||
super(parentID);
|
||||
this.text=text;
|
||||
this.parentFragment=parentFragment;
|
||||
if(text instanceof Spanned){
|
||||
|
||||
@@ -3,5 +3,5 @@ package org.joinmastodon.android.ui.photoviewer;
|
||||
import org.joinmastodon.android.model.Status;
|
||||
|
||||
public interface PhotoViewerHost{
|
||||
void openPhotoViewer(Status status, int attachmentIndex);
|
||||
void openPhotoViewer(String parentID, Status status, int attachmentIndex);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user