getodk / collect

ODK Collect is an Android app for filling out forms. It's been used to collect billions of data points in challenging environments around the world. Contribute and make the world a better place! ✨📋✨
https://docs.getodk.org/collect-intro
Other
715 stars 1.37k forks source link

After changing language in form in the middle of internal recording, recording progress bar is reset #4284

Closed kkrawczyk123 closed 3 years ago

kkrawczyk123 commented 3 years ago

Software and hardware versions

Collect v1.29.x, Android v all, device used...

Problem description

After changing language in a form in the middle of internal recording, the recording progress bar is reset ezgif com-video-to-gif (45)

Steps to reproduce the problem

  1. Use the audio widget of All widgets form
  2. Use an internal recorder
  3. Start recording
  4. Click on 3dot menu button
  5. Select Change Language
  6. Change language on displayed dialog

Expected behavior

The progress bar should not be returned to the beginning when change language in the form, there are 2 options:

Other information

Things you tried, stack traces, related issues, suggestions on how to fix it...

seadowg commented 3 years ago

Huh nice find. I imagine there might be other scenarios that cause this (anything that refreshes the form). Changing this behaviour would actually require quite a lot of work and potentially add some risk as we'd have to store the list of "chunk" heights somewhere and then retrieve them after we refresh the widget.

Given the intent of the waveform is just to let the user know that the recording is picking up the surrounding sound I don't think it's a big deal that it resets when they change language (which I'd also assume would be a rare case). I'm thinking we mark this as "won't fix" and close? How does that sound @kkrawczyk123?

kkrawczyk123 commented 3 years ago

I've just noticed that the progress bar is also reset after screen rotation. I still think that it might be a little confusing. I agree that changing language in the middle of a recording won't be very commonly used so why allow it anyway.

seadowg commented 3 years ago

I've just noticed that the progress bar is also reset after screen rotation. I still think that it might be a little confusing.

Fair. I think we do want to iterate on the waveform before release so this is definitely something to keep in mind i.e. making sure the waveform doesn't do confusing things on rotation. My personal take is that we don't need an issue to track it as a bug as I'm not sure it's something we'd prioritize but I'll @lognaturel weigh in on that.

I agree that changing language in the middle of a recording won't be very commonly used so why allow it anyway.

Yeah good call. Do you think we should just block the user like we do for preferences/quitting?

lognaturel commented 3 years ago

I think all of this is ok. The information from the waveform really is in the moment, the history doesn't matter much except perhaps to see how loudness has changed over time. It's slightly confusing to see it disappear but those are rare scenarios.