Merge pull request #678 from LucasGGamerM/mastodon-android
fix: fix alt texts not being able to be edited
This commit is contained in:
commit
16ef577a7a
|
@ -17,6 +17,7 @@ public class CreateStatus extends MastodonAPIRequest<Status>{
|
||||||
|
|
||||||
public static class Request{
|
public static class Request{
|
||||||
public String status;
|
public String status;
|
||||||
|
public List<MediaAttribute> mediaAttributes;
|
||||||
public List<String> mediaIds;
|
public List<String> mediaIds;
|
||||||
public Poll poll;
|
public Poll poll;
|
||||||
public String inReplyToId;
|
public String inReplyToId;
|
||||||
|
@ -32,5 +33,17 @@ public class CreateStatus extends MastodonAPIRequest<Status>{
|
||||||
public boolean multiple;
|
public boolean multiple;
|
||||||
public boolean hideTotals;
|
public boolean hideTotals;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static class MediaAttribute{
|
||||||
|
public String id;
|
||||||
|
public String description;
|
||||||
|
public String focus;
|
||||||
|
|
||||||
|
public MediaAttribute(String id, String description, String focus){
|
||||||
|
this.id=id;
|
||||||
|
this.description=description;
|
||||||
|
this.focus=focus;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -691,6 +691,9 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
|
||||||
req.visibility=statusVisibility;
|
req.visibility=statusVisibility;
|
||||||
if(!mediaViewController.isEmpty()){
|
if(!mediaViewController.isEmpty()){
|
||||||
req.mediaIds=mediaViewController.getAttachmentIDs();
|
req.mediaIds=mediaViewController.getAttachmentIDs();
|
||||||
|
if(editingStatus != null){
|
||||||
|
req.mediaAttributes=mediaViewController.getAttachmentAttributes();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(replyTo!=null){
|
if(replyTo!=null){
|
||||||
req.inReplyToId=replyTo.id;
|
req.inReplyToId=replyTo.id;
|
||||||
|
|
|
@ -27,10 +27,14 @@ import android.widget.ProgressBar;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
import org.joinmastodon.android.MastodonApp;
|
import org.joinmastodon.android.MastodonApp;
|
||||||
import org.joinmastodon.android.R;
|
import org.joinmastodon.android.R;
|
||||||
import org.joinmastodon.android.api.MastodonAPIController;
|
import org.joinmastodon.android.api.MastodonAPIController;
|
||||||
import org.joinmastodon.android.api.ProgressListener;
|
import org.joinmastodon.android.api.ProgressListener;
|
||||||
|
import org.joinmastodon.android.api.requests.statuses.CreateStatus;
|
||||||
import org.joinmastodon.android.api.requests.statuses.GetAttachmentByID;
|
import org.joinmastodon.android.api.requests.statuses.GetAttachmentByID;
|
||||||
import org.joinmastodon.android.api.requests.statuses.UpdateAttachment;
|
import org.joinmastodon.android.api.requests.statuses.UpdateAttachment;
|
||||||
import org.joinmastodon.android.api.requests.statuses.UploadAttachment;
|
import org.joinmastodon.android.api.requests.statuses.UploadAttachment;
|
||||||
|
@ -47,8 +51,11 @@ import org.parceler.Parcel;
|
||||||
import org.parceler.Parcels;
|
import org.parceler.Parcels;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.ListIterator;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
@ -541,6 +548,14 @@ public class ComposeMediaViewController{
|
||||||
return attachments.stream().map(a->a.serverAttachment.id).collect(Collectors.toList());
|
return attachments.stream().map(a->a.serverAttachment.id).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<CreateStatus.Request.MediaAttribute> getAttachmentAttributes(){
|
||||||
|
List<CreateStatus.Request.MediaAttribute> mediaAttributes = new ArrayList<>();
|
||||||
|
for (DraftMediaAttachment att:attachments){
|
||||||
|
mediaAttributes.add(new CreateStatus.Request.MediaAttribute(att.serverAttachment.id, att.description, null));
|
||||||
|
}
|
||||||
|
return mediaAttributes;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isEmpty(){
|
public boolean isEmpty(){
|
||||||
return attachments.isEmpty();
|
return attachments.isEmpty();
|
||||||
}
|
}
|
||||||
|
@ -582,7 +597,7 @@ public class ComposeMediaViewController{
|
||||||
public void saveAltTextsBeforePublishing(Runnable onSuccess, Consumer<ErrorResponse> onError){
|
public void saveAltTextsBeforePublishing(Runnable onSuccess, Consumer<ErrorResponse> onError){
|
||||||
ArrayList<UpdateAttachment> updateAltTextRequests=new ArrayList<>();
|
ArrayList<UpdateAttachment> updateAltTextRequests=new ArrayList<>();
|
||||||
for(DraftMediaAttachment att:attachments){
|
for(DraftMediaAttachment att:attachments){
|
||||||
if(!att.descriptionSaved){
|
if(!att.descriptionSaved && att.serverAttachment.description == null){
|
||||||
UpdateAttachment req=new UpdateAttachment(att.serverAttachment.id, att.description);
|
UpdateAttachment req=new UpdateAttachment(att.serverAttachment.id, att.description);
|
||||||
req.setCallback(new Callback<>(){
|
req.setCallback(new Callback<>(){
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue