diff --git a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.kt b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.kt index cb7a404cb..62a47a91e 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.kt @@ -36,6 +36,7 @@ import android.content.Intent import android.content.IntentFilter import android.content.res.Configuration import android.graphics.Color +import android.graphics.Typeface import android.graphics.drawable.Icon import android.media.AudioAttributes import android.media.MediaPlayer @@ -306,6 +307,7 @@ class CallActivity : CallBaseActivity() { private var binding: CallActivityBinding? = null private var audioOutputDialog: AudioOutputDialog? = null private var moreCallActionsDialog: MoreCallActionsDialog? = null + private var elapsedSeconds: Long = 0 private var requestPermissionLauncher = registerForActivityResult( ActivityResultContracts.RequestMultiplePermissions() @@ -485,6 +487,16 @@ class CallActivity : CallBaseActivity() { reactionAnimator = ReactionAnimator(context, binding!!.reactionAnimationWrapper, viewThemeUtils) } + override fun onResume() { + super.onResume() + if (hasSpreedFeatureCapability(conversationUser, "recording-v1") && + othersInCall && + elapsedSeconds.toInt() >= CALL_TIME_ONE_HOUR + ) { + showCallRunningSinceOneHourOrMoreInfo() + } + } + fun sendReaction(emoji: String?) { addReactionForAnimation(emoji, conversationUser!!.displayName) if (isConnectionEstablished) { @@ -1596,19 +1608,14 @@ class CallActivity : CallBaseActivity() { if (callStartTime != null && hasSpreedFeatureCapability(conversationUser, "recording-v1")) { binding!!.callDuration.visibility = View.VISIBLE val currentTimeInSec = System.currentTimeMillis() / SECOND_IN_MILLIES - var elapsedSeconds: Long = currentTimeInSec - callStartTime + elapsedSeconds = currentTimeInSec - callStartTime val callTimeTask: Runnable = object : Runnable { override fun run() { if (othersInCall) { binding!!.callDuration.text = DateUtils.formatElapsedTime(elapsedSeconds) if (elapsedSeconds.toInt() == CALL_TIME_ONE_HOUR) { - vibrateShort(context) - Toast.makeText( - context, - context.resources.getString(R.string.call_running_since_one_hour), - Toast.LENGTH_LONG - ).show() + showCallRunningSinceOneHourOrMoreInfo() } } else { binding!!.callDuration.text = CALL_DURATION_EMPTY @@ -1624,6 +1631,16 @@ class CallActivity : CallBaseActivity() { } } + private fun showCallRunningSinceOneHourOrMoreInfo() { + binding!!.callDuration.setTypeface(null, Typeface.BOLD) + vibrateShort(context) + Toast.makeText( + context, + context.resources.getString(R.string.call_running_since_one_hour), + Toast.LENGTH_LONG + ).show() + } + private fun pullSignalingMessages() { val signalingApiVersion = ApiUtils.getSignalingApiVersion(conversationUser, intArrayOf(ApiUtils.APIv3, 2, 1)) val delayOnError = AtomicInteger(0)