Commit e589605a authored by Lucio Maciel's avatar Lucio Maciel

Fix input when coming back from members list

parent 22f85b83
...@@ -345,6 +345,11 @@ class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardPopup.Listener { ...@@ -345,6 +345,11 @@ class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardPopup.Listener {
text_room_is_read_only.setVisible(true) text_room_is_read_only.setVisible(true)
input_container.setVisible(false) input_container.setVisible(false)
} else { } else {
button_send.alpha = 0f
button_send.setVisible(false)
button_show_attachment_options.alpha = 1f
button_show_attachment_options.setVisible(true)
subscribeTextMessage() subscribeTextMessage()
emojiKeyboardPopup = EmojiKeyboardPopup(activity!!, activity!!.findViewById(R.id.fragment_container)) emojiKeyboardPopup = EmojiKeyboardPopup(activity!!, activity!!.findViewById(R.id.fragment_container))
emojiKeyboardPopup.listener = this emojiKeyboardPopup.listener = this
...@@ -442,9 +447,7 @@ class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardPopup.Listener { ...@@ -442,9 +447,7 @@ class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardPopup.Listener {
} }
private fun unsubscribeTextMessage() { private fun unsubscribeTextMessage() {
if (!compositeDisposable.isDisposed) { compositeDisposable.clear()
compositeDisposable.dispose()
}
} }
private fun setupComposeMessageButtons(charSequence: CharSequence) { private fun setupComposeMessageButtons(charSequence: CharSequence) {
......
...@@ -2,6 +2,7 @@ package chat.rocket.android.util.extensions ...@@ -2,6 +2,7 @@ package chat.rocket.android.util.extensions
import android.view.View import android.view.View
import android.view.ViewAnimationUtils import android.view.ViewAnimationUtils
import android.view.animation.AccelerateInterpolator
import android.view.animation.DecelerateInterpolator import android.view.animation.DecelerateInterpolator
fun View.rotateBy(value: Float, duration: Long = 100) { fun View.rotateBy(value: Float, duration: Long = 100) {
...@@ -11,59 +12,46 @@ fun View.rotateBy(value: Float, duration: Long = 100) { ...@@ -11,59 +12,46 @@ fun View.rotateBy(value: Float, duration: Long = 100) {
.start() .start()
} }
fun View.fadeIn(start: Float = 0f, end: Float = 1f, duration: Long = 200) { fun View.fadeIn(startValue: Float = 0f, finishValue: Float = 1f, duration: Long = 200) {
// already at end alpha, just set visible and return if (alpha == finishValue) {
if (alpha == end) {
setVisible(true) setVisible(true)
return return
} }
val animation = animate() animate()
.alpha(end) .alpha(startValue)
.setDuration(duration) .setDuration(duration)
.setInterpolator(DecelerateInterpolator()) .setInterpolator(DecelerateInterpolator())
if (start != alpha) { .withEndAction({
animate() animate()
.alpha(start) .alpha(finishValue)
.setDuration(duration / 2) // half the time, so the entire animation runs on duration .setDuration(duration)
.setInterpolator(DecelerateInterpolator()) .setInterpolator(AccelerateInterpolator()).start()
.withEndAction { }).start()
animation.setDuration(duration / 2).start()
}.start()
} else {
animation.start()
}
setVisible(true) setVisible(true)
} }
fun View.fadeOut(start: Float = 1f, end: Float = 0f, duration: Long = 200) { fun View.fadeOut(startValue: Float = 1f, finishValue: Float = 0f, duration: Long = 200) {
if (alpha == end) { if (alpha == finishValue) {
setVisible(false) setVisible(false)
return return
} }
val animation = animate() animate()
.alpha(end) .alpha(startValue)
.setDuration(duration) .setDuration(duration)
.setInterpolator(DecelerateInterpolator()) .setInterpolator(DecelerateInterpolator())
.withEndAction { .withEndAction({
setVisible(false) animate()
} .alpha(finishValue)
.setDuration(duration)
.setInterpolator(AccelerateInterpolator()).start()
}).start()
if (start != alpha) { setVisible(false)
animate()
.alpha(start)
.setDuration(duration / 2) // half the time, so the entire animation runs on duration
.setInterpolator(DecelerateInterpolator())
.withEndAction {
animation.setDuration(duration / 2).start()
}.start()
} else {
animation.start()
}
} }
fun View.circularRevealOrUnreveal(centerX: Int, centerY: Int, startRadius: Float, endRadius: Float, duration: Long = 200) { fun View.circularRevealOrUnreveal(centerX: Int, centerY: Int, startRadius: Float, endRadius: Float, duration: Long = 200) {
val anim = ViewAnimationUtils.createCircularReveal(this, centerX, centerY, startRadius, endRadius) val anim = ViewAnimationUtils.createCircularReveal(this, centerX, centerY, startRadius, endRadius)
anim.duration = duration anim.duration = duration
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment