honghengqiang 2 лет назад
Родитель
Сommit
c17d6915f1

+ 4 - 1
.idea/misc.xml

@@ -12,6 +12,9 @@
   <component name="DesignSurface">
   <component name="DesignSurface">
     <option name="filePathToZoomLevelMap">
     <option name="filePathToZoomLevelMap">
       <map>
       <map>
+        <entry key="../../.gradle/caches/transforms-2/files-2.1/73a4f10cb097d97509819c253551a861/jetified-MultiStatePage-2.0.2/res/layout/mult_state_empty.xml" value="0.39166666666666666" />
+        <entry key="../../.gradle/caches/transforms-2/files-2.1/73a4f10cb097d97509819c253551a861/jetified-MultiStatePage-2.0.2/res/layout/mult_state_error.xml" value="0.39166666666666666" />
+        <entry key="../../.gradle/caches/transforms-2/files-2.1/73a4f10cb097d97509819c253551a861/jetified-MultiStatePage-2.0.2/res/layout/mult_state_loading.xml" value="0.39166666666666666" />
         <entry key="app/src/main/res/drawable-v24/ic_launcher_foreground.xml" value="0.39375" />
         <entry key="app/src/main/res/drawable-v24/ic_launcher_foreground.xml" value="0.39375" />
         <entry key="app/src/main/res/drawable/default_splash.xml" value="0.33" />
         <entry key="app/src/main/res/drawable/default_splash.xml" value="0.33" />
         <entry key="app/src/main/res/drawable/ic_launcher_background.xml" value="0.39375" />
         <entry key="app/src/main/res/drawable/ic_launcher_background.xml" value="0.39375" />
@@ -179,7 +182,7 @@
         <entry key="room/src/main/res/layout/layout_pk_view.xml" value="0.5" />
         <entry key="room/src/main/res/layout/layout_pk_view.xml" value="0.5" />
         <entry key="room/src/main/res/layout/layout_svg_dan_dao_view.xml" value="0.36302083333333335" />
         <entry key="room/src/main/res/layout/layout_svg_dan_dao_view.xml" value="0.36302083333333335" />
         <entry key="room/src/main/res/layout/layout_user_footer_view.xml" value="0.35688405797101447" />
         <entry key="room/src/main/res/layout/layout_user_footer_view.xml" value="0.35688405797101447" />
-        <entry key="room/src/main/res/layout/layout_user_header_view.xml" value="0.44811655680338547" />
+        <entry key="room/src/main/res/layout/layout_user_header_view.xml" value="0.9297190348307293" />
         <entry key="room/src/main/res/layout/layout_user_room.xml" value="0.25" />
         <entry key="room/src/main/res/layout/layout_user_room.xml" value="0.25" />
         <entry key="room/src/main/res/layout/layout_view_stub_user_end.xml" value="0.309375" />
         <entry key="room/src/main/res/layout/layout_view_stub_user_end.xml" value="0.309375" />
         <entry key="room/src/main/res/layout/layout_view_waft.xml" value="0.39166666666666666" />
         <entry key="room/src/main/res/layout/layout_view_waft.xml" value="0.39166666666666666" />

+ 1 - 0
baseswago/src/main/java/com/swago/baseswago/model/live/mic/RoomLianMaiInfo.kt

@@ -2,6 +2,7 @@ package com.swago.baseswago.model.live.mic
 
 
 data class RoomLianMaiInfo(
 data class RoomLianMaiInfo(
     val lianMai:Int,
     val lianMai:Int,
+    val room_state:Int,//0不在连麦 1正在连麦
     val userId:String = "0",//正在连麦的用户id
     val userId:String = "0",//正在连麦的用户id
     val userCode:String ="0",
     val userCode:String ="0",
     val nickName:String="",
     val nickName:String="",

+ 4 - 0
baseswago/src/main/java/com/swago/baseswago/util/TimeUtil.kt

@@ -75,4 +75,8 @@ object TimeUtil {
         val format = SimpleDateFormat("yyyy")
         val format = SimpleDateFormat("yyyy")
         return format.format(date).toInt()
         return format.format(date).toInt()
     }
     }
+
+    fun formatMin(time: Long):String{
+        return "${time/60}min"
+    }
 }
 }

BIN
baseswago/src/main/res/mipmap-xxhdpi/vip.png


