Skip to content

feat: refine pip for iOS and Android #53

feat: refine pip for iOS and Android

feat: refine pip for iOS and Android #53

GitHub Actions / Analysis of agora_rtc_engine succeeded May 20, 2025 in 1m 34s

Package analysis results for agora_rtc_engine

Score

80/160 points
(50.0%)

Details

Follow Dart file conventions (30/30)

✔ 10/10 points: Provide a valid pubspec.yaml

✔ 5/5 points: Provide a valid README.md

✔ 5/5 points: Provide a valid CHANGELOG.md

✔ 10/10 points: Use an OSI-approved license

Detected license: MIT.

Provide documentation (20/20)

✔ 10/10 points: 20% or more of the public API has dartdoc comments

1480 out of 1527 API elements (96.9 %) have documentation comments.

Some symbols that are missing documentation: agora_rtc_engine, agora_rtc_engine.AgoraPipContentViewLayout.toDictionary, agora_rtc_engine.AgoraPipController.AgoraPipController.new, agora_rtc_engine.AudioDeviceManager.AudioDeviceManager.new, agora_rtc_engine.AudioEncodedFrameObserverPositionExt.

✔ 10/10 points: Package has an example

Platform support (20/20)

✔ 20/20 points: Supports 5 of 6 possible platforms (iOS, Android, Web, Windows, macOS, Linux)

  • ✓ Android

  • ✓ iOS

  • ✓ Windows

  • ✓ macOS

  • ✓ Web

These platforms are not supported:

Package does not support platform `Linux`.

Because:

  • package:agora_rtc_engine/agora_rtc_engine.dart that declares support for platforms: Android, iOS, Windows, macOS, Web.

These issues are present but do not affect the score, because they may not originate in your package:

Package not compatible with platform Web

Because:

  • package:agora_rtc_engine/agora_rtc_engine.dart that imports:
  • package:agora_rtc_engine/src/agora_pip_controller.dart that imports:
  • package:agora_rtc_engine/src/agora_rtc_engine_ex.dart that imports:
  • package:agora_rtc_engine/src/binding_forward_export.dart that imports:
  • package:agora_rtc_engine/src/agora_rtc_engine_ext.dart that imports:
  • package:agora_rtc_engine/src/impl/media_player_impl.dart that imports:
  • package:agora_rtc_engine/src/render/media_player_controller.dart that imports:
  • package:agora_rtc_engine/src/render/video_view_controller.dart that imports:
  • package:agora_rtc_engine/src/impl/video_view_controller_impl.dart that imports:
  • package:agora_rtc_engine/src/impl/platform/global_video_view_controller.dart that imports:
  • package:agora_rtc_engine/src/impl/platform/global_video_view_controller_platform.dart that imports:
  • package:agora_rtc_engine/src/impl/agora_rtc_engine_impl.dart that imports:
  • dart:io

❌ 0/0 points: WASM compatibility

Unable to detect compatibility with runtime wasm, and this package will not be rewarded full points in a future version of the scoring model.

See https://dart.dev/web/wasm for details.

Pass static analysis (0/50)

❌ 0/50 points: code has no errors, warnings, lints, or formatting issues

Found 70 issues. Showing the first 2:

ERROR: Missing concrete implementations of 'AgoraPipController.dispose', 'AgoraPipController.isPipActivated', 'AgoraPipController.pipIsAutoEnterSupported', and 'AgoraPipController.pipSetup'.

lib/src/impl/platform/agora_pip_controller_expect.dart:6:7

  ╷
6 │ class AgoraPipControllerImpl extends AgoraPipController {
  │       ^^^^^^^^^^^^^^^^^^^^^^
  ╵

To reproduce make sure you are using the lints_core and run flutter analyze lib/src/impl/platform/agora_pip_controller_expect.dart

ERROR: Undefined class 'MethodCall'.

lib/src/impl/platform/io/agora_pip_controller_actual_io.dart:26:34

   ╷
26 │   final Future<dynamic> Function(MethodCall call) _methodChannelHandler;
   │                                  ^^^^^^^^^^
   ╵

To reproduce make sure you are using the lints_core and run flutter analyze lib/src/impl/platform/io/agora_pip_controller_actual_io.dart

Support up-to-date dependencies (10/40)

❌ 0/10 points: All of the package dependencies are supported in the latest version

Package Constraint Compatible Latest Notes
async >=2.8.2 2.13.0 2.13.0
ffi >=1.1.2 2.1.4 2.1.4
iris_method_channel >=2.2.0 2.2.2 2.2.2
js >=0.6.3 0.7.2 0.7.2 Discontinued
json_annotation ^4.4.0 4.9.0 4.9.0
meta ^1.7.0 1.16.0 1.17.0
Transitive dependencies
Package Constraint Compatible Latest Notes
characters - 1.4.0 1.4.0
collection - 1.19.1 1.19.1
material_color_utilities - 0.11.1 0.12.0
vector_math - 2.1.4 2.1.5

To reproduce run dart pub outdated --no-dev-dependencies --up-to-date --no-dependency-overrides.

The package has one or more discontinued direct dependencies.

Discontinued packages are no longer maintained, and can end up being a
liability.

Consider migrating away from these dependencies:

  • js.

✔ 10/10 points: Package supports latest stable Dart and Flutter SDKs

❌ 0/20 points: Compatible with dependency constraint lower bounds

downgrade analysis failed failed with 4 errors:

  • NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER - lib/src/impl/platform/agora_pip_controller_expect.dart:6:7 - Missing concrete implementations of 'AgoraPipController.dispose', 'AgoraPipController.isPipActivated', 'AgoraPipController.pipIsAutoEnterSupported', and 'AgoraPipController.pipSetup'.
  • UNDEFINED_CLASS - lib/src/impl/platform/io/agora_pip_controller_actual_io.dart:26:34 - Undefined class 'MethodCall'.
  • FINAL_NOT_INITIALIZED_CONSTRUCTOR - lib/src/impl/platform/io/agora_pip_controller_actual_io.dart:28:3 - All final variables must be initialized, but '_methodChannelHandler' isn't.

Run flutter pub downgrade and then flutter analyze to reproduce the above problem.

You may run dart pub upgrade --tighten to update your dependency constraints, see dart.dev/go/downgrade-testing for details.

Versions