mirror of
https://codeberg.org/tom79/Fedilab.git
synced 2025-09-15 08:20:18 +03:00
Quote when composing
This commit is contained in:
parent
5accc101f7
commit
cc5f18beec
11 changed files with 80 additions and 14 deletions
|
@ -156,6 +156,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana
|
||||||
private Uri photoFileUri;
|
private Uri photoFileUri;
|
||||||
private ScheduledStatus scheduledStatus;
|
private ScheduledStatus scheduledStatus;
|
||||||
private String visibility;
|
private String visibility;
|
||||||
|
private String quote_approval_policy;
|
||||||
private Account accountMention;
|
private Account accountMention;
|
||||||
private String statusReplyId;
|
private String statusReplyId;
|
||||||
private Account mentionBooster;
|
private Account mentionBooster;
|
||||||
|
@ -287,7 +288,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana
|
||||||
statusList.addAll(0, context.ancestors);
|
statusList.addAll(0, context.ancestors);
|
||||||
statusList.add(initialStatus);
|
statusList.add(initialStatus);
|
||||||
statusList.add(statusDraft.statusDraftList.get(0));
|
statusList.add(statusDraft.statusDraftList.get(0));
|
||||||
composeAdapter = new ComposeAdapter(statusList, context.ancestors.size(), account, accountMention, visibility, editMessageId);
|
composeAdapter = new ComposeAdapter(statusList, context.ancestors.size(), account, accountMention, visibility, quote_approval_policy, editMessageId);
|
||||||
composeAdapter.mediaDescriptionCallBack = this;
|
composeAdapter.mediaDescriptionCallBack = this;
|
||||||
composeAdapter.promptDraftListener = this;
|
composeAdapter.promptDraftListener = this;
|
||||||
composeAdapter.manageDrafts = this;
|
composeAdapter.manageDrafts = this;
|
||||||
|
@ -526,6 +527,10 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana
|
||||||
} else if (visibility == null && Helper.getCurrentAccount(ComposeActivity.this) != null && Helper.getCurrentAccount(ComposeActivity.this).mastodon_account != null && Helper.getCurrentAccount(ComposeActivity.this).mastodon_account.source != null) {
|
} else if (visibility == null && Helper.getCurrentAccount(ComposeActivity.this) != null && Helper.getCurrentAccount(ComposeActivity.this).mastodon_account != null && Helper.getCurrentAccount(ComposeActivity.this).mastodon_account.source != null) {
|
||||||
visibility = Helper.getCurrentAccount(ComposeActivity.this).mastodon_account.source.privacy;
|
visibility = Helper.getCurrentAccount(ComposeActivity.this).mastodon_account.source.privacy;
|
||||||
}
|
}
|
||||||
|
if (quote_approval_policy == null && Helper.getCurrentAccount(ComposeActivity.this) != null && Helper.getCurrentAccount(ComposeActivity.this).mastodon_account != null && Helper.getCurrentAccount(ComposeActivity.this).mastodon_account.source != null) {
|
||||||
|
quote_approval_policy = Helper.getCurrentAccount(ComposeActivity.this).mastodon_account.source.quote_authorizations;
|
||||||
|
}
|
||||||
|
|
||||||
if(setMentionBooster) {
|
if(setMentionBooster) {
|
||||||
mentionBooster = (Account) b.getSerializable(Helper.ARG_MENTION_BOOSTER);
|
mentionBooster = (Account) b.getSerializable(Helper.ARG_MENTION_BOOSTER);
|
||||||
} else {
|
} else {
|
||||||
|
@ -569,6 +574,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana
|
||||||
status.sensitive = scheduledStatus.params.sensitive;
|
status.sensitive = scheduledStatus.params.sensitive;
|
||||||
status.spoiler_text = scheduledStatus.params.spoiler_text;
|
status.spoiler_text = scheduledStatus.params.spoiler_text;
|
||||||
status.visibility = scheduledStatus.params.visibility;
|
status.visibility = scheduledStatus.params.visibility;
|
||||||
|
status.quote_approval_policy = scheduledStatus.params.quote_approval_policy;
|
||||||
statuses.add(status);
|
statuses.add(status);
|
||||||
statusDraft.statusDraftList = statuses;
|
statusDraft.statusDraftList = statuses;
|
||||||
}
|
}
|
||||||
|
@ -636,7 +642,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana
|
||||||
}
|
}
|
||||||
int statusCount = statusList.size();
|
int statusCount = statusList.size();
|
||||||
statusList.addAll(statusDraft.statusDraftList);
|
statusList.addAll(statusDraft.statusDraftList);
|
||||||
composeAdapter = new ComposeAdapter(statusList, statusCount, account, accountMention, visibility, editMessageId);
|
composeAdapter = new ComposeAdapter(statusList, statusCount, account, accountMention, visibility, quote_approval_policy, editMessageId);
|
||||||
composeAdapter.mediaDescriptionCallBack = this;
|
composeAdapter.mediaDescriptionCallBack = this;
|
||||||
composeAdapter.manageDrafts = this;
|
composeAdapter.manageDrafts = this;
|
||||||
composeAdapter.promptDraftListener = this;
|
composeAdapter.promptDraftListener = this;
|
||||||
|
@ -709,7 +715,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana
|
||||||
}
|
}
|
||||||
//StatusDraftList at this point should only have one element
|
//StatusDraftList at this point should only have one element
|
||||||
statusList.addAll(statusDraftList);
|
statusList.addAll(statusDraftList);
|
||||||
composeAdapter = new ComposeAdapter(statusList, statusCount, account, accountMention, visibility, editMessageId);
|
composeAdapter = new ComposeAdapter(statusList, statusCount, account, accountMention, visibility, quote_approval_policy, editMessageId);
|
||||||
composeAdapter.mediaDescriptionCallBack = this;
|
composeAdapter.mediaDescriptionCallBack = this;
|
||||||
composeAdapter.manageDrafts = this;
|
composeAdapter.manageDrafts = this;
|
||||||
composeAdapter.promptDraftListener = this;
|
composeAdapter.promptDraftListener = this;
|
||||||
|
@ -724,7 +730,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana
|
||||||
statusDraftList.get(0).quote_id = statusQuoted.id;
|
statusDraftList.get(0).quote_id = statusQuoted.id;
|
||||||
//StatusDraftList at this point should only have one element
|
//StatusDraftList at this point should only have one element
|
||||||
statusList.addAll(statusDraftList);
|
statusList.addAll(statusDraftList);
|
||||||
composeAdapter = new ComposeAdapter(statusList, statusCount, account, accountMention, visibility, editMessageId);
|
composeAdapter = new ComposeAdapter(statusList, statusCount, account, accountMention, visibility, quote_approval_policy, editMessageId);
|
||||||
composeAdapter.mediaDescriptionCallBack = this;
|
composeAdapter.mediaDescriptionCallBack = this;
|
||||||
composeAdapter.manageDrafts = this;
|
composeAdapter.manageDrafts = this;
|
||||||
composeAdapter.promptDraftListener = this;
|
composeAdapter.promptDraftListener = this;
|
||||||
|
@ -734,7 +740,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana
|
||||||
} else {
|
} else {
|
||||||
//Compose without replying
|
//Compose without replying
|
||||||
statusList.addAll(statusDraftList);
|
statusList.addAll(statusDraftList);
|
||||||
composeAdapter = new ComposeAdapter(statusList, 0, account, accountMention, visibility, editMessageId);
|
composeAdapter = new ComposeAdapter(statusList, 0, account, accountMention, visibility,quote_approval_policy, editMessageId);
|
||||||
composeAdapter.mediaDescriptionCallBack = this;
|
composeAdapter.mediaDescriptionCallBack = this;
|
||||||
composeAdapter.manageDrafts = this;
|
composeAdapter.manageDrafts = this;
|
||||||
composeAdapter.promptDraftListener = this;
|
composeAdapter.promptDraftListener = this;
|
||||||
|
|
|
@ -64,6 +64,8 @@ public interface MastodonStatusesService {
|
||||||
@Field("spoiler_text") String spoiler_text,
|
@Field("spoiler_text") String spoiler_text,
|
||||||
@Field("visibility") String visibility,
|
@Field("visibility") String visibility,
|
||||||
@Field("language") String language,
|
@Field("language") String language,
|
||||||
|
@Field("quote_approval_policy") String quote_approval_policy,
|
||||||
|
@Field("quoted_status_id") String quoted_status_id,
|
||||||
@Field("quote_id") String quote_id,
|
@Field("quote_id") String quote_id,
|
||||||
@Field("content_type") String content_type,
|
@Field("content_type") String content_type,
|
||||||
@Field("local_only") Boolean local_only
|
@Field("local_only") Boolean local_only
|
||||||
|
|
|
@ -42,6 +42,8 @@ public class ScheduledStatus implements Serializable {
|
||||||
public String spoiler_text;
|
public String spoiler_text;
|
||||||
@SerializedName("visibility")
|
@SerializedName("visibility")
|
||||||
public String visibility;
|
public String visibility;
|
||||||
|
@SerializedName("quote_approval_policy")
|
||||||
|
public String quote_approval_policy;
|
||||||
@SerializedName("scheduled_at")
|
@SerializedName("scheduled_at")
|
||||||
public Date scheduled_at;
|
public Date scheduled_at;
|
||||||
@SerializedName("poll")
|
@SerializedName("poll")
|
||||||
|
|
|
@ -22,6 +22,8 @@ import java.util.List;
|
||||||
public class Source implements Serializable {
|
public class Source implements Serializable {
|
||||||
@SerializedName("privacy")
|
@SerializedName("privacy")
|
||||||
public String privacy;
|
public String privacy;
|
||||||
|
@SerializedName("quote_authorizations")
|
||||||
|
public String quote_authorizations;
|
||||||
@SerializedName("sensitive")
|
@SerializedName("sensitive")
|
||||||
public boolean sensitive;
|
public boolean sensitive;
|
||||||
@SerializedName("language")
|
@SerializedName("language")
|
||||||
|
@ -36,6 +38,8 @@ public class Source implements Serializable {
|
||||||
public static class SourceParams implements Serializable {
|
public static class SourceParams implements Serializable {
|
||||||
@SerializedName("privacy")
|
@SerializedName("privacy")
|
||||||
public String privacy;
|
public String privacy;
|
||||||
|
@SerializedName("quote_authorizations")
|
||||||
|
public String quote_authorizations;
|
||||||
@SerializedName("sensitive")
|
@SerializedName("sensitive")
|
||||||
public boolean sensitive;
|
public boolean sensitive;
|
||||||
@SerializedName("language")
|
@SerializedName("language")
|
||||||
|
|
|
@ -55,10 +55,13 @@ public class Status implements Serializable, Cloneable {
|
||||||
public String text;
|
public String text;
|
||||||
@SerializedName("quote_id")
|
@SerializedName("quote_id")
|
||||||
public String quote_id;
|
public String quote_id;
|
||||||
|
|
||||||
@SerializedName("content_type")
|
@SerializedName("content_type")
|
||||||
public String content_type;
|
public String content_type;
|
||||||
@SerializedName("visibility")
|
@SerializedName("visibility")
|
||||||
public String visibility;
|
public String visibility;
|
||||||
|
@SerializedName("quote_approval_policy")
|
||||||
|
public String quote_approval_policy;
|
||||||
@SerializedName("language")
|
@SerializedName("language")
|
||||||
public String language;
|
public String language;
|
||||||
@SerializedName("uri")
|
@SerializedName("uri")
|
||||||
|
|
|
@ -33,10 +33,15 @@ public class StatusParams implements Serializable {
|
||||||
public String in_reply_to_id;
|
public String in_reply_to_id;
|
||||||
@SerializedName("sensitive")
|
@SerializedName("sensitive")
|
||||||
public Boolean sensitive;
|
public Boolean sensitive;
|
||||||
|
|
||||||
@SerializedName("spoiler_text")
|
@SerializedName("spoiler_text")
|
||||||
public String spoiler_text;
|
public String spoiler_text;
|
||||||
@SerializedName("visibility")
|
@SerializedName("visibility")
|
||||||
public String visibility;
|
public String visibility;
|
||||||
|
@SerializedName("quote_approval_policy")
|
||||||
|
public String quote_approval_policy;
|
||||||
|
@SerializedName("quoted_status_id")
|
||||||
|
public String quoted_status_id;
|
||||||
@SerializedName("language")
|
@SerializedName("language")
|
||||||
public String language;
|
public String language;
|
||||||
@SerializedName("media_attributes")
|
@SerializedName("media_attributes")
|
||||||
|
|
|
@ -572,6 +572,22 @@ public class MastodonHelper {
|
||||||
HEADER
|
HEADER
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum quote_visibility {
|
||||||
|
@SerializedName("PUBLIC")
|
||||||
|
PUBLIC("public"),
|
||||||
|
@SerializedName("FOLLOWERS")
|
||||||
|
FOLLOWERS("followers"),
|
||||||
|
@SerializedName("NOBODY")
|
||||||
|
NOBODY("nobody");
|
||||||
|
private final String value;
|
||||||
|
quote_visibility(String value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
public String getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public enum visibility {
|
public enum visibility {
|
||||||
@SerializedName("PUBLIC")
|
@SerializedName("PUBLIC")
|
||||||
PUBLIC("public"),
|
PUBLIC("public"),
|
||||||
|
|
|
@ -261,7 +261,7 @@ public class ComposeWorker extends Worker {
|
||||||
if (dataPost.scheduledDate == null) {
|
if (dataPost.scheduledDate == null) {
|
||||||
if (dataPost.statusEditId == null) {
|
if (dataPost.statusEditId == null) {
|
||||||
statusCall = mastodonStatusesService.createStatus(null, dataPost.token, statuses.get(i).text, attachmentIds, poll_options, poll_expire_in,
|
statusCall = mastodonStatusesService.createStatus(null, dataPost.token, statuses.get(i).text, attachmentIds, poll_options, poll_expire_in,
|
||||||
poll_multiple, poll_hide_totals, statuses.get(i).quote_id == null ? in_reply_to_status : null, statuses.get(i).sensitive, statuses.get(i).spoilerChecked ? statuses.get(i).spoiler_text : null, statuses.get(i).visibility.toLowerCase(), statuses.get(i).language, statuses.get(i).quote_id, statuses.get(i).content_type, statuses.get(i).local_only);
|
poll_multiple, poll_hide_totals, statuses.get(i).quote_id == null ? in_reply_to_status : null, statuses.get(i).sensitive, statuses.get(i).spoilerChecked ? statuses.get(i).spoiler_text : null, statuses.get(i).visibility.toLowerCase(), statuses.get(i).language, statuses.get(i).quote_approval_policy.toLowerCase(), statuses.get(i).quote_id, statuses.get(i).quote_id, statuses.get(i).content_type, statuses.get(i).local_only);
|
||||||
} else { //Status is edited
|
} else { //Status is edited
|
||||||
StatusParams statusParams = new StatusParams();
|
StatusParams statusParams = new StatusParams();
|
||||||
statusParams.status = statuses.get(i).text;
|
statusParams.status = statuses.get(i).text;
|
||||||
|
@ -277,6 +277,8 @@ public class ComposeWorker extends Worker {
|
||||||
statusParams.sensitive = statuses.get(i).sensitive;
|
statusParams.sensitive = statuses.get(i).sensitive;
|
||||||
statusParams.spoiler_text = statuses.get(i).spoilerChecked ? statuses.get(i).spoiler_text : null;
|
statusParams.spoiler_text = statuses.get(i).spoilerChecked ? statuses.get(i).spoiler_text : null;
|
||||||
statusParams.visibility = statuses.get(i).visibility.toLowerCase();
|
statusParams.visibility = statuses.get(i).visibility.toLowerCase();
|
||||||
|
statusParams.quoted_status_id = statuses.get(i).quote_id.toLowerCase();
|
||||||
|
statusParams.quote_approval_policy = statuses.get(i).quote_approval_policy.toLowerCase();
|
||||||
statusParams.language = statuses.get(i).language;
|
statusParams.language = statuses.get(i).language;
|
||||||
statusParams.media_attributes = media_attributes;
|
statusParams.media_attributes = media_attributes;
|
||||||
statusCall = mastodonStatusesService.updateStatus(null, dataPost.token,
|
statusCall = mastodonStatusesService.updateStatus(null, dataPost.token,
|
||||||
|
|
|
@ -167,6 +167,7 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
|
||||||
private final int TYPE_NORMAL = 0;
|
private final int TYPE_NORMAL = 0;
|
||||||
private final BaseAccount account;
|
private final BaseAccount account;
|
||||||
private final String visibility;
|
private final String visibility;
|
||||||
|
private final String quote_approval_policy;
|
||||||
private final Account mentionedAccount;
|
private final Account mentionedAccount;
|
||||||
private final String editMessageId;
|
private final String editMessageId;
|
||||||
public ManageDrafts manageDrafts;
|
public ManageDrafts manageDrafts;
|
||||||
|
@ -182,12 +183,13 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
|
||||||
private boolean splitChoiceDone = false;
|
private boolean splitChoiceDone = false;
|
||||||
|
|
||||||
|
|
||||||
public ComposeAdapter(List<Status> statusList, int statusCount, BaseAccount account, Account mentionedAccount, String visibility, String editMessageId) {
|
public ComposeAdapter(List<Status> statusList, int statusCount, BaseAccount account, Account mentionedAccount, String visibility, String quote_approval_policy, String editMessageId) {
|
||||||
this.statusList = statusList;
|
this.statusList = statusList;
|
||||||
this.statusCount = statusCount;
|
this.statusCount = statusCount;
|
||||||
this.account = account;
|
this.account = account;
|
||||||
this.mentionedAccount = mentionedAccount;
|
this.mentionedAccount = mentionedAccount;
|
||||||
this.visibility = visibility;
|
this.visibility = visibility;
|
||||||
|
this.quote_approval_policy = quote_approval_policy;
|
||||||
this.editMessageId = editMessageId;
|
this.editMessageId = editMessageId;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1624,6 +1626,9 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
|
||||||
if (visibility != null && statusDraft.visibility == null) {
|
if (visibility != null && statusDraft.visibility == null) {
|
||||||
statusDraft.visibility = visibility;
|
statusDraft.visibility = visibility;
|
||||||
}
|
}
|
||||||
|
if(quote_approval_policy != null && statusDraft.quote_approval_policy == null) {
|
||||||
|
statusDraft.quote_approval_policy = quote_approval_policy;
|
||||||
|
}
|
||||||
boolean unlistedReplies = sharedpreferences.getBoolean(context.getString(R.string.SET_UNLISTED_REPLIES), true);
|
boolean unlistedReplies = sharedpreferences.getBoolean(context.getString(R.string.SET_UNLISTED_REPLIES), true);
|
||||||
if (statusDraft.visibility == null) {
|
if (statusDraft.visibility == null) {
|
||||||
if (position > 0) {
|
if (position > 0) {
|
||||||
|
@ -1639,7 +1644,9 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
|
||||||
} else if (!unlisted_changed && position > 0 && position == statusCount && unlistedReplies && statusDraft.visibility.equalsIgnoreCase("public") && statusList.size() > 1) {
|
} else if (!unlisted_changed && position > 0 && position == statusCount && unlistedReplies && statusDraft.visibility.equalsIgnoreCase("public") && statusList.size() > 1) {
|
||||||
statusDraft.visibility = "unlisted";
|
statusDraft.visibility = "unlisted";
|
||||||
}
|
}
|
||||||
|
if( statusDraft.quote_approval_policy == null) { //Set a default value
|
||||||
|
statusDraft.quote_approval_policy = MastodonHelper.quote_visibility.PUBLIC.name();
|
||||||
|
}
|
||||||
switch (statusDraft.visibility.toLowerCase()) {
|
switch (statusDraft.visibility.toLowerCase()) {
|
||||||
case "public" -> {
|
case "public" -> {
|
||||||
holder.binding.buttonVisibility.setIconResource(R.drawable.ic_compose_visibility_public);
|
holder.binding.buttonVisibility.setIconResource(R.drawable.ic_compose_visibility_public);
|
||||||
|
@ -1663,6 +1670,24 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
switch (statusDraft.quote_approval_policy.toLowerCase()) {
|
||||||
|
case "public" -> {
|
||||||
|
holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_compose_visibility_public);
|
||||||
|
statusDraft.quote_approval_policy = MastodonHelper.quote_visibility.PUBLIC.name();
|
||||||
|
}
|
||||||
|
case "followers" -> {
|
||||||
|
holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_baseline_people_alt_24);
|
||||||
|
statusDraft.quote_approval_policy = MastodonHelper.quote_visibility.FOLLOWERS.name();
|
||||||
|
}
|
||||||
|
case "nobody" -> {
|
||||||
|
holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_baseline_block_24);
|
||||||
|
statusDraft.quote_approval_policy = MastodonHelper.quote_visibility.NOBODY.name();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
holder.binding.visibilityPanel.setOnTouchListener((view, motionEvent) -> true);
|
holder.binding.visibilityPanel.setOnTouchListener((view, motionEvent) -> true);
|
||||||
holder.binding.buttonCloseAttachmentPanel.setOnClickListener(v -> holder.binding.attachmentChoicesPanel.setVisibility(View.GONE));
|
holder.binding.buttonCloseAttachmentPanel.setOnClickListener(v -> holder.binding.attachmentChoicesPanel.setVisibility(View.GONE));
|
||||||
holder.binding.buttonVisibility.setOnClickListener(v -> {
|
holder.binding.buttonVisibility.setOnClickListener(v -> {
|
||||||
|
@ -1706,17 +1731,17 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
|
||||||
holder.binding.buttonQuoteApprovalPolicyNoOne.setOnClickListener(v -> {
|
holder.binding.buttonQuoteApprovalPolicyNoOne.setOnClickListener(v -> {
|
||||||
holder.binding.quoteApprovalPolicyPanel.setVisibility(View.GONE);
|
holder.binding.quoteApprovalPolicyPanel.setVisibility(View.GONE);
|
||||||
holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_baseline_block_24);
|
holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_baseline_block_24);
|
||||||
// Todo: statusDraft.visibility = nobody
|
statusDraft.quote_approval_policy = MastodonHelper.quote_visibility.NOBODY.name();
|
||||||
});
|
});
|
||||||
holder.binding.buttonQuoteApprovalPolicyFollowersOnly.setOnClickListener(v -> {
|
holder.binding.buttonQuoteApprovalPolicyFollowersOnly.setOnClickListener(v -> {
|
||||||
holder.binding.quoteApprovalPolicyPanel.setVisibility(View.GONE);
|
holder.binding.quoteApprovalPolicyPanel.setVisibility(View.GONE);
|
||||||
holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_baseline_people_alt_24);
|
holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_baseline_people_alt_24);
|
||||||
// Todo: statusDraft.visibility = followers
|
statusDraft.quote_approval_policy = MastodonHelper.quote_visibility.FOLLOWERS.name();
|
||||||
});
|
});
|
||||||
holder.binding.buttonQuoteApprovalPolicyAnyone.setOnClickListener(v -> {
|
holder.binding.buttonQuoteApprovalPolicyAnyone.setOnClickListener(v -> {
|
||||||
holder.binding.quoteApprovalPolicyPanel.setVisibility(View.GONE);
|
holder.binding.quoteApprovalPolicyPanel.setVisibility(View.GONE);
|
||||||
holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_compose_visibility_public);
|
holder.binding.buttonQuoteApprovalPolicy.setIconResource(R.drawable.ic_compose_visibility_public);
|
||||||
// Todo: statusDraft.visibility = public
|
statusDraft.quote_approval_policy = MastodonHelper.quote_visibility.PUBLIC.name();
|
||||||
});
|
});
|
||||||
|
|
||||||
if (statusDraft.spoilerChecked || statusDraft.spoiler_text != null && !statusDraft.spoiler_text.trim().isEmpty()) {
|
if (statusDraft.spoilerChecked || statusDraft.spoiler_text != null && !statusDraft.spoiler_text.trim().isEmpty()) {
|
||||||
|
|
|
@ -188,6 +188,7 @@ public class StatusesVM extends AndroidViewModel {
|
||||||
String spoiler_text,
|
String spoiler_text,
|
||||||
String visibility,
|
String visibility,
|
||||||
String language,
|
String language,
|
||||||
|
String quote_approval_policy,
|
||||||
String quote_id,
|
String quote_id,
|
||||||
String content_type,
|
String content_type,
|
||||||
Boolean local_only) {
|
Boolean local_only) {
|
||||||
|
@ -195,7 +196,7 @@ public class StatusesVM extends AndroidViewModel {
|
||||||
statusMutableLiveData = new MutableLiveData<>();
|
statusMutableLiveData = new MutableLiveData<>();
|
||||||
new Thread(() -> {
|
new Thread(() -> {
|
||||||
Call<Status> statusCall = mastodonStatusesService.createStatus(idempotency_Key, token, text, media_ids, poll_options, poll_expire_in,
|
Call<Status> statusCall = mastodonStatusesService.createStatus(idempotency_Key, token, text, media_ids, poll_options, poll_expire_in,
|
||||||
poll_multiple, poll_hide_totals, in_reply_to_id, sensitive, spoiler_text, visibility, language, quote_id, content_type, local_only);
|
poll_multiple, poll_hide_totals, in_reply_to_id, sensitive, spoiler_text, visibility, language, quote_approval_policy, quote_id, quote_id, content_type, local_only);
|
||||||
Status status = null;
|
Status status = null;
|
||||||
if (statusCall != null) {
|
if (statusCall != null) {
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -2046,7 +2046,7 @@ public class PeertubeActivity extends BasePeertubeActivity implements CommentLis
|
||||||
viewModelComment.comment(ADD_COMMENT, peertube.getId(), null, commentStr).observe(PeertubeActivity.this, apiResponse1 -> manageVIewPostActions(ADD_COMMENT, 0, apiResponse1));
|
viewModelComment.comment(ADD_COMMENT, peertube.getId(), null, commentStr).observe(PeertubeActivity.this, apiResponse1 -> manageVIewPostActions(ADD_COMMENT, 0, apiResponse1));
|
||||||
} else {//Remote account is posting a message
|
} else {//Remote account is posting a message
|
||||||
StatusesVM statusesVM = new ViewModelProvider(PeertubeActivity.this).get(StatusesVM.class);
|
StatusesVM statusesVM = new ViewModelProvider(PeertubeActivity.this).get(StatusesVM.class);
|
||||||
statusesVM.postStatus(currentInstance, currentToken, null, commentStr, null, null, null, null, null, status.id, false, null, "public", null, null, null, null).observe(PeertubeActivity.this, this::manageVIewPostActionsMastodon);
|
statusesVM.postStatus(currentInstance, currentToken, null, commentStr, null, null, null, null, null, status.id, false, null, "public", null, null, null, null, null).observe(PeertubeActivity.this, this::manageVIewPostActionsMastodon);
|
||||||
}
|
}
|
||||||
binding.addCommentWrite.setText("");
|
binding.addCommentWrite.setText("");
|
||||||
}
|
}
|
||||||
|
@ -2058,7 +2058,7 @@ public class PeertubeActivity extends BasePeertubeActivity implements CommentLis
|
||||||
viewModelComment.comment(REPLY, peertube.getId(), comment.getId(), commentView).observe(PeertubeActivity.this, apiResponse1 -> manageVIewPostActions(REPLY, position, apiResponse1));
|
viewModelComment.comment(REPLY, peertube.getId(), comment.getId(), commentView).observe(PeertubeActivity.this, apiResponse1 -> manageVIewPostActions(REPLY, position, apiResponse1));
|
||||||
} else {//Remote account is posting a message
|
} else {//Remote account is posting a message
|
||||||
StatusesVM statusesVM = new ViewModelProvider(PeertubeActivity.this).get(StatusesVM.class);
|
StatusesVM statusesVM = new ViewModelProvider(PeertubeActivity.this).get(StatusesVM.class);
|
||||||
statusesVM.postStatus(currentInstance, currentToken, null, commentView, null, null, null, null, null, status.id, false, null, "public", null, null, null, null).observe(PeertubeActivity.this, this::manageVIewPostActionsMastodon);
|
statusesVM.postStatus(currentInstance, currentToken, null, commentView, null, null, null, null, null, status.id, false, null, "public", null, null, null, null, null).observe(PeertubeActivity.this, this::manageVIewPostActionsMastodon);
|
||||||
}
|
}
|
||||||
binding.addCommentWrite.setText("");
|
binding.addCommentWrite.setText("");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue