Skip to content

Commit

Permalink
#14: Showing Double's also as Percentage
Browse files Browse the repository at this point in the history
  • Loading branch information
Entreco committed Nov 23, 2018
1 parent a21af4e commit 9a2f28e
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package nl.entreco.dartsscorecard.play.live
import android.databinding.DataBindingUtil
import android.view.View
import android.view.ViewPropertyAnimator
import nl.entreco.dartsscorecard.R.id.stat11
import nl.entreco.dartsscorecard.databinding.WidgetListStatsBinding
import kotlin.math.max

Expand All @@ -15,7 +16,7 @@ class LiveStatSlideAnimator(private val view: View, private val left: View?, pri
private val animator by lazy {
MatchStatSlideAnimatorHandler(binding.player1, binding.player2, binding.name1, binding.name2, binding.score,
binding.stat1, binding.stat2, binding.stat3, binding.stat4, binding.stat5, binding.stat6, binding.stat7,
binding.stat8, binding.stat9, binding.stat10)
binding.stat8, binding.stat9, binding.stat10, binding.stat11)
}

fun onSlide(slideOffset: Float) {
Expand All @@ -30,7 +31,7 @@ class LiveStatSlideAnimator(private val view: View, private val left: View?, pri
private val stat1: View, private val stat2: View, private val stat3: View,
private val stat4: View, private val stat5: View, private val stat6: View,
private val stat7: View, private val stat8: View, private val stat9: View,
private val stat10: View) {
private val stat10: View, private val stat11: View) {
fun slide(slideOffset: Float) {
// Fly In Players
player1.animate().translationX(slideOffset * -player1.width / 3).setDuration(0).start()
Expand All @@ -50,6 +51,7 @@ class LiveStatSlideAnimator(private val view: View, private val left: View?, pri
animateState(stat8.animate(), 8, slideOffset)
animateState(stat9.animate(), 9, slideOffset)
animateState(stat10.animate(), 10, slideOffset)
animateState(stat11.animate(), 11, slideOffset)
}

private fun animateState(anim: ViewPropertyAnimator, index: Int, slideOffset: Float) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ class TeamLiveStatModel(val team: Team, private val liveStats: MutableList<LiveS
val hScore = ObservableField<String>(empty)
val hCo = ObservableField<String>(empty)
val co = ObservableField<String>(empty)
val coRatio = ObservableField<String>(empty)
val breaks = ObservableField<String>(empty)
val image = ObservableField<String>(team.imageUrl())

Expand Down Expand Up @@ -61,6 +62,11 @@ class TeamLiveStatModel(val team: Team, private val liveStats: MutableList<LiveS
val aggregator = liveStats.sumBy { it.nCheckouts }
val denominator = liveStats.sumBy { it.nAtCheckout }
co.set("%d/%d".format(aggregator, denominator))

when (denominator) {
0 -> coRatio.set(empty)
else -> coRatio.set("%.2f".format(100 * aggregator / denominator.toDouble()))
}
}

private fun updateHighestScore() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -380,6 +380,33 @@
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
style="@style/Main.Value"
android:layout_width="68dp"
android:layout_height="wrap_content"
android:text="@{team0.coRatio.toString()}" />

<TextView
style="@style/Main.Stat"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/live_double_ratio" />

<TextView
style="@style/Main.Value"
android:layout_width="68dp"
android:layout_height="wrap_content"
android:text="@{team1.coRatio.toString()}"
app:hideIfOneTeam="@{team1 == null}" />
</LinearLayout>

<LinearLayout
android:id="@+id/stat11"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
style="@style/Main.Value"
android:layout_width="68dp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@
<string name="match_stats">Match Statistieken</string>
<string name="live_breaks_made">Breaks Made</string>
<string name="live_double_success">Dubbel Success</string>
<string name="live_double_ratio">Dubbel %</string>
<string name="live_highest_score">Hoogste Score</string>
<string name="live_highest_out">Hoogste Out</string>
<string name="live_180s">180\'s</string>
Expand Down
1 change: 1 addition & 0 deletions android/DartsScorecard/app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@
<string name="match_stats">Match Statistics</string>
<string name="live_breaks_made">Breaks Made</string>
<string name="live_double_success">Double Success</string>
<string name="live_double_ratio">Double %</string>
<string name="live_highest_score">Highest Score</string>
<string name="live_highest_out">Highest Out</string>
<string name="live_180s">180\'s</string>
Expand Down

0 comments on commit 9a2f28e

Please sign in to comment.