Compare commits

...

1 Commits
1.1.1 ... 1.1.2

Author SHA1 Message Date
cf2adeef7a 1.1.2 - More fixes for notification reliability 2025-08-22 23:22:23 -06:00
3 changed files with 20 additions and 11 deletions

View File

@@ -4,6 +4,14 @@
<selectionStates> <selectionStates>
<SelectionState runConfigName="app"> <SelectionState runConfigName="app">
<option name="selectionMode" value="DROPDOWN" /> <option name="selectionMode" value="DROPDOWN" />
<DropdownSelection timestamp="2025-08-23T05:20:48.817593Z">
<Target type="DEFAULT_BOOT">
<handle>
<DeviceId pluginId="PhysicalDevice" identifier="serial=18171FDF6007NW" />
</handle>
</Target>
</DropdownSelection>
<DialogSelection />
</SelectionState> </SelectionState>
</selectionStates> </selectionStates>
</component> </component>

View File

@@ -14,8 +14,8 @@ android {
applicationId = "com.atridad.openclimb" applicationId = "com.atridad.openclimb"
minSdk = 33 minSdk = 33
targetSdk = 36 targetSdk = 36
versionCode = 16 versionCode = 17
versionName = "1.1.1" versionName = "1.1.2"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
} }

View File

@@ -16,6 +16,7 @@ import androidx.compose.ui.semantics.Role
import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.platform.LocalContext
import com.atridad.openclimb.data.model.* import com.atridad.openclimb.data.model.*
import com.atridad.openclimb.ui.components.ImagePicker import com.atridad.openclimb.ui.components.ImagePicker
import com.atridad.openclimb.ui.viewmodel.ClimbViewModel import com.atridad.openclimb.ui.viewmodel.ClimbViewModel
@@ -80,7 +81,7 @@ fun AddEditGymScreen(
val gym = Gym.create(name, location, selectedClimbTypes.toList(), selectedDifficultySystems.toList(), notes = notes) val gym = Gym.create(name, location, selectedClimbTypes.toList(), selectedDifficultySystems.toList(), notes = notes)
if (isEditing) { if (isEditing) {
viewModel.updateGym(gym.copy(id = gymId)) viewModel.updateGym(gym.copy(id = gymId!!))
} else { } else {
viewModel.addGym(gym) viewModel.addGym(gym)
} }
@@ -348,7 +349,7 @@ fun AddEditProblemScreen(
) )
if (isEditing) { if (isEditing) {
viewModel.updateProblem(problem.copy(id = problemId)) viewModel.updateProblem(problem.copy(id = problemId!!))
} else { } else {
viewModel.addProblem(problem) viewModel.addProblem(problem)
} }
@@ -688,6 +689,7 @@ fun AddEditSessionScreen(
) { ) {
val isEditing = sessionId != null val isEditing = sessionId != null
val gyms by viewModel.gyms.collectAsState() val gyms by viewModel.gyms.collectAsState()
val context = LocalContext.current
// Session form state // Session form state
var selectedGym by remember { mutableStateOf<Gym?>(gymId?.let { id -> gyms.find { it.id == id } }) } var selectedGym by remember { mutableStateOf<Gym?>(gymId?.let { id -> gyms.find { it.id == id } }) }
@@ -727,15 +729,14 @@ fun AddEditSessionScreen(
TextButton( TextButton(
onClick = { onClick = {
selectedGym?.let { gym -> selectedGym?.let { gym ->
val session = ClimbSession.create(
gymId = gym.id,
notes = sessionNotes.ifBlank { null }
)
if (isEditing) { if (isEditing) {
viewModel.updateSession(session.copy(id = sessionId)) val session = ClimbSession.create(
gymId = gym.id,
notes = sessionNotes.ifBlank { null }
)
viewModel.updateSession(session.copy(id = sessionId!!))
} else { } else {
viewModel.addSession(session) viewModel.startSession(context, gym.id, sessionNotes.ifBlank { null })
} }
onNavigateBack() onNavigateBack()
} }