BIN
baseswago/src/main/res/mipmap-xxhdpi/vip.webp


+ 10 - 10
baseswago/src/main/res/values-ar/strings.xml

@@ -187,14 +187,14 @@
     <string name="live_all_time">إجمالي وقت البث المباشر:</string>
     <string name="live_all_time">إجمالي وقت البث المباشر:</string>
     <string name="watcher_num">إجمالي المشاهدين:</string>
     <string name="watcher_num">إجمالي المشاهدين:</string>
     <string name="official">الرسمية</string>
     <string name="official">الرسمية</string>
-    <string name="apply_lian_mai_list">申请列表</string>
-    <string name="apply_lian_mai">申请连麦</string>
-    <string name="cancel_apply_lian_mai">取消申请</string>
-    <string name="apply_lian_mai_success">申请成功</string>
-    <string name="cancel_lian_mai_success">连麦取消成功</string>
-    <string name="you_have_refuse_lian_mai">您已拒绝该用户</string>
-    <string name="close_mic_content">您确定想要关闭连麦么?</string>
-    <string name="end_lian_mai">结束连麦</string>
-    <string name="lian_mai_ing_sure_close">您当前正在连麦,确定要关闭直播间么?</string>
-    <string name="anchor_refuse_you_lian_mai">主播拒绝了您的连麦申请</string>
+    <string name="apply_lian_mai_list">قائمة التطلبات</string>
+    <string name="apply_lian_mai">طلب للحصول على الجيست</string>
+    <string name="cancel_apply_lian_mai">إلغاء الطلب</string>
+    <string name="apply_lian_mai_success">اتصال بالنجاح</string>
+    <string name="cancel_lian_mai_success">إلغاء الجيست بالنجاح</string>
+    <string name="you_have_refuse_lian_mai">لقد رفضت اتصال المستخدم بالميكروفون</string>
+    <string name="close_mic_content">هل أنت متأكد أنك تريد إيقاف تشغيل الجيست؟</string>
+    <string name="end_lian_mai">انتهى الجيست</string>
+    <string name="lian_mai_ing_sure_close">أنت حاليًا متصل بالميكروفون، هل أنت متأكد أنك تريد إغلاق غرفة البث؟</string>
+    <string name="anchor_refuse_you_lian_mai">رفض المضيف طلبك للاتصال بالميكروفون</string>
 </resources>
 </resources>

+ 10 - 10
baseswago/src/main/res/values-in/strings.xml

@@ -191,14 +191,14 @@
     <string name="live_all_time">Durasi total live:</string>
     <string name="live_all_time">Durasi total live:</string>
     <string name="watcher_num">Jumlah penonton:</string>
     <string name="watcher_num">Jumlah penonton:</string>
     <string name="official">Resmi</string>
     <string name="official">Resmi</string>
-    <string name="apply_lian_mai_list">申请列表</string>
-    <string name="apply_lian_mai">申请连麦</string>
-    <string name="cancel_apply_lian_mai">取消申请</string>
-    <string name="apply_lian_mai_success">申请成功</string>
-    <string name="cancel_lian_mai_success">连麦取消成功</string>
-    <string name="you_have_refuse_lian_mai">您已拒绝该用户</string>
-    <string name="close_mic_content">您确定想要关闭连麦么?</string>
-    <string name="end_lian_mai">结束连麦</string>
-    <string name="lian_mai_ing_sure_close">您当前正在连麦,确定要关闭直播间么?</string>
-    <string name="anchor_refuse_you_lian_mai">主播拒绝了您的连麦申请</string>
+    <string name="apply_lian_mai_list">Daftar permohonan</string>
+    <string name="apply_lian_mai">Permohonan telepon</string>
+    <string name="cancel_apply_lian_mai">Batalkan permohonan</string>
+    <string name="apply_lian_mai_success">Permohonan sukses</string>
+    <string name="cancel_lian_mai_success">Batalkan permohonan sukses</string>
+    <string name="you_have_refuse_lian_mai">Anda telah menolak telepon dengan pengguna ini</string>
+    <string name="close_mic_content">Yakin henti telepon ini?</string>
+    <string name="end_lian_mai">Henti telepon</string>
+    <string name="lian_mai_ing_sure_close">Anda sedang telepon, apakah yakin menyelesaikan live?</string>
+    <string name="anchor_refuse_you_lian_mai">Host telah menolak permohonan telepon Anda.</string>
 </resources>
 </resources>

