From 44246e329e16489a21f3c813dc6fad77e72fcb27 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Sat, 23 Sep 2023 13:41:26 +0200 Subject: [PATCH] Request review on victory dialog closed. Reformat code. closes: #51 --- .../java/me/zobrist/tichucounter/MainActivity.kt | 15 +++++++-------- .../tichucounter/repository/GameRepository.kt | 9 ++++----- .../me/zobrist/tichucounter/ui/MainViewModel.kt | 4 +--- .../tichucounter/ui/counter/CounterViewModel.kt | 8 ++------ .../tichucounter/ui/history/HistoryView.kt | 14 +++++++++----- 5 files changed, 23 insertions(+), 27 deletions(-) diff --git a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt index 6d80823..72fe2bb 100644 --- a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt +++ b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt @@ -43,9 +43,7 @@ import androidx.navigation.compose.rememberNavController import com.google.accompanist.systemuicontroller.rememberSystemUiController import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.flow.collect import kotlinx.coroutines.launch -import me.zobrist.tichucounter.data.entity.Game import me.zobrist.tichucounter.domain.DrawerItem import me.zobrist.tichucounter.domain.KeepScreenOn import me.zobrist.tichucounter.domain.Language @@ -88,7 +86,7 @@ class MainActivity : AppCompatActivity() { private val settingsViewModel: SettingsViewModel by viewModels() private val mainViewModel: MainViewModel by viewModels() - private var newGame: Game? = null + private var requestReview: Boolean = false override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -115,13 +113,14 @@ class MainActivity : AppCompatActivity() { } lifecycleScope.launch { - repository.getNewGameStarted().collect{ - if(newGame == null) - { - newGame = it + settingsAdapter.gameFinished.collect { + if (!requestReview) { + requestReview = true return@collect } - reviewService.request() + if (it) { + reviewService.request() + } } } diff --git a/app/src/main/java/me/zobrist/tichucounter/repository/GameRepository.kt b/app/src/main/java/me/zobrist/tichucounter/repository/GameRepository.kt index e76558d..40b02df 100644 --- a/app/src/main/java/me/zobrist/tichucounter/repository/GameRepository.kt +++ b/app/src/main/java/me/zobrist/tichucounter/repository/GameRepository.kt @@ -14,7 +14,6 @@ import me.zobrist.tichucounter.data.GameWithScores import me.zobrist.tichucounter.data.RoundDao import me.zobrist.tichucounter.data.entity.Game import me.zobrist.tichucounter.data.entity.Round -import me.zobrist.tichucounter.domain.KeepScreenOn import java.util.Date import javax.inject.Inject @@ -23,7 +22,8 @@ class GameRepository @Inject constructor( private val roundDao: RoundDao ) { - private var activeGame: Game = Game(true, "TeamA", "TeamB", Date(), Date()) + var activeGame: Game = Game(true, "TeamA", "TeamB", Date(), Date()) + private set private val newGameFlow = MutableStateFlow(Game()) @@ -43,7 +43,7 @@ class GameRepository @Inject constructor( withContext(Dispatchers.IO) { val id = gameDao.insert(Game(true, activeGame.nameA, activeGame.nameB, Date(), Date())) setActive(id) - newGameFlow.value= gameDao.getGameById(id) + newGameFlow.value = gameDao.getGameById(id) } } @@ -140,8 +140,7 @@ class GameRepository @Inject constructor( return gameDao.getDistinctTeamNames() } - fun getNewGameStarted(): Flow - { + fun getNewGameStarted(): Flow { return newGameFlow } } \ No newline at end of file diff --git a/app/src/main/java/me/zobrist/tichucounter/ui/MainViewModel.kt b/app/src/main/java/me/zobrist/tichucounter/ui/MainViewModel.kt index 09a1acc..87d1232 100644 --- a/app/src/main/java/me/zobrist/tichucounter/ui/MainViewModel.kt +++ b/app/src/main/java/me/zobrist/tichucounter/ui/MainViewModel.kt @@ -7,7 +7,6 @@ import androidx.compose.runtime.setValue import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.flow.collect import kotlinx.coroutines.launch import me.zobrist.tichucounter.data.entity.Game import me.zobrist.tichucounter.data.entity.Round @@ -52,8 +51,7 @@ class MainViewModel @Inject constructor( viewModelScope.launch { gameRepository.getNewGameStarted().collect { - if(newGame == null) - { + if (newGame == null) { newGame = it return@collect } diff --git a/app/src/main/java/me/zobrist/tichucounter/ui/counter/CounterViewModel.kt b/app/src/main/java/me/zobrist/tichucounter/ui/counter/CounterViewModel.kt index 3dbd24f..c3b8b9a 100644 --- a/app/src/main/java/me/zobrist/tichucounter/ui/counter/CounterViewModel.kt +++ b/app/src/main/java/me/zobrist/tichucounter/ui/counter/CounterViewModel.kt @@ -6,12 +6,10 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.setValue import androidx.compose.ui.focus.FocusRequester import androidx.lifecycle.ViewModel -import androidx.lifecycle.asLiveData import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Job import kotlinx.coroutines.delay -import kotlinx.coroutines.flow.collect import kotlinx.coroutines.launch import me.zobrist.tichucounter.data.entity.Game import me.zobrist.tichucounter.data.entity.Round @@ -186,8 +184,7 @@ class CounterViewModel @Inject constructor( buildTeamNameSuggestions() if (it.game.uid != lastGame?.uid) { - if(lastGame != null) - { + if (lastGame != null) { settings.gameFinished.value = false } lastGame = it.game @@ -211,8 +208,7 @@ class CounterViewModel @Inject constructor( } viewModelScope.launch { settings.victoryPoints.collect { - if(lastVictoryPoints == null) - { + if (lastVictoryPoints == null) { lastVictoryPoints = it return@collect } diff --git a/app/src/main/java/me/zobrist/tichucounter/ui/history/HistoryView.kt b/app/src/main/java/me/zobrist/tichucounter/ui/history/HistoryView.kt index 266cc43..17cf750 100644 --- a/app/src/main/java/me/zobrist/tichucounter/ui/history/HistoryView.kt +++ b/app/src/main/java/me/zobrist/tichucounter/ui/history/HistoryView.kt @@ -48,7 +48,6 @@ import androidx.compose.ui.Alignment.Companion.CenterVertically import androidx.compose.ui.Alignment.Companion.TopEnd import androidx.compose.ui.Modifier import androidx.compose.ui.draw.scale -import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow @@ -168,7 +167,9 @@ fun HistoryList( if (it.game.active) { HistoryListItem( it, - Modifier.animateItemPlacement().padding(2.dp) + Modifier + .animateItemPlacement() + .padding(2.dp) ) } else { DismissibleHistoryListItem( @@ -268,7 +269,7 @@ fun DismissibleHistoryListItem( Box( Modifier .fillMaxSize() - .padding(top=2.dp, bottom = 2.dp) + .padding(top = 2.dp, bottom = 2.dp) .background(color) .padding(horizontal = 10.dp), contentAlignment = alignment @@ -278,13 +279,16 @@ fun DismissibleHistoryListItem( horizontalAlignment = Alignment.CenterHorizontally ) { Icon( - icon, contentDescription = null, modifier = Modifier.scale(scale), tint = textColor + icon, + contentDescription = null, + modifier = Modifier.scale(scale), + tint = textColor ) Text(text = text, color = textColor) } } }, dismissContent = { - HistoryListItem(game = game, modifier= Modifier.padding(2.dp)) + HistoryListItem(game = game, modifier = Modifier.padding(2.dp)) }) }