video_viewer 1.2.7 copy "video_viewer: ^1.2.7" to clipboard
video_viewer: ^1.2.7 copied to clipboard

Multiplatform minimalist video viewer with spectacular user experience.

210
likes
110/ 140
pub points
85%
popularity

We analyzed this package 13 days ago, and awarded it 110 pub points (of a possible 140):

OK
Follow Dart file conventions
30 / 30trigger folding of the section

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.

OK
Provide documentation
20 / 20trigger folding of the section

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

247 out of 541 API elements (45.7 %) have documentation comments.

Some symbols that are missing documentation: ad, ad.VideoCoreAdViewer, ad.VideoCoreAdViewer.VideoCoreAdViewer, ads, ads.VideoViewerAd.

10/10 points: Package has an example

OK
Platform support
20 / 20trigger folding of the section

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

  • ✓ Android
  • ✓ iOS

These platforms are not supported:

Package does not support platform `Windows`.

Because:

  • package:video_viewer/video_viewer.dart that imports:
  • package:video_player/video_player.dart that declares support for platforms: Android, iOS, macOS, Web.
Package does not support platform `Linux`.

Because:

  • package:video_viewer/video_viewer.dart that imports:
  • package:video_player/video_player.dart that declares support for platforms: Android, iOS, macOS, Web.
Package does not support platform `macOS`.

Because:

  • package:video_viewer/video_viewer.dart that imports:
  • package:video_viewer/ui/video_core/video_core.dart that imports:
  • package:volume_watcher/volume_watcher.dart that declares support for platforms: Android, iOS.
Package does not support platform `Web`.

Because:

  • package:video_viewer/video_viewer.dart that imports:
  • package:video_viewer/ui/video_core/video_core.dart that imports:
  • package:volume_watcher/volume_watcher.dart that declares support for platforms: Android, iOS.

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

Package does not support platform `Android`.

Because:

  • package:video_viewer/video_viewer.dart that imports:
  • package:video_viewer/ui/video_core/video_core.dart that imports:
  • package:video_viewer/ui/overlay/overlay.dart that imports:
  • package:video_viewer/ui/widgets/transitions.dart that imports:
  • package:video_viewer/data/repositories/video.dart that imports:
  • package:video_viewer/domain/bloc/controller.dart that imports:
  • package:wakelock/wakelock.dart that imports:
  • package:wakelock_macos/wakelock_macos.dart that declares support for platforms: macOS.
Package does not support platform `iOS`.

Because:

  • package:video_viewer/video_viewer.dart that imports:
  • package:video_viewer/ui/video_core/video_core.dart that imports:
  • package:video_viewer/ui/overlay/overlay.dart that imports:
  • package:video_viewer/ui/widgets/transitions.dart that imports:
  • package:video_viewer/data/repositories/video.dart that imports:
  • package:video_viewer/domain/bloc/controller.dart that imports:
  • package:wakelock/wakelock.dart that imports:
  • package:wakelock_macos/wakelock_macos.dart that declares support for platforms: macOS.
failed
Pass static analysis
30 / 50trigger folding of the section

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

Found 16 issues. Showing the first 2:

WARNING: The receiver can't be null, so the null-aware operator '?.' is unnecessary.

lib/domain/bloc/controller.dart:183:28

    ╷
183 │     WidgetsBinding.instance?.addObserver(this);
    │                            ^^
    ╵

To reproduce make sure you are using the lints_core and run flutter analyze lib/domain/bloc/controller.dart

WARNING: The receiver can't be null, so the null-aware operator '?.' is unnecessary.

lib/domain/bloc/controller.dart:198:28

    ╷
198 │     WidgetsBinding.instance?.removeObserver(this);
    │                            ^^
    ╵

To reproduce make sure you are using the lints_core and run flutter analyze lib/domain/bloc/controller.dart

failed
Support up-to-date dependencies
10 / 20trigger folding of the section

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

Package Constraint Compatible Latest
flutter flutter 0.0.0 0.0.0
gesture_x_detector ^1.0.0 1.1.1 1.1.1
helpers ^1.1.4 1.2.3 1.2.3
http ^0.13.4 0.13.6 1.2.1
path_provider ^2.0.6 2.1.2 2.1.2
provider ^6.0.1 6.1.2 6.1.2
video_player ^2.2.6 2.8.3 2.8.3
volume_watcher ^2.0.1 2.0.1 2.0.1
wakelock ^0.5.6 0.5.6 0.6.2
Transitive dependencies
Package Constraint Compatible Latest
async - 2.11.0 2.11.0
characters - 1.3.0 1.3.0
collection - 1.18.0 1.18.0
csslib - 1.0.0 1.0.0
ffi - 2.1.2 2.1.2
flutter_web_plugins - 0.0.0 0.0.0
html - 0.15.4 0.15.4
http_parser - 4.0.2 4.0.2
js - 0.6.7 0.7.1
material_color_utilities - 0.8.0 0.11.1
meta - 1.11.0 1.12.0
nested - 1.0.0 1.0.0
path - 1.9.0 1.9.0
path_provider_android - 2.2.2 2.2.2
path_provider_foundation - 2.3.2 2.3.2
path_provider_linux - 2.2.1 2.2.1
path_provider_platform_interface - 2.1.2 2.1.2
path_provider_windows - 2.2.1 2.2.1
platform - 3.1.4 3.1.4
plugin_platform_interface - 2.1.8 2.1.8
sky_engine - 0.0.99 0.0.99
source_span - 1.10.0 1.10.0
string_scanner - 1.2.0 1.2.0
term_glyph - 1.2.1 1.2.1
typed_data - 1.3.2 1.3.2
vector_math - 2.1.4 2.1.4
video_player_android - 2.4.12 2.4.12
video_player_avfoundation - 2.5.6 2.5.6
video_player_platform_interface - 6.2.2 6.2.2
video_player_web - 2.3.0 2.3.0
wakelock_macos - 0.4.0 0.4.0
wakelock_platform_interface - 0.3.0 0.3.0
wakelock_web - 0.4.0 0.4.0
wakelock_windows - 0.2.1 0.2.1
web - 0.5.1 0.5.1
win32 - 3.1.4 5.3.0
xdg_directories - 1.0.4 1.0.4

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

The constraint `^0.13.4` on http does not support the stable version `1.0.0`.

Try running dart pub upgrade --major-versions http to update the constraint.

The constraint `^0.5.6` on wakelock does not support the stable version `0.6.0+1`.

Try running dart pub upgrade --major-versions wakelock to update the constraint.

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

Analyzed with Pana 0.22.2, Flutter 3.19.2, Dart 3.3.0.

Check the analysis log for details.