|
@@ -4,6 +4,7 @@ import android.Manifest
|
|
|
import android.content.Intent
|
|
|
import android.view.SurfaceView
|
|
|
import android.os.Build
|
|
|
+import android.os.CountDownTimer
|
|
|
import android.view.View
|
|
|
import android.view.ViewGroup
|
|
|
import android.view.WindowManager
|
|
@@ -37,6 +38,7 @@ import com.swago.baseswago.model.live.pk.PunishPKModel
|
|
|
import com.swago.baseswago.model.live.pk.StartPKModel
|
|
|
import com.swago.baseswago.model.live.pk.StopPKModel
|
|
|
import com.swago.baseswago.util.DpPxUtil
|
|
|
+import com.swago.baseswago.util.LogUtil
|
|
|
import com.swago.loadUrlNoPlaceHolder
|
|
|
import com.swago.room.R
|
|
|
import com.swago.room.audio.AudioRoomManager
|
|
@@ -128,6 +130,7 @@ class AnchorRoomActivity : AbsAnchorActivity<ActivityAnchorRoomBinding, IRoomInf
|
|
|
AgoraManager.initializeEngine(this, this)
|
|
|
AgoraManager.setVideoConfiguration()
|
|
|
AgoraManager.enableAudioVolumeIndication()
|
|
|
+ AgoraManager.enableFaceDetection(true)
|
|
|
UserInfo.getUserInfo()?.let {
|
|
|
AgoraManager.setupLocalVideo(this, binding.flLocal, it.id.toInt(), true) {
|
|
|
AgoraManager.setVideoAudio(pullVideo = true, pullAudio = true, pushVideo = true, pushAudio = true)
|
|
@@ -149,6 +152,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()
|
|
@@ -392,6 +398,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()
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|
|
@@ -503,6 +518,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)
|