+ 10 - 10
baseswago/src/main/res/values-ms/strings.xml

@@ -188,14 +188,14 @@
     <string name="live_all_time">Total live broadcast time:</string>
     <string name="live_all_time">Total live broadcast time:</string>
     <string name="watcher_num">Total Viewers:</string>
     <string name="watcher_num">Total Viewers:</string>
     <string name="official">Rasmi</string>
     <string name="official">Rasmi</string>
-    <string name="apply_lian_mai_list">申请列表</string>
-    <string name="apply_lian_mai">申请连麦</string>
-    <string name="cancel_apply_lian_mai">取消申请</string>
-    <string name="apply_lian_mai_success">申请成功</string>
-    <string name="cancel_lian_mai_success">连麦取消成功</string>
-    <string name="you_have_refuse_lian_mai">您已拒绝该用户</string>
-    <string name="close_mic_content">您确定想要关闭连麦么?</string>
-    <string name="end_lian_mai">结束连麦</string>
-    <string name="lian_mai_ing_sure_close">您当前正在连麦,确定要关闭直播间么?</string>
-    <string name="anchor_refuse_you_lian_mai">主播拒绝了您的连麦申请</string>
+    <string name="apply_lian_mai_list">Senarai aplikasi</string>
+    <string name="apply_lian_mai">Mohon untuk Lianmai</string>
+    <string name="cancel_apply_lian_mai">batalkan permohonan</string>
+    <string name="apply_lian_mai_success">Permohonan yang berjaya</string>
+    <string name="cancel_lian_mai_success">Lianmai berjaya membatalkan</string>
+    <string name="you_have_refuse_lian_mai">Anda telah menolak sambungan pengguna kepada mikrofon</string>
+    <string name="close_mic_content">Adakah anda pasti mahu mematikan Lianmai?</string>
+    <string name="end_lian_mai">mikrofon tamat</string>
+    <string name="lian_mai_ing_sure_close">Anda sedang menyambung ke mikrofon, adakah anda pasti mahu menutup ruang langsung?</string>
+    <string name="anchor_refuse_you_lian_mai">Sauh menolak permohonan anda untuk Lianmai</string>
 </resources>
 </resources>

+ 10 - 10
baseswago/src/main/res/values/strings.xml

@@ -207,15 +207,15 @@
     <string name="live_all_time">Total live broadcast time:</string>
     <string name="live_all_time">Total live broadcast time:</string>
     <string name="watcher_num">Total Viewers:</string>
     <string name="watcher_num">Total Viewers:</string>
     <string name="official">Official</string>
     <string name="official">Official</string>
-    <string name="apply_lian_mai_list">申请列表</string>
-    <string name="apply_lian_mai">申请连麦</string>
-    <string name="cancel_apply_lian_mai">取消申请</string>
-    <string name="apply_lian_mai_success">申请成功</string>
-    <string name="cancel_lian_mai_success">连麦取消成功</string>
-    <string name="you_have_refuse_lian_mai">您已拒绝该用户连麦</string>
-    <string name="close_mic_content">您确定想要关闭连麦么?</string>
-    <string name="end_lian_mai">结束连麦</string>
-    <string name="lian_mai_ing_sure_close">您当前正在连麦,确定要关闭直播间么?</string>
-    <string name="anchor_refuse_you_lian_mai">主播拒绝了您的连麦申请</string>
+    <string name="apply_lian_mai_list">Application list</string>
+    <string name="apply_lian_mai">Apply for MIC-connected</string>
+    <string name="cancel_apply_lian_mai">Cancel application</string>
+    <string name="apply_lian_mai_success">Application successed</string>
+    <string name="cancel_lian_mai_success">canceled successfully</string>
+    <string name="you_have_refuse_lian_mai">You have rejected the user\'s MIC-connected</string>
+    <string name="close_mic_content">Are you sure you want to turn off MIC-connected?</string>
+    <string name="end_lian_mai">end the MIC-connected</string>
+    <string name="lian_mai_ing_sure_close">You are currently on the MIC-connected, are you sure you want to close the live room?</string>
+    <string name="anchor_refuse_you_lian_mai">The anchor rejected your application for MIC-connected</string>
 
 
 </resources>
 </resources>

