From e237639adc0cd6d1cfc4b21b4d0dc2d8b42d9a2f Mon Sep 17 00:00:00 2001 From: Levi Bard Date: Fri, 2 Oct 2020 18:32:46 +0200 Subject: [PATCH] Save draft when redrafting a post (#1744) --- .../main/java/com/keylesspalace/tusky/SavedTootActivity.java | 3 ++- .../tusky/components/compose/ComposeActivity.kt | 3 ++- .../tusky/components/compose/ComposeViewModel.kt | 5 +++-- .../java/com/keylesspalace/tusky/fragment/SFragment.java | 1 + 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/keylesspalace/tusky/SavedTootActivity.java b/app/src/main/java/com/keylesspalace/tusky/SavedTootActivity.java index 21cc9399e..2e7321635 100644 --- a/app/src/main/java/com/keylesspalace/tusky/SavedTootActivity.java +++ b/app/src/main/java/com/keylesspalace/tusky/SavedTootActivity.java @@ -178,7 +178,8 @@ public final class SavedTootActivity extends BaseActivity implements SavedTootAd /*mediaAttachments*/null, /*scheduledAt*/null, /*sensitive*/null, - /*poll*/null + /*poll*/null, + /* modifiedInitialState */ true ); Intent intent = ComposeActivity.startIntent(this, composeOptions); startActivity(intent); diff --git a/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeActivity.kt b/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeActivity.kt index 6b0f57454..1cc8e01c7 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeActivity.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeActivity.kt @@ -1008,7 +1008,8 @@ class ComposeActivity : BaseActivity(), var mediaAttachments: List? = null, var scheduledAt: String? = null, var sensitive: Boolean? = null, - var poll: NewPoll? = null + var poll: NewPoll? = null, + var modifiedInitialState: Boolean? = null ) : Parcelable companion object { diff --git a/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeViewModel.kt b/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeViewModel.kt index d38fe94b2..9cd4b777a 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeViewModel.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeViewModel.kt @@ -63,6 +63,7 @@ class ComposeViewModel private var startingVisibility: Status.Visibility = Status.Visibility.UNKNOWN private var contentWarningStateChanged: Boolean = false + private var modifiedInitialState: Boolean = false private val instance: MutableLiveData = MutableLiveData(null) @@ -197,7 +198,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) { @@ -369,7 +370,7 @@ class ComposeViewModel preferredVisibility.num.coerceAtLeast(replyVisibility.num)) inReplyToId = composeOptions?.inReplyToId - + modifiedInitialState = composeOptions?.modifiedInitialState == true val contentWarning = composeOptions?.contentWarning if (contentWarning != null) { diff --git a/app/src/main/java/com/keylesspalace/tusky/fragment/SFragment.java b/app/src/main/java/com/keylesspalace/tusky/fragment/SFragment.java index 3f84b3a6e..8fe141c6c 100644 --- a/app/src/main/java/com/keylesspalace/tusky/fragment/SFragment.java +++ b/app/src/main/java/com/keylesspalace/tusky/fragment/SFragment.java @@ -457,6 +457,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())); }