Skip to content

Commit

Permalink
Merge branch 'feat/video-filters' into feat/codec-negotiation
Browse files Browse the repository at this point in the history
  • Loading branch information
Brazol committed Dec 30, 2024
2 parents 5fa2344 + 46ed60b commit 59966c1
Show file tree
Hide file tree
Showing 35 changed files with 278 additions and 43 deletions.
12 changes: 6 additions & 6 deletions .github/workflows/legacy_version_analyze.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,23 @@ name: legacy_version_analyze
env:
# Note: The versions below should be manually updated after a new stable
# version comes out.
flutter_version: "3.22.0"
flutter_version: "3.24.5"

on:
push:
branches:
- main
- develop
paths:
- 'packages/**'
- '.github/workflows/legacy_version_analyze.yml'
- "packages/**"
- ".github/workflows/legacy_version_analyze.yml"
pull_request:
branches:
- main
- develop
paths:
- 'packages/**'
- '.github/workflows/legacy_version_analyze.yml'
- "packages/**"
- ".github/workflows/legacy_version_analyze.yml"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand Down Expand Up @@ -66,4 +66,4 @@ jobs:
run: cd packages/stream_video_push_notification/lib && dart analyze --no-fatal-warnings .

- name: "Stream Video Flutter Screen Sharing Analyze"
run: cd packages/stream_video_screen_sharing/lib && dart analyze --no-fatal-warnings .
run: cd packages/stream_video_screen_sharing/lib && dart analyze --no-fatal-warnings .
28 changes: 14 additions & 14 deletions .github/workflows/stream_video_flutter_workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ name: stream_video_flutter_workflow

env:
FLUTTER_CHANNEL: stable
FLUTTER_VERSION: 3.24.3
FLUTTER_VERSION: 3.27.1
ENV_PROPERTIES: ${{ secrets.ENV_PROPERTIES }}

on:
pull_request:
paths:
- 'packages/**'
- '.github/workflows/stream_video_flutter_workflow.yml'
- "packages/**"
- ".github/workflows/stream_video_flutter_workflow.yml"
types:
- opened
- reopened
Expand All @@ -32,18 +32,18 @@ jobs:
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Install Flutter
uses: subosito/flutter-action@v2
with:
cache: true
channel: ${{ env.FLUTTER_CHANNEL }}
flutter-version: ${{ env.FLUTTER_VERSION }}

- name: Install Tools
run: |
flutter pub global activate melos
- name: Bootstrap Workspace
run: melos postclean

Expand All @@ -54,12 +54,12 @@ jobs:
run: |
echo "${{ env.ENV_PROPERTIES }}" > .env &&
melos run generate:all
# TODO: Treat info and warning as error once all packages solve their issues.
- name: Dart Analyze
run: |
melos run analyze:error
build:
timeout-minutes: 15
runs-on: ubuntu-latest
Expand All @@ -68,7 +68,7 @@ jobs:
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: ⚙️ Set up Java
uses: actions/setup-java@v3
with:
Expand All @@ -81,19 +81,19 @@ jobs:
cache: true
channel: ${{ env.FLUTTER_CHANNEL }}
flutter-version: ${{ env.FLUTTER_VERSION }}

- name: Install Tools
run: |
flutter pub global activate melos
- name: Bootstrap Workspace
run: melos bootstrap --verbose

- name: Prepare environment
run: |
echo "${{ env.ENV_PROPERTIES }}" > .env &&
melos run generate:all
- name: Build Example
run: |
melos run build:example:android
melos run build:example:android
4 changes: 4 additions & 0 deletions dogfooding/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
if (project.android.hasProperty("namespace")) {
namespace = "io.getstream.video.flutter.dogfooding"
}

compileSdkVersion 34
ndkVersion flutter.ndkVersion

Expand Down
4 changes: 3 additions & 1 deletion dogfooding/lib/app/app_content.dart
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,9 @@ class _StreamDogFoodingAppContentState
optionElevation: 2,
inactiveOptionElevation: 2,
optionBackgroundColor: AppColorPalette.buttonSecondary,
inactiveOptionBackgroundColor: colorTheme.overlay.withOpacity(0.4),
inactiveOptionBackgroundColor:
// ignore: deprecated_member_use
colorTheme.overlay.withOpacity(0.4),
optionShape: const CircleBorder(),
optionPadding: const EdgeInsets.all(14),
),
Expand Down
1 change: 1 addition & 0 deletions dogfooding/lib/screens/call_stats_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,7 @@ class StatIndicator extends StatelessWidget {
return Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(16),
// ignore: deprecated_member_use
color: indicatorData.$1.withOpacity(0.16),
),
padding: const EdgeInsets.all(8),
Expand Down
3 changes: 3 additions & 0 deletions dogfooding/lib/screens/home_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import 'package:flutter_dogfooding/widgets/stream_button.dart';
import 'package:stream_video_flutter/stream_video_flutter.dart';
import 'package:stream_video_flutter/stream_video_flutter_background.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:stream_video_push_notification/stream_video_push_notification.dart';

