[BugFix]修复声音卡录音返回上个页面录音没有保存的bug

This commit is contained in:
wushaocheng
2023-01-13 06:20:44 +08:00
parent e3c28e1813
commit 9c3be225d6
3 changed files with 31 additions and 16 deletions

View File

@@ -44,8 +44,8 @@ class SoundSignatureActivity : BaseViewBindingActivity<ActivitySoundSignatureBin
companion object { companion object {
const val AUDIO_BEAN = "audio_bean" const val AUDIO_BEAN = "audio_bean"
const val AUDIO_FILE = "AUDIO_FILE" const val AUDIO_FILE = "audio_file"
const val AUDIO_DURA = "AUDIO_DURA" const val AUDIO_DURA = "audio_dura"
const val MIN_RECORD_VOICE_DURATION = 1 // 最少1秒 const val MIN_RECORD_VOICE_DURATION = 1 // 最少1秒
const val MAX_RECORD_VOICE_DURATION = 60 //最多60s const val MAX_RECORD_VOICE_DURATION = 60 //最多60s
} }
@@ -81,7 +81,7 @@ class SoundSignatureActivity : BaseViewBindingActivity<ActivitySoundSignatureBin
MAX_RECORD_VOICE_DURATION MAX_RECORD_VOICE_DURATION
) )
binding.tvSoundTime.text = showStr binding.tvSoundTime.text = showStr
soundViewModel.audioState = SoundViewModel.STATE_RECORD_SUCCESS soundViewModel.audioState = SoundViewModel.STATE_RECORD_SAVE_SUCCESS
soundViewModel.audioUrl = audioCard.audioUrl ?: "" soundViewModel.audioUrl = audioCard.audioUrl ?: ""
refreshButtonView(SoundViewModel.STATE_RECORD_SAVE_SUCCESS) refreshButtonView(SoundViewModel.STATE_RECORD_SAVE_SUCCESS)
} }
@@ -93,7 +93,7 @@ class SoundSignatureActivity : BaseViewBindingActivity<ActivitySoundSignatureBin
MAX_RECORD_VOICE_DURATION MAX_RECORD_VOICE_DURATION
) )
binding.tvSoundTime.text = showStr binding.tvSoundTime.text = showStr
soundViewModel.audioState = SoundViewModel.STATE_RECORD_SUCCESS soundViewModel.audioState = SoundViewModel.STATE_RECORD_AUDIT_SUCCESS
soundViewModel.audioUrl = audioCard.audioUrl ?: "" soundViewModel.audioUrl = audioCard.audioUrl ?: ""
refreshButtonView(SoundViewModel.STATE_RECORD_AUDIT_SUCCESS) refreshButtonView(SoundViewModel.STATE_RECORD_AUDIT_SUCCESS)
} }
@@ -157,7 +157,7 @@ class SoundSignatureActivity : BaseViewBindingActivity<ActivitySoundSignatureBin
val intent = Intent() val intent = Intent()
intent.putExtra(AUDIO_FILE, soundViewModel.audioUrl) intent.putExtra(AUDIO_FILE, soundViewModel.audioUrl)
intent.putExtra(AUDIO_DURA, soundViewModel.audioDur) intent.putExtra(AUDIO_DURA, soundViewModel.audioDur)
setResult(RESULT_OK, intent)// 上传声音成功之后退出页面 setResult(RESULT_OK, intent)// 上传声音成功之后给上个页面传递信息
} }
soundViewModel.hideLoadLiveData.observe(this) { soundViewModel.hideLoadLiveData.observe(this) {
@@ -170,6 +170,10 @@ class SoundSignatureActivity : BaseViewBindingActivity<ActivitySoundSignatureBin
} }
soundViewModel.deleteRecordLiveData.observe(this) { soundViewModel.deleteRecordLiveData.observe(this) {
val intent = Intent()
intent.putExtra(AUDIO_FILE, "")
intent.putExtra(AUDIO_DURA, 0)
setResult(RESULT_OK, intent)// 上传声音成功之后给上个页面传递信息
soundViewModel.showNormalState() soundViewModel.showNormalState()
} }

View File

@@ -96,6 +96,7 @@ class SoundViewModel : BaseViewModel() {
STATE_RECORD_RECORDING -> stopRecord() // 录制中状态,点击了中间按钮:停止录音 STATE_RECORD_RECORDING -> stopRecord() // 录制中状态,点击了中间按钮:停止录音
STATE_RECORD_SUCCESS -> clickAudition() // 试听状态,点击了中间按钮:试听声音 STATE_RECORD_SUCCESS -> clickAudition() // 试听状态,点击了中间按钮:试听声音
STATE_RECORD_SAVE_SUCCESS -> clickAudition() //保存成功,点击了中间按钮:试听声音 STATE_RECORD_SAVE_SUCCESS -> clickAudition() //保存成功,点击了中间按钮:试听声音
STATE_RECORD_AUDIT_SUCCESS -> clickAudition() //审核成功,点击了中间按钮,试听声音
} }
} }

