Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ plugins {
// The single place to bump the version. Android only installs an update whose versionCode is higher
// than the installed one, and the in-app updater compares versionName with the GitHub release tag
// (v<versionName>), so versionCode is derived from it: 1.2.3 -> 10203.
val appVersionName = "1.1.1"
val appVersionName = "1.2.0"

fun versionCodeOf(versionName: String): Int {
val (major, minor, patch) = versionName.split('.').map(String::toInt)
Expand Down
23 changes: 18 additions & 5 deletions app/src/main/java/com/github/se/pooltrack/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import androidx.compose.ui.Modifier
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.compose.LifecycleEventEffect
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
import androidx.lifecycle.viewmodel.compose.viewModel
Expand All @@ -40,7 +41,9 @@ import com.github.se.pooltrack.ui.navigation.Screen
import com.github.se.pooltrack.ui.subscription.SubscriptionQuickViewScreen
import com.github.se.pooltrack.ui.subscription.SubscriptionScreen
import com.github.se.pooltrack.ui.theme.PoolTrackTheme
import com.github.se.pooltrack.ui.update.UpdateDialog
import com.github.se.pooltrack.ui.update.UpdateRequiredScreen
import com.github.se.pooltrack.ui.update.UpdateUiState
import com.github.se.pooltrack.ui.update.UpdateViewModel
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.launch
Expand Down Expand Up @@ -92,12 +95,22 @@ class MainActivity : ComponentActivity() {
/**
* `PoolTrackApp` is the main composable function that sets up the whole app UI. Gated behind Google
* sign-in - [SignInScreen] is shown instead until a real (non-anonymous) account is signed in -
* since subscriptions and entries are only meaningful once backed up to one. [UpdateDialog] sits
* above both, so a new release is offered even before signing in.
* since subscriptions and entries are only meaningful once backed up to one. A newer release takes
* precedence over both: [UpdateRequiredScreen] replaces the whole app until it is installed. If the
* check can't reach GitHub (e.g. offline at the pool), the app stays usable so the pass can still
* be shown.
*/
@Composable
fun PoolTrackApp(accountViewModel: AccountViewModel = viewModel()) {
UpdateDialog()
fun PoolTrackApp(
accountViewModel: AccountViewModel = viewModel(),
updateViewModel: UpdateViewModel = viewModel(),
) {
LifecycleEventEffect(Lifecycle.Event.ON_RESUME) { updateViewModel.onResume() }
val updateState by updateViewModel.state.collectAsState()
if (updateState !is UpdateUiState.None) {
UpdateRequiredScreen(updateViewModel)
return
}

val currentUser by accountViewModel.currentUser.collectAsState()
val user = currentUser
Expand Down
210 changes: 0 additions & 210 deletions app/src/main/java/com/github/se/pooltrack/ui/update/UpdateDialog.kt

This file was deleted.

Loading
Loading