Loading app/src/main/java/app/fedilab/android/activities/ComposeActivity.java +17 −1 Original line number Diff line number Diff line Loading @@ -104,7 +104,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana public static final int TAKE_PHOTO = 5600; private final Timer timer = new Timer(); private List<Status> statusList; private Status statusReply, statusMention; private Status statusReply, statusMention, statusQuoted; private StatusDraft statusDraft; private ComposeAdapter composeAdapter; private boolean promptSaveDraft; Loading Loading @@ -465,6 +465,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana Bundle b = getIntent().getExtras(); if (b != null) { statusReply = (Status) b.getSerializable(Helper.ARG_STATUS_REPLY); statusQuoted = (Status) b.getSerializable(Helper.ARG_QUOTED_MESSAGE); statusDraft = (StatusDraft) b.getSerializable(Helper.ARG_STATUS_DRAFT); scheduledStatus = (ScheduledStatus) b.getSerializable(Helper.ARG_STATUS_SCHEDULED); statusReplyId = b.getString(Helper.ARG_STATUS_REPLY_ID); Loading Loading @@ -557,6 +558,9 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana List<Status> statusDraftList = new ArrayList<>(); Status status = new Status(); status.id = Helper.generateIdString(); if (statusQuoted != null) { status.quote_id = statusQuoted.id; } statusDraftList.add(status); if (statusReplyId != null && statusDraft != null) {//Delete and redraft Loading Loading @@ -647,6 +651,18 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana binding.recyclerView.setAdapter(composeAdapter); statusesVM.getContext(currentInstance, BaseMainActivity.currentToken, statusReply.id) .observe(ComposeActivity.this, this::initializeContextView); } else if (statusQuoted != null) { statusList.add(statusQuoted); int statusCount = statusList.size(); statusDraftList.get(0).quote_id = statusQuoted.id; //StatusDraftList at this point should only have one element statusList.addAll(statusDraftList); composeAdapter = new ComposeAdapter(statusList, statusCount, account, accountMention, visibility, editMessageId); composeAdapter.manageDrafts = this; composeAdapter.promptDraftListener = this; LinearLayoutManager mLayoutManager = new LinearLayoutManager(ComposeActivity.this); binding.recyclerView.setLayoutManager(mLayoutManager); binding.recyclerView.setAdapter(composeAdapter); } else { //Compose without replying statusList.addAll(statusDraftList); Loading app/src/main/java/app/fedilab/android/client/endpoints/MastodonStatusesService.java +2 −1 Original line number Diff line number Diff line Loading @@ -59,7 +59,8 @@ public interface MastodonStatusesService { @Field("sensitive") Boolean sensitive, @Field("spoiler_text") String spoiler_text, @Field("visibility") String visibility, @Field("language") String language @Field("language") String language, @Field("quote_id") String quote_id ); @GET("statuses/{id}/source") Loading app/src/main/java/app/fedilab/android/client/entities/api/Status.java +4 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,8 @@ public class Status implements Serializable, Cloneable { public String spoiler_text; @SerializedName("text") public String text; @SerializedName("quote_id") public String quote_id; @SerializedName("visibility") public String visibility; @SerializedName("language") Loading Loading @@ -76,6 +78,8 @@ public class Status implements Serializable, Cloneable { public String content; @SerializedName("reblog") public Status reblog; @SerializedName("quote") public Status quote; @SerializedName("application") public App application; @SerializedName("account") Loading app/src/main/java/app/fedilab/android/helper/Helper.java +1 −0 Original line number Diff line number Diff line Loading @@ -226,6 +226,7 @@ public class Helper { public static final String ARG_STATUS_DRAFT_ID = "ARG_STATUS_DRAFT_ID"; public static final String ARG_STATUS_REPLY = "ARG_STATUS_REPLY"; public static final String ARG_MENTION_BOOSTER = "ARG_MENTION_BOOSTER"; public static final String ARG_QUOTED_MESSAGE = "ARG_QUOTED_MESSAGE"; public static final String ARG_STATUS_REPLY_ID = "ARG_STATUS_REPLY_ID"; public static final String ARG_ACCOUNT = "ARG_ACCOUNT"; public static final String ARG_ACCOUNT_ID = "ARG_ACCOUNT_ID"; Loading app/src/main/java/app/fedilab/android/jobs/ComposeWorker.java +1 −1 Original line number Diff line number Diff line Loading @@ -221,7 +221,7 @@ public class ComposeWorker extends Worker { if (dataPost.scheduledDate == null) { if (dataPost.statusEditId == null) { statusCall = mastodonStatusesService.createStatus(null, dataPost.token, statuses.get(i).text, attachmentIds, poll_options, poll_expire_in, poll_multiple, poll_hide_totals, in_reply_to_status, statuses.get(i).sensitive, statuses.get(i).spoilerChecked ? statuses.get(i).spoiler_text : null, statuses.get(i).visibility.toLowerCase(), language); poll_multiple, poll_hide_totals, in_reply_to_status, statuses.get(i).sensitive, statuses.get(i).spoilerChecked ? statuses.get(i).spoiler_text : null, statuses.get(i).visibility.toLowerCase(), language, statuses.get(i).quote_id); } else { //Status is edited statusCall = mastodonStatusesService.updateStatus(null, dataPost.token, dataPost.statusEditId, statuses.get(i).text, attachmentIds, poll_options, poll_expire_in, poll_multiple, poll_hide_totals, in_reply_to_status, statuses.get(i).sensitive, statuses.get(i).spoilerChecked ? statuses.get(i).spoiler_text : null, statuses.get(i).visibility.toLowerCase(), language); Loading Loading
app/src/main/java/app/fedilab/android/activities/ComposeActivity.java +17 −1 Original line number Diff line number Diff line Loading @@ -104,7 +104,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana public static final int TAKE_PHOTO = 5600; private final Timer timer = new Timer(); private List<Status> statusList; private Status statusReply, statusMention; private Status statusReply, statusMention, statusQuoted; private StatusDraft statusDraft; private ComposeAdapter composeAdapter; private boolean promptSaveDraft; Loading Loading @@ -465,6 +465,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana Bundle b = getIntent().getExtras(); if (b != null) { statusReply = (Status) b.getSerializable(Helper.ARG_STATUS_REPLY); statusQuoted = (Status) b.getSerializable(Helper.ARG_QUOTED_MESSAGE); statusDraft = (StatusDraft) b.getSerializable(Helper.ARG_STATUS_DRAFT); scheduledStatus = (ScheduledStatus) b.getSerializable(Helper.ARG_STATUS_SCHEDULED); statusReplyId = b.getString(Helper.ARG_STATUS_REPLY_ID); Loading Loading @@ -557,6 +558,9 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana List<Status> statusDraftList = new ArrayList<>(); Status status = new Status(); status.id = Helper.generateIdString(); if (statusQuoted != null) { status.quote_id = statusQuoted.id; } statusDraftList.add(status); if (statusReplyId != null && statusDraft != null) {//Delete and redraft Loading Loading @@ -647,6 +651,18 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana binding.recyclerView.setAdapter(composeAdapter); statusesVM.getContext(currentInstance, BaseMainActivity.currentToken, statusReply.id) .observe(ComposeActivity.this, this::initializeContextView); } else if (statusQuoted != null) { statusList.add(statusQuoted); int statusCount = statusList.size(); statusDraftList.get(0).quote_id = statusQuoted.id; //StatusDraftList at this point should only have one element statusList.addAll(statusDraftList); composeAdapter = new ComposeAdapter(statusList, statusCount, account, accountMention, visibility, editMessageId); composeAdapter.manageDrafts = this; composeAdapter.promptDraftListener = this; LinearLayoutManager mLayoutManager = new LinearLayoutManager(ComposeActivity.this); binding.recyclerView.setLayoutManager(mLayoutManager); binding.recyclerView.setAdapter(composeAdapter); } else { //Compose without replying statusList.addAll(statusDraftList); Loading
app/src/main/java/app/fedilab/android/client/endpoints/MastodonStatusesService.java +2 −1 Original line number Diff line number Diff line Loading @@ -59,7 +59,8 @@ public interface MastodonStatusesService { @Field("sensitive") Boolean sensitive, @Field("spoiler_text") String spoiler_text, @Field("visibility") String visibility, @Field("language") String language @Field("language") String language, @Field("quote_id") String quote_id ); @GET("statuses/{id}/source") Loading
app/src/main/java/app/fedilab/android/client/entities/api/Status.java +4 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,8 @@ public class Status implements Serializable, Cloneable { public String spoiler_text; @SerializedName("text") public String text; @SerializedName("quote_id") public String quote_id; @SerializedName("visibility") public String visibility; @SerializedName("language") Loading Loading @@ -76,6 +78,8 @@ public class Status implements Serializable, Cloneable { public String content; @SerializedName("reblog") public Status reblog; @SerializedName("quote") public Status quote; @SerializedName("application") public App application; @SerializedName("account") Loading
app/src/main/java/app/fedilab/android/helper/Helper.java +1 −0 Original line number Diff line number Diff line Loading @@ -226,6 +226,7 @@ public class Helper { public static final String ARG_STATUS_DRAFT_ID = "ARG_STATUS_DRAFT_ID"; public static final String ARG_STATUS_REPLY = "ARG_STATUS_REPLY"; public static final String ARG_MENTION_BOOSTER = "ARG_MENTION_BOOSTER"; public static final String ARG_QUOTED_MESSAGE = "ARG_QUOTED_MESSAGE"; public static final String ARG_STATUS_REPLY_ID = "ARG_STATUS_REPLY_ID"; public static final String ARG_ACCOUNT = "ARG_ACCOUNT"; public static final String ARG_ACCOUNT_ID = "ARG_ACCOUNT_ID"; Loading
app/src/main/java/app/fedilab/android/jobs/ComposeWorker.java +1 −1 Original line number Diff line number Diff line Loading @@ -221,7 +221,7 @@ public class ComposeWorker extends Worker { if (dataPost.scheduledDate == null) { if (dataPost.statusEditId == null) { statusCall = mastodonStatusesService.createStatus(null, dataPost.token, statuses.get(i).text, attachmentIds, poll_options, poll_expire_in, poll_multiple, poll_hide_totals, in_reply_to_status, statuses.get(i).sensitive, statuses.get(i).spoilerChecked ? statuses.get(i).spoiler_text : null, statuses.get(i).visibility.toLowerCase(), language); poll_multiple, poll_hide_totals, in_reply_to_status, statuses.get(i).sensitive, statuses.get(i).spoilerChecked ? statuses.get(i).spoiler_text : null, statuses.get(i).visibility.toLowerCase(), language, statuses.get(i).quote_id); } else { //Status is edited statusCall = mastodonStatusesService.updateStatus(null, dataPost.token, dataPost.statusEditId, statuses.get(i).text, attachmentIds, poll_options, poll_expire_in, poll_multiple, poll_hide_totals, in_reply_to_status, statuses.get(i).sensitive, statuses.get(i).spoilerChecked ? statuses.get(i).spoiler_text : null, statuses.get(i).visibility.toLowerCase(), language); Loading