From 6976aa7c63a5b11740b310dd4b2f450c501f6a06 Mon Sep 17 00:00:00 2001 From: Laurent Date: Fri, 31 Jan 2020 15:45:25 +0100 Subject: [PATCH] Fixes various bugs --- .../model/handhistory/ComputedAction.kt | 1 + .../modules}/handhistory/HHBuilder.kt | 34 ++++++++++++++----- .../modules/handhistory/HandHistoryAdapter.kt | 1 - .../handhistory/HandHistoryFragment.kt | 10 ++++-- .../handhistory/HandHistoryViewModel.kt | 2 -- .../ui/modules/handhistory/views/CardsRow.kt | 2 +- .../handhistory/views/KeyboardContainer.kt | 2 +- app/src/main/res/layout/row_hand_action.xml | 1 - 8 files changed, 36 insertions(+), 17 deletions(-) rename app/src/main/java/net/pokeranalytics/android/{model => ui/modules}/handhistory/HHBuilder.kt (98%) diff --git a/app/src/main/java/net/pokeranalytics/android/model/handhistory/ComputedAction.kt b/app/src/main/java/net/pokeranalytics/android/model/handhistory/ComputedAction.kt index 07347a87..a47dd1c3 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/handhistory/ComputedAction.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/handhistory/ComputedAction.kt @@ -1,6 +1,7 @@ package net.pokeranalytics.android.model.handhistory import net.pokeranalytics.android.model.realm.handhistory.Action +import net.pokeranalytics.android.ui.modules.handhistory.HHKeyboard import net.pokeranalytics.android.ui.modules.handhistory.HandRowType import net.pokeranalytics.android.ui.view.RowRepresentable import timber.log.Timber diff --git a/app/src/main/java/net/pokeranalytics/android/model/handhistory/HHBuilder.kt b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HHBuilder.kt similarity index 98% rename from app/src/main/java/net/pokeranalytics/android/model/handhistory/HHBuilder.kt rename to app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HHBuilder.kt index 2f7b71e1..d50fedb5 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/handhistory/HHBuilder.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HHBuilder.kt @@ -1,11 +1,11 @@ -package net.pokeranalytics.android.model.handhistory +package net.pokeranalytics.android.ui.modules.handhistory import net.pokeranalytics.android.R import net.pokeranalytics.android.exceptions.PAIllegalStateException +import net.pokeranalytics.android.model.handhistory.* import net.pokeranalytics.android.model.realm.handhistory.Action import net.pokeranalytics.android.model.realm.handhistory.Card import net.pokeranalytics.android.model.realm.handhistory.HandHistory -import net.pokeranalytics.android.ui.modules.handhistory.HandRowType import net.pokeranalytics.android.ui.modules.handhistory.views.CardsRow import net.pokeranalytics.android.ui.modules.handhistory.views.PlayerCardsRow import net.pokeranalytics.android.ui.modules.handhistory.views.StreetCardsRow @@ -100,7 +100,12 @@ class HHBuilder { sortedActions.forEach { action -> totalPotSize += action.effectiveAmount val position = this.positions.elementAt(action.position) - val ca = ComputedAction(action, totalPotSize, action.positionRemainingStack, position) + val ca = ComputedAction( + action, + totalPotSize, + action.positionRemainingStack, + position + ) computedActions.add(ca) } this.sortedActions = computedActions @@ -228,9 +233,6 @@ class HHBuilder { else -> {} } - - structureModified = this.updateFollowupActions(index) || structureModified - // Automatically sets action for the previous empty actions val modifiedActions = mutableListOf() getPreviousEmptyActions(index).forEach { @@ -243,6 +245,8 @@ class HHBuilder { } } + structureModified = this.updateFollowupActions(index) || structureModified + if (structureModified) return null return modifiedActions.map { this.rowRepresentables.indexOf(it) } } @@ -320,7 +324,13 @@ class HHBuilder { action.index = this.sortedActions.size action.position = position.ordinal action.street = street - val computedAction = ComputedAction(action, currentPotSize, remainingStack, position) + val computedAction = + ComputedAction( + action, + currentPotSize, + remainingStack, + position + ) this.sortedActions.add(computedAction) this.rowRepresentables.add(computedAction) } @@ -553,7 +563,10 @@ class HHBuilder { */ fun setNumberOfPlayers(playerCount: Int) { this.handHistory.numberOfPlayers = playerCount - this.positions = Position.positionsPerPlayers(playerCount) + this.positions = + Position.positionsPerPlayers( + playerCount + ) } /*** @@ -575,7 +588,10 @@ class HHBuilder { if (index >= startIndex && rowRepresentable is HandHistoryRow) { val foundKeyboard = rowRepresentable.keyboardForCompletion() if (foundKeyboard != null) { - return HHSelection(index, foundKeyboard) + return HHSelection( + index, + foundKeyboard + ) } } } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HandHistoryAdapter.kt b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HandHistoryAdapter.kt index 69f81e23..be04838a 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HandHistoryAdapter.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HandHistoryAdapter.kt @@ -13,7 +13,6 @@ import androidx.recyclerview.widget.RecyclerView import net.pokeranalytics.android.R import net.pokeranalytics.android.exceptions.PAIllegalStateException import net.pokeranalytics.android.model.handhistory.ComputedAction -import net.pokeranalytics.android.model.handhistory.HHKeyboard import net.pokeranalytics.android.model.handhistory.Street import net.pokeranalytics.android.model.realm.handhistory.formatted import net.pokeranalytics.android.ui.adapter.BindableHolder diff --git a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HandHistoryFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HandHistoryFragment.kt index f59ec457..c62f02d9 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HandHistoryFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HandHistoryFragment.kt @@ -78,7 +78,9 @@ class HandHistoryFragment : RealmFragment(), RowRepresentableDelegate, KeyboardL val handHistoryId = this.arguments?.getString(BundleKey.PRIMARY_KEY.value) val builder = handHistoryId?.let { val handHistory = getRealm().findById(it) ?: throw PAIllegalStateException("HandHistory not found") - HHBuilder(handHistory) + HHBuilder( + handHistory + ) } ?: run { HHBuilder(HandSetup()) } @@ -211,7 +213,11 @@ class HandHistoryFragment : RealmFragment(), RowRepresentableDelegate, KeyboardL else -> throw PAIllegalStateException("unmanaged row type: $row") } - this.model.selectionLiveData.value = HHSelection(position, keyboard) + this.model.selectionLiveData.value = + HHSelection( + position, + keyboard + ) if (keyboard == HHKeyboard.ACTION) { val availableActions = this.model.availableActions() diff --git a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HandHistoryViewModel.kt b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HandHistoryViewModel.kt index a5c9febb..fa9192d8 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HandHistoryViewModel.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HandHistoryViewModel.kt @@ -3,8 +3,6 @@ package net.pokeranalytics.android.ui.modules.handhistory import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import net.pokeranalytics.android.exceptions.PAIllegalStateException -import net.pokeranalytics.android.model.handhistory.HHBuilder -import net.pokeranalytics.android.model.handhistory.HHSelection import net.pokeranalytics.android.model.handhistory.Position import net.pokeranalytics.android.model.realm.handhistory.Action import net.pokeranalytics.android.model.realm.handhistory.Card diff --git a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/views/CardsRow.kt b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/views/CardsRow.kt index d4458799..52cfea8e 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/views/CardsRow.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/views/CardsRow.kt @@ -1,7 +1,7 @@ package net.pokeranalytics.android.ui.modules.handhistory.views import net.pokeranalytics.android.exceptions.PAIllegalStateException -import net.pokeranalytics.android.model.handhistory.HHKeyboard +import net.pokeranalytics.android.ui.modules.handhistory.HHKeyboard import net.pokeranalytics.android.model.handhistory.HandHistoryRow import net.pokeranalytics.android.model.handhistory.Position import net.pokeranalytics.android.model.handhistory.Street diff --git a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/views/KeyboardContainer.kt b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/views/KeyboardContainer.kt index 50703059..c6f07b40 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/views/KeyboardContainer.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/views/KeyboardContainer.kt @@ -8,7 +8,7 @@ import android.widget.FrameLayout import androidx.core.view.isVisible import net.pokeranalytics.android.R import net.pokeranalytics.android.exceptions.PAIllegalStateException -import net.pokeranalytics.android.model.handhistory.HHKeyboard +import net.pokeranalytics.android.ui.modules.handhistory.HHKeyboard import net.pokeranalytics.android.model.handhistory.Position import net.pokeranalytics.android.model.realm.handhistory.Action import net.pokeranalytics.android.model.realm.handhistory.Card diff --git a/app/src/main/res/layout/row_hand_action.xml b/app/src/main/res/layout/row_hand_action.xml index ba733e0d..e90586a1 100644 --- a/app/src/main/res/layout/row_hand_action.xml +++ b/app/src/main/res/layout/row_hand_action.xml @@ -28,7 +28,6 @@