added back phase toggle button

This commit is contained in:
Gabriel Low
2026-09-10 12:47:06 +08:00
parent 17fad430c1
commit 584818b95a
3 changed files with 41 additions and 0 deletions
@@ -79,6 +79,16 @@ class BowlingCameraActivity : AppCompatActivity(), CameraXController.Callback {
// class for FeedbackUI
private lateinit var feedbackUI: FeedbackUI
private val stepLabels = listOf(
R.string.pose_phase_starting_stance,
R.string.pose_phase_approach,
R.string.pose_phase_pushaway,
R.string.pose_phase_back_swing,
R.string.pose_phase_power_step,
R.string.pose_phase_slide_and_release,
)
private var currentPhaseToggleIndex = 0
private val permissionLauncher =
registerForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { _: Map<String, Boolean> ->
val granted = CameraPermissions.allGranted(this)
@@ -134,6 +144,7 @@ class BowlingCameraActivity : AppCompatActivity(), CameraXController.Callback {
}
}
binding.btnResetCounter.setOnClickListener { viewModel.resetStepCounter() }
binding.btnShowStep.setOnClickListener { onPhaseToggleClicked() }
observeViewModel()
@@ -550,4 +561,12 @@ class BowlingCameraActivity : AppCompatActivity(), CameraXController.Callback {
cameraExecutor.shutdown()
debugSessionLogger.stop()
}
/**
* @brief Cycles through the delivery phase labels on the manual toggle button.
*/
private fun onPhaseToggleClicked() {
currentPhaseToggleIndex = (currentPhaseToggleIndex + 1) % stepLabels.size
binding.btnShowStep.setText(stepLabels[currentPhaseToggleIndex])
}
}