Tooting of text toots
This commit is contained in:
@@ -25,6 +25,7 @@ import java.io.Reader;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
@@ -76,6 +77,12 @@ public class MastodonAPIController{
|
||||
if(token!=null)
|
||||
builder.header("Authorization", "Bearer "+token);
|
||||
|
||||
if(req.headers!=null){
|
||||
for(Map.Entry<String, String> header:req.headers.entrySet()){
|
||||
builder.header(header.getKey(), header.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
Request hreq=builder.build();
|
||||
Call call=httpClient.newCall(hreq);
|
||||
synchronized(req){
|
||||
|
||||
@@ -33,6 +33,7 @@ public abstract class MastodonAPIRequest<T> extends APIRequest<T>{
|
||||
Call okhttpCall;
|
||||
Token token;
|
||||
boolean canceled;
|
||||
Map<String, String> headers;
|
||||
|
||||
public MastodonAPIRequest(HttpMethod method, String path, Class<T> respClass){
|
||||
this.path=path;
|
||||
@@ -89,6 +90,12 @@ public abstract class MastodonAPIRequest<T> extends APIRequest<T>{
|
||||
queryParams.put(key, value);
|
||||
}
|
||||
|
||||
protected void addHeader(String key, String value){
|
||||
if(headers==null)
|
||||
headers=new HashMap<>();
|
||||
headers.put(key, value);
|
||||
}
|
||||
|
||||
protected String getPathPrefix(){
|
||||
return "/api/v1";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
package org.joinmastodon.android.api.requests.statuses;
|
||||
|
||||
import org.joinmastodon.android.api.MastodonAPIRequest;
|
||||
import org.joinmastodon.android.model.Status;
|
||||
import org.joinmastodon.android.model.StatusPrivacy;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class CreateStatus extends MastodonAPIRequest<Status>{
|
||||
public CreateStatus(CreateStatus.Request req, String uuid){
|
||||
super(HttpMethod.POST, "/statuses", Status.class);
|
||||
setRequestBody(req);
|
||||
addHeader("Idempotency-Key", uuid);
|
||||
}
|
||||
|
||||
public static class Request{
|
||||
public String status;
|
||||
public List<String> mediaIds;
|
||||
public Poll poll;
|
||||
public String inReplyToId;
|
||||
public boolean sensitive;
|
||||
public String spoilerText;
|
||||
public StatusPrivacy visibility;
|
||||
public Instant scheduledAt;
|
||||
public String language;
|
||||
|
||||
public static class Poll{
|
||||
public ArrayList<String> options=new ArrayList<>();
|
||||
public int expiresIn;
|
||||
public boolean multiple;
|
||||
public boolean hideTotals;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user