Browse Source

Merge branch 'google' into qiye

honghengqiang 3 years ago
parent
commit
f3157d6d74

+ 1 - 1
app/src/main/java/com/swago/app/SwagoApp.kt

@@ -56,7 +56,7 @@ class SwagoApp : Application() {
             .errorIcon(R.mipmap.state_error_empty)
             .emptyIcon(R.mipmap.state_error_empty)
             .emptyMsg("There is nothing here")
-            .loadingMsg("")
+            .loadingMsg("Loading")
             .errorMsg("Load data error")
             .build()
         MultiStatePage.config(config)

+ 2 - 0
room/src/main/AndroidManifest.xml

@@ -5,8 +5,10 @@
     <uses-permission android:name="android.permission.VIBRATE" />
     <application>
         <activity android:name=".anchor.AnchorRoomActivity"
+            android:launchMode="singleTask"
             android:screenOrientation="portrait"/>
         <activity android:name=".user.UserRoomActivity"
+            android:launchMode="singleTask"
             android:screenOrientation="portrait"/>
         <activity android:name=".ranklist.RankListActivity"
             android:screenOrientation="portrait"/>

+ 4 - 3
room/src/main/java/com/swago/room/dialog/AudienceListDialog.kt

@@ -4,6 +4,7 @@ import android.graphics.Rect
 import android.os.Bundle
 import android.view.Gravity
 import android.view.View
+import androidx.fragment.app.activityViewModels
 import androidx.fragment.app.viewModels
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
@@ -22,7 +23,7 @@ import com.swago.room.vm.RoomVm
  */
 class AudienceListDialog : BaseListDialogFragment<DialogAudienceListBinding,RoomUserModel.ListBean>() {
 
-    private val roomVm by viewModels<RoomVm>()
+    private val roomVm by activityViewModels<RoomVm>()
 
     init {
         setGravity(Gravity.BOTTOM)
@@ -40,7 +41,7 @@ class AudienceListDialog : BaseListDialogFragment<DialogAudienceListBinding,Room
         LinearLayoutManager(context)
     }
     override val loadData: (page: Int) -> Unit = {
-       roomVm.loadRoomData(it+1)
+       roomVm.loadUserInDialogData(it+1)
     }
 
     companion object{
@@ -57,7 +58,7 @@ class AudienceListDialog : BaseListDialogFragment<DialogAudienceListBinding,Room
     }
 
     override fun initLiveData() {
-       roomVm.roomUserDataLiveData.observe(this){
+       roomVm.roomUserListDialogLiveData.observe(this){
            if (it == null){
                smartRecyclerView.onFetchDataError()
            }else{

+ 33 - 5
room/src/main/java/com/swago/room/vm/RoomVm.kt

@@ -17,6 +17,7 @@ import com.swago.baseswago.util.ActivityManagerUtil
 import com.swago.baseswago.util.AppContext
 import com.swago.baseswago.util.SwagoLoading
 import com.swago.room.bean.UserRoomModel
+import com.swago.room.user.UserRoomActivity
 
 /**
  *@date 2021/10/10 09:59
@@ -27,10 +28,6 @@ class RoomVm(application: Application) : AbsRoomVm(application) {
     //当前选中的游戏
     var currentGameType = -1
 
-    val roomUserDataLiveData by lazy {
-        MutableLiveData<RoomUserModel?>()
-    }
-
     val roomClosedLiveData by lazy {
         MutableLiveData<AnchorRoomClosedBean>()
     }
@@ -123,6 +120,11 @@ class RoomVm(application: Application) : AbsRoomVm(application) {
         }
     }
 
+    //观众列表
+    val roomUserDataLiveData by lazy {
+        MutableLiveData<RoomUserModel?>()
+    }
+
     fun loadRoomData(page:Int=1) {
         requestData2 {
             requestData {
@@ -138,6 +140,30 @@ class RoomVm(application: Application) : AbsRoomVm(application) {
         }
     }
 
+    //观众列表弹窗
+    val roomUserListDialogLiveData by lazy {
+        MutableLiveData<RoomUserModel?>()
+    }
+
+    fun loadUserInDialogData(page:Int=1) {
+        requestData2 {
+            requestData {
+                SwagoRoomManager.iRoomInfo?.let {
+                    val data = ApiManager.roomApi.getRoomUser(it.getRoomId(),page)
+                    roomUserListDialogLiveData.value = data
+                }
+            }
+
+            requestError {
+                roomUserListDialogLiveData.value = null
+            }
+        }
+    }
+
+
+
+
+
     override fun leaveRoom(iRoomInfo: IRoomInfo) {
         leaveCurrentRoom(iRoomInfo)
     }
@@ -175,7 +201,9 @@ class RoomVm(application: Application) : AbsRoomVm(application) {
                 SwagoRoomManager.iRoomInfo?.let {
                     leaveCurrentRoom(it)
                 }
-                ActivityManagerUtil.get().finishTopActivity()
+                if (ActivityManagerUtil.get().currentActivity() is UserRoomActivity) {
+                    ActivityManagerUtil.get().finishTopActivity()
+                }
             }
         }
     }