+ 5 - 0
baseswago/src/main/res/values/styles.xml

@@ -8,4 +8,9 @@
         <item name="android:background">@android:color/transparent</item>
         <item name="android:background">@android:color/transparent</item>
         <item name="android:windowBackground">@android:color/transparent</item>
         <item name="android:windowBackground">@android:color/transparent</item>
     </style>
     </style>
+
+    <style name="cornerImageStyle">
+        <item name="cornerFamily">rounded</item>
+        <item name="cornerSize">10dp</item>
+    </style>
 </resources>
 </resources>

+ 22 - 34
room/src/main/java/com/swago/room/lianmai/AnchorLianMaiDialog.kt

@@ -9,6 +9,7 @@ import androidx.recyclerview.widget.RecyclerView
 import com.chad.library.adapter.base.BaseQuickAdapter
 import com.chad.library.adapter.base.BaseQuickAdapter
 import com.swago.baseswago.cusview.SwagoRecyclerView
 import com.swago.baseswago.cusview.SwagoRecyclerView
 import com.swago.baseswago.dialog.BaseListDialogFragment
 import com.swago.baseswago.dialog.BaseListDialogFragment
+import com.swago.baseswago.dialog.BaseXDFragment
 import com.swago.baseswago.model.live.mic.ApplyLianMaiResultModel
 import com.swago.baseswago.model.live.mic.ApplyLianMaiResultModel
 import com.swago.baseswago.model.live.mic.LianMaiUserModel
 import com.swago.baseswago.model.live.mic.LianMaiUserModel
 import com.swago.room.R
 import com.swago.room.R
@@ -18,7 +19,7 @@ import com.swago.room.databinding.DialogAnchorLianMaiBinding
 /**
 /**
  * 主播端连麦列表
  * 主播端连麦列表
  */
  */
-class AnchorLianMaiDialog :  BaseListDialogFragment<DialogAnchorLianMaiBinding, LianMaiUserModel>() {
+class AnchorLianMaiDialog :  BaseXDFragment<DialogAnchorLianMaiBinding>() {
 
 
 
 
     init {
     init {
@@ -38,42 +39,14 @@ class AnchorLianMaiDialog :  BaseListDialogFragment<DialogAnchorLianMaiBinding,
 
 
     private val lianMaiVm by viewModels<LianMaiVm>()
     private val lianMaiVm by viewModels<LianMaiVm>()
 
 
-    override val smartRecyclerView: SwagoRecyclerView<LianMaiUserModel> by lazy {
-        binding.swagoRv as SwagoRecyclerView<LianMaiUserModel>
-    }
-    override val adapter: BaseQuickAdapter<LianMaiUserModel, *> by lazy {
+    private val adapter by lazy {
         AnchorLianMaiListAdapter()
         AnchorLianMaiListAdapter()
     }
     }
-    override val layoutManager: RecyclerView.LayoutManager by lazy {
-        LinearLayoutManager(context)
-    }
-    override val loadData: (page: Int) -> Unit = {
-        lianMaiVm.getLianMaiList()
-    }
-
-
-    override fun initViewData() {
-        adapter.setOnItemChildClickListener { _, view, position ->
-            if (adapter.data.size>position){
-                when(view.id){
-                    R.id.ivRefuse -> {
-                        lianMaiVm.cancelApplyLianMai(adapter.data[position].id)
-                    }
-                    R.id.ivAccept -> {
-                        LianMaiManager.lianMaiId = adapter.data[position].id
-                        lianMaiVm.acceptLianMai()
-                    }
-                }
-            }
-        }
-    }
 
 
     override fun initLiveData() {
     override fun initLiveData() {
         lianMaiVm.lianMaiListLiveData.observe(this){
         lianMaiVm.lianMaiListLiveData.observe(this){
-            if (it == null){
-                smartRecyclerView.onFetchDataError()
-            }else{
-                smartRecyclerView.onFetchDataFinish(it,true)
+            if (it != null){
+                adapter.setNewData(it)
             }
             }
         }
         }
 
 
@@ -86,8 +59,23 @@ class AnchorLianMaiDialog :  BaseListDialogFragment<DialogAnchorLianMaiBinding,
         }
         }
     }
     }
 
 
-    override fun loadMoreNeed(): Boolean {
-        return false
+    override fun initOther() {
+        binding.swagoRv.layoutManager = LinearLayoutManager(context)
+        binding.swagoRv.adapter = adapter
+        lianMaiVm.getLianMaiList()
+        adapter.setOnItemChildClickListener { _, view, position ->
+            if (adapter.data.size>position){
+                when(view.id){
+                    R.id.ivRefuse -> {
+                        lianMaiVm.cancelApplyLianMai(adapter.data[position].id)
+                    }
+                    R.id.ivAccept -> {
+                        LianMaiManager.lianMaiId = adapter.data[position].id
+                        lianMaiVm.acceptLianMai()
+                    }
+                }
+            }
+        }
     }
     }
 
 
 }
 }

