Skip to content

Conversation

rahul-lohra
Copy link
Contributor

@rahul-lohra rahul-lohra commented Oct 7, 2025

Goal

Introduce support for Telecom integration in the Android SDK.

Implementation

It is available for Android SDK level 26 +

High-level flow

image
Step Component Responsibility
1 ServiceLauncher Launches CallService & decides whether to start Telecom
2 JetpackTelecomRepository Registers to TelecomManager and listens for events
3 TelecomCallController Used by SDK to control telecom (answer, end, mute)
4 TelecomPermissions Ensures permissions are granted before registering
5 TelecomUtils Optional helper for environment checks

Public APIs

class StreamVideoBuilder(
    private val telecomConfig: TelecomConfig? = null,
)

data class TelecomConfig(val schema: String)

@InternalStreamVideoApi
enum class TelecomIntegrationType {
    JETPACK_TELECOM,
}

// Handles telecom-related permissions based on integration type
@InternalStreamVideoApi
class TelecomPermissions

How to enable telecom per call type

val callServiceConfigRegistry = CallServiceConfigRegistry()
        callServiceConfigRegistry.apply {
        // means we enabled telecom for call_type: audio_call only
            register("audio_call") { enableTelecom(true) }
        }

StreamVideoBuilder(
    callServiceConfigRegistry = callServiceConfigRegistry
    telecomConfig = TelecomConfig(context.packageName))
    .build()

Testing

  1. Connect wearable with your phone
  2. Make a call as
  3. You should see call interaction options are available on the wearable

@rahul-lohra rahul-lohra self-assigned this Oct 7, 2025
Copy link
Contributor

github-actions bot commented Oct 7, 2025

PR checklist ✅

All required conditions are satisfied:

  • Title length is OK (or ignored by label).
  • At least one pr: label exists.
  • Sections ### Goal, ### Implementation, and ### Testing are filled.

🎉 Great job! This PR is ready for review.

@rahul-lohra rahul-lohra force-pushed the feature/rahullohra/telecome-v4 branch from 8f5c658 to 0133af5 Compare October 7, 2025 05:14
Copy link
Contributor

github-actions bot commented Oct 7, 2025

SDK Size Comparison 📏

SDK Before After Difference Status
stream-video-android-core 11.73 MB 11.91 MB 0.18 MB 🟢
stream-video-android-ui-xml 5.70 MB 5.68 MB -0.02 MB 🚀
stream-video-android-ui-compose 6.25 MB 6.25 MB 0.00 MB 🟢

@rahul-lohra rahul-lohra changed the title Telecom v4 Added Telecom Support Oct 7, 2025
@rahul-lohra rahul-lohra marked this pull request as ready for review October 7, 2025 13:51
@rahul-lohra rahul-lohra requested a review from a team as a code owner October 7, 2025 13:51
@rahul-lohra rahul-lohra added the pr:new-feature Adds new functionality label Oct 7, 2025
@aleksandar-apostolov aleksandar-apostolov changed the title Added Telecom Support Introduce Telecom support for the VideoSDK Oct 8, 2025
@aleksandar-apostolov aleksandar-apostolov changed the title Introduce Telecom support for the VideoSDK Introduce Telecom support for the VideoSDK Oct 8, 2025
@rahul-lohra rahul-lohra changed the title Introduce Telecom support for the VideoSDK [AND-350] Introduce Telecom support for the VideoSDK Oct 9, 2025
@rahul-lohra rahul-lohra changed the title [AND-350] Introduce Telecom support for the VideoSDK Introduce Telecom support for the VideoSDK Oct 9, 2025
aleksandar-apostolov and others added 7 commits October 10, 2025 14:18
# Conflicts:
#	stream-video-android-core/src/main/kotlin/io/getstream/video/android/core/notifications/internal/service/CallService.kt
#	stream-video-android-core/src/test/kotlin/io/getstream/video/android/core/notifications/internal/service/CallServiceTest.kt
# Conflicts:
#	stream-video-android-core/api/stream-video-android-core.api
#	stream-video-android-core/src/main/kotlin/io/getstream/video/android/core/notifications/internal/service/CallService.kt
@aleksandar-apostolov
Copy link
Contributor

Ready to merge.

Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
37.2% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr:new-feature Adds new functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants