Skip to content

Add CallType.AudioRoom for the audio_room server call type#1685

Merged
aleksandar-apostolov merged 1 commit into
developfrom
feature/audio-room-call-type
May 20, 2026
Merged

Add CallType.AudioRoom for the audio_room server call type#1685
aleksandar-apostolov merged 1 commit into
developfrom
feature/audio-room-call-type

Conversation

@aleksandar-apostolov
Copy link
Copy Markdown
Contributor

@aleksandar-apostolov aleksandar-apostolov commented May 18, 2026

Goal

Adds CallType.AudioRoom for the "audio_room" server call type used by React and iOS, completing the cross-platform call-type parity left open by #1684.

Implementation

  • CallType.AudioRoom : CallType("audio_room") — new singleton.
  • Overrides sortPreset to SortPreset.LivestreamOrAudioRoom so group audio rooms self-sort with role-aware ordering, matching React (CallType.ts:120-122) and iOS (LivestreamPlayer.swift:103,129).
  • CallType.fromName lookup list updated to include AudioRoom.
  • Distinct from CallType.AudioCall, which is the Android-specific 1:1 voice call type. AudioCall keeps SortPreset.Default — role-based sort doesn't make sense for a two-participant call.
  • apiCheck vs develop: additive only.

Testing

Manually: create an "audio_room" call type on the server, join it from the dogfood app, confirm participants sort by activity + role without any UI configuration.

Depends on

#1684 — provides SortPreset.LivestreamOrAudioRoom and the CallType.sortPreset plumbing.

Summary by CodeRabbit

  • New Features

    • Introduced the "AudioRoom" call type to the Stream Video Android SDK, enabling developers to implement audio-only room-based calling experiences with automatic sorting and preset configurations integrated into the SDK's call management infrastructure.
  • Tests

    • Added test coverage for the AudioRoom call type, verifying correct configuration and resolution behavior.

Review Change Stack

@aleksandar-apostolov aleksandar-apostolov added the pr:new-feature Adds new functionality label May 18, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 18, 2026

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 ignored for dependabot PRs).

🎉 Great job! This PR is ready for review.

@aleksandar-apostolov aleksandar-apostolov marked this pull request as ready for review May 18, 2026 14:47
@aleksandar-apostolov aleksandar-apostolov requested a review from a team as a code owner May 18, 2026 14:47
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 18, 2026

Walkthrough

This PR introduces a new AudioRoom call type alongside the existing Livestream, AudioCall, and other call types. The type uses the LivestreamOrAudioRoom sort preset, is resolvable via CallType.fromName("audio_room"), and is validated through updated test coverage.

Changes

AudioRoom Call Type Addition

Layer / File(s) Summary
AudioRoom type definition and factory registration
stream-video-android-core/src/main/kotlin/io/getstream/video/android/core/call/CallType.kt
Introduces CallType.AudioRoom singleton with the "audio_room" name and LivestreamOrAudioRoom sort preset override. Updates CallType.fromName() to include AudioRoom in the type lookup list for string resolution.
Public API exposure
stream-video-android-core/api/stream-video-android-core.api
Exposes CallType$AudioRoom as a public class with static INSTANCE field and getSortPreset() method on the public API surface.
Type mapping and sorting tests
stream-video-android-core/src/test/kotlin/io/getstream/video/android/core/sorting/CallTypeSortPresetTest.kt
Adds tests asserting CallType.AudioRoom uses SortPreset.LivestreamOrAudioRoom and that CallType.fromName("audio_room") resolves to the correct type with the expected preset.

🎯 2 (Simple) | ⏱️ ~8 minutes

🐰 A room for audio calls, so clear and bright,
New AudioRoom type now joins the fight!
Presets align with livestream cheer,
Tests confirm—no doubt sincere! 🎙️✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description check ✅ Passed The description covers Goal and Implementation sections with clear technical details, but lacks Testing details, UI Changes, and Contributor Checklist completion.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title accurately and concisely describes the main change: adding a new CallType.AudioRoom for the audio_room server call type, which aligns with all file changes in the changeset.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/audio-room-call-type

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 18, 2026

SDK Size Comparison 📏

SDK Before After Difference Status
stream-video-android-core 12.05 MB 12.05 MB 0.00 MB 🟢
stream-video-android-ui-xml 5.68 MB 5.68 MB 0.00 MB 🟢
stream-video-android-ui-compose 6.27 MB 6.27 MB 0.00 MB 🟢

Base automatically changed from feature/participants-sorting to develop May 19, 2026 14:41
Adds CallType.AudioRoom (name = "audio_room") to mirror the same-named call
type used by React and iOS. Overrides sortPreset to LivestreamOrAudioRoom so
group audio chats self-sort with role-aware ordering out of the box.

Distinct from CallType.AudioCall (Android-specific 1:1 voice call). AudioCall
keeps SortPreset.Default — role-based sort doesn't apply to a two-participant
call.

Updates CallType.fromName to include AudioRoom in the lookup list.

Tests: extends CallTypeSortPresetTest with assertions for AudioRoom.sortPreset
and the fromName("audio_room") resolution path.

apiCheck vs develop: additive only.
@aleksandar-apostolov
Copy link
Copy Markdown
Contributor Author

@coderabbitai

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 20, 2026

@aleksandar-apostolov Sure, I'll review the changes in this PR!

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@aleksandar-apostolov aleksandar-apostolov force-pushed the feature/audio-room-call-type branch from be12147 to f7461e6 Compare May 20, 2026 06:23
@sonarqubecloud
Copy link
Copy Markdown

@aleksandar-apostolov aleksandar-apostolov changed the title Add CallType.AudioRoom for the audio_room server call type Add CallType.AudioRoom for the audio_room server call type May 20, 2026
@aleksandar-apostolov aleksandar-apostolov merged commit 56e8e46 into develop May 20, 2026
19 of 20 checks passed
@aleksandar-apostolov aleksandar-apostolov deleted the feature/audio-room-call-type branch May 20, 2026 08:38
@stream-public-bot stream-public-bot added the released Included in a release label May 26, 2026
@stream-public-bot
Copy link
Copy Markdown
Collaborator

🚀 Available in v1.24.0

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 released Included in a release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants