Skip to content

Commit 2937415

Browse files
committed
Merge branch 'main' of github.com:GetStream/stream-video-android
2 parents fe80252 + 0517fc9 commit 2937415

File tree

55 files changed

+11941
-2622
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+11941
-2622
lines changed

.github/workflows/compose-snapshot-docs.yml

Lines changed: 0 additions & 48 deletions
This file was deleted.

.github/workflows/release-docs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,6 @@ jobs:
2525
- name: Deploy to GitHub pages
2626
uses: peaceiris/actions-gh-pages@v3
2727
with:
28-
github_token: ${{ secrets.STREAM_CI_TOKEN }}
28+
github_token: ${{ secrets.DOCUSAURUS_GH_TOKEN }}
2929
publish_dir: ./build/dokka/htmlMultiModule
3030
publish_branch: gh-pages
777 KB
Loading

README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Official Android SDK for [Stream Video](https://getstream.io/video/docs/)
22

3-
// TODO - image for the SDK
3+
<img src=".readme-assets/Github-Graphic-Android.jpg" alt="Stream Video for Android Header image" style="box-shadow: 0 3px 10px rgb(0 0 0 / 0.2); border-radius: 1rem" />
44

55
<p align="center">
66
<a href="https://github.com/GetStream/stream-video-android/actions"><img src="https://github.com/GetStream/stream-video-android/workflows/App%20Distribute%20CI/badge.svg" /></a>
@@ -61,6 +61,8 @@ Video roadmap and changelog is available [here](https://github.com/GetStream/pro
6161

6262
### 0.2 milestone
6363

64+
- [ ] bug: screensharing is broken. android doesn’t receive/render (not sure) the screenshare. video shows up as the gray avatar (Thierry)
65+
- [ ] bug: screenshare is not removed after it stops when a participant leaves the call (Thierry) (probably just dont update the state when the participant leaves)
6466
- [ ] Livestream tutorial
6567
- [ ] Deeplink support for video call demo & dogfooding app (skip auth for the video demo, keep it for dogfooding)
6668
- [ ] Chat Integration
@@ -75,7 +77,7 @@ Video roadmap and changelog is available [here](https://github.com/GetStream/pro
7577
- [ ] Test coverage
7678
- [ ] Testing on more devices
7779
- [ ] Speaking while muted stateflow
78-
- [ ] Audio & Video filters
80+
- [ ] Cleanup the retry behaviour in the RtcSession (see the TODO)
7981
- [ ] Android SDK development.md cleanup
8082
- [X] SDK development guide for all teams
8183

@@ -85,4 +87,5 @@ Video roadmap and changelog is available [here](https://github.com/GetStream/pro
8587
- [ ] Screensharing from mobile
8688
- [ ] Tap to focus
8789
- [ ] Camera controls
90+
- [ ] Audio & Video filters
8891
- [ ] Picture of the video stream at highest resolution

buildSrc/src/main/kotlin/io/getstream/video/android/Configuration.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ object Configuration {
66
const val minSdk = 24
77
const val majorVersion = 0
88
const val minorVersion = 0
9-
const val patchVersion = 16
9+
const val patchVersion = 17
1010
const val versionName = "$majorVersion.$minorVersion.$patchVersion"
1111
const val versionCode = 1
1212
const val snapshotVersionName = "$majorVersion.$minorVersion.${patchVersion}-SNAPSHOT"

docusaurus/docs/Android/02-tutorials/01-video-calling.mdx

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,16 @@
11
---
2-
title: Video Call Tutorial
2+
title: How to Build an Android Video Calling App
33
description: How to build a video call similar to Zoom or facebook messenger
44
---
55

66
import { TokenSnippet } from '../../../shared/_tokenSnippet.jsx';
77

8-
9-
Video Calling tutorial issues June 14th:
10-
11-
* standalone join button (Jeroen)
12-
* review sessions with teams (Thierry)
13-
148
This tutorial teaches you how to build Zoom/Whatsapp style video calling for your app.
159

1610
* Calls run on Stream's global edge network for optimal latency & reliability.
1711
* Permissions give you fine grained control over who can do what.
1812
* Video quality and codecs are automatically optimized.
13+
* Powered by Stream's [Video Calling API](https://getstream.io/video/)
1914

2015
### Step 1 - Create a new project in Android Studio
2116

@@ -33,10 +28,13 @@ If you're new to android, note that there are 2 `build.gradle` files, you want t
3328

3429
```groovy
3530
dependencies {
31+
...
3632
// Stream Video Compose SDK
37-
implementation("io.getstream:stream-video-android-compose:0.0.16")
33+
implementation("io.getstream:stream-video-android-compose:0.0.17")
34+
35+
...
3836
39-
// Jetpack Compose
37+
// Optionally add Jetpack Compose if Android studio didn't automatically include them
4038
implementation(platform("androidx.compose:compose-bom:2023.06.00"))
4139
implementation("androidx.activity:activity-compose:1.7.2")
4240
implementation("androidx.compose.ui:ui")
@@ -114,8 +112,8 @@ class MainActivity : ComponentActivity() {
114112
```
115113

116114
To run this sample we need a valid user token. The user token is typically generated by your server side API.
117-
So when the user logs in for your app you return the user token that gives them access to video calling.
118-
To make this tutorial easier to follow we'll generate a user token for you.
115+
So when the user logs in to your app your backend returns the user token that gives them access to video calling.
116+
To make this tutorial easier to follow we'll generate a user token for you:
119117

120118
Please update **REPLACE_WITH_USER_ID**, **REPLACE_WITH_TOKEN** and **REPLACE_WITH_CALL_ID** with the actual values shown below:
121119

@@ -219,7 +217,7 @@ setContent {
219217
VideoRenderer(
220218
modifier = Modifier.weight(1f),
221219
call = call,
222-
video = remoteVideo?.value
220+
video = remoteVideo
223221
)
224222
}
225223
} else {
@@ -385,14 +383,14 @@ override fun onCreate(savedInstanceState: Bundle?) {
385383
ToggleCameraAction(
386384
modifier = Modifier.size(52.dp),
387385
isCameraEnabled = isCameraEnabled,
388-
onCallAction = { call.camera.setEnabled(callAction.isEnabled) }
386+
onCallAction = { call.camera.setEnabled(it.isEnabled) }
389387
)
390388
},
391389
{
392390
ToggleMicrophoneAction(
393391
modifier = Modifier.size(52.dp),
394392
isMicrophoneEnabled = isMicrophoneEnabled,
395-
onCallAction = { call.microphone.setEnabled(callAction.isEnabled) }
393+
onCallAction = { call.microphone.setEnabled(it.isEnabled) }
396394
)
397395
},
398396
{
@@ -431,19 +429,19 @@ VideoTheme(
431429

432430
### Recap
433431

434-
Please do let us know if you ran into any issues.
432+
Please do let us know if you ran into any issues while building an video calling app with Kotlin.
435433
Our team is also happy to review your UI designs and offer recommendations on how to achieve it with Stream.
436434

437-
To recap what we've learned:
435+
To recap what we've learned about android video calling:
438436

439437
* You setup a call: (val call = client.call("default", "123"))
440438
* The call type ("default" in the above case) controls which features are enabled and how permissions are setup
441439
* When you join a call, realtime communication is setup for audio & video calling: (call.join())
442440
* Stateflow objects in call.state and call.state.participants make it easy to build your own UI
443441
* VideoRenderer is the low level component that renders video
444442

445-
Calls run on Stream's global edge network of video servers.
443+
We've used Stream's [Video Calling API](https://getstream.io/video/), which means calls run on a global edge network of video servers.
446444
By being closer to your users the latency and reliability of calls are better.
447-
The SDKs enable you to build in-app video calling, audio rooms and livestreaming in days.
445+
The kotlin SDK enables you to build in-app video calling, audio rooms and livestreaming in days.
448446

449447
We hope you've enjoyed this tutorial and please do feel free to reach out if you have any suggestions or questions.

0 commit comments

Comments
 (0)