refactor: add wantsToAnswer ability in pre-init for fullscreenintent

This commit is contained in:
jubb 2021-12-07 15:17:28 +11:00
parent ef79eb4bb2
commit 75efd7b21a
3 changed files with 14 additions and 10 deletions

View File

@ -109,6 +109,7 @@ class WebRtcCallActivity: PassphraseRequiredActionBarActivity() {
}
acceptCallButton.setOnClickListener {
wantsToAnswer = true
val answerIntent = WebRtcCallService.acceptCallIntent(this)
ContextCompat.startForegroundService(this,answerIntent)
}
@ -175,9 +176,9 @@ class WebRtcCallActivity: PassphraseRequiredActionBarActivity() {
CALL_CONNECTED -> {
}
}
controlGroup.isVisible = state in listOf(CALL_CONNECTED, CALL_OUTGOING, CALL_INCOMING)
remote_loading_view.isVisible = state !in listOf(CALL_CONNECTED, CALL_RINGING)
incomingControlGroup.isVisible = state in listOf(CALL_RINGING, CALL_PRE_INIT)
controlGroup.isVisible = state in listOf(CALL_CONNECTED, CALL_OUTGOING, CALL_INCOMING) || (state == CALL_PRE_INIT && wantsToAnswer)
remote_loading_view.isVisible = state !in listOf(CALL_CONNECTED, CALL_RINGING, CALL_PRE_INIT)
incomingControlGroup.isVisible = state in listOf(CALL_RINGING, CALL_PRE_INIT) && !wantsToAnswer
}
}

View File

@ -8,6 +8,7 @@ import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
import androidx.core.app.NotificationCompat
import network.loki.messenger.R
import org.session.libsession.utilities.TextSecurePreferences
import org.session.libsession.utilities.recipients.Recipient
import org.thoughtcrime.securesms.calls.WebRtcCallActivity
import org.thoughtcrime.securesms.notifications.NotificationChannels

View File

@ -34,14 +34,16 @@ class IncomingRinger(private val context: Context) {
}
mediaPlayer?.let { player ->
try {
if (!player.isPlaying) {
player.prepare()
player.start()
Log.i(TAG,"Playing ringtone")
if (ringerMode == AudioManager.RINGER_MODE_NORMAL) {
try {
if (!player.isPlaying) {
player.prepare()
player.start()
Log.i(TAG,"Playing ringtone")
}
} catch (e: Exception) {
Log.e(TAG,"Failed to start mediaPlayer", e)
}
} catch (e: Exception) {
Log.e(TAG,"Failed to start mediaPlayer", e)
}
} ?: run {
Log.w(TAG,"Not ringing, mediaPlayer: ${mediaPlayer?.let{"available"}}, mode: $ringerMode")