Fix crash with animation

feature/top10
Aurelien Hubert 7 years ago
parent c94b42abe8
commit fae8b694c9
  1. 20
      app/src/main/java/net/pokeranalytics/android/ui/activity/NewDataMenuActivity.kt

@ -12,6 +12,7 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.extensions.px import net.pokeranalytics.android.ui.extensions.px
@ -29,11 +30,13 @@ class NewDataMenuActivity : PokerAnalyticsActivity() {
} }
} }
private var choiceSelected = false
private var menuWillBeHidden = false
private val fabSize = 48.px private val fabSize = 48.px
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
setContentView(net.pokeranalytics.android.R.layout.activity_new_data) setContentView(R.layout.activity_new_data)
initUI() initUI()
} }
@ -78,12 +81,18 @@ class NewDataMenuActivity : PokerAnalyticsActivity() {
* Set the result and hide menu * Set the result and hide menu
*/ */
private fun finishWithResult(choice: Int) { private fun finishWithResult(choice: Int) {
if (choiceSelected) {
return
}
choiceSelected = true
val intent = Intent() val intent = Intent()
intent.putExtra(IntentKey.CHOICE.keyName, choice) intent.putExtra(IntentKey.CHOICE.keyName, choice)
setResult(RESULT_OK, intent) setResult(RESULT_OK, intent)
GlobalScope.launch(Dispatchers.Main) { GlobalScope.launch(Dispatchers.Main) {
delay(200) delay(200)
hideMenu(true) hideMenu()
} }
} }
@ -105,7 +114,12 @@ class NewDataMenuActivity : PokerAnalyticsActivity() {
/** /**
* Hide menu * Hide menu
*/ */
private fun hideMenu(hideQuickly: Boolean = false) { private fun hideMenu() {
if (menuWillBeHidden) {
return
}
menuWillBeHidden = true
val cx = menuContainer.measuredWidth - fabSize / 2 val cx = menuContainer.measuredWidth - fabSize / 2
val cy = menuContainer.measuredHeight - fabSize / 2 val cy = menuContainer.measuredHeight - fabSize / 2

Loading…
Cancel
Save