+ 1 - 1
room/src/main/java/com/swago/room/lianmai/LianMaiVm.kt

@@ -144,7 +144,7 @@ class LianMaiVm(application: Application) : AbsMsgVm(application) {
         requestData {
         requestData {
             SwagoRoomManager.iRoomInfo?.let {
             SwagoRoomManager.iRoomInfo?.let {
                 val data = ApiManager.roomApi.getLianMaiInfo(it.getRoomId(),it.getBroadcastId())
                 val data = ApiManager.roomApi.getLianMaiInfo(it.getRoomId(),it.getBroadcastId())
-                if (data.lianMai==1){
+                if (data.room_state==1){
                     val lianMaiIMModel = LianMaiIMModel(data.userId,data.nickName,data.avatar)
                     val lianMaiIMModel = LianMaiIMModel(data.userId,data.nickName,data.avatar)
                     LianMaiManager.lianMaiState = 2
                     LianMaiManager.lianMaiState = 2
                     LianMaiManager.dispatchStartLianMai(lianMaiIMModel)
                     LianMaiManager.dispatchStartLianMai(lianMaiIMModel)

+ 9 - 20
room/src/main/java/com/swago/room/lianmai/UserLianMaiDialog.kt

@@ -14,6 +14,7 @@ import com.permissionx.guolindev.PermissionX
 import com.swago.baseswago.constant.ARouteConstant
 import com.swago.baseswago.constant.ARouteConstant
 import com.swago.baseswago.cusview.SwagoRecyclerView
 import com.swago.baseswago.cusview.SwagoRecyclerView
 import com.swago.baseswago.dialog.BaseListDialogFragment
 import com.swago.baseswago.dialog.BaseListDialogFragment
+import com.swago.baseswago.dialog.BaseXDFragment
 import com.swago.baseswago.model.live.mic.LianMaiUserModel
 import com.swago.baseswago.model.live.mic.LianMaiUserModel
 import com.swago.baseswago.util.AppContext
 import com.swago.baseswago.util.AppContext
 import com.swago.baseswago.util.NoDoubleClickListener
 import com.swago.baseswago.util.NoDoubleClickListener
@@ -21,7 +22,7 @@ import com.swago.room.R
 import com.swago.room.databinding.DialogUserLianMaiBinding
 import com.swago.room.databinding.DialogUserLianMaiBinding
 import com.swago.room.user.UserRoomActivity
 import com.swago.room.user.UserRoomActivity
 
 
-class UserLianMaiDialog : BaseListDialogFragment<DialogUserLianMaiBinding, LianMaiUserModel>() {
+class UserLianMaiDialog : BaseXDFragment<DialogUserLianMaiBinding>() {
 
 
     init {
     init {
         setGravity(Gravity.BOTTOM)
         setGravity(Gravity.BOTTOM)
@@ -41,20 +42,14 @@ class UserLianMaiDialog : BaseListDialogFragment<DialogUserLianMaiBinding, LianM
 
 
     private val lianMaiVm by viewModels<LianMaiVm>()
     private val lianMaiVm by viewModels<LianMaiVm>()
 
 
-    override val smartRecyclerView: SwagoRecyclerView<LianMaiUserModel> by lazy {
-        binding.swagoRv as SwagoRecyclerView<LianMaiUserModel>
-    }
-    override val adapter: BaseQuickAdapter<LianMaiUserModel, *> by lazy {
+     private val adapter by lazy {
         UserLianMaiListAdapter()
         UserLianMaiListAdapter()
     }
     }
-    override val layoutManager: RecyclerView.LayoutManager by lazy {
-        LinearLayoutManager(context)
-    }
-    override val loadData: (page: Int) -> Unit = {
-        lianMaiVm.getLianMaiList()
-    }
 
 
-    override fun initViewData() {
+    override fun initOther() {
+        binding.swagoRv.layoutManager = LinearLayoutManager(context)
+        binding.swagoRv.adapter = adapter
+        lianMaiVm.getLianMaiList()
         if (LianMaiManager.lianMaiState == 3||LianMaiManager.lianMaiState == 4){
         if (LianMaiManager.lianMaiState == 3||LianMaiManager.lianMaiState == 4){
             //申请连麦的用户
             //申请连麦的用户
             binding.tvApply.text = AppContext.getContext().resources.getString(R.string.cancel_apply_lian_mai)
             binding.tvApply.text = AppContext.getContext().resources.getString(R.string.cancel_apply_lian_mai)
@@ -92,10 +87,8 @@ class UserLianMaiDialog : BaseListDialogFragment<DialogUserLianMaiBinding, LianM
 
 
     override fun initLiveData() {
     override fun initLiveData() {
         lianMaiVm.lianMaiListLiveData.observe(this){
         lianMaiVm.lianMaiListLiveData.observe(this){
-            if (it == null){
-                smartRecyclerView.onFetchDataError()
-            }else{
-                smartRecyclerView.onFetchDataFinish(it,true)
+            if (it != null){
+                adapter.setNewData(it)
             }
             }
         }
         }
 
 
@@ -118,8 +111,4 @@ class UserLianMaiDialog : BaseListDialogFragment<DialogUserLianMaiBinding, LianM
         }
         }
     }
     }
 
 
-    override fun loadMoreNeed(): Boolean {
-        return false
-    }
-
 }
 }

+ 10 - 2
room/src/main/java/com/swago/room/user/UserRoomActivity.kt

@@ -357,11 +357,19 @@ class UserRoomActivity : AbsUserActivity<ActivityAbsRoomUserBinding, UserRoomMod
     }
     }
 
 
     override fun startLianMai(lianMaiIMModel: LianMaiIMModel) {
     override fun startLianMai(lianMaiIMModel: LianMaiIMModel) {
-        setRvState(false)
+        UserInfo.getUserInfo()?.let {
+            if (lianMaiIMModel.senderId == it.id){
+                setRvState(false)
+            }
+        }
     }
     }
 
 
     override fun stopLianMai(lianMaiIMModel: LianMaiIMModel) {
     override fun stopLianMai(lianMaiIMModel: LianMaiIMModel) {
-        setRvState(true)
+        UserInfo.getUserInfo()?.let {
+            if (lianMaiIMModel.senderId == it.id){
+                setRvState(true)
+            }
+        }
     }
     }
 
 
 
 

+ 16 - 5
room/src/main/java/com/swago/room/widget/ComHeaderView.kt

@@ -3,6 +3,7 @@ package com.swago.room.widget
 import android.content.Context
 import android.content.Context
 import android.util.AttributeSet
 import android.util.AttributeSet
 import android.util.Log
 import android.util.Log
+import android.util.TimeUtils
 import android.view.LayoutInflater
 import android.view.LayoutInflater
 import android.view.View
 import android.view.View
 import androidx.constraintlayout.widget.ConstraintLayout
 import androidx.constraintlayout.widget.ConstraintLayout
@@ -11,14 +12,12 @@ import androidx.recyclerview.widget.RecyclerView
 import com.alibaba.android.arouter.launcher.ARouter
 import com.alibaba.android.arouter.launcher.ARouter
 import com.bumptech.glide.Glide
 import com.bumptech.glide.Glide
 import com.swago.baseswago.R
 import com.swago.baseswago.R
-import com.swago.baseswago.baseroom.IRoomActiveListener
-import com.swago.baseswago.baseroom.IRoomInfo
-import com.swago.baseswago.baseroom.RoleType
-import com.swago.baseswago.baseroom.SwagoRoomManager
+import com.swago.baseswago.baseroom.*
 import com.swago.baseswago.constant.ARouteConstant
 import com.swago.baseswago.constant.ARouteConstant
 import com.swago.baseswago.model.live.RoomUserModel
 import com.swago.baseswago.model.live.RoomUserModel
 import com.swago.baseswago.util.AppContext
 import com.swago.baseswago.util.AppContext
 import com.swago.baseswago.util.NoDoubleClickListener
 import com.swago.baseswago.util.NoDoubleClickListener
+import com.swago.baseswago.util.TimeUtil
 import com.swago.room.adapter.RoomUserAdapter
 import com.swago.room.adapter.RoomUserAdapter
 import com.swago.room.databinding.LayoutUserHeaderViewBinding
 import com.swago.room.databinding.LayoutUserHeaderViewBinding
 import com.swago.room.inter.IHeader
 import com.swago.room.inter.IHeader
@@ -27,7 +26,7 @@ import com.swago.room.inter.IHeader
  *@date 2022/3/4 14:56
  *@date 2022/3/4 14:56
  *description:
  *description:
  */
  */
-class ComHeaderView  : ConstraintLayout, IRoomActiveListener, IHeader {
+class ComHeaderView  : ConstraintLayout, IRoomActiveListener, IHeader, RoomTimer.TimeTickListener {
 
 
 
 
     lateinit var binding: LayoutUserHeaderViewBinding
     lateinit var binding: LayoutUserHeaderViewBinding
@@ -39,6 +38,8 @@ class ComHeaderView  : ConstraintLayout, IRoomActiveListener, IHeader {
     //钻石收入
     //钻石收入
     private var localIncome = 0L
     private var localIncome = 0L
 
 
+    private var timeL = 0L
+
     private val adapter by lazy {
     private val adapter by lazy {
         RoomUserAdapter()
         RoomUserAdapter()
     }
     }
@@ -54,6 +55,7 @@ class ComHeaderView  : ConstraintLayout, IRoomActiveListener, IHeader {
     }
     }
 
 
     private fun initView(context: Context) {
     private fun initView(context: Context) {
+        RoomTimer.timeTickList.add(this)
         SwagoRoomManager.addListener(this)
         SwagoRoomManager.addListener(this)
         binding = LayoutUserHeaderViewBinding.inflate(LayoutInflater.from(context), this, true)
         binding = LayoutUserHeaderViewBinding.inflate(LayoutInflater.from(context), this, true)
         binding.rvUser.layoutManager = LinearLayoutManager(context,RecyclerView.HORIZONTAL,false)
         binding.rvUser.layoutManager = LinearLayoutManager(context,RecyclerView.HORIZONTAL,false)
@@ -132,6 +134,7 @@ class ComHeaderView  : ConstraintLayout, IRoomActiveListener, IHeader {
 
 
         if (SwagoRoomManager.roleType == RoleType.anchor){
         if (SwagoRoomManager.roleType == RoleType.anchor){
             binding.tvFollow.visibility = View.GONE
             binding.tvFollow.visibility = View.GONE
+            binding.tvTime.visibility = View.VISIBLE
         }else{
         }else{
             if (iRoomInfo.getIsFollow()==1){
             if (iRoomInfo.getIsFollow()==1){
                 binding.tvFollow.visibility = View.GONE
                 binding.tvFollow.visibility = View.GONE
@@ -145,6 +148,7 @@ class ComHeaderView  : ConstraintLayout, IRoomActiveListener, IHeader {
     }
     }
 
 
     override fun closeRoomed() {
     override fun closeRoomed() {
+        RoomTimer.timeTickList.add(this)
         SwagoRoomManager.removeListener(this)
         SwagoRoomManager.removeListener(this)
     }
     }
 
 
@@ -169,5 +173,12 @@ class ComHeaderView  : ConstraintLayout, IRoomActiveListener, IHeader {
         binding.tvFollow.visibility = View.GONE
         binding.tvFollow.visibility = View.GONE
     }
     }
 
 
+    override fun onTimeCount(time: Int) {
+        if(SwagoRoomManager.roleType == RoleType.anchor){
+            timeL ++
+            binding.tvTime.text = TimeUtil.formatMin(timeL)
+        }
+    }
+
 
 
 }
 }

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

@@ -22,7 +22,7 @@
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"/>
             android:layout_height="wrap_content"/>
 
 
-        <com.swago.baseswago.cusview.SwagoRecyclerView
+        <androidx.recyclerview.widget.RecyclerView
             android:id="@+id/swagoRv"
             android:id="@+id/swagoRv"
             android:layout_marginTop="14dp"
             android:layout_marginTop="14dp"
             app:layout_constraintTop_toBottomOf="@+id/tvLianMaiTitle"
             app:layout_constraintTop_toBottomOf="@+id/tvLianMaiTitle"

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

@@ -22,7 +22,7 @@
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"/>
             android:layout_height="wrap_content"/>
 
 
-        <com.swago.baseswago.cusview.SwagoRecyclerView
+        <androidx.recyclerview.widget.RecyclerView
             android:id="@+id/swagoRv"
             android:id="@+id/swagoRv"
             android:layout_marginTop="14dp"
             android:layout_marginTop="14dp"
             app:layout_constraintTop_toBottomOf="@+id/tvLianMaiTitle"
             app:layout_constraintTop_toBottomOf="@+id/tvLianMaiTitle"

+ 0 - 1
room/src/main/res/layout/item_anchor_lian_mai.xml

@@ -11,7 +11,6 @@
         android:layout_marginStart="10dp"
         android:layout_marginStart="10dp"
         android:layout_marginTop="3dp"
         android:layout_marginTop="3dp"
         android:layout_marginBottom="3dp"
         android:layout_marginBottom="3dp"
-        android:background="#fff"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent"
         app:layout_constraintTop_toTopOf="parent"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintBottom_toBottomOf="parent"

+ 2 - 3
room/src/main/res/layout/layout_anchor_footer_view.xml

@@ -69,10 +69,9 @@
         app:layout_constraintTop_toTopOf="@+id/ivLianMai"
         app:layout_constraintTop_toTopOf="@+id/ivLianMai"
         app:layout_constraintEnd_toEndOf="@+id/ivLianMai"
         app:layout_constraintEnd_toEndOf="@+id/ivLianMai"
         android:background="@drawable/shape_ff56b7_5"
         android:background="@drawable/shape_ff56b7_5"
-        android:layout_marginTop="3dp"
         android:layout_marginEnd="5dp"
         android:layout_marginEnd="5dp"
-        android:layout_width="5dp"
-        android:layout_height="5dp"/>
+        android:layout_width="10dp"
+        android:layout_height="10dp"/>
 
 
     <ImageView
     <ImageView
         android:id="@+id/ivMute"
         android:id="@+id/ivMute"

+ 17 - 0
room/src/main/res/layout/layout_user_header_view.xml

@@ -89,6 +89,23 @@
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="30dp"/>
             android:layout_height="30dp"/>
 
 
+        <com.swago.baseswago.cusview.RegularTextView
+            android:id="@+id/tvTime"
+            android:textSize="8dp"
+            android:textColor="#fff"
+            app:layout_constraintBottom_toBottomOf="parent"
+            android:layout_marginBottom="5dp"
+            android:maxWidth="120dp"
+            android:layout_marginStart="-20dp"
+            app:layout_constraintStart_toEndOf="@+id/ll"
+            tools:text="23min"
+            android:visibility="gone"
+            tools:visibility="visible"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"/>
+
+
+
     </androidx.constraintlayout.widget.ConstraintLayout>
     </androidx.constraintlayout.widget.ConstraintLayout>
 
 
     <androidx.recyclerview.widget.RecyclerView
     <androidx.recyclerview.widget.RecyclerView

+ 0 - 1
room/src/main/res/layout/layout_user_room.xml

@@ -31,7 +31,6 @@
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintBottom_toBottomOf="parent"
         android:layout_marginBottom="150dp"
         android:layout_marginBottom="150dp"
-        android:layout_marginEnd="10dp"
         android:layoutDirection="ltr"
         android:layoutDirection="ltr"
         tools:visibility="visible"
         tools:visibility="visible"
         android:visibility="invisible"
         android:visibility="invisible"

+ 2 - 1
room/src/main/res/layout/view_lian_mai.xml

@@ -5,9 +5,10 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools">
     xmlns:tools="http://schemas.android.com/tools">
 
 
-    <ImageView
+    <com.google.android.material.imageview.ShapeableImageView
         android:id="@+id/ivBg"
         android:id="@+id/ivBg"
         android:scaleType="centerCrop"
         android:scaleType="centerCrop"
+        app:shapeAppearance="@style/cornerImageStyle"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="match_parent"/>
         android:layout_height="match_parent"/>