Skip to content

Commit

Permalink
Feature/lint fixes (#182)
Browse files Browse the repository at this point in the history
* Lint fixes

* Lint fixes

* Lint fixes

* Lint fixes

* General refactor
  • Loading branch information
jhomlala authored Dec 27, 2020
1 parent 8514f93 commit 6b0e844
Show file tree
Hide file tree
Showing 59 changed files with 846 additions and 649 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## 0.0.39
* Added lint library for dart analysis
* [BREAKING_CHANGE] Changed constant names to lowerCamelCase in BetterPlayerDataSourceType
* [BREAKING_CHANGE] Changed constant names to lowerCamelCase in BetterPlayerEventType
* [BREAKING_CHANGE] Changed constant names to lowerCamelCase in BetterPlayerSubtitlesSourceType

## 0.0.38
* Added support for player notifications
* Added handleLifecycle to BetterPlayerConfiguration
Expand Down
68 changes: 34 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ BetterPlayerController _betterPlayerController;
void initState() {
super.initState();
BetterPlayerDataSource betterPlayerDataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK,
BetterPlayerDataSourceType.network,
"https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4");
_betterPlayerController = BetterPlayerController(
BetterPlayerConfiguration(),
Expand Down Expand Up @@ -122,16 +122,16 @@ To use playlist, you need to create dataset with multiple videos:
List dataSourceList = List<BetterPlayerDataSource>();
dataSourceList.add(
BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK,
BetterPlayerDataSourceType.network,
"https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4",
),
);
dataSourceList.add(
BetterPlayerDataSource(BetterPlayerDataSourceType.NETWORK,
BetterPlayerDataSource(BetterPlayerDataSourceType.network,
"https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"),
);
dataSourceList.add(
BetterPlayerDataSource(BetterPlayerDataSourceType.NETWORK,
BetterPlayerDataSource(BetterPlayerDataSourceType.network,
"http://sample.vodobox.com/skate_phantom_flex_4k/skate_phantom_flex_4k.m3u8"),
);
return dataSourceList;
Expand Down Expand Up @@ -162,7 +162,7 @@ BetterPlayerListViewPlayer will auto play/pause video once video is visible on s
aspectRatio: 16 / 9,
child: BetterPlayerListVideoPlayer(
BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK, videoListData.videoUrl),
BetterPlayerDataSourceType.network, videoListData.videoUrl),
key: Key(videoListData.hashCode.toString()),
playFraction: 0.8,
),
Expand All @@ -179,10 +179,10 @@ Subtitles can be configured from 3 different sources: file, network and memory.
Network subtitles:
```dart
var dataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK,
BetterPlayerDataSourceType.network,
"https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4",
subtitles: BetterPlayerSubtitlesSource.single(
type: BetterPlayerSubtitlesSourceType.NETWORK,
type: BetterPlayerSubtitlesSourceType.network,
url:
"https://dl.dropboxusercontent.com/s/71nzjo2ux3evxqk/example_subtitles.srt"),
);
Expand All @@ -191,33 +191,33 @@ Network subtitles:
File subtitles:
```dart
var dataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.FILE,
BetterPlayerDataSourceType.file,
"${directory.path}/testvideo.mp4",
subtitles: BetterPlayerSubtitlesSource.single(
type: BetterPlayerSubtitlesSourceType.FILE,
type: BetterPlayerSubtitlesSourceType.file,
url: "${directory.path}/example_subtitles.srt",
),
);
```
You can pass multiple subtitles for one video:
```dart
var dataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK,
BetterPlayerDataSourceType.network,
"https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8",
liveStream: false,
useHlsSubtitles: true,
hlsTrackNames: ["Low quality", "Not so low quality", "Medium quality"],
subtitles: [
BetterPlayerSubtitlesSource(
type: BetterPlayerSubtitlesSourceType.NETWORK,
type: BetterPlayerSubtitlesSourceType.network,
name: "EN",
urls: [
"https://dl.dropboxusercontent.com/s/71nzjo2ux3evxqk/example_subtitles.srt"
],
),
BetterPlayerSubtitlesSource(
type: BetterPlayerSubtitlesSourceType.NETWORK,
type: BetterPlayerSubtitlesSourceType.network,
name: "DE",
urls: [
"https://dl.dropboxusercontent.com/s/71nzjo2ux3evxqk/example_subtitles.srt"
Expand Down Expand Up @@ -530,10 +530,10 @@ Define source for one video in your app. There are 3 types of data sources:
* Memory - data source which uses list of bytes to play video from memory
```dart
var dataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK,
BetterPlayerDataSourceType.network,
"https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4",
subtitles: BetterPlayerSubtitlesSource(
type: BetterPlayerSubtitlesSourceType.FILE,
type: BetterPlayerSubtitlesSourceType.file,
url: "${directory.path}/example_subtitles.srt",
),
headers: {"header":"my_custom_header"}
Expand Down Expand Up @@ -603,7 +603,7 @@ Define cache configuration for given data source. Cache works only for network d
Define source of subtitles in your video:
```dart
var subtitles = BetterPlayerSubtitlesSource(
type: BetterPlayerSubtitlesSourceType.FILE,
type: BetterPlayerSubtitlesSourceType.file,
url: "${directory.path}/example_subtitles.srt",
);
```
Expand Down Expand Up @@ -662,23 +662,23 @@ https://flutter.dev/docs/development/accessibility-and-localization/internationa
### Listen to video events
You can listen to video player events like:
```dart
INITIALIZED,
PLAY,
PAUSE,
SEEK_TO,
OPEN_FULLSCREEN,
HIDE_FULLSCREEN,
SET_VOLUME,
PROGRESS,
FINISHED,
EXCEPTION,
CONTROLS_VISIBLE,
CONTROLS_HIDDEN,
SET_SPEED,
CHANGED_SUBTITLES,
CHANGED_TRACK,
CHANGED_PLAYER_VISIBILITY,
CHANGED_RESOLUTION,
initialized,
play,
pause,
seekTo,
openFullscreen,
hideFullscreen,
setVolume,
progress,
finished,
exception,
controlsVisible,
controlsHidden,
setSpeed,
changedSubtitles,
changedTrack,
changedPlayerVisibility,
changedResolution
```

After creating BetterPlayerController you can add event listener this way:
Expand Down Expand Up @@ -715,7 +715,7 @@ You can setup video with different resolutions. Use resolutions parameter in dat
only for normal videos (non-hls) to setup different qualities of the original video.

```dart
var dataSource = BetterPlayerDataSource(BetterPlayerDataSourceType.NETWORK,
var dataSource = BetterPlayerDataSource(BetterPlayerDataSourceType.network,
"https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_480_1_5MG.mp4",
resolutions: {
"LOW":
Expand Down Expand Up @@ -745,7 +745,7 @@ To setup player notification use notificationConfiguration in BetterPlayerDataSo

```dart
BetterPlayerDataSource dataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK,
BetterPlayerDataSourceType.network,
Constants.elephantDreamVideoUrl,
notificationConfiguration: BetterPlayerNotificationConfiguration(
showNotification: true,
Expand Down
20 changes: 20 additions & 0 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#include: package:lint/analysis_options_package.yaml

analyzer:
strong-mode:
implicit-dynamic: false

linter:
rules:
close_sinks: true
sort_constructors_first: false
avoid_classes_with_only_static_members: false
avoid_void_async: false
avoid_positional_boolean_parameters: false
avoid_function_literals_in_foreach_calls: false
prefer_constructors_over_static_methods: false
sort_unnamed_constructors_first: false
sized_box_for_whitespace: false
invalid_dependency: false
sort_pub_dependencies: false

Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ private void disposeAllPlayers() {
dataSources.clear();
;
}
b

private void onDestroy() {
// The whole FlutterView is being destroyed. Here we release resources acquired for all
// instances
Expand Down
6 changes: 3 additions & 3 deletions example/lib/pages/auto_fullscreen_orientation_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class _AutoFullscreenOrientationPageState
fit: BoxFit.contain,
autoDetectFullscreenDeviceOrientation: true);
BetterPlayerDataSource dataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK, Constants.forBiggerBlazesUrl);
BetterPlayerDataSourceType.network, Constants.forBiggerBlazesUrl);
_betterPlayerController = BetterPlayerController(betterPlayerConfiguration);
_betterPlayerController.setupDataSource(dataSource);
super.initState();
Expand Down Expand Up @@ -51,7 +51,7 @@ class _AutoFullscreenOrientationPageState
child: Text("Play horizontal video"),
onPressed: () {
BetterPlayerDataSource dataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK,
BetterPlayerDataSourceType.network,
Constants.forBiggerBlazesUrl);
_betterPlayerController.setupDataSource(dataSource);
},
Expand All @@ -60,7 +60,7 @@ class _AutoFullscreenOrientationPageState
child: Text("Play vertical video"),
onPressed: () async {
BetterPlayerDataSource dataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK,
BetterPlayerDataSourceType.network,
Constants.verticalVideoUrl);
_betterPlayerController.setupDataSource(dataSource);
},
Expand Down
2 changes: 1 addition & 1 deletion example/lib/pages/cache_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class _CachePageState extends State<CachePage> {
fit: BoxFit.contain,
);
BetterPlayerDataSource dataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK,
BetterPlayerDataSourceType.network,
Constants.forBiggerBlazesUrl,
cacheConfiguration: BetterPlayerCacheConfiguration(useCache: true),
);
Expand Down
2 changes: 1 addition & 1 deletion example/lib/pages/controller_controls_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class _ControllerControlsPageState extends State<ControllerControlsPage> {
fit: BoxFit.contain,
);
BetterPlayerDataSource dataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK, Constants.elephantDreamVideoUrl);
BetterPlayerDataSourceType.network, Constants.elephantDreamVideoUrl);
_betterPlayerController = BetterPlayerController(betterPlayerConfiguration);
_betterPlayerController.setupDataSource(dataSource);
super.initState();
Expand Down
2 changes: 1 addition & 1 deletion example/lib/pages/controls_configuration_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class _ControlsConfigurationPageState extends State<ControlsConfigurationPage> {
fit: BoxFit.contain,
controlsConfiguration: controlsConfiguration);
BetterPlayerDataSource dataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK, Constants.forBiggerBlazesUrl);
BetterPlayerDataSourceType.network, Constants.forBiggerBlazesUrl);
_betterPlayerController = BetterPlayerController(betterPlayerConfiguration);
_betterPlayerController.setupDataSource(dataSource);
super.initState();
Expand Down
6 changes: 3 additions & 3 deletions example/lib/pages/event_listener_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class EventListenerPage extends StatefulWidget {

class _EventListenerPageState extends State<EventListenerPage> {
BetterPlayerController _betterPlayerController;
List<BetterPlayerEvent> events = List();
List<BetterPlayerEvent> events = [];
StreamController<DateTime> _eventStreamController =
StreamController.broadcast();

Expand All @@ -29,7 +29,7 @@ class _EventListenerPageState extends State<EventListenerPage> {
fit: BoxFit.contain,
);
BetterPlayerDataSource dataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK, Constants.elephantDreamVideoUrl);
BetterPlayerDataSourceType.network, Constants.elephantDreamVideoUrl);
_betterPlayerController = BetterPlayerController(betterPlayerConfiguration);
_betterPlayerController.setupDataSource(dataSource);
_betterPlayerController.addEventsListener((event) {
Expand Down Expand Up @@ -74,7 +74,7 @@ class _EventListenerPageState extends State<EventListenerPage> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
"Event: ${event.betterPlayerEventType} parameters: ${(event.parameters ?? {}).toString()}"),
"Event: ${event.betterPlayerEventType} parameters: ${(event.parameters ?? <String, dynamic>{}).toString()}"),
Divider(),
],
),
Expand Down
2 changes: 1 addition & 1 deletion example/lib/pages/hls_subtitles_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class _HlsSubtitlesPageState extends State<HlsSubtitlesPage> {
fit: BoxFit.contain,
);
BetterPlayerDataSource dataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK, Constants.hlsPlaylistUrl,
BetterPlayerDataSourceType.network, Constants.hlsPlaylistUrl,
useHlsSubtitles: true);
_betterPlayerController = BetterPlayerController(betterPlayerConfiguration);
_betterPlayerController.setupDataSource(dataSource);
Expand Down
2 changes: 1 addition & 1 deletion example/lib/pages/hls_tracks_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class _HlsTracksPageState extends State<HlsTracksPage> {
fit: BoxFit.contain,
);
BetterPlayerDataSource dataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK, Constants.hlsTestStreamUrl,
BetterPlayerDataSourceType.network, Constants.hlsTestStreamUrl,
useHlsSubtitles: true);
_betterPlayerController = BetterPlayerController(betterPlayerConfiguration);
_betterPlayerController.setupDataSource(dataSource);
Expand Down
11 changes: 5 additions & 6 deletions example/lib/pages/normal_player_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,17 @@ class _NormalPlayerPageState extends State<NormalPlayerPage> {
fit: BoxFit.contain,
);
BetterPlayerDataSource dataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK, Constants.forBiggerBlazesUrl);
BetterPlayerDataSourceType.network, Constants.forBiggerBlazesUrl);
_betterPlayerController = BetterPlayerController(betterPlayerConfiguration);
_betterPlayerController.setupDataSource(dataSource);

super.initState();
// _betterPlayerController.setControlsEnabled(false);
_betterPlayerController.addEventsListener((event) {
if (event.betterPlayerEventType == BetterPlayerEventType.INITIALIZED) {
if (event.betterPlayerEventType == BetterPlayerEventType.initialized) {
_betterPlayerController.setControlsEnabled(false);
}
if (event.betterPlayerEventType ==
BetterPlayerEventType.OPEN_FULLSCREEN) {
if (event.betterPlayerEventType == BetterPlayerEventType.openFullscreen) {
_betterPlayerController.setControlsEnabled(true);
}
});
Expand Down Expand Up @@ -60,7 +59,7 @@ class _NormalPlayerPageState extends State<NormalPlayerPage> {
child: Text("Play network data source"),
onPressed: () {
BetterPlayerDataSource dataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK,
BetterPlayerDataSourceType.network,
Constants.forBiggerBlazesUrl);
_betterPlayerController.setupDataSource(dataSource);
},
Expand All @@ -70,7 +69,7 @@ class _NormalPlayerPageState extends State<NormalPlayerPage> {
onPressed: () async {
String url = await Utils.getFileUrl(Constants.fileTestVideoUrl);
BetterPlayerDataSource dataSource =
BetterPlayerDataSource(BetterPlayerDataSourceType.FILE, url);
BetterPlayerDataSource(BetterPlayerDataSourceType.file, url);
_betterPlayerController.setupDataSource(dataSource);
},
),
Expand Down
9 changes: 4 additions & 5 deletions example/lib/pages/notification_player_page.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import 'package:better_player/better_player.dart';
import 'package:better_player_example/constants.dart';
import 'package:better_player_example/utils.dart';
import 'package:flutter/material.dart';

class NotificationPlayerPage extends StatefulWidget {
Expand All @@ -25,9 +24,9 @@ class _NotificationPlayerPageState extends State<NotificationPlayerPage> {
}

void _setupDataSource() async {
String imageUrl = await Utils.getFileUrl(Constants.logo);
// String imageUrl = await Utils.getFileUrl(Constants.logo);
BetterPlayerDataSource dataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK,
BetterPlayerDataSourceType.network,
Constants.elephantDreamVideoUrl,
notificationConfiguration: BetterPlayerNotificationConfiguration(
showNotification: true,
Expand All @@ -44,15 +43,15 @@ class _NotificationPlayerPageState extends State<NotificationPlayerPage> {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Normal player"),
title: Text("Notification player"),
),
body: Column(
children: [
const SizedBox(height: 8),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16),
child: Text(
"Normal player with configuration managed by developer.",
"Click play on player to show notification in status bar.",
style: TextStyle(fontSize: 16),
),
),
Expand Down
2 changes: 1 addition & 1 deletion example/lib/pages/overridden_aspect_ratio_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ class _OverriddenAspectRatioPageState extends State<OverriddenAspectRatioPage> {
fit: BoxFit.fill,
);
BetterPlayerDataSource dataSource = BetterPlayerDataSource(
BetterPlayerDataSourceType.NETWORK, Constants.forBiggerBlazesUrl);
BetterPlayerDataSourceType.network, Constants.forBiggerBlazesUrl);
_betterPlayerController = BetterPlayerController(betterPlayerConfiguration);
_betterPlayerController.setupDataSource(dataSource);
_betterPlayerController.setOverriddenAspectRatio(1.0);
Expand Down
Loading

0 comments on commit 6b0e844

Please sign in to comment.