From fae8b694c9367e6c4b78efffeafc47a665cf52d8 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Thu, 6 Jun 2019 12:57:37 +0200 Subject: [PATCH] Fix crash with animation --- .../ui/activity/NewDataMenuActivity.kt | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/activity/NewDataMenuActivity.kt b/app/src/main/java/net/pokeranalytics/android/ui/activity/NewDataMenuActivity.kt index ac7570b2..49b9b97b 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/activity/NewDataMenuActivity.kt +++ b/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.delay import kotlinx.coroutines.launch +import net.pokeranalytics.android.R import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity 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 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(net.pokeranalytics.android.R.layout.activity_new_data) + setContentView(R.layout.activity_new_data) initUI() } @@ -78,12 +81,18 @@ class NewDataMenuActivity : PokerAnalyticsActivity() { * Set the result and hide menu */ private fun finishWithResult(choice: Int) { + + if (choiceSelected) { + return + } + choiceSelected = true + val intent = Intent() intent.putExtra(IntentKey.CHOICE.keyName, choice) setResult(RESULT_OK, intent) GlobalScope.launch(Dispatchers.Main) { delay(200) - hideMenu(true) + hideMenu() } } @@ -105,7 +114,12 @@ class NewDataMenuActivity : PokerAnalyticsActivity() { /** * Hide menu */ - private fun hideMenu(hideQuickly: Boolean = false) { + private fun hideMenu() { + + if (menuWillBeHidden) { + return + } + menuWillBeHidden = true val cx = menuContainer.measuredWidth - fabSize / 2 val cy = menuContainer.measuredHeight - fabSize / 2