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

* Restore compose options after rotation

* Fix in ViewModel instead

* Move showContentWarning change into ViewModel
main
Sylvia van Os 4 years ago committed by Alibek Omarov
parent 3e8b8f1f88
commit d1ab0deb98
  1. 2
      app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeActivity.kt
  2. 10
      app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeViewModel.kt

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

@ -61,6 +61,7 @@ class ComposeViewModel
private var startingContentWarning: String = "" private var startingContentWarning: String = ""
private var inReplyToId: String? = null private var inReplyToId: String? = null
private var startingVisibility: Status.Visibility = Status.Visibility.UNKNOWN private var startingVisibility: Status.Visibility = Status.Visibility.UNKNOWN
private var contentWarningStateChanged: Boolean = false
private val instance: MutableLiveData<InstanceEntity?> = MutableLiveData(null) private val instance: MutableLiveData<InstanceEntity?> = MutableLiveData(null)
private val nodeinfo: MutableLiveData<NodeInfo?> = MutableLiveData(null) private val nodeinfo: MutableLiveData<NodeInfo?> = MutableLiveData(null)
public var formattingSyntax: String = "" public var formattingSyntax: String = ""
@ -257,6 +258,11 @@ class ComposeViewModel
return textChanged || contentWarningChanged || mediaChanged || pollChanged return textChanged || contentWarningChanged || mediaChanged || pollChanged
} }
fun contentWarningChanged(value: Boolean) {
showContentWarning.value = value
contentWarningStateChanged = true
}
fun deleteDraft() { fun deleteDraft() {
saveTootHelper.deleteDraft(this.savedTootUid) saveTootHelper.deleteDraft(this.savedTootUid)
} }
@ -429,7 +435,9 @@ class ComposeViewModel
if (contentWarning != null) { if (contentWarning != null) {
startingContentWarning = contentWarning startingContentWarning = contentWarning
} }
showContentWarning.value = !contentWarning.isNullOrBlank() if (!contentWarningStateChanged) {
showContentWarning.value = !contentWarning.isNullOrBlank()
}
// recreate media list // recreate media list
// when coming from SavedTootActivity // when coming from SavedTootActivity

Loading…
Cancel
Save