|
@@ -3,6 +3,7 @@ package com.swago.room.anchor
|
|
|
import android.Manifest
|
|
|
import android.content.Intent
|
|
|
import android.os.Build
|
|
|
+import android.os.CountDownTimer
|
|
|
import android.view.View
|
|
|
import android.view.ViewGroup
|
|
|
import android.view.WindowManager
|
|
@@ -32,6 +33,7 @@ import com.swago.baseswago.model.live.pk.StartPKModel
|
|
|
import com.swago.baseswago.model.live.pk.StopPKModel
|
|
|
import com.swago.baseswago.util.AppContext
|
|
|
import com.swago.baseswago.util.DpPxUtil
|
|
|
+import com.swago.baseswago.util.LogUtil
|
|
|
import com.swago.baseswago.util.NoDoubleClickListener
|
|
|
import com.swago.baseswago.util.UserInfo
|
|
|
import com.swago.loadUrlNoPlaceHolder
|
|
@@ -97,6 +99,9 @@ class AnchorRoomActivity : AbsAnchorActivity<ActivityAnchorRoomBinding, IRoomInf
|
|
|
private var selectedBgUrl = ""
|
|
|
private var checkPassword = false
|
|
|
|
|
|
+ private lateinit var countDownTimer: CountDownTimer
|
|
|
+ private var startFaceShowTimer = true
|
|
|
+
|
|
|
override fun initLiveData() {
|
|
|
PKStateManager.resetData()
|
|
|
roomVm.init()
|
|
@@ -114,6 +119,7 @@ class AnchorRoomActivity : AbsAnchorActivity<ActivityAnchorRoomBinding, IRoomInf
|
|
|
AgoraManager.setVideoAudio(pullVideo = true, pullAudio = true, pushVideo = true, pushAudio = true)
|
|
|
AgoraManager.setupLocalVideo(this, binding.flLocal)
|
|
|
AgoraManager.enableAudioVolumeIndication()
|
|
|
+ AgoraManager.enableFaceDetection(true)
|
|
|
anchorRoomFragment = fragments[1] as AnchorRoomFragment
|
|
|
binding.viewPager.adapter = adapter
|
|
|
|
|
@@ -329,6 +335,15 @@ class AnchorRoomActivity : AbsAnchorActivity<ActivityAnchorRoomBinding, IRoomInf
|
|
|
binding.cbPassword.text = if (isChecked) "Password ·NO" else "Password ·OFF"
|
|
|
checkPassword = isChecked
|
|
|
}
|
|
|
+ countDownTimer = object : CountDownTimer(10000, 10000) {
|
|
|
+ override fun onTick(millisUntilFinished: Long) {
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun onFinish() {
|
|
|
+ SwagoRoomManager.closeRoom()
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|
|
@@ -429,6 +444,23 @@ class AnchorRoomActivity : AbsAnchorActivity<ActivityAnchorRoomBinding, IRoomInf
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ override fun onFacePositionChanged(
|
|
|
+ imageWidth: Int,
|
|
|
+ imageHeight: Int,
|
|
|
+ faces: Array<out IRtcEngineEventHandler.AgoraFacePositionInfo>?
|
|
|
+ ) {
|
|
|
+ LogUtil.d("onFacePositionChanged${faces?.size}")
|
|
|
+ if (faces.isNullOrEmpty()){
|
|
|
+ if (startFaceShowTimer){
|
|
|
+ countDownTimer.start()
|
|
|
+ startFaceShowTimer = false
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ startFaceShowTimer = true
|
|
|
+ countDownTimer.cancel()
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**************************PK******************************/
|
|
|
private val marginTopValue by lazy {
|
|
|
ImmersionBar.getStatusBarHeight(this) + DpPxUtil.dip2px(78f)
|