2616: Save Scheduled Time for Drafts. (#2624)

* 2616: Save Scheduled Time for Drafts.

Signed-off-by: Martin Marconcini <martin.marconcini.rodriguez@nl.abnamro.com>

* Revert 39.json schema to the original state before my changes.
This commit is contained in:
Martin Marconcini 2022-07-27 21:06:51 +02:00 committed by GitHub
commit 8b026991e0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 965 additions and 10 deletions

View file

@ -76,6 +76,7 @@ class ComposeViewModel @Inject constructor(
private var contentWarningStateChanged: Boolean = false
private var modifiedInitialState: Boolean = false
private var hasScheduledTimeChanged: Boolean = false
val instanceInfo: SharedFlow<InstanceInfo> = instanceInfoRepo::getInstanceInfo.asFlow()
.shareIn(viewModelScope, SharingStarted.Eagerly, replay = 1)
@ -214,8 +215,9 @@ class ComposeViewModel @Inject constructor(
!startingContentWarning.startsWith(contentWarning.toString())
val mediaChanged = media.value.isNotEmpty()
val pollChanged = poll.value != null
val didScheduledTimeChange = hasScheduledTimeChanged
return modifiedInitialState || textChanged || contentWarningChanged || mediaChanged || pollChanged
return modifiedInitialState || textChanged || contentWarningChanged || mediaChanged || pollChanged || didScheduledTimeChange
}
fun contentWarningChanged(value: Boolean) {
@ -257,7 +259,8 @@ class ComposeViewModel @Inject constructor(
mediaUris = mediaUris,
mediaDescriptions = mediaDescriptions,
poll = poll.value,
failedToSend = false
failedToSend = false,
scheduledAt = scheduledAt.value
)
}
@ -456,6 +459,10 @@ class ComposeViewModel @Inject constructor(
}
fun updateScheduledAt(newScheduledAt: String?) {
if (newScheduledAt != scheduledAt.value) {
hasScheduledTimeChanged = true
}
scheduledAt.value = newScheduledAt
}