From 17da9fed96dd6888c086c07ebe6da894e02477c3 Mon Sep 17 00:00:00 2001 From: huangjian Date: Mon, 10 Oct 2022 17:18:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=BF=E9=97=B4=E6=92=AD=E6=94=BE=E8=83=8C?= =?UTF-8?q?=E6=99=AF=E9=9F=B3=E4=B9=90=E5=85=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../avroom/fragment/BaseRoomFragment.kt | 135 ++++++++++++------ .../drawable/bg_single_room_rank_entrance.xml | 6 +- .../res/layout/fragment_av_room_game.xml | 10 ++ .../res/layout/fragment_single_room.xml | 11 ++ .../moshen/music/widget/MusicPlayerView.java | 64 +-------- .../res/drawable-xhdpi/icon_music_flag.png | Bin 2974 -> 1684 bytes .../res/layout/layout_music_player_view.xml | 30 ---- 7 files changed, 116 insertions(+), 140 deletions(-) diff --git a/app/src/main/java/com/mango/moshen/avroom/fragment/BaseRoomFragment.kt b/app/src/main/java/com/mango/moshen/avroom/fragment/BaseRoomFragment.kt index 5d687bbcc..c55f81373 100644 --- a/app/src/main/java/com/mango/moshen/avroom/fragment/BaseRoomFragment.kt +++ b/app/src/main/java/com/mango/moshen/avroom/fragment/BaseRoomFragment.kt @@ -14,6 +14,8 @@ import android.text.TextUtils import android.view.MotionEvent import android.view.View import android.view.ViewStub +import android.view.animation.AnimationUtils +import android.view.animation.LinearInterpolator import android.widget.EditText import android.widget.ImageView import android.widget.RelativeLayout @@ -25,14 +27,45 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.BaseViewHolder -import com.netease.nim.uikit.common.antispam.AntiSpamEvent -import com.netease.nimlib.sdk.StatusCode -import com.netease.nimlib.sdk.chatroom.ChatRoomMessageBuilder -import com.netease.nimlib.sdk.chatroom.model.ChatRoomKickOutEvent -import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage -import com.orhanobut.logger.Logger -import com.tbruyelle.rxpermissions2.RxPermissions -import com.trello.rxlifecycle3.android.FragmentEvent +import com.mango.core.Constants +import com.mango.core.DemoCache +import com.mango.core.UriProvider +import com.mango.core.auth.AuthModel +import com.mango.core.bean.RoomMicInfo +import com.mango.core.gift.GiftModel +import com.mango.core.gift.bean.GiftInfo +import com.mango.core.helper.AtProxy +import com.mango.core.home.bean.BannerInfo +import com.mango.core.im.custom.bean.RoomFollowOwnerAttachment +import com.mango.core.im.custom.bean.RoomFollowOwnerAttachment2 +import com.mango.core.manager.AudioEngineManager +import com.mango.core.manager.AvRoomDataManager +import com.mango.core.manager.IMNetEaseManager +import com.mango.core.manager.RoomEvent +import com.mango.core.mentoring_relationship.event.MentoringStopCountingEvent +import com.mango.core.music.event.MusicPauseEvent +import com.mango.core.music.event.MusicPlayingEvent +import com.mango.core.music.event.MusicStopEvent +import com.mango.core.room.anotherroompk.ShowGiftDialogEvent +import com.mango.core.room.anotherroompk.ShowUserInfoDialogEvent +import com.mango.core.room.bean.RoomContributeUserInfo +import com.mango.core.room.bean.RoomInfo +import com.mango.core.room.event.RoomAtEvent +import com.mango.core.room.event.RoomClearScreenEvent +import com.mango.core.room.game.GameStatus +import com.mango.core.room.giftvalue.helper.GiftValueMrg +import com.mango.core.room.queue.bean.MicMemberInfo +import com.mango.core.share.bean.SessionType +import com.mango.core.statistic.StatisticManager +import com.mango.core.statistic.protocol.StatisticsProtocol +import com.mango.core.super_admin.SaConstant +import com.mango.core.super_admin.model.SuperAdminModel +import com.mango.core.super_admin.util.SuperAdminUtil +import com.mango.core.user.UserModel +import com.mango.core.user.bean.BaseInfo +import com.mango.core.user.bean.UserInfo +import com.mango.core.utils.CurrentTimeUtils +import com.mango.core.utils.net.VipLevelNotEnoughException import com.mango.moshen.R import com.mango.moshen.avroom.BottomViewListenerWrapper import com.mango.moshen.avroom.SoftKeyBoardListener @@ -56,6 +89,8 @@ import com.mango.moshen.event.OpenRoomIntroEvent import com.mango.moshen.friend.view.SelectFriendActivity import com.mango.moshen.home.adapter.RoomActAdapter import com.mango.moshen.home.adapter.RoomActAdapter.RoomActClickListener +import com.mango.moshen.music.widget.MusicPlayerView +import com.mango.moshen.room_chat.activity.RoomMsgActivity import com.mango.moshen.shipantics.PullRadishActivity import com.mango.moshen.treasure_box.widget.GoldBoxHelper import com.mango.moshen.ui.utils.loadAvatar @@ -71,51 +106,20 @@ import com.mango.moshen.ui.widget.rollviewpager.RollPagerView import com.mango.moshen.ui.widget.rollviewpager.Util import com.mango.moshen.ui.widget.rollviewpager.hintview.ColorPointHintView import com.mango.moshen.utils.KeyBoardUtils -import com.mango.moshen.music.widget.MusicPlayerView -import com.mango.moshen.room_chat.activity.RoomMsgActivity import com.mango.xchat_android_constants.XChatConstants -import com.mango.core.Constants -import com.mango.core.DemoCache -import com.mango.core.UriProvider -import com.mango.core.auth.AuthModel -import com.mango.core.bean.RoomMicInfo -import com.mango.core.gift.GiftModel -import com.mango.core.gift.bean.GiftInfo -import com.mango.core.helper.AtProxy -import com.mango.core.home.bean.BannerInfo -import com.mango.core.im.custom.bean.RoomFollowOwnerAttachment -import com.mango.core.im.custom.bean.RoomFollowOwnerAttachment2 -import com.mango.core.manager.AudioEngineManager -import com.mango.core.manager.AvRoomDataManager -import com.mango.core.manager.IMNetEaseManager -import com.mango.core.manager.RoomEvent -import com.mango.core.mentoring_relationship.event.MentoringStopCountingEvent -import com.mango.core.room.anotherroompk.ShowGiftDialogEvent -import com.mango.core.room.anotherroompk.ShowUserInfoDialogEvent -import com.mango.core.room.bean.RoomContributeUserInfo -import com.mango.core.room.bean.RoomInfo -import com.mango.core.room.event.RoomAtEvent -import com.mango.core.room.event.RoomClearScreenEvent -import com.mango.core.room.game.GameStatus -import com.mango.core.room.giftvalue.helper.GiftValueMrg -import com.mango.core.room.queue.bean.MicMemberInfo -import com.mango.core.share.bean.SessionType -import com.mango.core.statistic.StatisticManager -import com.mango.core.statistic.protocol.StatisticsProtocol -import com.mango.core.super_admin.SaConstant -import com.mango.core.super_admin.model.SuperAdminModel -import com.mango.core.super_admin.util.SuperAdminUtil -import com.mango.core.user.UserModel -import com.mango.core.user.bean.BaseInfo -import com.mango.core.user.bean.UserInfo -import com.mango.core.utils.CurrentTimeUtils -import com.mango.core.utils.LogUtils -import com.mango.core.utils.net.VipLevelNotEnoughException import com.mango.xchat_android_library.net.rxnet.utils.RxNetWorkUtils import com.mango.xchat_android_library.rxbus.RxBus import com.mango.xchat_android_library.utils.* import com.mango.xchat_android_library.utils.config.BasicConfig +import com.netease.nim.uikit.common.antispam.AntiSpamEvent import com.netease.nim.uikit.common.util.sys.ScreenUtil +import com.netease.nimlib.sdk.StatusCode +import com.netease.nimlib.sdk.chatroom.ChatRoomMessageBuilder +import com.netease.nimlib.sdk.chatroom.model.ChatRoomKickOutEvent +import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage +import com.orhanobut.logger.Logger +import com.tbruyelle.rxpermissions2.RxPermissions +import com.trello.rxlifecycle3.android.FragmentEvent import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.Disposable import org.greenrobot.eventbus.EventBus @@ -143,6 +147,7 @@ open class BaseRoomFragment?> : private var musicPlayerView: MusicPlayerView? = null private var ivRadishEntrance: View? = null private var mVsMusicPlayer: ViewStub? = null + private var ivMusicFlag: ImageView? = null private var mDisposable: Disposable? = null private var isCloseScreen = false private var isOpenRedPackage = false @@ -188,6 +193,7 @@ open class BaseRoomFragment?> : inputSend = mView.findViewById(R.id.input_send) microView = mView.findViewById(R.id.micro_view) mVsMusicPlayer = mView.findViewById(R.id.vs_music_player) + ivMusicFlag = mView.findViewById(R.id.iv_music_flag) ivRadishEntrance = mView.findViewById(R.id.iv_radish_entrance) messageView.setClickConsumer { if (!TextUtils.isEmpty(it) && it != "0") { @@ -224,6 +230,9 @@ open class BaseRoomFragment?> : atProxy?.insertAitMember(account, name) } softKeyboardListener() + ivMusicFlag?.setOnClickListener { + musicPlayerView?.showBoxInAnim() + } } @SuppressLint("CheckResult") @@ -518,11 +527,27 @@ open class BaseRoomFragment?> : musicPlayerView = mVsMusicPlayer?.inflate() as? MusicPlayerView } musicPlayerView?.visibility = View.VISIBLE + ivMusicFlag?.isVisible = true } else { musicPlayerView?.visibility = View.GONE + ivMusicFlag?.isVisible = false } } + private fun playFlagRotateAnim() { + val operatingAnim = AnimationUtils.loadAnimation( + context, R.anim.rotate_quick_anim + ) + val lin = LinearInterpolator() + operatingAnim.interpolator = lin + ivMusicFlag?.startAnimation(operatingAnim) + } + + private fun stopFlagRotateAnim() { + ivMusicFlag?.clearAnimation() + } + + /** * 检查是否关注房主,然后弹出 */ @@ -626,6 +651,22 @@ open class BaseRoomFragment?> : messageView.clear() } + @Subscribe(threadMode = ThreadMode.MAIN) + open fun onMusicPlaying(event: MusicPlayingEvent?) { + playFlagRotateAnim() + } + + @Subscribe(threadMode = ThreadMode.MAIN) + open fun onMusicPause(event: MusicPauseEvent?) { + stopFlagRotateAnim() + } + + @Subscribe(threadMode = ThreadMode.MAIN) + open fun onMusicStop(event: MusicStopEvent?) { + stopFlagRotateAnim() + } + + @CallSuper override fun onClick(v: View) { when (v.id) { diff --git a/app/src/main/res/drawable/bg_single_room_rank_entrance.xml b/app/src/main/res/drawable/bg_single_room_rank_entrance.xml index 3186d1d1a..c906cd255 100644 --- a/app/src/main/res/drawable/bg_single_room_rank_entrance.xml +++ b/app/src/main/res/drawable/bg_single_room_rank_entrance.xml @@ -3,9 +3,9 @@ android:shape="rectangle"> diff --git a/app/src/module_mini_world/res/layout/fragment_av_room_game.xml b/app/src/module_mini_world/res/layout/fragment_av_room_game.xml index 792ebe04e..3e04d4ac6 100644 --- a/app/src/module_mini_world/res/layout/fragment_av_room_game.xml +++ b/app/src/module_mini_world/res/layout/fragment_av_room_game.xml @@ -136,6 +136,16 @@ android:textSize="10dp" android:visibility="visible" /> + + + + + H8+1+{G zFTVTOoqf#QJ8Ns$fq}XAp6`6Wd+xdCobS7W8xSd_0CE8@kbh(TT!1>SL;@O+Fn>`X zCWKJu`y`g(tOiRd6<|K#OM!E0L%~LXHX($%fvhAeU@4^nECM`P&5~X@4zvg%)D1Wi zN5E1_H&ALmdPjz{R8pP}3L%nq<7|PYlzAqst*+f*QT9?l zd%MXhE~&r+om8-+1Qx~6?ybPPZY+goj^KZBFurZI6g2dsm*YZ+>*kXMvo}!TU@IpH zk7*>j+J|fZ6b5`&N8rhka*G;f`104ZD%r9Ey6Rt~3zs zLWqDcTg0ktx~@6`OCo4<2H{;hhQhPf1bYb${)y1xB;;yHRAZn?sizWktO+BnSjYNx zV{q#bJS*O0=)MddQyHUP0jpNgQ8*~?o}+nu7=LYAoaD4T+B7U~x?5Z|I8 zk_ym-)&E<~u?cORvu@0b`^&8iUupA*{R+4kD71@(tHg@W6JC`-)>^tA#L?-Ly>A_F z;PR_sv}GM$l*-GNhf}=^nlP_P<9xAnuixMrw%LXwtbkQ2Q+;km`I+F-D9Kr!N-|N2 zcYp0@iq3ZeU)dQ&o6!*h%F`Vo(KQ@YcoyLb&X-`ikB6tJpnYI&1Uj^JOJ zfJsWph47c){^%}BPNojp$dyw`WO3IRH9V}~to2fF*YBrv!hA~g)RjRJ3Rt~xY8{qQ zLg2eV@NPGr)=?Ck_8IH64*7wm+TV#BmVbz_@>l{{sK01dJex0AC$#xe8aLAL7Q-jn zF(?xXxH_8*kwR-80ZwYSJknYzRw%7r%{MUfD zbM1w8Wnsb1+U12}dtocVq3~{)4v48uA+kK;m<*o$%p)_hBlwI+$2j*@1uR1=_!w zNb%GMD8A%ioc_`|N^7ac4iZ?>O7i(6Qmv$;5-!G(ca)R!$Xv<}JD6Bk`H=dh%`&-a zm8co#aEzYT92E}B;4wn80>pQumVa0)O--Qm&RTMv_6B@F{iX!6YB|-9IRw@VhvU+$ zj2>uTGmKac}IK1J0V4#(-GS#@lVo1Z!YFUOEicd2GZ zUfg{j<nrMv((AVC|6{u~#nV~!8GVYEo`d?fp`8MK z>wGdufxdM<%A`KATjsM@_b|II2-W?ujR002ovPDHLkV1g%d BCrtnV delta 2956 zcmV;73v=|84W1W}Fn0+$&q*|C?#@<2ntDv z!FFuNiS0P{dLQ@BeAPEIclWO2fO!-NOV+NvyZ4?sbG~!FZ+}+cEA}J4VtDbn0pCZ% zUB=*QqxBUASPqCbLzE>T0Abn~IzgaAfZPMZ8)1X$enGV6KPyq63Gfy=mMfX)CmOgb z(xx*4AtFGNfg!*EFk}D{01*HIK?Df_MItYx*a0b?-qvu|u1^d6Qvtq>_NAAgd9yaO zxok{RNCpvrh=0g})dVO4B!dSbG`tW73$=*j6%TS(ykSF&KkJNHjrUJ{0PiNz1Oq2IJp1VGK@~2*-@UlreTe5WU z;;BQ2k3X{Kl1su*0zN0e_tVHGZKAD3qI8K2hzPBaSbvNFDF_%)LJDM6;AFvyAp4xG zTm)i#i5B4)iAien1aBSq5z>k^wWj0%>%J3`VJp zDK7)^fU7_qNM_jm&o79<`^6NDL2p>bBx%cZ1`>5r^$IfAZ*RHa;ORhrEa3ZT`0-Gi zM+<)IZ-18a(JJ`zK#2&iL?;|5&t?@EOM-RnL4ymD!Snxwf6e_p9EBK)G?Wmi6B6}8 z_93D*FScFSKO5-N0)Bvo)|U;QFOU|CDZtG#hdM|o0h9?ipo{1=MZet%25Z32WY#Uh z0go3$IH?W#qL3W~^-`iqyWKEaK%_Ogg5dh zuz$NSX&1*9$i6+H4NhonrO_Z2WkA>c zW4uo1=SlRB5y_EgXn%oB`(h}p5*hpQL4RFF5qcJ|KHZXA&TJV6=#q36SJgLKc9~uy zyalq&0r=~QW9XS?mc6EVw+t|*BP+pqQXw6Pb+5E7`_rs|H${WDlnw3R?dcL3%!kAg z3XwN1a_!bxPj!q`G#JNn0yw{Z`@BWCAYEtQ&p~G;#Gr|+MQ$DG!>Eqjbqv4}Pk+Xs z;1`e;3fVxt-F^15OJ@cAvuJR8LF-$yBygcfVS)@Mt>MQ~s6NJ3UIksPd}nopElo=~ z5GBpHJur|2jE_{iSIu9VUSvV-k3QT$t<_ITcV!sIKmF+TW{@#BD_B=4fa< zucL-DNMfFlm`;MNID)ey3)pVIzki`$RD9E=K?Zj(Xsvkk(_=?)s8pY8 zg=N`r`UzoW(Ga8`-g!>@lQn>U8V+9*>ZqGRHgi{H&E9RJ1Ce-S{t{jqzwQ>|ZpzyI z*1RSQm_z2_;ln7$(n?&f3e@S>IR@E&BkgrOF9>$NdS1u1HGnr32OcbdwtwceMypU( zPu0~sR+C%jbX>hbQX&jutH&z?5$?dDiVg}O;hTF#{&OFaPGQ%%U9LL{JjyeYI z!mAc&dkt@CmFKn{C2m2{Ab%wqRSE%$Ew8sxG?bgw2szrIHXA+f@{cQ?Z(E=kzC8JlTKW0{QSGQW`Eq6YqnMv8iS4f z2dsYM;7Ec^g08fpHYN-LNb3}hDnPwdSH0f8{M7{D{@13o{wCjmM;UI;V+ky z^2JdB9`_TDHD>FPMQ7vObiLK@q0%%SANt6>mS{Oo2RfDqUx+naFBKYea0kbtTSUBtT*YhZa_GurZ88l-W$c-r!aWO@*hMqLFO46^ z_VJNg2_$>vS!BVB;U8}9EyF>8jFK1cYEMXF{bc_$)1)`#jkds88Wtp1a?K4Ki!CaJ z`@W z@{nMILn$-{sj;^^x@v9huE~LG3MT5FG#Ul1QMTLfSejYQmu7O<(A4Vt0^a&~6msu( zpn=}fG=4pBxPLO0*hTT8D-Pjob2hh7AY`OMPAYJ4>{;Gb8yp@xV&XgW1Db zzw?6t*;Me$|19hL%_;5W4^H-N&qv{{tmA?txPs8jU zF|$@i0(fSqAG;>~+?Nc9*pCzQVA3_%y3!mPRt^CvsIH#Q&f4aO(XSity`@aFV^VAI zR9mtI=v^V9v9+S6^{c!(DqucX3vP}!0-o#NF7fqc|cw+JSJeDV<;4Ix1Aqe}X zC-J+1USDjk2abKZQh>hMueygj&f*!+CS0J9QNg;N63^zGTsh%M0DWhuUJkqn;rg~)vXXV-nr1Sf!aIP*mU{8(m5Wa#M1cA z$l=FJVe}}UIC7YmkZsJqNM>uPh z0W+(PS;0WVl$1}YLg|Y;(2hZ`*taj;mJ2qAhBlY9Zc2h?#<{!W0iCVNrk-~V%PI*g z0rqWf8#7W-AhA=De5j|Z>x=)&Ab)wJ^^JoE=hvsq1|oA;IWnDGh^%W{kX|OvTbWTx zfCT~}^HPW%LetYdt5*Ggzm!RWj-RjYd#_8C#nlFMMWnHuKy3tMi6|hV0zr)Pq$Ek$ zuf57q)V=qji@w~iy=DXcW&Q6HzvK9_fXwwi{{v3wM#F;S=7<0Q002ovP6b4+LSTYU C-JE{_ diff --git a/app/src/module_music/res/layout/layout_music_player_view.xml b/app/src/module_music/res/layout/layout_music_player_view.xml index ea5fb7c16..d18c48030 100644 --- a/app/src/module_music/res/layout/layout_music_player_view.xml +++ b/app/src/module_music/res/layout/layout_music_player_view.xml @@ -4,36 +4,6 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - - - - - - - - -