Save draft when redrafting a post (#1744)

main
Levi Bard 4 years ago committed by Alibek Omarov
parent 141fd1a9f1
commit c527b14eec
  1. 3
      app/src/main/java/com/keylesspalace/tusky/SavedTootActivity.java
  2. 3
      app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeActivity.kt
  3. 7
      app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeViewModel.kt
  4. 1
      app/src/main/java/com/keylesspalace/tusky/fragment/SFragment.java

@ -179,7 +179,8 @@ public final class SavedTootActivity extends BaseActivity implements SavedTootAd
/*scheduledAt*/null,
/*sensitive*/null,
/*poll*/null,
item.getFormattingSyntax()
item.getFormattingSyntax(),
/* modifiedInitialState */ true
);
Intent intent = ComposeActivity.startIntent(this, composeOptions);
startActivity(intent);

@ -1317,7 +1317,8 @@ class ComposeActivity : BaseActivity(),
var scheduledAt: String? = null,
var sensitive: Boolean? = null,
var poll: NewPoll? = null,
var formattingSyntax: String? = null
var formattingSyntax: String? = null,
var modifiedInitialState: Boolean? = null
) : Parcelable
companion object {

@ -63,6 +63,7 @@ class ComposeViewModel
private var startingVisibility: Status.Visibility = Status.Visibility.UNKNOWN
private var contentWarningStateChanged: Boolean = false
public var formattingSyntax: String = ""
private var modifiedInitialState: Boolean = false
val markMediaAsSensitive =
mutableLiveData(accountManager.activeAccount?.defaultMediaSensitivity ?: false)
@ -88,7 +89,7 @@ class ComposeViewModel
val mediaChanged = !media.value.isNullOrEmpty()
val pollChanged = poll.value != null
return textChanged || contentWarningChanged || mediaChanged || pollChanged
return modifiedInitialState || textChanged || contentWarningChanged || mediaChanged || pollChanged
}
fun contentWarningChanged(value: Boolean) {
@ -186,7 +187,7 @@ class ComposeViewModel
preferredVisibility.num.coerceAtLeast(replyVisibility.num))
inReplyToId = composeOptions?.inReplyToId
modifiedInitialState = composeOptions?.modifiedInitialState == true
val contentWarning = composeOptions?.contentWarning
if (contentWarning != null) {
@ -266,4 +267,4 @@ class ComposeViewModel
private companion object {
const val TAG = "ComposeViewModel"
}
}
}

@ -487,6 +487,7 @@ public abstract class SFragment extends BaseFragment implements Injectable {
composeOptions.setContentWarning(deletedStatus.getSpoilerText());
composeOptions.setMediaAttachments(deletedStatus.getAttachments());
composeOptions.setSensitive(deletedStatus.getSensitive());
composeOptions.setModifiedInitialState(true);
if (deletedStatus.getPoll() != null) {
composeOptions.setPoll(deletedStatus.getPoll().toNewPoll(deletedStatus.getCreatedAt()));
}

Loading…
Cancel
Save