Fix content warning state being lost after screen rotation (#1756)

* Restore compose options after rotation

* Fix in ViewModel instead

* Move showContentWarning change into ViewModel
This commit is contained in:
Sylvia van Os 2020-04-18 15:06:24 +02:00 committed by GitHub
parent f3d05f82f9
commit 386d197851
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 2 deletions

View file

@ -690,7 +690,7 @@ class ComposeActivity : BaseActivity(),
private fun onContentWarningChanged() {
val showWarning = composeContentWarningBar.isGone
viewModel.showContentWarning.value = showWarning
viewModel.contentWarningChanged(showWarning)
updateVisibleCharactersLeft()
}

View file

@ -62,6 +62,8 @@ class ComposeViewModel
private var inReplyToId: String? = null
private var startingVisibility: Status.Visibility = Status.Visibility.UNKNOWN
private var contentWarningStateChanged: Boolean = false
private val instance: MutableLiveData<InstanceEntity?> = MutableLiveData(null)
val instanceParams: LiveData<ComposeInstanceParams> = instance.map { instance ->
@ -198,6 +200,11 @@ class ComposeViewModel
return textChanged || contentWarningChanged || mediaChanged || pollChanged
}
fun contentWarningChanged(value: Boolean) {
showContentWarning.value = value
contentWarningStateChanged = true
}
fun deleteDraft() {
saveTootHelper.deleteDraft(this.savedTootUid)
}
@ -368,7 +375,9 @@ class ComposeViewModel
if (contentWarning != null) {
startingContentWarning = contentWarning
}
showContentWarning.value = !contentWarning.isNullOrBlank()
if (!contentWarningStateChanged) {
showContentWarning.value = !contentWarning.isNullOrBlank()
}
// recreate media list
// when coming from SavedTootActivity