From 46cff86947f9ef351c1f009a5c60f63566ca9087 Mon Sep 17 00:00:00 2001 From: Laurent Date: Mon, 22 Jun 2020 16:12:12 +0200 Subject: [PATCH] Fixes issues with frame lengthes --- .../handhistory/replayer/ReplayerAnimator.kt | 22 ++++++++++++++----- .../handhistory/replayer/TableDrawer.kt | 6 ++--- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/replayer/ReplayerAnimator.kt b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/replayer/ReplayerAnimator.kt index b93885cc..7744e04a 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/replayer/ReplayerAnimator.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/replayer/ReplayerAnimator.kt @@ -6,6 +6,7 @@ import android.graphics.Canvas import android.graphics.RectF import net.pokeranalytics.android.exceptions.PAIllegalStateException import net.pokeranalytics.android.model.handhistory.Street +import net.pokeranalytics.android.model.realm.handhistory.Action import net.pokeranalytics.android.model.realm.handhistory.HandHistory import net.pokeranalytics.android.ui.modules.handhistory.model.ActionList import net.pokeranalytics.android.ui.modules.handhistory.model.ComputedAction @@ -90,11 +91,17 @@ class ReplayerAnimator(var handHistory: HandHistory, var export: Boolean) { */ private val visualOccurences: Int get() { - return if (this.currentStepIndex == this.steps.size - 1 && this.currentFrameIndex == this.numberOfFramesForCurrentStep - 1) { - FrameType.STATE.visualOccurences * 3 - } else { - this.frameType.visualOccurences + val step = this.currentStep + return when { + step is ComputedAction && step.street == Street.PREFLOP && step.action.type == Action.Type.FOLD -> { + FrameType.STATE.visualOccurences / 3 + } + this.currentStepIndex == this.steps.size - 1 && this.currentFrameIndex == this.numberOfFramesForCurrentStep - 1 -> { + FrameType.STATE.visualOccurences * 3 + } + else -> this.frameType.visualOccurences } + } /*** @@ -153,6 +160,7 @@ class ReplayerAnimator(var handHistory: HandHistory, var export: Boolean) { this.actionList.load(handHistory) this.steps = HandStep.createSteps(handHistory) defineFramesForCurrentStep() + this.frameManager.defineFrameDescriptor(this.currentFrameIndex) } /*** @@ -636,12 +644,14 @@ class ReplayerAnimator(var handHistory: HandHistory, var export: Boolean) { (0 until this.frameManager.totalFrames).forEach { f -> - Timber.d("FRAME [$f] >> step: $currentStepIndex, frame: $currentFrameIndex") +// Timber.d("FRAME [$f] >> step: $currentStepIndex, frame: $currentFrameIndex, vo: ${this.visualOccurences}, type: ${this.frameType}") val bitmap = Bitmap.createBitmap(this.width.toInt(), this.height.toInt(), Bitmap.Config.ARGB_8888) val canvas = Canvas(bitmap) + val vo = this.visualOccurences // this is needed before the call to drawTable which pass to the next frame + TableDrawer.drawTable(this, canvas, context) - frameHandler(bitmap, this.visualOccurences) + frameHandler(bitmap, vo) } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/replayer/TableDrawer.kt b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/replayer/TableDrawer.kt index d2daa43c..b93e7057 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/replayer/TableDrawer.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/replayer/TableDrawer.kt @@ -85,9 +85,6 @@ class TableDrawer(bitmap: Bitmap) : Canvas(bitmap) { val computedAction = step as? ComputedAction? - // draw pot - drawPot(street, computedAction, animator, canvas, context) - // draw board drawBoardCards(street, animator, canvas, context) @@ -98,6 +95,9 @@ class TableDrawer(bitmap: Bitmap) : Canvas(bitmap) { drawPlayerChips(i, animator, canvas, context) } + // draw pot + drawPot(street, computedAction, animator, canvas, context) + // draw player cards animator.activePositions.forEach { drawCards(it, animator, canvas, context)