import '../app/user_auth_controller.dart';
import '../di/injector.dart';
Expand Down Expand Up @@ -43,6 +44,8 @@ class _HomeScreenState extends State<HomeScreen> {
Permission.microphone,
].request();

StreamVideoPushNotificationManager.ensureFullScreenIntentPermission();

StreamBackgroundService.init(
StreamVideo.instance,
onButtonClick: (call, type, serviceType) async {
Expand Down
12 changes: 10 additions & 2 deletions dogfooding/lib/screens/stats_latency_chart.dart
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,12 @@ class StatsLatencyChart extends StatelessWidget {
colors: [
ColorTween(
begin: AppColorPalette.appGreen,
// ignore: deprecated_member_use
end: AppColorPalette.appGreen.withOpacity(0.5))
.lerp(0.2)!,
ColorTween(
begin: AppColorPalette.appGreen,
// ignore: deprecated_member_use
end: AppColorPalette.appGreen.withOpacity(0.5))
.lerp(0.2)!,
],
Expand All @@ -96,13 +98,19 @@ class StatsLatencyChart extends StatelessWidget {
colors: [
ColorTween(
begin: AppColorPalette.appGreen,
end: AppColorPalette.appGreen.withOpacity(0.5))
end:
// ignore: deprecated_member_use
AppColorPalette.appGreen.withOpacity(0.5))
.lerp(0.2)!
// ignore: deprecated_member_use
.withOpacity(0.1),
ColorTween(
begin: AppColorPalette.appGreen,
end: AppColorPalette.appGreen.withOpacity(0.5))
end:
// ignore: deprecated_member_use
AppColorPalette.appGreen.withOpacity(0.5))
.lerp(0.2)!
// ignore: deprecated_member_use
.withOpacity(0.1),
],
),
Expand Down
2 changes: 1 addition & 1 deletion dogfooding/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: Flutter Dogfooding App to showcase Video SDK.

environment:
sdk: ">=3.4.0 <4.0.0"
flutter: ">=3.22.0"
flutter: ">=3.24.5"

dependencies:
app_links: ^6.3.2
Expand Down
3 changes: 3 additions & 0 deletions packages/stream_video/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
## Unreleased

* Updated minimum Flutter version to 3.24.5

✅ Added
* Added the 'call.collectUserFeedback()' method which allows users to send call quality rating. These ratings are visible on the Dashboard and are aggregated in call stats for easy tracking. For a sample implementation, please refer to the [cookbook](https://getstream.io/video/docs/flutter/ui-cookbook/call-quality-rating/).
* Added device thermal status reporting to better optimize call quality.

## 0.6.0

Expand Down
2 changes: 1 addition & 1 deletion packages/stream_video/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ issue_tracker: https://github.com/GetStream/stream-video-flutter/issues

environment:
sdk: ">=3.4.0 <4.0.0"
flutter: ">=3.22.0"
flutter: ">=3.24.5"

dependencies:
async: ^2.11.0
Expand Down
9 changes: 9 additions & 0 deletions packages/stream_video_flutter/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,16 @@
## Unreleased

* Updated minimum Flutter version to 3.24.5

✅ Added
* Added the 'call.collectUserFeedback()' method which allows users to send call quality rating. These ratings are visible on the Dashboard and are aggregated in call stats for easy tracking. For a sample implementation, please refer to the [cookbook](https://getstream.io/video/docs/flutter/ui-cookbook/call-quality-rating/).
* Added device thermal status reporting to better optimize call quality.
* Added the `StreamVideoPushNotificationManager.ensureFullScreenIntentPermission()` method. This resolves an issue on some Android 14 devices where full-screen notifications would not appear due to missing permissions.
You can now invoke this method to show a settings screen, allowing users to enable the required permission if it's not already enabled.

🐞 Fixed
* Resolved an issue where CallKit calls would not connect when accepted while the screen was locked.
* Fixed a bug where the Android foreground service would not stop when the app was killed, keeping the call connection active.

## 0.6.0

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,14 @@ open class StreamCallService : Service() {
notificationPayload = NotificationPayload()
}

override fun onTaskRemoved(rootIntent: Intent?) {
super.onTaskRemoved(rootIntent)

// Cleanup when the app is swiped away
stopForeground(true)
stopSelf()
}

override fun onBind(intent: Intent?): IBinder? = null

private fun startForeground() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
compileSdkVersion flutter.compileSdkVersion
compileSdkVersion 34
ndkVersion flutter.ndkVersion

compileOptions {
Expand Down
2 changes: 1 addition & 1 deletion packages/stream_video_flutter/example/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ version: 1.0.0+1

environment:
sdk: ">=3.4.0 <4.0.0"
flutter: ">=3.22.0"
flutter: ">=3.24.5"

dependencies:
cupertino_icons: ^1.0.5
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ class StreamConnectionQualityIndicator extends StatelessWidget {

return DecoratedBox(
decoration: BoxDecoration(
// ignore: deprecated_member_use
color: Colors.black.withOpacity(0.85),
borderRadius: const BorderRadius.only(
topLeft: Radius.circular(10),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ class StreamParticipantLabel extends StatelessWidget {

return DecoratedBox(
decoration: BoxDecoration(
// ignore: deprecated_member_use
color: Colors.black.withOpacity(0.85),
borderRadius: const BorderRadius.only(
topRight: Radius.circular(10),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ class ScreenShareCallParticipantsContent extends StatelessWidget {
child: Container(
padding: const EdgeInsets.all(8),
decoration: BoxDecoration(
// ignore: deprecated_member_use
color: colorTheme.barsBg.withOpacity(0.85),
borderRadius: BorderRadius.circular(8),
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ class LivestreamInfo extends StatelessWidget {
'${minutes.toString().padLeft(2, '0')}:${seconds.toString().padLeft(2, '0')}';

return ColoredBox(
// ignore: deprecated_member_use
color: Colors.black.withOpacity(0.4),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,9 @@ class StreamVideoTheme extends ThemeExtension<StreamVideoTheme> {
optionElevation: 2,
inactiveOptionElevation: 2,
optionBackgroundColor: Colors.white,
inactiveOptionBackgroundColor: colorTheme.overlay.withOpacity(0.4),
inactiveOptionBackgroundColor:
// ignore: deprecated_member_use
colorTheme.overlay.withOpacity(0.4),
optionShape: const CircleBorder(),
optionPadding: const EdgeInsets.all(16),
),
Expand Down Expand Up @@ -227,6 +229,7 @@ class StreamVideoTheme extends ThemeExtension<StreamVideoTheme> {
),
callingLabelTextStyle: TextStyle(
fontSize: 20,
// ignore: deprecated_member_use
color: colorTheme.barsBg.withOpacity(0.6),
fontWeight: FontWeight.bold,
),
Expand Down Expand Up @@ -274,6 +277,7 @@ class StreamVideoTheme extends ThemeExtension<StreamVideoTheme> {
),
callingLabelTextStyle: TextStyle(
fontSize: 20,
// ignore: deprecated_member_use
color: colorTheme.barsBg.withOpacity(0.6),
fontWeight: FontWeight.bold,
),
Expand Down
2 changes: 1 addition & 1 deletion packages/stream_video_flutter/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ issue_tracker: https://github.com/GetStream/stream-video-flutter/issues

environment:
sdk: ">=3.4.0 <4.0.0"
flutter: ">=3.22.0"
flutter: ">=3.24.5"

dependencies:
cached_network_image: ^3.4.1
Expand Down
13 changes: 8 additions & 5 deletions packages/stream_video_push_notification/.metadata
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# This file should be version controlled and should not be manually edited.

version:
revision: "2f708eb8396e362e280fac22cf171c2cb467343c"
revision: "2663184aa79047d0a33a14a3b607954f8fdd8730"
channel: "stable"

project_type: plugin
Expand All @@ -13,11 +13,14 @@ project_type: plugin
migration:
platforms:
- platform: root
create_revision: 2f708eb8396e362e280fac22cf171c2cb467343c
base_revision: 2f708eb8396e362e280fac22cf171c2cb467343c
create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
- platform: android
create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
- platform: ios
create_revision: 2f708eb8396e362e280fac22cf171c2cb467343c
base_revision: 2f708eb8396e362e280fac22cf171c2cb467343c
create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730

# User provided section

Expand Down
11 changes: 11 additions & 0 deletions packages/stream_video_push_notification/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
## Unreleased

* Updated minimum Flutter version to 3.24.5

✅ Added
* Added the `StreamVideoPushNotificationManager.ensureFullScreenIntentPermission()` method. This resolves an issue on some Android 14 devices where full-screen notifications would not appear due to missing permissions.
You can now invoke this method to show a settings screen, allowing users to enable the required permission if it's not already enabled.

🐞 Fixed
* Resolved an issue where CallKit calls would not connect when accepted while the screen was locked.

## 0.6.0

🔄 Dependency updates
Expand Down
Loading

0 comments on commit 59966c1

Please sign in to comment.