Skip to content

[Telecom-5] use Telecom-first incoming calls on Android 17 - #1804

Draft
rahul-lohra wants to merge 7 commits into
bugfix/rahullohra/incoming-ringing-stabilityfrom
bugfix/rahullohra/android-target-17-bg-ringing
Draft

[Telecom-5] use Telecom-first incoming calls on Android 17#1804
rahul-lohra wants to merge 7 commits into
bugfix/rahullohra/incoming-ringing-stabilityfrom
bugfix/rahullohra/android-target-17-bg-ringing

Conversation

@rahul-lohra

@rahul-lohra rahul-lohra commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Goal

Closes: #[AND-1494]

Implementation

  • default Android 17 incoming calls to Telecom-first routing using isAndroid17OrHigher()
  • post the notification-owned ringing UI only after Telecom registration succeeds
  • fall back to CallService while retaining notification ringtone ownership
  • keep pre-Android 17 behavior unchanged
  • keep one ServiceLauncher and Telecom provider per client lifecycle
  • track whether Telecom or CallService owns the incoming call
  • leave ClientState.maybeStopForegroundService(call) unchanged from the preceding PR

Public API changes

  • None. The temporary debugUseTelecomFirstForIncomingCalls builder API was removed.
  • Telecom routing state and coordinator types remain internal.

Stack

PR 5 of 5. Depends on #1810.

Review and merge the stack from #1807 upward.

Testing

  • both Android 17 and pre-Android 17 incoming-call coordinators
  • notification ringtone preparation, existing-channel reuse, and missing-channel rejection
  • notification-only incoming-call presentation
  • Telecom permission checks and registration callbacks, failures, and cancellation
  • Android-version defaults in CallServiceConfig
  • CallService observer ownership for Telecom and legacy routes
  • foreground-service type behavior across Android versions
  • Telecom notification update IDs
  • legacy ringtone suppression under notification ownership
  • rejected-call handling
  • incoming notification preparation and missed-call cleanup in StreamDefaultNotificationHandler

@rahul-lohra rahul-lohra self-assigned this Sep 2, 2026
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

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, or the PR is bot-authored.
  • An issue is linked (Linear ticket or GitHub issue), or the PR is bot-authored.

🎉 Great job! This PR is ready for review.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

SDK Size Comparison 📏

SDK Before After Difference Status
stream-video-android-core 12.30 MB 12.32 MB 0.02 MB 🟢
stream-video-android-ui-xml 5.70 MB 5.69 MB -0.00 MB 🚀
stream-video-android-ui-compose 6.23 MB 6.23 MB 0.00 MB 🟢

@rahul-lohra
rahul-lohra force-pushed the bugfix/rahullohra/android-target-17-bg-ringing branch from 43d430b to c0fe2f9 Compare September 4, 2026 10:02
@rahul-lohra rahul-lohra changed the title [Draft]Android 17 bg ringing fix(core): use Telecom-first incoming calls on Android 17 Sep 4, 2026
@rahul-lohra
rahul-lohra changed the base branch from develop to bugfix/rahullohra/incoming-ringing-stability September 4, 2026 10:03
@rahul-lohra
rahul-lohra force-pushed the bugfix/rahullohra/android-target-17-bg-ringing branch from c0fe2f9 to 58ace12 Compare September 4, 2026 10:33
@rahul-lohra rahul-lohra changed the title fix(core): use Telecom-first incoming calls on Android 17 [Telecom-5] use Telecom-first incoming calls on Android 17 Sep 4, 2026
@rahul-lohra rahul-lohra added the pr:bug Fixes a bug label Sep 4, 2026
@rahul-lohra
rahul-lohra force-pushed the bugfix/rahullohra/android-target-17-bg-ringing branch from 58ace12 to 4a69e8a Compare September 4, 2026 11:05
@rahul-lohra
rahul-lohra force-pushed the bugfix/rahullohra/android-target-17-bg-ringing branch from 4a69e8a to 6b7934c Compare September 4, 2026 11:19
@rahul-lohra rahul-lohra changed the title [Telecom-5] use Telecom-first incoming calls on Android 17 [AND-1494][Telecom-5] use Telecom-first incoming calls on Android 17 Sep 4, 2026
@rahul-lohra rahul-lohra changed the title [AND-1494][Telecom-5] use Telecom-first incoming calls on Android 17 [Telecom-5] use Telecom-first incoming calls on Android 17 Sep 4, 2026
@rahul-lohra
rahul-lohra force-pushed the bugfix/rahullohra/android-target-17-bg-ringing branch 2 times, most recently from e020a44 to 8a59832 Compare September 4, 2026 12:10
@rahul-lohra
rahul-lohra force-pushed the bugfix/rahullohra/android-target-17-bg-ringing branch from e12d202 to d02e328 Compare September 4, 2026 12:51
@rahul-lohra
rahul-lohra force-pushed the bugfix/rahullohra/android-target-17-bg-ringing branch 2 times, most recently from a214d27 to 3ad0810 Compare September 4, 2026 13:13
@rahul-lohra
rahul-lohra force-pushed the bugfix/rahullohra/android-target-17-bg-ringing branch from 3ad0810 to 9c8c426 Compare September 4, 2026 13:47
@sonarqubecloud

sonarqubecloud Bot commented Sep 5, 2026

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
71.0% 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:bug Fixes a bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant