Selaa lähdekoodia

feat: 换开麦闭麦图

tongmengxiao 9 kuukautta sitten
vanhempi
commit
b2c28ffb15

+ 0 - 2
room/src/main/java/com/swago/room/audio/AudioSeatAdapter.kt

@@ -1,6 +1,5 @@
 package com.swago.room.audio
 package com.swago.room.audio
 
 
-import android.graphics.drawable.Drawable
 import android.view.View
 import android.view.View
 import com.chad.library.adapter.base.BaseQuickAdapter
 import com.chad.library.adapter.base.BaseQuickAdapter
 import com.chad.library.adapter.base.BaseViewHolder
 import com.chad.library.adapter.base.BaseViewHolder
@@ -10,7 +9,6 @@ import com.opensource.svgaplayer.SVGAParser
 import com.opensource.svgaplayer.SVGAVideoEntity
 import com.opensource.svgaplayer.SVGAVideoEntity
 import com.swago.baseswago.cusview.SwagoImageView
 import com.swago.baseswago.cusview.SwagoImageView
 import com.swago.baseswago.model.live.audio.AudioSeatModel
 import com.swago.baseswago.model.live.audio.AudioSeatModel
-import com.swago.baseswago.util.LogUtil
 import com.swago.room.R
 import com.swago.room.R
 import java.net.URL
 import java.net.URL
 
 

+ 2 - 1
room/src/main/java/com/swago/room/base/BaseComFragment.kt

@@ -58,6 +58,7 @@ import com.swago.room.databinding.FragmentBaseComBinding
 import com.swago.room.dialog.AudienceListDialog
 import com.swago.room.dialog.AudienceListDialog
 import com.swago.room.dialog.FanClubAnchorDialog
 import com.swago.room.dialog.FanClubAnchorDialog
 import com.swago.room.dialog.FanClubForUserDialog
 import com.swago.room.dialog.FanClubForUserDialog
+import com.swago.room.dialog.FooterMoreDialog
 import com.swago.room.dialog.JoinFanClubDialog
 import com.swago.room.dialog.JoinFanClubDialog
 import com.swago.room.dialog.LevelUpDialog
 import com.swago.room.dialog.LevelUpDialog
 import com.swago.room.dialog.MessageListDialog
 import com.swago.room.dialog.MessageListDialog
