Skip to content

Commit 1f3b91a

Browse files
committed
fix activegame pause state
1 parent 325b7b5 commit 1f3b91a

2 files changed

Lines changed: 10 additions & 4 deletions

File tree

app/src/main/java/io/zenandroid/onlinego/data/db/GameDao.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,12 @@ import io.zenandroid.onlinego.data.model.local.GameNotificationWithDetails
2222
import io.zenandroid.onlinego.data.model.local.HistoricGamesMetadata
2323
import io.zenandroid.onlinego.data.model.local.InitialState
2424
import io.zenandroid.onlinego.data.model.local.Message
25+
import io.zenandroid.onlinego.data.model.local.PauseControl
2526
import io.zenandroid.onlinego.data.model.local.Player
2627
import io.zenandroid.onlinego.data.model.local.Score
2728
import io.zenandroid.onlinego.data.model.ogs.JosekiPosition
2829
import io.zenandroid.onlinego.data.model.ogs.Phase
30+
import io.zenandroid.onlinego.data.ogs.Pause
2931
import kotlinx.coroutines.flow.Flow
3032

3133
private const val MAX_ALLOWED_SQL_PARAMS = 999
@@ -223,12 +225,15 @@ abstract class GameDao {
223225
open fun updateClock(
224226
id: Long,
225227
playerToMoveId: Long?,
226-
clock: Clock?) {
228+
clock: Clock?,
229+
pause: Pause?) {
227230
getGame(id).blockingGet().let {
228231
update(it.copy(
229232
undoRequested = if(it.playerToMoveId != playerToMoveId) null else it.undoRequested,
230233
playerToMoveId = playerToMoveId,
231234
clock = clock,
235+
pauseControl = (it.pauseControl ?: PauseControl())
236+
.copy(pausedByThirdParty = pause?.paused),
232237
pausedSince = when(clock?.newPausedState) {
233238
true -> clock.newPausedSince
234239
false -> null
@@ -429,4 +434,4 @@ abstract class GameDao {
429434
updateChatMetadata(ChatMetadata(0, messages.last().chatId))
430435
}
431436
}
432-
}
437+
}

app/src/main/java/io/zenandroid/onlinego/data/repositories/ActiveGamesRepository.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,8 @@ class ActiveGamesRepository(
210210
gameDao.updateClock(
211211
id = gameId,
212212
playerToMoveId = clock.current_player,
213-
clock = Clock.fromOGSClock(clock)
213+
clock = Clock.fromOGSClock(clock),
214+
pause = clock.pause
214215
)
215216
}
216217

@@ -388,4 +389,4 @@ class ActiveGamesRepository(
388389
recordException(Exception(message, t))
389390
Log.e("ActiveGameRespository", message, t)
390391
}
391-
}
392+
}

0 commit comments

Comments
 (0)