Browse Source

Merge pull request #3419 from element-hq/feature/bma/fixElementCall

Ensure Call is not hang up when user is asked to grant system permissions
pull/3065/merge
Benoit Marty 2 weeks ago committed by GitHub
parent
commit
5bffe82e3e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 13
      features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/ElementCallActivity.kt

13
features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/ElementCallActivity.kt

@ -42,7 +42,6 @@ import androidx.core.app.PictureInPictureModeChangedInfo @@ -42,7 +42,6 @@ import androidx.core.app.PictureInPictureModeChangedInfo
import androidx.core.content.IntentCompat
import androidx.core.util.Consumer
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.lifecycleScope
import io.element.android.features.call.api.CallType
import io.element.android.features.call.impl.DefaultElementCallEntryPoint
import io.element.android.features.call.impl.di.CallBindings
@ -55,7 +54,6 @@ import io.element.android.features.call.impl.utils.CallIntentDataParser @@ -55,7 +54,6 @@ import io.element.android.features.call.impl.utils.CallIntentDataParser
import io.element.android.libraries.architecture.bindings
import io.element.android.libraries.designsystem.theme.ElementThemeApp
import io.element.android.libraries.preferences.api.store.AppPreferencesStore
import kotlinx.coroutines.launch
import timber.log.Timber
import javax.inject.Inject
@ -131,11 +129,13 @@ class ElementCallActivity : @@ -131,11 +129,13 @@ class ElementCallActivity :
val pipEventSink by rememberUpdatedState(pipState.eventSink)
DisposableEffect(Unit) {
val listener = Runnable {
pipEventSink(PictureInPictureEvents.EnterPictureInPicture)
}
lifecycleScope.launch {
addOnUserLeaveHintListener(listener)
if (requestPermissionCallback != null) {
Timber.w("Ignoring onUserLeaveHint event because user is asked to grant permissions")
} else {
pipEventSink(PictureInPictureEvents.EnterPictureInPicture)
}
}
addOnUserLeaveHintListener(listener)
onDispose {
removeOnUserLeaveHintListener(listener)
}
@ -234,6 +234,7 @@ class ElementCallActivity : @@ -234,6 +234,7 @@ class ElementCallActivity :
}
}
callback(permissionsToGrant.toTypedArray())
requestPermissionCallback = null
}
}

Loading…
Cancel
Save