diff --git a/android/DartsScorecard/app/src/debug/res/values/keys.xml b/android/DartsScorecard/app/src/debug/res/values/keys.xml index c6dd737e..ef628e72 100644 --- a/android/DartsScorecard/app/src/debug/res/values/keys.xml +++ b/android/DartsScorecard/app/src/debug/res/values/keys.xml @@ -5,4 +5,5 @@ ca-app-pub-3940256099942544/6300978111 ca-app-pub-3940256099942544/6300978111 ca-app-pub-3940256099942544/1033173712 + ca-app-pub-3940256099942544/1033173712 \ No newline at end of file diff --git a/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/Play01Animator.kt b/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/Play01Animator.kt index 9f219535..3e6c5d61 100644 --- a/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/Play01Animator.kt +++ b/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/Play01Animator.kt @@ -5,11 +5,13 @@ import android.support.v4.view.ViewPager import android.view.View import android.view.ViewPropertyAnimator import android.view.ViewTreeObserver +import com.google.android.gms.ads.AdView import kotlinx.android.synthetic.main.activity_play_01.view.* import kotlinx.android.synthetic.main.play_01_score.view.* import nl.entreco.dartsscorecard.base.widget.MaxHeightRecyclerView import nl.entreco.dartsscorecard.databinding.ActivityPlay01Binding import nl.entreco.dartsscorecard.play.live.LiveStatSlideAnimator +import nl.entreco.dartsscorecard.play.live.LiveStatViewModel import kotlin.math.max import kotlin.math.sqrt diff --git a/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/Play01ViewModel.kt b/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/Play01ViewModel.kt index 1ca701b8..b0cbd24b 100644 --- a/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/Play01ViewModel.kt +++ b/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/Play01ViewModel.kt @@ -88,6 +88,7 @@ class Play01ViewModel @Inject constructor(private val playGameUsecase: Play01Use private fun onGameOk(request: Play01Request, response: Play01Response?, revancheResponse: RevancheResponse?) { this.request = request + this.masterCaller.play(MasterCallerRequest(start = true)) this.game = response?.game ?: revancheResponse!!.game this.teams = response?.teams ?: revancheResponse!!.teams val teamIds = response?.teamIds ?: revancheResponse!!.teamIds diff --git a/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/live/LiveStatViewModel.kt b/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/live/LiveStatViewModel.kt index 069d9d99..be789781 100644 --- a/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/live/LiveStatViewModel.kt +++ b/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/live/LiveStatViewModel.kt @@ -2,6 +2,7 @@ package nl.entreco.dartsscorecard.play.live import android.databinding.ObservableArrayMap import android.databinding.ObservableInt +import nl.entreco.dartsscorecard.ad.AdViewModel import nl.entreco.dartsscorecard.archive.ArchiveServiceLauncher import nl.entreco.dartsscorecard.base.BaseViewModel import nl.entreco.dartsscorecard.play.score.GameLoadedNotifier diff --git a/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/score/ScoreViewModel.kt b/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/score/ScoreViewModel.kt index 49ea66f1..952a9a1c 100644 --- a/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/score/ScoreViewModel.kt +++ b/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/score/ScoreViewModel.kt @@ -1,8 +1,10 @@ package nl.entreco.dartsscorecard.play.score import android.databinding.ObservableArrayList +import android.databinding.ObservableBoolean import android.databinding.ObservableField import android.databinding.ObservableInt +import nl.entreco.dartsscorecard.ad.AdViewModel import nl.entreco.dartsscorecard.base.BaseViewModel import nl.entreco.domain.model.Next import nl.entreco.domain.model.Score @@ -23,7 +25,9 @@ class ScoreViewModel @Inject constructor( private val fetchMatchDescriptionUsecase: FetchMatchDescriptionUsecase) : BaseViewModel(), GameLoadedNotifier, ScoreListener, PlayerListener { val description = ObservableField("") + val firstTo = ObservableInt(0) val numSets = ObservableInt(0) + val showSets = ObservableBoolean(true) val teams = ObservableArrayList() val currentTeam = ObservableInt() val scores = ObservableArrayList() @@ -38,6 +42,8 @@ class ScoreViewModel @Inject constructor( this.teams.clear() this.teams.addAll(teams) this.numSets.set(info.numSets) + this.showSets.set(info.numSets > 1) + this.firstTo.set(if(info.numSets > 1) info.numSets else info.numLegs) this.fetchMatchDescriptionUsecase.go({ response -> description.set(response.description.description) }, { /* TODO: Set default value */}) } diff --git a/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/score/TeamScoreViewModel.kt b/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/score/TeamScoreViewModel.kt index 82300e23..dbfdf904 100644 --- a/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/score/TeamScoreViewModel.kt +++ b/android/DartsScorecard/app/src/main/java/nl/entreco/dartsscorecard/play/score/TeamScoreViewModel.kt @@ -25,6 +25,7 @@ class TeamScoreViewModel(val team: Team, startScore: Score, starter: Boolean) : BaseViewModel(), TeamScoreListener { val finish = ObservableField("") + val showSets = ObservableBoolean(startScore.settings.numSets > 1) val nineDarter = ObservableBoolean(false) val started = ObservableBoolean(starter) val scored = ObservableInt(0) diff --git a/android/DartsScorecard/app/src/main/res/layout/include_main_ad.xml b/android/DartsScorecard/app/src/main/res/layout/include_main_ad.xml new file mode 100644 index 00000000..67991920 --- /dev/null +++ b/android/DartsScorecard/app/src/main/res/layout/include_main_ad.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/DartsScorecard/app/src/main/res/layout/include_setup_ad.xml b/android/DartsScorecard/app/src/main/res/layout/include_setup_ad.xml index 1d6ea385..6c51fcb7 100644 --- a/android/DartsScorecard/app/src/main/res/layout/include_setup_ad.xml +++ b/android/DartsScorecard/app/src/main/res/layout/include_setup_ad.xml @@ -6,7 +6,6 @@ tools:showIn="@layout/activity_setup_01"> - diff --git a/android/DartsScorecard/app/src/main/res/layout/play_01_main.xml b/android/DartsScorecard/app/src/main/res/layout/play_01_main.xml index 9f1e103c..c7895961 100644 --- a/android/DartsScorecard/app/src/main/res/layout/play_01_main.xml +++ b/android/DartsScorecard/app/src/main/res/layout/play_01_main.xml @@ -112,6 +112,15 @@ android:text="@string/version" android:textColor="#aaffffff" /> + + + + + + + + + diff --git a/android/DartsScorecard/app/src/main/res/layout/play_01_score.xml b/android/DartsScorecard/app/src/main/res/layout/play_01_score.xml index 8eae53f5..e50adb92 100644 --- a/android/DartsScorecard/app/src/main/res/layout/play_01_score.xml +++ b/android/DartsScorecard/app/src/main/res/layout/play_01_score.xml @@ -35,7 +35,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="@dimen/score_name_w" - android:text="@{@string/first_to(viewModel.numSets)}" /> + android:text="@{@string/first_to(viewModel.firstTo)}" /> + android:text="@string/set" + app:showIf="@{viewModel.showSets}" /> + \ No newline at end of file diff --git a/android/DartsScorecard/app/src/main/res/layout/team_score_view.xml b/android/DartsScorecard/app/src/main/res/layout/team_score_view.xml index 8c61419c..85d33b69 100644 --- a/android/DartsScorecard/app/src/main/res/layout/team_score_view.xml +++ b/android/DartsScorecard/app/src/main/res/layout/team_score_view.xml @@ -62,6 +62,7 @@ android:layout_height="match_parent" android:layout_weight="@dimen/score_leg_w" app:score="@{viewModel.score.set}" + app:showIf="@{viewModel.showSets}" tools:text="1" /> ca-app-pub-3793327349392749/2238054293 ca-app-pub-3793327349392749/3337437992 ca-app-pub-3793327349392749/9019610403 + ca-app-pub-3793327349392749/2121840152 \ No newline at end of file diff --git a/android/DartsScorecard/app/src/test/java/nl/entreco/dartsscorecard/play/Play01ViewModelMasterCallerTest.kt b/android/DartsScorecard/app/src/test/java/nl/entreco/dartsscorecard/play/Play01ViewModelMasterCallerTest.kt index de04eb7f..f81511d2 100644 --- a/android/DartsScorecard/app/src/test/java/nl/entreco/dartsscorecard/play/Play01ViewModelMasterCallerTest.kt +++ b/android/DartsScorecard/app/src/test/java/nl/entreco/dartsscorecard/play/Play01ViewModelMasterCallerTest.kt @@ -2,10 +2,7 @@ package nl.entreco.dartsscorecard.play import android.view.Menu import android.view.MenuItem -import com.nhaarman.mockito_kotlin.any -import com.nhaarman.mockito_kotlin.argumentCaptor -import com.nhaarman.mockito_kotlin.verify -import com.nhaarman.mockito_kotlin.whenever +import com.nhaarman.mockito_kotlin.* import nl.entreco.dartsscorecard.R import nl.entreco.dartsscorecard.ad.AdViewModel import nl.entreco.dartsscorecard.base.DialogHelper @@ -113,6 +110,8 @@ class Play01ViewModelMasterCallerTest { whenever(mockGame.next).thenReturn(Next(State.NORMAL, Team(arrayOf(player)), 0, player, score)) verify(mockPlayGameUsecase).loadGameAndStart(any(), doneCaptor.capture(), any()) doneCaptor.firstValue.invoke(Play01Response(mockGame, ScoreSettings(501, 1, 1, 0), emptyArray(), "1")) + verify(mockMasterCaller).play(any()) + reset(mockMasterCaller) } private fun whenSubmittingTurn(turn: Turn) { diff --git a/android/DartsScorecard/scripts/dependencies.gradle b/android/DartsScorecard/scripts/dependencies.gradle index 03946967..4b951909 100644 --- a/android/DartsScorecard/scripts/dependencies.gradle +++ b/android/DartsScorecard/scripts/dependencies.gradle @@ -35,7 +35,7 @@ ext.versionName = { -> ext { kotlinVersion = '1.2.61' - gradleVersion = '3.2.0-beta05' + gradleVersion = '3.2.1' gmsVersion = '4.0.1' dexCountVersion = '0.8.2' detektVersion = '1.0.0.RC7'