@@ -225,7 +226,7 @@ abstract class BaseComFragment<T : FragmentBaseComBinding> : BaseXFragment<T>(),
         chatAdapter.setNewData(dataChatList)
         chatAdapter.setNewData(dataChatList)
         context?.let {
         context?.let {
             svgPlayerManager.init(it, binding.xSvgaPlayer, binding.svgDanDaoView)
             svgPlayerManager.init(it, binding.xSvgaPlayer, binding.svgDanDaoView)
-            joinAnimalManager.init(it, binding.xSvgaPlayer)
+            joinAnimalManager.init(it, binding.xJoinSvgaPlayer)
         }
         }
 
 
         activity?.let {
         activity?.let {

+ 3 - 0
room/src/main/java/com/swago/room/gift/control/SvgPlayerManager.kt

@@ -1,11 +1,13 @@
 package com.swago.room.gift.control
 package com.swago.room.gift.control
 
 
 import android.content.Context
 import android.content.Context
+import com.opensource.svgaplayer.SVGACache
 import com.opensource.svgaplayer.SVGAParser
 import com.opensource.svgaplayer.SVGAParser
 import com.swago.baseswago.baseroom.IRoomActiveListener
 import com.swago.baseswago.baseroom.IRoomActiveListener
 import com.swago.baseswago.baseroom.IRoomInfo
 import com.swago.baseswago.baseroom.IRoomInfo
 import com.swago.baseswago.baseroom.SwagoRoomManager
 import com.swago.baseswago.baseroom.SwagoRoomManager
 import com.swago.baseswago.model.live.gift.IMGiftModel
 import com.swago.baseswago.model.live.gift.IMGiftModel
+import com.swago.baseswago.util.AppContext
 import com.swago.baseswago.util.LogUtil
 import com.swago.baseswago.util.LogUtil
 import java.util.*
 import java.util.*
 
 
@@ -20,6 +22,7 @@ class SvgPlayerManager : IRoomActiveListener {
     private var svgDanDaoView: SvgDanDaoView? = null
     private var svgDanDaoView: SvgDanDaoView? = null
 
 
     fun init(context: Context, xSvgPlayer: XSvgPlayer,svgDanDaoView: SvgDanDaoView) {
     fun init(context: Context, xSvgPlayer: XSvgPlayer,svgDanDaoView: SvgDanDaoView) {
+        SVGACache.onCreate(AppContext.getContext(), SVGACache.Type.FILE)
         SVGAParser.shareParser().init(context)
         SVGAParser.shareParser().init(context)
         this.xSvgPlayer = xSvgPlayer
         this.xSvgPlayer = xSvgPlayer
         this.svgDanDaoView = svgDanDaoView
         this.svgDanDaoView = svgDanDaoView

+ 15 - 8
room/src/main/java/com/swago/room/gift/control/XSvgPlayer.kt

@@ -50,11 +50,11 @@ class XSvgPlayer : ConstraintLayout {
        if (imGiftModel.svga.isNullOrEmpty()){
        if (imGiftModel.svga.isNullOrEmpty()){
            return
            return
        }
        }
-        svgaParser!!.let {
+        svgaParser?.let {
             LogUtil.d("svgPlayer","xxx--$isPlaying")
             LogUtil.d("svgPlayer","xxx--$isPlaying")
             it.decodeFromURL(URL(imGiftModel.svga),object:SVGAParser.ParseCompletion{
             it.decodeFromURL(URL(imGiftModel.svga),object:SVGAParser.ParseCompletion{
                 override fun onComplete(videoItem: SVGAVideoEntity) {
                 override fun onComplete(videoItem: SVGAVideoEntity) {
-                    binding!!.apply {
+                    binding?.apply {
                         val drawable = SVGADrawable(videoItem)
                         val drawable = SVGADrawable(videoItem)
                         svgaImageView.visibility = View.VISIBLE
                         svgaImageView.visibility = View.VISIBLE
                         svgaImageView.setImageDrawable(drawable)
                         svgaImageView.setImageDrawable(drawable)
@@ -129,15 +129,22 @@ class XSvgPlayer : ConstraintLayout {
                         nextSvgPlay?.invoke()
                         nextSvgPlay?.invoke()
                     }
                     }
                 }
                 }
+            },object : SVGAParser.PlayCallback{
+                override fun onPlay(file: List<File>) {
+                    LogUtil.d("svgPlayer","onPlay--${file.size}")
+                }
+
             })
             })
 
 
-            handler.postDelayed({
-                if (!callbackExecuted){
-                    playJoinRoomSvga(userJoinRoomBean)
-                    LogUtil.d("JoinAnimalManager","callbackExecuted")
-                }
+            if(handler != null){
+                handler.postDelayed({
+                    if (!callbackExecuted && binding?.svgaImageView?.isAnimating == false){
+                        playJoinRoomSvga(userJoinRoomBean)
+                        LogUtil.d("JoinAnimalManager","callbackExecuted")
+                    }
 
 
-            },7000)
+                },7000)
+            }
 
 
         }
         }
     }
     }

+ 2 - 2
room/src/main/java/com/swago/room/widget/AnchorFooterView.kt

@@ -115,10 +115,10 @@ class AnchorFooterView : ConstraintLayout, IFooter, IRoomActiveListener {
             override fun onClick() {
             override fun onClick() {
                 if (isMute){
                 if (isMute){
                     AgoraManager.setMute(false)
                     AgoraManager.setMute(false)
-                    binding.ivMute.setImageResource(R.mipmap.live_unmute)
+                    binding.ivMute.setImageResource(R.mipmap.live_unmute_white)
                 }else{
                 }else{
                     AgoraManager.setMute(true)
                     AgoraManager.setMute(true)
-                    binding.ivMute.setImageResource(R.mipmap.live_mute)
+                    binding.ivMute.setImageResource(R.mipmap.live_mute_white)
                 }
                 }
                 isMute = !isMute
                 isMute = !isMute
             }
             }

+ 2 - 2
room/src/main/res/layout/dialog_audio_action.xml

@@ -148,7 +148,7 @@
         <ImageView
         <ImageView
             android:id="@+id/ivMuteMic"
             android:id="@+id/ivMuteMic"
             android:padding="10dp"
             android:padding="10dp"
-            android:src="@mipmap/live_mute"
+            android:src="@mipmap/live_mute_white"
             android:layout_width="50dp"
             android:layout_width="50dp"
             android:layout_height="50dp"/>
             android:layout_height="50dp"/>
         <TextView
         <TextView
@@ -179,7 +179,7 @@
         <ImageView
         <ImageView
             android:id="@+id/ivUnMuteMic"
             android:id="@+id/ivUnMuteMic"
             android:padding="10dp"
             android:padding="10dp"
-            android:src="@mipmap/live_unmute"
+            android:src="@mipmap/live_unmute_white"
             android:layout_width="50dp"
             android:layout_width="50dp"
             android:layout_height="50dp"/>
             android:layout_height="50dp"/>
         <TextView
         <TextView

+ 1 - 1
room/src/main/res/layout/dialog_invited_by_anchor_mic.xml

@@ -66,7 +66,7 @@
                 android:id="@+id/tvAgree"
                 android:id="@+id/tvAgree"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
-                android:drawableStart="@mipmap/live_unmute"
+                android:drawableStart="@mipmap/live_unmute_white"
                 android:gravity="center"
                 android:gravity="center"
                 android:drawablePadding="5dp"
                 android:drawablePadding="5dp"
                 android:layout_gravity="center"
                 android:layout_gravity="center"

+ 4 - 0
room/src/main/res/layout/fragment_base_com.xml

@@ -187,6 +187,10 @@
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="match_parent"/>
         android:layout_height="match_parent"/>
 
 
+    <com.swago.room.gift.control.XSvgPlayer
+        android:id="@+id/xJoinSvgaPlayer"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"/>
 
 
     <com.swago.room.gift.control.SvgDanDaoView
     <com.swago.room.gift.control.SvgDanDaoView
         android:id="@+id/svgDanDaoView"
         android:id="@+id/svgDanDaoView"

+ 1 - 1
room/src/main/res/layout/item_audio_seat.xml

@@ -39,7 +39,7 @@
         android:id="@+id/ivAudioState"
         android:id="@+id/ivAudioState"
         app:layout_constraintEnd_toEndOf="@+id/clAvatar"
         app:layout_constraintEnd_toEndOf="@+id/clAvatar"
         app:layout_constraintBottom_toBottomOf="@+id/clAvatar"
         app:layout_constraintBottom_toBottomOf="@+id/clAvatar"
-        android:src="@mipmap/live_mute"
+        android:src="@mipmap/live_mute_white"
         android:visibility="invisible"
         android:visibility="invisible"
         tools:visibility="visible"
         tools:visibility="visible"
         android:layout_width="15dp"
         android:layout_width="15dp"

+ 1 - 1
room/src/main/res/layout/layout_anchor_footer_view.xml

@@ -119,7 +119,7 @@
         android:background="@drawable/shape_80000000_20"
         android:background="@drawable/shape_80000000_20"
         app:layout_constraintTop_toTopOf="parent"
         app:layout_constraintTop_toTopOf="parent"
         app:layout_constraintEnd_toStartOf="@+id/ivMore"
         app:layout_constraintEnd_toStartOf="@+id/ivMore"
-        android:src="@mipmap/live_unmute"
+        android:src="@mipmap/live_unmute_white"
         android:padding="7dp"
         android:padding="7dp"
         android:layout_width="40dp"
         android:layout_width="40dp"
         android:layout_height="40dp"/>
         android:layout_height="40dp"/>

BIN
room/src/main/res/mipmap-xxhdpi/live_mute.png


+ 0 - 0
room/src/main/res/mipmap-xxhdpi/live_mute.webp → room/src/main/res/mipmap-xxhdpi/live_mute_white.webp


BIN
room/src/main/res/mipmap-xxhdpi/live_unmute.png


+ 0 - 0
room/src/main/res/mipmap-xxhdpi/live_unmute.webp → room/src/main/res/mipmap-xxhdpi/live_unmute_white.webp