Skip to content

Commit fc708bf

Browse files
committed
Merge branch 'develop' of github.com:GetStream/stream-video-android
2 parents 2fe4cdc + 0455866 commit fc708bf

File tree

149 files changed

+3125
-1381
lines changed

Some content is hidden

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

149 files changed

+3125
-1381
lines changed

.github/workflows/android.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,18 @@ jobs:
125125
./gradlew :stream-video-android-compose:testDebugUnitTest --scan --stacktrace
126126
./gradlew :stream-video-android-core:testDebugUnitTest --scan --stacktrace
127127
128+
- name: Unit tests core results
129+
uses: actions/upload-artifact@v2
130+
with:
131+
name: unit-tests-core-results
132+
path: stream-video-android-core/build/reports/tests/testDebugUnitTest/index.html
133+
134+
- name: Unit tests compose results
135+
uses: actions/upload-artifact@v2
136+
with:
137+
name: unit-tests-compose-results
138+
path: stream-video-android-compose/build/reports/tests/testDebugUnitTest/index.html
139+
128140
androidTest-GMD:
129141
name: Android Test with GMD
130142
if: ${{ false }} # disable for now

.github/workflows/docusaurus-staging.yml

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

.github/workflows/docusaurus.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Docusaurus
2+
3+
on:
4+
push:
5+
paths:
6+
- 'docusaurus/**'
7+
- '.github/workflows/docusaurus.yml'
8+
9+
workflow_dispatch:
10+
11+
jobs:
12+
push_docusaurus:
13+
name: Publish docs
14+
runs-on: ubuntu-latest
15+
timeout-minutes: 20
16+
steps:
17+
- uses: actions/checkout@v3.1.0
18+
19+
- name: Setup Node 18
20+
uses: actions/setup-node@v3.1.0
21+
with:
22+
node-version: 18
23+
24+
- name: Push docs
25+
uses: GetStream/push-stream-chat-docusaurus-action@main
26+
with:
27+
target-branch: ${{ github.ref == 'refs/heads/main' && 'main' || 'staging' }}
28+
cli-target-branch: ${{ github.ref == 'refs/heads/main' && 'production' || 'staging' }}
29+
destination-repository-name: 'stream-video-docusaurus'
30+
source-directory: 'docusaurus'
31+
env:
32+
DOCUSAURUS_GH_TOKEN: ${{ secrets.DOCUSAURUS_GH_TOKEN }}

README.md