View File

@@ -63,7 +63,6 @@ class UserInfoModifyActivity : BaseViewBindingActivity<ActivityUserInfoModifyBin
private var datePickerDialog: DatePickerDialog? = null private var datePickerDialog: DatePickerDialog? = null
private var mUserInfo: UserInfo? = null private var mUserInfo: UserInfo? = null
private var userId: Long = 0 private var userId: Long = 0
private var audioFileUrl: String? = null
private var showAvatarAuditing = false private var showAvatarAuditing = false
private var mUri: Uri? = null private var mUri: Uri? = null
@@ -106,7 +105,6 @@ class UserInfoModifyActivity : BaseViewBindingActivity<ActivityUserInfoModifyBin
private fun initData(userInfo: UserInfo?) { private fun initData(userInfo: UserInfo?) {
if (null != userInfo) { if (null != userInfo) {
audioFileUrl = userInfo.userVoice
ImageLoadUtils.loadAvatar( ImageLoadUtils.loadAvatar(
this, this,
if (!TextUtils.isEmpty(userInfo.newAvatar)) userInfo.newAvatar else userInfo.avatar, if (!TextUtils.isEmpty(userInfo.newAvatar)) userInfo.newAvatar else userInfo.avatar,
@@ -133,7 +131,7 @@ class UserInfoModifyActivity : BaseViewBindingActivity<ActivityUserInfoModifyBin
binding.tvSoundTip.visibility = View.GONE binding.tvSoundTip.visibility = View.GONE
binding.llAudio.visibility = View.VISIBLE binding.llAudio.visibility = View.VISIBLE
binding.tvAudio.text = userInfo.audioCard.second.toString() binding.tvAudio.text = userInfo.audioCard.second.toString()
}else{ } else {
binding.tvSoundTip.visibility = View.VISIBLE binding.tvSoundTip.visibility = View.VISIBLE
binding.llAudio.visibility = View.GONE binding.llAudio.visibility = View.GONE
} }
@@ -217,13 +215,13 @@ class UserInfoModifyActivity : BaseViewBindingActivity<ActivityUserInfoModifyBin
R.id.tv_birth -> { R.id.tv_birth -> {
if (mUserInfo != null) { if (mUserInfo != null) {
val year = TimeUtils.getYear( val year = TimeUtils.getYear(
mUserInfo!!.birth mUserInfo?.birth ?: 0L
) )
val month = TimeUtils.getMonth( val month = TimeUtils.getMonth(
mUserInfo!!.birth mUserInfo?.birth ?: 0L
) )
val day = TimeUtils.getDayOfMonth( val day = TimeUtils.getDayOfMonth(
mUserInfo!!.birth mUserInfo?.birth ?: 0L
) )
datePickerDialog = datePickerDialog =
DatePickerDialog.newInstance(this, year, month - 1, day, true) DatePickerDialog.newInstance(this, year, month - 1, day, true)
@@ -392,12 +390,24 @@ class UserInfoModifyActivity : BaseViewBindingActivity<ActivityUserInfoModifyBin
Method.AUDIO -> {// 刷新声音资源 Method.AUDIO -> {// 刷新声音资源
data?.let { data?.let {
// 获取数据并刷新显示 // 获取数据并刷新显示
audioFileUrl = it.getStringExtra(SoundSignatureActivity.AUDIO_FILE) val audioFileUrl = it.getStringExtra(SoundSignatureActivity.AUDIO_FILE)
val audioDuration = it.getIntExtra(SoundSignatureActivity.AUDIO_DURA, 0) val audioDuration = it.getIntExtra(SoundSignatureActivity.AUDIO_DURA, 0)
if (TextUtils.isEmpty(audioFileUrl)) {
binding.tvSoundTip.visibility = View.GONE val soundBean = mUserInfo?.audioCard
binding.llAudio.visibility = View.VISIBLE soundBean?.audioUrl = ""
binding.tvAudio.text = audioDuration.toString() soundBean?.second = 0
soundBean?.status = 0
binding.tvSoundTip.visibility = View.VISIBLE
binding.llAudio.visibility = View.GONE
} else {
val soundBean = mUserInfo?.audioCard
soundBean?.audioUrl = audioFileUrl
soundBean?.second = audioDuration
soundBean?.status = 1
binding.tvSoundTip.visibility = View.GONE
binding.llAudio.visibility = View.VISIBLE
binding.tvAudio.text = audioDuration.toString()
}
} }
} }
Method.PHOTO -> { Method.PHOTO -> {