Fixes various bugs

hh
Laurent 6 years ago
parent f61a7f3806
commit 6976aa7c63
  1. 1
      app/src/main/java/net/pokeranalytics/android/model/handhistory/ComputedAction.kt
  2. 34
      app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HHBuilder.kt
  3. 1
      app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HandHistoryAdapter.kt
  4. 10
      app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HandHistoryFragment.kt
  5. 2
      app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HandHistoryViewModel.kt
  6. 2
      app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/views/CardsRow.kt
  7. 2
      app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/views/KeyboardContainer.kt
  8. 1
      app/src/main/res/layout/row_hand_action.xml

@ -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

@ -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<ComputedAction>()
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
)
}
}
}

@ -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

@ -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<HandHistory>(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()

@ -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

@ -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

@ -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

@ -28,7 +28,6 @@
<androidx.appcompat.widget.AppCompatEditText
android:id="@+id/amountEditText"
style="@style/PokerAnalyticsTheme.EditText"
android:inputType="numberDecimal"
android:layout_width="0dp"
android:layout_weight="2"
android:layout_height="wrap_content"

Loading…
Cancel
Save