From e3c28e1813659b7e394a8b32c29408bb5ab67711 Mon Sep 17 00:00:00 2001 From: wushaocheng <15876365887@163.com> Date: Fri, 13 Jan 2023 04:41:08 +0800 Subject: [PATCH] =?UTF-8?q?[Modify]=E4=BF=AE=E5=A4=8D=E5=A3=B0=E9=9F=B3?= =?UTF-8?q?=E5=8D=A1=E4=B8=BB=E9=A1=B5=E6=98=BE=E7=A4=BAbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erban/ui/user/UserInfoActivity.java | 110 +++++++++--------- .../erban/ui/user/UserInfoModifyActivity.kt | 10 -- .../res/drawable-xhdpi/ic_audio_record.webp | Bin 0 -> 1076 bytes .../main/res/layout/activity_user_info.xml | 32 ++++- app/src/main/res/values/strings.xml | 1 + 5 files changed, 82 insertions(+), 71 deletions(-) create mode 100644 app/src/main/res/drawable-xhdpi/ic_audio_record.webp diff --git a/app/src/main/java/com/yizhuan/erban/ui/user/UserInfoActivity.java b/app/src/main/java/com/yizhuan/erban/ui/user/UserInfoActivity.java index 7de3b0bd6..fad2e5ca5 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/user/UserInfoActivity.java +++ b/app/src/main/java/com/yizhuan/erban/ui/user/UserInfoActivity.java @@ -6,10 +6,9 @@ import android.content.ClipboardManager; import android.content.Context; import android.content.Intent; import android.graphics.drawable.Drawable; -import android.os.SystemClock; +import android.os.CountDownTimer; import android.text.TextUtils; import android.view.View; -import android.widget.Chronometer; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; @@ -31,7 +30,6 @@ import com.opensource.svgaplayer.SVGAParser; import com.opensource.svgaplayer.SVGAVideoEntity; import com.yizhuan.erban.R; import com.yizhuan.erban.UIHelper; -import com.yizhuan.erban.audio.SoundSignatureActivity; import com.yizhuan.erban.audio.helper.AudioPlayerHelper; import com.yizhuan.erban.audio.helper.OnPlayListener; import com.yizhuan.erban.avroom.ButtonItemFactory; @@ -93,7 +91,6 @@ import org.greenrobot.eventbus.ThreadMode; import java.util.ArrayList; import java.util.Date; import java.util.List; -import java.util.Locale; import static com.yizhuan.erban.ui.user.UserInfoActivity.IdentityState.OWN; @@ -602,30 +599,7 @@ public class UserInfoActivity extends BaseBindingActivity toggleAudio(audioCard)); + if (AuthModel.get().getCurrentUid() == userId) {//主态 + if (audioCard.getStatus() == 1) { + showSoundCard(audioCard); + } else if (audioCard.getStatus() == 0 || audioCard.getStatus() == 2) { + mBinding.llAudio.setVisibility(View.GONE); + mBinding.llAudioTip.setVisibility(View.VISIBLE); + } + } else if (audioCard.getStatus() == 2) {//客态 + showSoundCard(audioCard); + } } else { - mBinding.llAudio.setVisibility(View.GONE); + if (AuthModel.get().getCurrentUid() == userId) {//主态 + mBinding.llAudio.setVisibility(View.GONE); + mBinding.llAudioTip.setVisibility(View.VISIBLE); + } else { + mBinding.llAudio.setVisibility(View.GONE); + mBinding.llAudioTip.setVisibility(View.GONE); + } } } + private void showSoundCard(UserInfo.SoundBean audioCard) { + mBinding.llAudio.setVisibility(View.VISIBLE); + mBinding.llAudioTip.setVisibility(View.GONE); + mBinding.tvAudio.setText(String.valueOf(audioCard.getSecond())); + mBinding.livUser.stopAnimation(); + mBinding.llAudio.setOnClickListener(v -> toggleAudio(audioCard)); + } + private void toggleAudio(UserInfo.SoundBean audioCard) { String url = ""; if (audioCard.getAudioUrl().contains("http")) { @@ -661,22 +655,24 @@ public class UserInfoActivity extends BaseBindingActivity { - long elapsedMillis = - SystemClock.elapsedRealtime() - chronometer.getBase(); - int second = (int) (elapsedMillis / 1000); - String showStr = String.format( - Locale.getDefault(), - "%d", - second - ); - if (second >= time) { - stopChronometer();// 录制时长超过上限时,停止录制 + private void startCountDown(int time) { + timer = new CountDownTimer((time + 1) * 1000L, 1000L) { + @Override + public void onTick(long millisUntilFinished) { + String time = String.valueOf(millisUntilFinished / 1000); + mBinding.tvAudio.setText(time); } - chronometer.setText(showStr); - }); - mBinding.tvAudio.setBase(SystemClock.elapsedRealtime()); - mBinding.tvAudio.start(); + + @Override + public void onFinish() { + } + }; + timer.start(); } - private void stopChronometer(){ - mBinding.tvAudio.stop(); + private void stopCountDown(int second) { + if (timer != null) { + mBinding.tvAudio.setText(String.valueOf(second)); + timer.cancel(); + } } - private void stopAudio() { - stopChronometer(); + private void stopAudio(int second) { + stopCountDown(second); if (!audioPlaying) return; audioPlaying = false; mBinding.livUser.stopAnimation(); diff --git a/app/src/main/java/com/yizhuan/erban/ui/user/UserInfoModifyActivity.kt b/app/src/main/java/com/yizhuan/erban/ui/user/UserInfoModifyActivity.kt index 9a98a7e93..f7fdf7615 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/user/UserInfoModifyActivity.kt +++ b/app/src/main/java/com/yizhuan/erban/ui/user/UserInfoModifyActivity.kt @@ -391,9 +391,6 @@ class UserInfoModifyActivity : BaseViewBindingActivity {// 刷新声音资源 data?.let { - // 传给上个页面 - setResult(RESULT_OK, it) - // 获取数据并刷新显示 audioFileUrl = it.getStringExtra(SoundSignatureActivity.AUDIO_FILE) val audioDuration = it.getIntExtra(SoundSignatureActivity.AUDIO_DURA, 0) @@ -401,13 +398,6 @@ class UserInfoModifyActivity : BaseViewBindingActivity { diff --git a/app/src/main/res/drawable-xhdpi/ic_audio_record.webp b/app/src/main/res/drawable-xhdpi/ic_audio_record.webp new file mode 100644 index 0000000000000000000000000000000000000000..af20d33fa9de3786fe9029d33b6fb75edd3b916d GIT binary patch literal 1076 zcmWIYbaT^TVPFV%bqWXzu<(%wvh|e@a0r}dHJ_9lesNCue3$ASPv-MGKB!&$KRQ3T zA>j75Rax^t$Gks!ccqIQTcw60cX@gFzBBemw)LuKn>iaw^hJXLueM1)NXsxsUCH8m*(kC}WwuVX;t93aH&qUneU^^h zJfDSS%YUoAF&i506m6HABmdktXwu^ZS21UY=a*+@osXY+XwSAlf#fsXu8Dyr{ePAl zs1-2qCNxBDUsm^b=>k?co-<|N_PEy0(g>-St>2tJfmc-CsEXU5j)xa87y7G)+TC!Q7w3BjZUmjfLQKm8jTTuyHDy&ZYp?6HmY zIp>_)+j4JjEA`t{nDg$u_ulGnd*=&WtY^);t#Q}z*#|)eFi3v(cIU@mzrSA(|8_>2 z6D0I!(w>9C^%BWFhQ}m+7iSr$Gv6<72eKcF-g)UgUF+rE$y<^{V-WgjyiI*;c@Sg&^Vj0wu*$u?F1Idh)+_CMeQO_otf|b5oR$hg z!4Ge>iOk>n*2L%e$31(pW-ZGEq4ouDAMg9fu(sXa?69ER`K7UKi4tJs({S$ivESd1 z9p;;H;^sP@az0_vEj4U=aw4#yvMDA3Q$&ZvC6(&=~t; db8Y_IhvK&kvX38qKHuJc|BmD^=IQJV3;@TY1F`@B literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_user_info.xml b/app/src/main/res/layout/activity_user_info.xml index 691288ceb..c6bf45e29 100644 --- a/app/src/main/res/layout/activity_user_info.xml +++ b/app/src/main/res/layout/activity_user_info.xml @@ -328,7 +328,7 @@ android:layout_height="wrap_content"/> - + + + + + + + + 該用戶暫未加入房間 聲音還未保存,確認退出嗎? 聲音還未錄製完成,確認退出嗎? + 錄制聲音卡 \ No newline at end of file