Lines changed: 31 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,7 @@ Video roadmap and changelog is available [here](https://github.com/GetStream/pro
7777

7878
### 0.2.0 milestone
7979

80-
- [ ] Publish app on play store
81-
- [ ] Bug: Screensharing on Firefox has some issues when rendering on android (Daniel)
80+
- [X] Publish app on play store
8281
- [X] Example Button to switch speakerphone/earpiece (Jaewoong)
8382
- [X] Chat Integration (Jaewoong)
8483
- [X] Automatically handle pagination and sorting on > 6 participants in the sample app (Daniel)
@@ -96,36 +95,49 @@ Video roadmap and changelog is available [here](https://github.com/GetStream/pro
9695
- [X] sortedParticipants stateflow doesn't update accurately (Thierry)
9796
- [X] Reactions
9897
- [X] 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)
98+
- [X] Speaking while muted stateflow (Daniel)
99+
- [X] Bluetooth reliability
100+
- [X] Cleanup the retry behaviour in the RtcSession
101+
- [X] SDK development guide for all teams
99102

100103
### 0.3.0 milestone
101104

102-
- [ ] Ringing: Make it easy to test
103-
- [ ] Ringing: Make a list of what needs to be configurable
104-
- [ ] Ringing: Sounds for incoming, outgoing, call timed out. Sound for someone joining a call (Disabled by default). Docs on how to change them
105+
- [ ] Complete integration with the video demo flow
106+
- [ ] Finish usability testing with design team on chat integration (Jaewoong)
107+
- [X] Ringing: Finish it, make testing easy and write docs for common changes (Daniel)
108+
- [ ] Bug: Screensharing on Firefox has some issues when rendering on android (Daniel)
109+
- [ ] Pagination on query members & query call endpoints (Daniel)
110+
- [ ] local version of audioLevel(s) for lower latency audio visualizations(Daniel)
111+
- [ ] Android SDK development.md cleanup (Daniel)
112+
- [ ] Livestream tutorial (depends on RTMP support) (Thierry)
105113
- [ ] Call Analytics stateflow (Thierry)
106-
- [ ] Pagination on query members & query channel endpoints (Daniel)
107-
- [ ] Audio & Video filters. Support (Daniel)
108-
- [ ] Livestream tutorial (depends on RTMP support)
109-
- [ ] H264 workaround on Samsung 23 (see https://github.com/livekit/client-sdk-android/blob/main/livekit-android-sdk/src/main/java/io/livekit/android/webrtc/SimulcastVideoEncoderFactoryWrapper.kt#L34 and
110-
- https://github.com/react-native-webrtc/react-native-webrtc/issues/983#issuecomment-975624906)
111-
- [ ] Dynascale 2.0 (codecs, f resolution switches, resolution webrtc handling)
114+
- [ ] Enable ice restarts for publisher and subscriber
112115
- [ ] Test coverage
113116
- [ ] Testing on more devices
114-
- [ ] local version of audioLevel(s) for lower latency audio visualizations(Daniel)
115-
- [ ] Android SDK development.md cleanup (Daniel)
116117
- [ ] Logging is too verbose (rtc is very noisy), clean it up to focus on the essential for info and higher
117-
- [X] Speaking while muted stateflow (Daniel)
118-
- [X] Bluetooth reliability
119-
- [X] Cleanup the retry behaviour in the RtcSession
120-
- [X] SDK development guide for all teams
121118

122119
### 0.4.0 milestone
123120

124-
- [ ] Screensharing from mobile
121+
- [ ] Upgrade to more recent versions of webrtc
125122
- [ ] Tap to focus
126-
- [ ] Camera controls
127123
- [ ] Picture of the video stream at highest resolution
128124
- [ ] Review foreground service vs backend for some things like screensharing etc
125+
- [ ] Audio & Video filters. Support (Daniel)
126+
- [ ] H264 workaround on Samsung 23 (see https://github.com/livekit/client-sdk-android/blob/main/livekit-android-sdk/src/main/java/io/livekit/android/webrtc/SimulcastVideoEncoderFactoryWrapper.kt#L34 and
127+
- https://github.com/react-native-webrtc/react-native-webrtc/issues/983#issuecomment-975624906)
128+
- [ ] Dynascale 2.0
129+
130+
### 0.5.0 milestone
131+
132+
- [ ] Screensharing from mobile
133+
- [ ] Camera controls
134+
135+
### Dynascale 2.0
136+
137+
- currently we support selecting which of the 3 layers you want to send: f, h and q. in addition we should support:
138+
- changing the resolution of the f track
139+
- changing the codec that's used from VP8 to h264 or vice versa
140+
- detecting when webrtc changes the resolution of the f track, and notifying the server about it (if needed)
129141

130142
## 💼 We are hiring!
131143

benchmark/src/main/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@
1717
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
1818

1919
<queries>
20-
<package android:name="io.getstream.video.android.dogfooding" />
20+
<package android:name="io.getstream.video.android" />
2121
</queries>
2222
</manifest>

benchmark/src/main/java/io/getstream/video/android/benchmark/BaselineProfileGenerator.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package io.getstream.video.android.benchmark
1818

19-
import androidx.benchmark.macro.ExperimentalStableBaselineProfilesApi
2019
import androidx.benchmark.macro.junit4.BaselineProfileRule
2120
import androidx.test.uiautomator.By
2221
import androidx.test.uiautomator.BySelector
@@ -26,14 +25,13 @@ import androidx.test.uiautomator.Until
2625
import org.junit.Rule
2726
import org.junit.Test
2827

29-
@ExperimentalStableBaselineProfilesApi
3028
internal class BaselineProfileGenerator {
3129
@get:Rule
3230
internal val baselineProfileRule = BaselineProfileRule()
3331

3432
@Test
3533
fun startup() =
36-
baselineProfileRule.collectStableBaselineProfile(
34+
baselineProfileRule.collectBaselineProfile(
3735
packageName = packageName,
3836
stableIterations = 2,
3937
maxIterations = 8,

benchmark/src/main/java/io/getstream/video/android/benchmark/Const.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@
1616

1717
package io.getstream.video.android.benchmark
1818

19-
internal const val packageName = "io.getstream.video.android.dogfooding"
19+
internal const val packageName = "io.getstream.video.android"

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

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,17 @@ This tutorial teaches you how to build Zoom/Whatsapp style video calling for you
1818
2. Select Phone & Tablet -> **Empty Activity**
1919
3. Name your project **VideoCall**.
2020

21-
Note that setup steps can vary slightly across Android Studio versions.
22-
If you run into trouble, make sure to use the latest version of Android Studio ([Flamingo](https://developer.android.com/studio/releases#android-studio-flamingo-|-2022.2.1-patch-2-may-2023) or higher).
21+
Note that this tutorial was written using Android Studio Giraffe. Setup steps can vary slightly across Android Studio versions.
22+
We recommend using Android Studio Giraffe or newer.
2323

2424
### Step 2 - Install the SDK & Setup the client
2525

26-
**Add the Video Compose SDK** and [Jetpack Compose](https://developer.android.com/jetpack/compose) dependencies to your app's `build.gradle.kts` file found in `app/build.gradle`.
26+
**Add the Video Compose SDK** and [Jetpack Compose](https://developer.android.com/jetpack/compose) dependencies to your app's `build.gradle.kts` file found in `app/build.gradle.kts`.
2727
If you're new to android, note that there are 2 `build.gradle` files, you want to open the `build.gradle` in the app folder.
2828

29-
```groovy
29+
30+
31+
```kotlin
3032
dependencies {
3133
// Stream Video Compose SDK
3234
implementation("io.getstream:stream-video-android-compose:0.2.0")

docusaurus/docs/Android/02-tutorials/02-audio-room.mdx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,16 @@ Time to get started building an audio-room for your app.
2020

2121
### Step 1 - Create a new project in Android Studio
2222

23-
This tutorial was written using [Android Studio Flamingo](https://developer.android.com/studio/releases#android-studio-flamingo-|-2022.2.1-patch-2-may-2023).
24-
Setup steps can vary slightly across Android Studio versions.
25-
If you run into trouble, make sure to use the latest version of Android Studio.
23+
Note that this tutorial was written using Android Studio Giraffe. Setup steps can vary slightly across Android Studio versions.
24+
We recommend using Android Studio Giraffe or newer.
2625

2726
1. Create a new project
2827
2. Select Phone & Tablet -> **Empty Activity**
2928
3. Name your project **AudioRoom**.
3029

3130
### Step 2 - Install the SDK & Setup the client
3231

33-
**Add the Video Compose SDK** and [Jetpack Compose](https://developer.android.com/jetpack/compose) dependencies to your app's `build.gradle.kts` file found in `app/build.gradle`.
32+
**Add the Video Compose SDK** and [Jetpack Compose](https://developer.android.com/jetpack/compose) dependencies to your app's `build.gradle.kts` file found in `app/build.gradle.kts`.
3433
If you're new to android, note that there are 2 `build.gradle` files, you want to open the `build.gradle` in the app folder.
3534

3635
```groovy

0 commit comments

Comments
 (0)