diff --git a/CHANGELOG.md b/CHANGELOG.md
index 86864b975..9ba8d3454 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,13 @@
+## 0.0.84
+* [BREAKING_CHANGE] Updated min. Flutter version to 3.3.0 and min. Dart version to 3.0.0.
+* Recreated example project.
+* Replaced wakelock with wakelock plus.
+* Updated other dependencies.
+* Updated metadata.
+
## 0.0.83
-* Updated dependencies
-* Fixed Flutter 3.0 issues
+* Updated dependencies.
+* Fixed Flutter 3.0 issues.
## 0.0.82
* Updated ExoPlayer version to 2.17.1.
@@ -563,7 +570,7 @@ setBetterPlayerGlobalKey.
* Updated documentation.
## 0.0.2
-* Moved example project from better_player_example to example.
+* Moved example project from example to example.
## 0.0.1
* Initial release.
diff --git a/README.md b/README.md
index 5037270a2..8d0a49595 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@
[![pub package](https://img.shields.io/github/license/jhomlala/betterplayer.svg?style=flat)](https://github.com/jhomlala/betterplayer)
[![pub package](https://img.shields.io/badge/platform-flutter-blue.svg)](https://github.com/jhomlala/betterplayer)
-Advanced video player based on video_player and Chewie. It's solves many typical use cases and it's easy to run.
+Advanced video player. It solves many typical use cases and it's easy to run.
diff --git a/docs/install.md b/docs/install.md
index cfe123190..84d72acaf 100644
--- a/docs/install.md
+++ b/docs/install.md
@@ -4,7 +4,7 @@
```yaml
dependencies:
- better_player: ^0.0.83
+ better_player: ^0.0.84
```
2. Install it
diff --git a/docs/notificationconfiguration.md b/docs/notificationconfiguration.md
index dfbcf2cb0..6e87bf4f7 100644
--- a/docs/notificationconfiguration.md
+++ b/docs/notificationconfiguration.md
@@ -46,6 +46,6 @@ Important note for android:
You need to add special service in android native code. Service will simply destroy all remaining notifications.
This service need to be used to handle situation when app is killed without proper player destroying.
Check `BetterPlayerService` in example project to see how to add this service to your app.
-https://github.com/jhomlala/betterplayer/blob/feature/player_notifications/example/android/app/src/main/kotlin/com/jhomlala/better_player_example/BetterPlayerService.kt
+https://github.com/jhomlala/betterplayer/blob/feature/player_notifications/example/android/app/src/main/kotlin/com/jhomlala/example/BetterPlayerService.kt
Here is an example of player with notification: https://github.com/jhomlala/betterplayer/blob/feature/player_notifications/example/lib/pages/notification_player_page.dart
\ No newline at end of file
diff --git a/example/.gitignore b/example/.gitignore
index 951202ed6..29a3a5017 100644
--- a/example/.gitignore
+++ b/example/.gitignore
@@ -8,13 +8,13 @@
.buildlog/
.history
.svn/
+migrate_working_dir/
# IntelliJ related
*.iml
*.ipr
*.iws
.idea/
-.vscode/
# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
@@ -22,19 +22,22 @@
#.vscode/
# Flutter/Dart/Pub related
-pubspec.lock
**/doc/api/
+**/ios/Flutter/.last_build_id
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
-.packages
.pub-cache/
.pub/
/build/
-# Web related
-lib/generated_plugin_registrant.dart
+# Symbolication related
+app.*.symbols
-# Exceptions to above rules.
-!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
+# Obfuscation related
+app.*.map.json
+# Android Studio will place build artifacts here
+/android/app/debug
+/android/app/profile
+/android/app/release
diff --git a/example/.metadata b/example/.metadata
index 5d1241efe..cbf1dc0e0 100644
--- a/example/.metadata
+++ b/example/.metadata
@@ -4,7 +4,42 @@
# This file should be version controlled and should not be manually edited.
version:
- revision: 9f5ff2306bb3e30b2b98eee79cd231b1336f41f4
- channel: stable
+ revision: "a14f74ff3a1cbd521163c5f03d68113d50af93d3"
+ channel: "stable"
project_type: app
+
+# Tracks metadata for the flutter migrate command
+migration:
+ platforms:
+ - platform: root
+ create_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
+ base_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
+ - platform: android
+ create_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
+ base_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
+ - platform: ios
+ create_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
+ base_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
+ - platform: linux
+ create_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
+ base_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
+ - platform: macos
+ create_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
+ base_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
+ - platform: web
+ create_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
+ base_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
+ - platform: windows
+ create_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
+ base_revision: a14f74ff3a1cbd521163c5f03d68113d50af93d3
+
+ # User provided section
+
+ # List of Local paths (relative to this file) that should be
+ # ignored by the migrate tool.
+ #
+ # Files that are not part of the templates will be ignored by default.
+ unmanaged_files:
+ - 'lib/main.dart'
+ - 'ios/Runner.xcodeproj/project.pbxproj'
diff --git a/example/.vscode/launch.json b/example/.vscode/launch.json
deleted file mode 100644
index f7354668c..000000000
--- a/example/.vscode/launch.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- // Use IntelliSense to learn about possible attributes.
- // Hover to view descriptions of existing attributes.
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
- "version": "0.2.0",
- "configurations": [
- {
- "name": "example",
- "request": "launch",
- "type": "dart"
- }
- ]
-}
\ No newline at end of file
diff --git a/example/README.md b/example/README.md
index 258afa653..e774494f8 100644
--- a/example/README.md
+++ b/example/README.md
@@ -1,6 +1,6 @@
-# better_player_example
+# example
-A new Flutter application.
+Example to showcase use cases of Better Player.
## Getting Started
@@ -8,9 +8,9 @@ This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
-- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab)
-- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook)
+- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
+- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
-For help getting started with Flutter, view our
-[online documentation](https://flutter.dev/docs), which offers tutorials,
+For help getting started with Flutter development, view the
+[online documentation](https://docs.flutter.dev/), which offers tutorials,
samples, guidance on mobile development, and a full API reference.
diff --git a/example/analysis_options.yaml b/example/analysis_options.yaml
new file mode 100644
index 000000000..0d2902135
--- /dev/null
+++ b/example/analysis_options.yaml
@@ -0,0 +1,28 @@
+# This file configures the analyzer, which statically analyzes Dart code to
+# check for errors, warnings, and lints.
+#
+# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
+# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
+# invoked from the command line by running `flutter analyze`.
+
+# The following line activates a set of recommended lints for Flutter apps,
+# packages, and plugins designed to encourage good coding practices.
+include: package:flutter_lints/flutter.yaml
+
+linter:
+ # The lint rules applied to this project can be customized in the
+ # section below to disable rules from the `package:flutter_lints/flutter.yaml`
+ # included above or to enable additional rules. A list of all available lints
+ # and their documentation is published at https://dart.dev/lints.
+ #
+ # Instead of disabling a lint rule for the entire project in the
+ # section below, it can also be suppressed for a single line of code
+ # or a specific dart file by using the `// ignore: name_of_lint` and
+ # `// ignore_for_file: name_of_lint` syntax on the line or in the file
+ # producing the lint.
+ rules:
+ # avoid_print: false # Uncomment to disable the `avoid_print` rule
+ # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
+
+# Additional information about this file can be found at
+# https://dart.dev/guides/language/analysis-options
diff --git a/example/android/.gitignore b/example/android/.gitignore
index bc2100d8f..6f568019d 100644
--- a/example/android/.gitignore
+++ b/example/android/.gitignore
@@ -5,3 +5,9 @@ gradle-wrapper.jar
/gradlew.bat
/local.properties
GeneratedPluginRegistrant.java
+
+# Remember to never publicly share your keystore.
+# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
+key.properties
+**/*.keystore
+**/*.jks
diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle
index d243520f8..eee597310 100644
--- a/example/android/app/build.gradle
+++ b/example/android/app/build.gradle
@@ -1,63 +1,58 @@
+plugins {
+ id "com.android.application"
+ id "kotlin-android"
+ // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
+ id "dev.flutter.flutter-gradle-plugin"
+}
+
def localProperties = new Properties()
-def localPropertiesFile = rootProject.file('local.properties')
+def localPropertiesFile = rootProject.file("local.properties")
if (localPropertiesFile.exists()) {
- localPropertiesFile.withReader('UTF-8') { reader ->
+ localPropertiesFile.withReader("UTF-8") { reader ->
localProperties.load(reader)
}
}
-def flutterRoot = localProperties.getProperty('flutter.sdk')
-if (flutterRoot == null) {
- throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
-}
-
-def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
+def flutterVersionCode = localProperties.getProperty("flutter.versionCode")
if (flutterVersionCode == null) {
- flutterVersionCode = '1'
+ flutterVersionCode = "1"
}
-def flutterVersionName = localProperties.getProperty('flutter.versionName')
+def flutterVersionName = localProperties.getProperty("flutter.versionName")
if (flutterVersionName == null) {
- flutterVersionName = '1.0'
+ flutterVersionName = "1.0"
}
-apply plugin: 'com.android.application'
-apply plugin: 'kotlin-android'
-apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
-
android {
- compileSdkVersion 31
+ namespace = "pl.hasoft.example"
+ compileSdk = flutter.compileSdkVersion
+ ndkVersion = flutter.ndkVersion
- sourceSets {
- main.java.srcDirs += 'src/main/kotlin'
- }
-
- lintOptions {
- disable 'InvalidPackage'
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_1_8
+ targetCompatibility = JavaVersion.VERSION_1_8
}
defaultConfig {
- applicationId "com.jhomlala.better_player_example"
- minSdkVersion 16
- targetSdkVersion 31
- versionCode flutterVersionCode.toInteger()
- versionName flutterVersionName
- multiDexEnabled true
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
+ applicationId = "pl.hasoft.example"
+ // You can update the following values to match your application needs.
+ // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
+ minSdk = flutter.minSdkVersion
+ targetSdk = flutter.targetSdkVersion
+ versionCode = flutterVersionCode.toInteger()
+ versionName = flutterVersionName
}
buildTypes {
release {
- signingConfig signingConfigs.debug
+ // TODO: Add your own signing config for the release build.
+ // Signing with the debug keys for now, so `flutter run --release` works.
+ signingConfig = signingConfigs.debug
}
}
}
flutter {
- source '../..'
-}
-
-dependencies {
- implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion"
- implementation "androidx.multidex:multidex:$multidexVersion"
+ source = "../.."
}
diff --git a/example/android/app/src/debug/AndroidManifest.xml b/example/android/app/src/debug/AndroidManifest.xml
index da65608a2..399f6981d 100644
--- a/example/android/app/src/debug/AndroidManifest.xml
+++ b/example/android/app/src/debug/AndroidManifest.xml
@@ -1,6 +1,6 @@
-
-
diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml
index 0765fd737..cc6967bd9 100644
--- a/example/android/app/src/main/AndroidManifest.xml
+++ b/example/android/app/src/main/AndroidManifest.xml
@@ -1,34 +1,46 @@
-
-
+
+
+ android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
+ android:hardwareAccelerated="true"
+ android:windowSoftInputMode="adjustResize">
+
+
-
-
+
+
+
-
-
+
+
+
+
+
+
+
diff --git a/example/android/app/src/main/kotlin/com/jhomlala/better_player_example/BetterPlayerService.kt b/example/android/app/src/main/kotlin/com/jhomlala/better_player_example/BetterPlayerService.kt
deleted file mode 100644
index 17c43945f..000000000
--- a/example/android/app/src/main/kotlin/com/jhomlala/better_player_example/BetterPlayerService.kt
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.jhomlala.better_player_example
-
-import android.app.*
-import android.content.Context
-import android.content.Intent
-import android.os.Build
-import android.os.IBinder
-import androidx.annotation.RequiresApi
-import androidx.core.app.NotificationCompat
-import androidx.core.app.NotificationCompat.PRIORITY_MIN
-
-class BetterPlayerService : Service() {
-
- companion object {
- const val notificationId = 20772077
- const val foregroundNotificationId = 20772078
- const val channelId = "VideoPlayer"
- }
-
- override fun onBind(intent: Intent?): IBinder? {
- return null
- }
-
- override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
- val channelId =
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- createNotificationChannel(channelId, "Channel")
- } else {
- ""
- }
- val notificationIntent = Intent(this, MainActivity::class.java)
- val pendingIntent =
- PendingIntent.getActivity(
- this, 0, notificationIntent,
- PendingIntent.FLAG_IMMUTABLE
- )
-
-
- val notificationBuilder = NotificationCompat.Builder(this, channelId)
- .setContentTitle("Better Player Notification")
- .setContentText("Better Player is running")
- .setSmallIcon(R.mipmap.ic_launcher)
- .setPriority(PRIORITY_MIN)
- .setOngoing(true)
- .setContentIntent(pendingIntent)
-
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- notificationBuilder.setCategory(Notification.CATEGORY_SERVICE);
- }
- startForeground(foregroundNotificationId, notificationBuilder.build())
- return START_NOT_STICKY
- }
-
- @RequiresApi(Build.VERSION_CODES.O)
- private fun createNotificationChannel(channelId: String, channelName: String): String {
- val chan = NotificationChannel(
- channelId,
- channelName, NotificationManager.IMPORTANCE_NONE
- )
- val service = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
- service.createNotificationChannel(chan)
- return channelId
- }
-
- override fun onTaskRemoved(rootIntent: Intent?) {
- try {
- val notificationManager =
- getSystemService(
- Context.NOTIFICATION_SERVICE
- ) as NotificationManager
- notificationManager.cancel(notificationId)
- } catch (exception: Exception) {
-
- } finally {
- stopSelf()
- }
- }
-
-}
\ No newline at end of file
diff --git a/example/android/app/src/main/kotlin/com/jhomlala/better_player_example/MainActivity.kt b/example/android/app/src/main/kotlin/com/jhomlala/better_player_example/MainActivity.kt
deleted file mode 100644
index 2cb78d873..000000000
--- a/example/android/app/src/main/kotlin/com/jhomlala/better_player_example/MainActivity.kt
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.jhomlala.better_player_example
-
-import android.content.Intent
-import android.os.Build
-import android.os.Bundle
-import io.flutter.embedding.android.FlutterActivity
-
-class MainActivity : FlutterActivity() {
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- startNotificationService()
- }
-
- override fun onDestroy() {
- super.onDestroy()
- stopNotificationService()
- }
-
- ///TODO: Call this method via channel after remote notification start
- private fun startNotificationService() {
- try {
- val intent = Intent(this, BetterPlayerService::class.java)
- if (Build.VERSION.SDK_INT > Build.VERSION_CODES.O) {
- startForegroundService(intent)
- } else {
- startService(intent)
- }
- } catch (exception: Exception) {
- }
- }
-
- ///TODO: Call this method via channel after remote notification stop
- private fun stopNotificationService() {
- try {
- val intent = Intent(this, BetterPlayerService::class.java)
- stopService(intent)
- } catch (exception: Exception) {
-
- }
- }
-}
diff --git a/example/android/app/src/main/res/values/styles.xml b/example/android/app/src/main/res/values/styles.xml
index 00fa4417c..cb1ef8805 100644
--- a/example/android/app/src/main/res/values/styles.xml
+++ b/example/android/app/src/main/res/values/styles.xml
@@ -1,8 +1,18 @@
-
+
+
diff --git a/example/android/app/src/profile/AndroidManifest.xml b/example/android/app/src/profile/AndroidManifest.xml
index da65608a2..399f6981d 100644
--- a/example/android/app/src/profile/AndroidManifest.xml
+++ b/example/android/app/src/profile/AndroidManifest.xml
@@ -1,6 +1,6 @@
-
-
diff --git a/example/android/build.gradle b/example/android/build.gradle
index 7c1aad732..d2ffbffa4 100644
--- a/example/android/build.gradle
+++ b/example/android/build.gradle
@@ -1,18 +1,3 @@
-buildscript {
- ext.kotlinVersion = "1.5.31"
- ext.gradleVersion = "7.0.2"
- ext.multidexVersion = "2.0.1"
- repositories {
- google()
- mavenCentral()
- }
-
- dependencies {
- classpath "com.android.tools.build:gradle:$gradleVersion"
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
- }
-}
-
allprojects {
repositories {
google()
@@ -20,14 +5,14 @@ allprojects {
}
}
-rootProject.buildDir = '../build'
+rootProject.buildDir = "../build"
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
- project.evaluationDependsOn(':app')
+ project.evaluationDependsOn(":app")
}
-task clean(type: Delete) {
+tasks.register("clean", Delete) {
delete rootProject.buildDir
}
diff --git a/example/android/gradle.properties b/example/android/gradle.properties
index 38c8d4544..3b5b324f6 100644
--- a/example/android/gradle.properties
+++ b/example/android/gradle.properties
@@ -1,4 +1,3 @@
-org.gradle.jvmargs=-Xmx1536M
-android.enableR8=true
+org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
android.enableJetifier=true
diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties
index c3c8c1027..e1ca574ef 100644
--- a/example/android/gradle/wrapper/gradle-wrapper.properties
+++ b/example/android/gradle/wrapper/gradle-wrapper.properties
@@ -1,7 +1,5 @@
-#Fri Jun 23 08:50:38 CEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
-
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip
diff --git a/example/android/settings.gradle b/example/android/settings.gradle
index 44e62bcf0..536165d35 100644
--- a/example/android/settings.gradle
+++ b/example/android/settings.gradle
@@ -1,11 +1,25 @@
-include ':app'
+pluginManagement {
+ def flutterSdkPath = {
+ def properties = new Properties()
+ file("local.properties").withInputStream { properties.load(it) }
+ def flutterSdkPath = properties.getProperty("flutter.sdk")
+ assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
+ return flutterSdkPath
+ }()
-def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
-def properties = new Properties()
+ includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
-assert localPropertiesFile.exists()
-localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
+ repositories {
+ google()
+ mavenCentral()
+ gradlePluginPortal()
+ }
+}
-def flutterSdkPath = properties.getProperty("flutter.sdk")
-assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
-apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
+plugins {
+ id "dev.flutter.flutter-plugin-loader" version "1.0.0"
+ id "com.android.application" version "7.3.0" apply false
+ id "org.jetbrains.kotlin.android" version "1.7.10" apply false
+}
+
+include ":app"
diff --git a/example/ios/.gitignore b/example/ios/.gitignore
index e96ef602b..7a7f9873a 100644
--- a/example/ios/.gitignore
+++ b/example/ios/.gitignore
@@ -1,3 +1,4 @@
+**/dgph
*.mode1v3
*.mode2v3
*.moved-aside
@@ -18,6 +19,7 @@ Flutter/App.framework
Flutter/Flutter.framework
Flutter/Flutter.podspec
Flutter/Generated.xcconfig
+Flutter/ephemeral/
Flutter/app.flx
Flutter/app.zip
Flutter/flutter_assets/
diff --git a/example/ios/Flutter/.last_build_id b/example/ios/Flutter/.last_build_id
deleted file mode 100644
index ca159df7b..000000000
--- a/example/ios/Flutter/.last_build_id
+++ /dev/null
@@ -1 +0,0 @@
-8e6464cea6c435e0bda1154a079fe36f
\ No newline at end of file
diff --git a/example/ios/Flutter/AppFrameworkInfo.plist b/example/ios/Flutter/AppFrameworkInfo.plist
index f2872cf47..7c5696400 100644
--- a/example/ios/Flutter/AppFrameworkInfo.plist
+++ b/example/ios/Flutter/AppFrameworkInfo.plist
@@ -3,7 +3,7 @@
CFBundleDevelopmentRegion
- $(DEVELOPMENT_LANGUAGE)
+ en
CFBundleExecutable
App
CFBundleIdentifier
@@ -21,6 +21,6 @@
CFBundleVersion
1.0
MinimumOSVersion
- 9.0
+ 12.0
diff --git a/example/ios/Flutter/Debug.xcconfig b/example/ios/Flutter/Debug.xcconfig
index e8efba114..592ceee85 100644
--- a/example/ios/Flutter/Debug.xcconfig
+++ b/example/ios/Flutter/Debug.xcconfig
@@ -1,2 +1 @@
-#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Generated.xcconfig"
diff --git a/example/ios/Flutter/Release.xcconfig b/example/ios/Flutter/Release.xcconfig
index 399e9340e..592ceee85 100644
--- a/example/ios/Flutter/Release.xcconfig
+++ b/example/ios/Flutter/Release.xcconfig
@@ -1,2 +1 @@
-#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "Generated.xcconfig"
diff --git a/example/ios/Podfile b/example/ios/Podfile
deleted file mode 100644
index 1e8c3c90a..000000000
--- a/example/ios/Podfile
+++ /dev/null
@@ -1,41 +0,0 @@
-# Uncomment this line to define a global platform for your project
-# platform :ios, '9.0'
-
-# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
-ENV['COCOAPODS_DISABLE_STATS'] = 'true'
-
-project 'Runner', {
- 'Debug' => :debug,
- 'Profile' => :release,
- 'Release' => :release,
-}
-
-def flutter_root
- generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
- unless File.exist?(generated_xcode_build_settings_path)
- raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
- end
-
- File.foreach(generated_xcode_build_settings_path) do |line|
- matches = line.match(/FLUTTER_ROOT\=(.*)/)
- return matches[1].strip if matches
- end
- raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
-end
-
-require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
-
-flutter_ios_podfile_setup
-
-target 'Runner' do
- use_frameworks!
- use_modular_headers!
-
- flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
-end
-
-post_install do |installer|
- installer.pods_project.targets.each do |target|
- flutter_additional_ios_build_settings(target)
- end
-end
diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj
index 6e6bf2d5a..1b5b96dba 100644
--- a/example/ios/Runner.xcodeproj/project.pbxproj
+++ b/example/ios/Runner.xcodeproj/project.pbxproj
@@ -3,19 +3,29 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 50;
+ objectVersion = 54;
objects = {
/* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
+ 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
- 65692E23C6CEBF35C9AAF97A /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 13524A412B92FC9A156F1D76 /* Pods_Runner.framework */; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
/* End PBXBuildFile section */
+/* Begin PBXContainerItemProxy section */
+ 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 97C146E61CF9000F007C117D /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 97C146ED1CF9000F007C117D;
+ remoteInfo = Runner;
+ };
+/* End PBXContainerItemProxy section */
+
/* Begin PBXCopyFilesBuildPhase section */
9705A1C41CF9048500538489 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
@@ -30,16 +40,14 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
- 13524A412B92FC9A156F1D76 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; };
+ 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; };
+ 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
- 94D48ECD52FED99E280E944F /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; };
- 9514B23B3AAD536E5404D300 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; };
- 95921B1DFA71AF64A5BE87F5 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; };
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -54,21 +62,18 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 65692E23C6CEBF35C9AAF97A /* Pods_Runner.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
- 5EA2523037AF72EA3CE9144F /* Pods */ = {
+ 331C8082294A63A400263BE5 /* RunnerTests */ = {
isa = PBXGroup;
children = (
- 94D48ECD52FED99E280E944F /* Pods-Runner.debug.xcconfig */,
- 9514B23B3AAD536E5404D300 /* Pods-Runner.release.xcconfig */,
- 95921B1DFA71AF64A5BE87F5 /* Pods-Runner.profile.xcconfig */,
+ 331C807B294A618700263BE5 /* RunnerTests.swift */,
);
- path = Pods;
+ path = RunnerTests;
sourceTree = "";
};
9740EEB11CF90186004384FC /* Flutter */ = {
@@ -88,8 +93,7 @@
9740EEB11CF90186004384FC /* Flutter */,
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
- 5EA2523037AF72EA3CE9144F /* Pods */,
- C84D817BDFAC0EC6C6854563 /* Frameworks */,
+ 331C8082294A63A400263BE5 /* RunnerTests */,
);
sourceTree = "";
};
@@ -97,6 +101,7 @@
isa = PBXGroup;
children = (
97C146EE1CF9000F007C117D /* Runner.app */,
+ 331C8081294A63A400263BE5 /* RunnerTests.xctest */,
);
name = Products;
sourceTree = "";
@@ -108,7 +113,6 @@
97C146FD1CF9000F007C117D /* Assets.xcassets */,
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
97C147021CF9000F007C117D /* Info.plist */,
- 97C146F11CF9000F007C117D /* Supporting Files */,
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
@@ -117,36 +121,36 @@
path = Runner;
sourceTree = "";
};
- 97C146F11CF9000F007C117D /* Supporting Files */ = {
- isa = PBXGroup;
- children = (
- );
- name = "Supporting Files";
- sourceTree = "";
- };
- C84D817BDFAC0EC6C6854563 /* Frameworks */ = {
- isa = PBXGroup;
- children = (
- 13524A412B92FC9A156F1D76 /* Pods_Runner.framework */,
- );
- name = Frameworks;
- sourceTree = "";
- };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
+ 331C8080294A63A400263BE5 /* RunnerTests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
+ buildPhases = (
+ 331C807D294A63A400263BE5 /* Sources */,
+ 331C807F294A63A400263BE5 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 331C8086294A63A400263BE5 /* PBXTargetDependency */,
+ );
+ name = RunnerTests;
+ productName = RunnerTests;
+ productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
97C146ED1CF9000F007C117D /* Runner */ = {
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
- AC6F872D8ADFFB2864927A14 /* [CP] Check Pods Manifest.lock */,
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
- F39D7370141E36EB0BE6A559 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -163,19 +167,22 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 1300;
- ORGANIZATIONNAME = "The Chromium Authors";
+ BuildIndependentTargetsInParallel = YES;
+ LastUpgradeCheck = 1510;
+ ORGANIZATIONNAME = "";
TargetAttributes = {
+ 331C8080294A63A400263BE5 = {
+ CreatedOnToolsVersion = 14.0;
+ TestTargetID = 97C146ED1CF9000F007C117D;
+ };
97C146ED1CF9000F007C117D = {
CreatedOnToolsVersion = 7.3.1;
- DevelopmentTeam = VY37M3U26Y;
LastSwiftMigration = 1100;
- ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
- compatibilityVersion = "Xcode 3.2";
+ compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
@@ -188,11 +195,19 @@
projectRoot = "";
targets = (
97C146ED1CF9000F007C117D /* Runner */,
+ 331C8080294A63A400263BE5 /* RunnerTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
+ 331C807F294A63A400263BE5 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
97C146EC1CF9000F007C117D /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@@ -209,10 +224,12 @@
/* Begin PBXShellScriptBuildPhase section */
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
+ "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
);
name = "Thin Binary";
outputPaths = (
@@ -223,6 +240,7 @@
};
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
@@ -235,63 +253,17 @@
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
};
- AC6F872D8ADFFB2864927A14 /* [CP] Check Pods Manifest.lock */ = {
- isa = PBXShellScriptBuildPhase;
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 331C807D294A63A400263BE5 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
- "${PODS_ROOT}/Manifest.lock",
- );
- name = "[CP] Check Pods Manifest.lock";
- outputFileListPaths = (
- );
- outputPaths = (
- "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
+ 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
- showEnvVarsInLog = 0;
};
- F39D7370141E36EB0BE6A559 /* [CP] Embed Pods Frameworks */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
- "${BUILT_PRODUCTS_DIR}/Cache/Cache.framework",
- "${BUILT_PRODUCTS_DIR}/GCDWebServer/GCDWebServer.framework",
- "${BUILT_PRODUCTS_DIR}/HLSCachingReverseProxyServer/HLSCachingReverseProxyServer.framework",
- "${BUILT_PRODUCTS_DIR}/PINCache/PINCache.framework",
- "${BUILT_PRODUCTS_DIR}/PINOperation/PINOperation.framework",
- "${BUILT_PRODUCTS_DIR}/better_player/better_player.framework",
- "${BUILT_PRODUCTS_DIR}/path_provider_ios/path_provider_ios.framework",
- "${BUILT_PRODUCTS_DIR}/wakelock/wakelock.framework",
- );
- name = "[CP] Embed Pods Frameworks";
- outputPaths = (
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Cache.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GCDWebServer.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HLSCachingReverseProxyServer.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PINCache.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PINOperation.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/better_player.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_ios.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/wakelock.framework",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
- showEnvVarsInLog = 0;
- };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
97C146EA1CF9000F007C117D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@@ -303,6 +275,14 @@
};
/* End PBXSourcesBuildPhase section */
+/* Begin PBXTargetDependency section */
+ 331C8086294A63A400263BE5 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 97C146ED1CF9000F007C117D /* Runner */;
+ targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
/* Begin PBXVariantGroup section */
97C146FA1CF9000F007C117D /* Main.storyboard */ = {
isa = PBXVariantGroup;
@@ -327,6 +307,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
@@ -356,6 +337,7 @@
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -364,7 +346,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -379,35 +361,73 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
- CODE_SIGN_IDENTITY = "Apple Development";
- CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
- DEVELOPMENT_TEAM = VY37M3U26Y;
ENABLE_BITCODE = NO;
- FRAMEWORK_SEARCH_PATHS = (
- "$(inherited)",
- "$(PROJECT_DIR)/Flutter",
- );
INFOPLIST_FILE = Runner/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- LIBRARY_SEARCH_PATHS = (
+ LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
- "$(PROJECT_DIR)/Flutter",
+ "@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = com.jhomlala.betterplayer2;
+ PRODUCT_BUNDLE_IDENTIFIER = pl.hasoft.example;
PRODUCT_NAME = "$(TARGET_NAME)";
- PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
name = Profile;
};
+ 331C8088294A63A400263BE5 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ GENERATE_INFOPLIST_FILE = YES;
+ MARKETING_VERSION = 1.0;
+ PRODUCT_BUNDLE_IDENTIFIER = pl.hasoft.example.RunnerTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
+ };
+ name = Debug;
+ };
+ 331C8089294A63A400263BE5 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ GENERATE_INFOPLIST_FILE = YES;
+ MARKETING_VERSION = 1.0;
+ PRODUCT_BUNDLE_IDENTIFIER = pl.hasoft.example.RunnerTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_VERSION = 5.0;
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
+ };
+ name = Release;
+ };
+ 331C808A294A63A400263BE5 /* Profile */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ GENERATE_INFOPLIST_FILE = YES;
+ MARKETING_VERSION = 1.0;
+ PRODUCT_BUNDLE_IDENTIFIER = pl.hasoft.example.RunnerTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_VERSION = 5.0;
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
+ };
+ name = Profile;
+ };
97C147031CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
@@ -437,6 +457,7 @@
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
@@ -451,7 +472,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -463,6 +484,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
@@ -492,6 +514,7 @@
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -500,11 +523,12 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
- SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
+ SWIFT_COMPILATION_MODE = wholemodule;
+ SWIFT_OPTIMIZATION_LEVEL = "-O";
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
@@ -516,25 +540,15 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
- CODE_SIGN_IDENTITY = "Apple Development";
- CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
- DEVELOPMENT_TEAM = VY37M3U26Y;
ENABLE_BITCODE = NO;
- FRAMEWORK_SEARCH_PATHS = (
- "$(inherited)",
- "$(PROJECT_DIR)/Flutter",
- );
INFOPLIST_FILE = Runner/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- LIBRARY_SEARCH_PATHS = (
+ LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
- "$(PROJECT_DIR)/Flutter",
+ "@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = com.jhomlala.betterplayer2;
+ PRODUCT_BUNDLE_IDENTIFIER = pl.hasoft.example;
PRODUCT_NAME = "$(TARGET_NAME)";
- PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
@@ -548,25 +562,15 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
- CODE_SIGN_IDENTITY = "Apple Development";
- CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
- DEVELOPMENT_TEAM = VY37M3U26Y;
ENABLE_BITCODE = NO;
- FRAMEWORK_SEARCH_PATHS = (
- "$(inherited)",
- "$(PROJECT_DIR)/Flutter",
- );
INFOPLIST_FILE = Runner/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- LIBRARY_SEARCH_PATHS = (
+ LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
- "$(PROJECT_DIR)/Flutter",
+ "@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = com.jhomlala.betterplayer2;
+ PRODUCT_BUNDLE_IDENTIFIER = pl.hasoft.example;
PRODUCT_NAME = "$(TARGET_NAME)";
- PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
@@ -576,6 +580,16 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
+ 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 331C8088294A63A400263BE5 /* Debug */,
+ 331C8089294A63A400263BE5 /* Release */,
+ 331C808A294A63A400263BE5 /* Profile */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
diff --git a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
index 3db53b6e1..8e3ca5dfe 100644
--- a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
+++ b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
@@ -1,6 +1,6 @@
-
-
-
-
+
+
+
+
+
+
-
-
-
-
diff --git a/example/ios/Runner/AppDelegate.swift b/example/ios/Runner/AppDelegate.swift
index 70693e4a8..9074fee92 100644
--- a/example/ios/Runner/AppDelegate.swift
+++ b/example/ios/Runner/AppDelegate.swift
@@ -1,5 +1,5 @@
-import UIKit
import Flutter
+import UIKit
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
index 28c6bf030..7353c41ec 100644
Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ
diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
index 2ccbfd967..797d452e4 100644
Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ
diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
index f091b6b0b..6ed2d933e 100644
Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ
diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
index 4cde12118..4cd7b0099 100644
Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ
diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
index d0ef06e7e..fe730945a 100644
Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ
diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
index dcdc2306c..321773cd8 100644
Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ
diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
index 2ccbfd967..797d452e4 100644
Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ
diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
index c8f9ed8f5..502f463a9 100644
Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ
diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
index a6d6b8609..0ec303439 100644
Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ
diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
index a6d6b8609..0ec303439 100644
Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ
diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
index 75b2d164a..e9f5fea27 100644
Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ
diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
index c4df70d39..84ac32ae7 100644
Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ
diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
index 6a84f41e1..8953cba09 100644
Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ
diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
index d0e1f5853..0467bf12a 100644
Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ
diff --git a/example/ios/Runner/Info.plist b/example/ios/Runner/Info.plist
index 937b7e918..5458fc418 100644
--- a/example/ios/Runner/Info.plist
+++ b/example/ios/Runner/Info.plist
@@ -2,10 +2,10 @@
- CADisableMinimumFrameDurationOnPhone
-
CFBundleDevelopmentRegion
$(DEVELOPMENT_LANGUAGE)
+ CFBundleDisplayName
+ Example
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
@@ -13,7 +13,7 @@
CFBundleInfoDictionaryVersion
6.0
CFBundleName
- better_player_example
+ example
CFBundlePackageType
APPL
CFBundleShortVersionString
@@ -24,21 +24,6 @@
$(FLUTTER_BUILD_NUMBER)
LSRequiresIPhoneOS
- NSAppTransportSecurity
-
- NSAllowsArbitraryLoads
-
-
- NSBonjourServices
-
- _dartobservatory._tcp
-
- UIBackgroundModes
-
- audio
- processing
- remote-notification
-
UILaunchStoryboardName
LaunchScreen
UIMainStoryboardFile
@@ -56,7 +41,9 @@
UIInterfaceOrientationLandscapeLeft
UIInterfaceOrientationLandscapeRight
- UIViewControllerBasedStatusBarAppearance
-
+ CADisableMinimumFrameDurationOnPhone
+
+ UIApplicationSupportsIndirectInputEvents
+
diff --git a/example/ios/Runner/Runner-Bridging-Header.h b/example/ios/Runner/Runner-Bridging-Header.h
index 7335fdf90..308a2a560 100644
--- a/example/ios/Runner/Runner-Bridging-Header.h
+++ b/example/ios/Runner/Runner-Bridging-Header.h
@@ -1 +1 @@
-#import "GeneratedPluginRegistrant.h"
\ No newline at end of file
+#import "GeneratedPluginRegistrant.h"
diff --git a/example/lib/main.dart b/example/lib/main.dart
index 5cd5edd1f..5a09d4656 100644
--- a/example/lib/main.dart
+++ b/example/lib/main.dart
@@ -1,4 +1,4 @@
-import 'package:better_player_example/pages/welcome_page.dart';
+import 'package:example/pages/welcome_page.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
diff --git a/example/lib/pages/auto_fullscreen_orientation_page.dart b/example/lib/pages/auto_fullscreen_orientation_page.dart
index eed036887..ed083e60b 100644
--- a/example/lib/pages/auto_fullscreen_orientation_page.dart
+++ b/example/lib/pages/auto_fullscreen_orientation_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class AutoFullscreenOrientationPage extends StatefulWidget {
diff --git a/example/lib/pages/basic_player_page.dart b/example/lib/pages/basic_player_page.dart
index b7d96b17c..f8c969a4e 100644
--- a/example/lib/pages/basic_player_page.dart
+++ b/example/lib/pages/basic_player_page.dart
@@ -1,6 +1,6 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
-import 'package:better_player_example/utils.dart';
+import 'package:example/constants.dart';
+import 'package:example/utils.dart';
import 'package:flutter/material.dart';
class BasicPlayerPage extends StatefulWidget {
diff --git a/example/lib/pages/cache_page.dart b/example/lib/pages/cache_page.dart
index 2100d0891..64a6a6e60 100644
--- a/example/lib/pages/cache_page.dart
+++ b/example/lib/pages/cache_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class CachePage extends StatefulWidget {
diff --git a/example/lib/pages/clearkey_page.dart b/example/lib/pages/clearkey_page.dart
index 8e82721a2..9074e7f6a 100644
--- a/example/lib/pages/clearkey_page.dart
+++ b/example/lib/pages/clearkey_page.dart
@@ -3,8 +3,8 @@ import 'dart:io';
import 'package:better_player/better_player.dart';
import 'package:flutter/material.dart';
-import 'package:better_player_example/constants.dart';
-import 'package:better_player_example/utils.dart';
+import 'package:example/constants.dart';
+import 'package:example/utils.dart';
class ClearKeyPage extends StatefulWidget {
@override
diff --git a/example/lib/pages/controller_controls_page.dart b/example/lib/pages/controller_controls_page.dart
index fe7e36c89..74c57a9da 100644
--- a/example/lib/pages/controller_controls_page.dart
+++ b/example/lib/pages/controller_controls_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class ControllerControlsPage extends StatefulWidget {
diff --git a/example/lib/pages/controls_always_visible_page.dart b/example/lib/pages/controls_always_visible_page.dart
index b9aca8eff..937aa00b8 100644
--- a/example/lib/pages/controls_always_visible_page.dart
+++ b/example/lib/pages/controls_always_visible_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class ControlsAlwaysVisiblePage extends StatefulWidget {
diff --git a/example/lib/pages/controls_configuration_page.dart b/example/lib/pages/controls_configuration_page.dart
index c3d650010..584b02bfb 100644
--- a/example/lib/pages/controls_configuration_page.dart
+++ b/example/lib/pages/controls_configuration_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class ControlsConfigurationPage extends StatefulWidget {
diff --git a/example/lib/pages/custom_controls/change_player_theme_page.dart b/example/lib/pages/custom_controls/change_player_theme_page.dart
index 3bb7b4358..5a3e7be6b 100644
--- a/example/lib/pages/custom_controls/change_player_theme_page.dart
+++ b/example/lib/pages/custom_controls/change_player_theme_page.dart
@@ -1,6 +1,6 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
-import 'package:better_player_example/pages/custom_controls/custom_controls_widget.dart';
+import 'package:example/constants.dart';
+import 'package:example/pages/custom_controls/custom_controls_widget.dart';
import 'package:flutter/material.dart';
class ChangePlayerThemePage extends StatefulWidget {
diff --git a/example/lib/pages/dash_page.dart b/example/lib/pages/dash_page.dart
index 1b1fbcf2c..ce967028e 100644
--- a/example/lib/pages/dash_page.dart
+++ b/example/lib/pages/dash_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class DashPage extends StatefulWidget {
diff --git a/example/lib/pages/drm_page.dart b/example/lib/pages/drm_page.dart
index b8fbe1fec..0aa74d959 100644
--- a/example/lib/pages/drm_page.dart
+++ b/example/lib/pages/drm_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class DrmPage extends StatefulWidget {
diff --git a/example/lib/pages/event_listener_page.dart b/example/lib/pages/event_listener_page.dart
index 3043531c4..f6b39626a 100644
--- a/example/lib/pages/event_listener_page.dart
+++ b/example/lib/pages/event_listener_page.dart
@@ -1,7 +1,7 @@
import 'dart:async';
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class EventListenerPage extends StatefulWidget {
diff --git a/example/lib/pages/fade_placeholder_page.dart b/example/lib/pages/fade_placeholder_page.dart
index 43976c743..467a284a2 100644
--- a/example/lib/pages/fade_placeholder_page.dart
+++ b/example/lib/pages/fade_placeholder_page.dart
@@ -1,7 +1,7 @@
import 'dart:async';
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class FadePlaceholderPage extends StatefulWidget {
diff --git a/example/lib/pages/hls_audio_page.dart b/example/lib/pages/hls_audio_page.dart
index 116223d04..a766e9030 100644
--- a/example/lib/pages/hls_audio_page.dart
+++ b/example/lib/pages/hls_audio_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class HlsAudioPage extends StatefulWidget {
diff --git a/example/lib/pages/hls_subtitles_page.dart b/example/lib/pages/hls_subtitles_page.dart
index 464dc74a6..3c1a1c0e6 100644
--- a/example/lib/pages/hls_subtitles_page.dart
+++ b/example/lib/pages/hls_subtitles_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class HlsSubtitlesPage extends StatefulWidget {
diff --git a/example/lib/pages/hls_tracks_page.dart b/example/lib/pages/hls_tracks_page.dart
index 757b58901..12e93be29 100644
--- a/example/lib/pages/hls_tracks_page.dart
+++ b/example/lib/pages/hls_tracks_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class HlsTracksPage extends StatefulWidget {
diff --git a/example/lib/pages/memory_player_page.dart b/example/lib/pages/memory_player_page.dart
index 702f772de..8ce1adca6 100644
--- a/example/lib/pages/memory_player_page.dart
+++ b/example/lib/pages/memory_player_page.dart
@@ -1,8 +1,8 @@
import 'dart:io';
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
-import 'package:better_player_example/utils.dart';
+import 'package:example/constants.dart';
+import 'package:example/utils.dart';
import 'package:flutter/material.dart';
class MemoryPlayerPage extends StatefulWidget {
diff --git a/example/lib/pages/normal_player_page.dart b/example/lib/pages/normal_player_page.dart
index 076107f0d..61549f3c7 100644
--- a/example/lib/pages/normal_player_page.dart
+++ b/example/lib/pages/normal_player_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
diff --git a/example/lib/pages/notification_player_page.dart b/example/lib/pages/notification_player_page.dart
index e5cd3365a..9d772c80f 100644
--- a/example/lib/pages/notification_player_page.dart
+++ b/example/lib/pages/notification_player_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class NotificationPlayerPage extends StatefulWidget {
diff --git a/example/lib/pages/overridden_aspect_ratio_page.dart b/example/lib/pages/overridden_aspect_ratio_page.dart
index 52203a85b..2dba62e7b 100644
--- a/example/lib/pages/overridden_aspect_ratio_page.dart
+++ b/example/lib/pages/overridden_aspect_ratio_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class OverriddenAspectRatioPage extends StatefulWidget {
diff --git a/example/lib/pages/overriden_duration_page.dart b/example/lib/pages/overriden_duration_page.dart
index f4af01a47..8a9b308a4 100644
--- a/example/lib/pages/overriden_duration_page.dart
+++ b/example/lib/pages/overriden_duration_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class OverriddenDurationPage extends StatefulWidget {
diff --git a/example/lib/pages/picture_in_picture_page.dart b/example/lib/pages/picture_in_picture_page.dart
index 6ff4c3308..9c58dc09b 100644
--- a/example/lib/pages/picture_in_picture_page.dart
+++ b/example/lib/pages/picture_in_picture_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class PictureInPicturePage extends StatefulWidget {
diff --git a/example/lib/pages/placeholder_until_play_page.dart b/example/lib/pages/placeholder_until_play_page.dart
index 4f857213c..533c567a4 100644
--- a/example/lib/pages/placeholder_until_play_page.dart
+++ b/example/lib/pages/placeholder_until_play_page.dart
@@ -1,7 +1,7 @@
import 'dart:async';
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class PlaceholderUntilPlayPage extends StatefulWidget {
diff --git a/example/lib/pages/playlist_page.dart b/example/lib/pages/playlist_page.dart
index df79c2194..54487cc49 100644
--- a/example/lib/pages/playlist_page.dart
+++ b/example/lib/pages/playlist_page.dart
@@ -1,6 +1,6 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
-import 'package:better_player_example/utils.dart';
+import 'package:example/constants.dart';
+import 'package:example/utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
diff --git a/example/lib/pages/resolutions_page.dart b/example/lib/pages/resolutions_page.dart
index f89dcf7a6..a5e6899c1 100644
--- a/example/lib/pages/resolutions_page.dart
+++ b/example/lib/pages/resolutions_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class ResolutionsPage extends StatefulWidget {
diff --git a/example/lib/pages/reusable_video_list/reusable_video_list_page.dart b/example/lib/pages/reusable_video_list/reusable_video_list_page.dart
index 6e826bfe0..c6f44992c 100644
--- a/example/lib/pages/reusable_video_list/reusable_video_list_page.dart
+++ b/example/lib/pages/reusable_video_list/reusable_video_list_page.dart
@@ -1,9 +1,9 @@
import 'dart:math';
-import 'package:better_player_example/constants.dart';
-import 'package:better_player_example/model/video_list_data.dart';
-import 'package:better_player_example/pages/reusable_video_list/reusable_video_list_controller.dart';
-import 'package:better_player_example/pages/reusable_video_list/reusable_video_list_widget.dart';
+import 'package:example/constants.dart';
+import 'package:example/model/video_list_data.dart';
+import 'package:example/pages/reusable_video_list/reusable_video_list_controller.dart';
+import 'package:example/pages/reusable_video_list/reusable_video_list_widget.dart';
import 'package:flutter/material.dart';
class ReusableVideoListPage extends StatefulWidget {
diff --git a/example/lib/pages/reusable_video_list/reusable_video_list_widget.dart b/example/lib/pages/reusable_video_list/reusable_video_list_widget.dart
index 5eb7fcff9..dbc93d5c3 100644
--- a/example/lib/pages/reusable_video_list/reusable_video_list_widget.dart
+++ b/example/lib/pages/reusable_video_list/reusable_video_list_widget.dart
@@ -1,8 +1,8 @@
import 'dart:async';
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/model/video_list_data.dart';
-import 'package:better_player_example/pages/reusable_video_list/reusable_video_list_controller.dart';
+import 'package:example/model/video_list_data.dart';
+import 'package:example/pages/reusable_video_list/reusable_video_list_controller.dart';
import 'package:flutter/material.dart';
import 'package:visibility_detector/visibility_detector.dart';
diff --git a/example/lib/pages/rotation_and_fit_page.dart b/example/lib/pages/rotation_and_fit_page.dart
index c90d7bb59..d68b650ae 100644
--- a/example/lib/pages/rotation_and_fit_page.dart
+++ b/example/lib/pages/rotation_and_fit_page.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
+import 'package:example/constants.dart';
import 'package:flutter/material.dart';
class RotationAndFitPage extends StatefulWidget {
diff --git a/example/lib/pages/subtitles_page.dart b/example/lib/pages/subtitles_page.dart
index 2459e8b55..9f68ae3d2 100644
--- a/example/lib/pages/subtitles_page.dart
+++ b/example/lib/pages/subtitles_page.dart
@@ -1,6 +1,6 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/constants.dart';
-import 'package:better_player_example/utils.dart';
+import 'package:example/constants.dart';
+import 'package:example/utils.dart';
import 'package:flutter/material.dart';
class SubtitlesPage extends StatefulWidget {
diff --git a/example/lib/pages/video_list/video_list_page.dart b/example/lib/pages/video_list/video_list_page.dart
index 7a8ad829d..da4fa89fd 100644
--- a/example/lib/pages/video_list/video_list_page.dart
+++ b/example/lib/pages/video_list/video_list_page.dart
@@ -1,7 +1,7 @@
import 'dart:math';
-import 'package:better_player_example/constants.dart';
-import 'package:better_player_example/model/video_list_data.dart';
+import 'package:example/constants.dart';
+import 'package:example/model/video_list_data.dart';
import 'package:flutter/material.dart';
import 'video_list_widget.dart';
diff --git a/example/lib/pages/video_list/video_list_widget.dart b/example/lib/pages/video_list/video_list_widget.dart
index 82b682712..014a3c5d0 100644
--- a/example/lib/pages/video_list/video_list_widget.dart
+++ b/example/lib/pages/video_list/video_list_widget.dart
@@ -1,5 +1,5 @@
import 'package:better_player/better_player.dart';
-import 'package:better_player_example/model/video_list_data.dart';
+import 'package:example/model/video_list_data.dart';
import 'package:flutter/material.dart';
class VideoListWidget extends StatefulWidget {
diff --git a/example/lib/pages/welcome_page.dart b/example/lib/pages/welcome_page.dart
index bad138ec2..d456b2c2e 100644
--- a/example/lib/pages/welcome_page.dart
+++ b/example/lib/pages/welcome_page.dart
@@ -1,34 +1,34 @@
import 'dart:io';
-import 'package:better_player_example/constants.dart';
-import 'package:better_player_example/pages/auto_fullscreen_orientation_page.dart';
-import 'package:better_player_example/pages/basic_player_page.dart';
-import 'package:better_player_example/pages/cache_page.dart';
-import 'package:better_player_example/pages/clearkey_page.dart';
-import 'package:better_player_example/pages/controller_controls_page.dart';
-import 'package:better_player_example/pages/controls_always_visible_page.dart';
-import 'package:better_player_example/pages/controls_configuration_page.dart';
-import 'package:better_player_example/pages/custom_controls/change_player_theme_page.dart';
-import 'package:better_player_example/pages/dash_page.dart';
-import 'package:better_player_example/pages/drm_page.dart';
-import 'package:better_player_example/pages/event_listener_page.dart';
-import 'package:better_player_example/pages/fade_placeholder_page.dart';
-import 'package:better_player_example/pages/hls_audio_page.dart';
-import 'package:better_player_example/pages/hls_subtitles_page.dart';
-import 'package:better_player_example/pages/hls_tracks_page.dart';
-import 'package:better_player_example/pages/memory_player_page.dart';
-import 'package:better_player_example/pages/normal_player_page.dart';
-import 'package:better_player_example/pages/notification_player_page.dart';
-import 'package:better_player_example/pages/overridden_aspect_ratio_page.dart';
-import 'package:better_player_example/pages/overriden_duration_page.dart';
-import 'package:better_player_example/pages/placeholder_until_play_page.dart';
-import 'package:better_player_example/pages/playlist_page.dart';
-import 'package:better_player_example/pages/resolutions_page.dart';
-import 'package:better_player_example/pages/reusable_video_list/reusable_video_list_page.dart';
-import 'package:better_player_example/pages/rotation_and_fit_page.dart';
-import 'package:better_player_example/pages/subtitles_page.dart';
-import 'package:better_player_example/pages/video_list/video_list_page.dart';
-import 'package:better_player_example/pages/picture_in_picture_page.dart';
+import 'package:example/constants.dart';
+import 'package:example/pages/auto_fullscreen_orientation_page.dart';
+import 'package:example/pages/basic_player_page.dart';
+import 'package:example/pages/cache_page.dart';
+import 'package:example/pages/clearkey_page.dart';
+import 'package:example/pages/controller_controls_page.dart';
+import 'package:example/pages/controls_always_visible_page.dart';
+import 'package:example/pages/controls_configuration_page.dart';
+import 'package:example/pages/custom_controls/change_player_theme_page.dart';
+import 'package:example/pages/dash_page.dart';
+import 'package:example/pages/drm_page.dart';
+import 'package:example/pages/event_listener_page.dart';
+import 'package:example/pages/fade_placeholder_page.dart';
+import 'package:example/pages/hls_audio_page.dart';
+import 'package:example/pages/hls_subtitles_page.dart';
+import 'package:example/pages/hls_tracks_page.dart';
+import 'package:example/pages/memory_player_page.dart';
+import 'package:example/pages/normal_player_page.dart';
+import 'package:example/pages/notification_player_page.dart';
+import 'package:example/pages/overridden_aspect_ratio_page.dart';
+import 'package:example/pages/overriden_duration_page.dart';
+import 'package:example/pages/placeholder_until_play_page.dart';
+import 'package:example/pages/playlist_page.dart';
+import 'package:example/pages/resolutions_page.dart';
+import 'package:example/pages/reusable_video_list/reusable_video_list_page.dart';
+import 'package:example/pages/rotation_and_fit_page.dart';
+import 'package:example/pages/subtitles_page.dart';
+import 'package:example/pages/video_list/video_list_page.dart';
+import 'package:example/pages/picture_in_picture_page.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:path_provider/path_provider.dart';
diff --git a/example/pubspec.yaml b/example/pubspec.yaml
index 6bd4dcdf8..7c92b5258 100644
--- a/example/pubspec.yaml
+++ b/example/pubspec.yaml
@@ -1,10 +1,9 @@
-name: better_player_example
-description: Better Player example usage app.
+name: example
+description: "Example to showcase use cases of Better Player."
+publish_to: 'none'
version: 1.0.0+1
-publish_to: none
-
environment:
- sdk: '>=2.12.0 <3.0.0'
+ sdk: '>=3.4.1 <4.0.0'
dependencies:
better_player:
@@ -13,9 +12,9 @@ dependencies:
sdk: flutter
flutter_localizations:
sdk: flutter
- path_provider: ^2.0.10
- visibility_detector: ^0.3.3
- collection: ^1.16.0
+ path_provider: ^2.1.3
+ visibility_detector: ^0.4.0+2
+ collection: ^1.18.0
dev_dependencies:
flutter_test:
diff --git a/lib/src/configuration/better_player_controls_configuration.dart b/lib/src/configuration/better_player_controls_configuration.dart
index d40bcf5e5..104d1b7ab 100644
--- a/lib/src/configuration/better_player_controls_configuration.dart
+++ b/lib/src/configuration/better_player_controls_configuration.dart
@@ -240,8 +240,8 @@ class BetterPlayerControlsConfiguration {
///Setup BetterPlayerControlsConfiguration based on Theme options.
factory BetterPlayerControlsConfiguration.theme(ThemeData theme) {
return BetterPlayerControlsConfiguration(
- textColor: theme.textTheme.bodyText1?.color ?? Colors.white,
- iconsColor: theme.textTheme.button?.color ?? Colors.white,
+ textColor: theme.textTheme.bodySmall?.color ?? Colors.white,
+ iconsColor: theme.buttonTheme.colorScheme?.primary ?? Colors.white,
);
}
}
diff --git a/lib/src/core/better_player.dart b/lib/src/core/better_player.dart
index 5396a9568..7160e9314 100644
--- a/lib/src/core/better_player.dart
+++ b/lib/src/core/better_player.dart
@@ -6,7 +6,7 @@ import 'package:better_player/src/core/better_player_with_controls.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:visibility_detector/visibility_detector.dart';
-import 'package:wakelock/wakelock.dart';
+import 'package:wakelock_plus/wakelock_plus.dart';
///Widget which uses provided controller to render video player.
class BetterPlayer extends StatefulWidget {
@@ -102,7 +102,7 @@ class _BetterPlayerState extends State
///full screen is on, then full screen route must be pop and return to normal
///state.
if (_isFullScreen) {
- Wakelock.disable();
+ WakelockPlus.disable();
_navigatorState.maybePop();
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual,
overlays: _betterPlayerConfiguration.systemOverlaysAfterFullScreen);
@@ -244,7 +244,7 @@ class _BetterPlayerState extends State
}
if (!_betterPlayerConfiguration.allowedScreenSleep) {
- Wakelock.enable();
+ WakelockPlus.enable();
}
await Navigator.of(context, rootNavigator: true).push(route);
@@ -253,7 +253,7 @@ class _BetterPlayerState extends State
// The wakelock plugins checks whether it needs to perform an action internally,
// so we do not need to check Wakelock.isEnabled.
- Wakelock.disable();
+ WakelockPlus.disable();
await SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual,
overlays: _betterPlayerConfiguration.systemOverlaysAfterFullScreen);
diff --git a/pubspec.lock b/pubspec.lock
index 7d19ee3d7..11837d5a6 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -1,81 +1,100 @@
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
+ args:
+ dependency: transitive
+ description:
+ name: args
+ sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.5.0"
async:
dependency: transitive
description:
name: async
- url: "https://pub.dartlang.org"
+ sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
+ url: "https://pub.dev"
source: hosted
- version: "2.8.2"
+ version: "2.11.0"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
- url: "https://pub.dartlang.org"
+ sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
+ url: "https://pub.dev"
source: hosted
- version: "2.1.0"
+ version: "2.1.1"
characters:
dependency: transitive
description:
name: characters
- url: "https://pub.dartlang.org"
- source: hosted
- version: "1.2.0"
- charcode:
- dependency: transitive
- description:
- name: charcode
- url: "https://pub.dartlang.org"
+ sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
+ url: "https://pub.dev"
source: hosted
- version: "1.3.1"
+ version: "1.3.0"
clock:
dependency: transitive
description:
name: clock
- url: "https://pub.dartlang.org"
+ sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
+ url: "https://pub.dev"
source: hosted
- version: "1.1.0"
+ version: "1.1.1"
collection:
dependency: "direct main"
description:
name: collection
- url: "https://pub.dartlang.org"
+ sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
+ url: "https://pub.dev"
source: hosted
- version: "1.16.0"
+ version: "1.18.0"
csslib:
dependency: transitive
description:
name: csslib
- url: "https://pub.dartlang.org"
+ sha256: f857285c8dc0b4f2f77b49a1c083ff8c75223a7549de20f3e607df58cf497a43
+ url: "https://pub.dev"
source: hosted
version: "0.17.0"
cupertino_icons:
dependency: "direct main"
description:
name: cupertino_icons
- url: "https://pub.dartlang.org"
+ sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.8"
+ dbus:
+ dependency: transitive
+ description:
+ name: dbus
+ sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac"
+ url: "https://pub.dev"
source: hosted
- version: "1.0.5"
+ version: "0.7.10"
fake_async:
dependency: transitive
description:
name: fake_async
- url: "https://pub.dartlang.org"
+ sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
+ url: "https://pub.dev"
source: hosted
- version: "1.3.0"
+ version: "1.3.1"
ffi:
dependency: transitive
description:
name: ffi
- url: "https://pub.dartlang.org"
+ sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21"
+ url: "https://pub.dev"
source: hosted
- version: "1.0.0"
+ version: "2.1.2"
file:
dependency: transitive
description:
name: file
- url: "https://pub.dartlang.org"
+ sha256: "9fd2163d866769f60f4df8ac1dc59f52498d810c356fe78022e383dd3c57c0e1"
+ url: "https://pub.dev"
source: hosted
version: "6.1.0"
flutter:
@@ -102,147 +121,208 @@ packages:
dependency: "direct main"
description:
name: flutter_widget_from_html_core
- url: "https://pub.dartlang.org"
- source: hosted
- version: "0.8.5+3"
- fwfh_text_style:
- dependency: transitive
- description:
- name: fwfh_text_style
- url: "https://pub.dartlang.org"
+ sha256: df7c7c9e5ea144f7ab0adfbad733b4d4f7d408ab733c94e6e9fdcb327af92aa1
+ url: "https://pub.dev"
source: hosted
- version: "2.7.2"
+ version: "0.15.1"
html:
dependency: transitive
description:
name: html
- url: "https://pub.dartlang.org"
+ sha256: bfef906cbd4e78ef49ae511d9074aebd1d2251482ef601a280973e8b58b51bbf
+ url: "https://pub.dev"
source: hosted
version: "0.15.0"
+ http:
+ dependency: transitive
+ description:
+ name: http
+ sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.2.1"
+ http_parser:
+ dependency: transitive
+ description:
+ name: http_parser
+ sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.0.2"
intl:
dependency: transitive
description:
name: intl
- url: "https://pub.dartlang.org"
+ sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf
+ url: "https://pub.dev"
source: hosted
- version: "0.17.0"
- js:
+ version: "0.19.0"
+ leak_tracker:
+ dependency: transitive
+ description:
+ name: leak_tracker
+ sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a"
+ url: "https://pub.dev"
+ source: hosted
+ version: "10.0.4"
+ leak_tracker_flutter_testing:
dependency: transitive
description:
- name: js
- url: "https://pub.dartlang.org"
+ name: leak_tracker_flutter_testing
+ sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8"
+ url: "https://pub.dev"
source: hosted
- version: "0.6.4"
+ version: "3.0.3"
+ leak_tracker_testing:
+ dependency: transitive
+ description:
+ name: leak_tracker_testing
+ sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.1"
lint:
dependency: "direct dev"
description:
name: lint
- url: "https://pub.dartlang.org"
+ sha256: d758a5211fce7fd3f5e316f804daefecdc34c7e53559716125e6da7388ae8565
+ url: "https://pub.dev"
source: hosted
- version: "1.8.2"
+ version: "2.3.0"
+ logging:
+ dependency: transitive
+ description:
+ name: logging
+ sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.2.0"
matcher:
dependency: transitive
description:
name: matcher
- url: "https://pub.dartlang.org"
+ sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
+ url: "https://pub.dev"
source: hosted
- version: "0.12.11"
+ version: "0.12.16+1"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
- url: "https://pub.dartlang.org"
+ sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
+ url: "https://pub.dev"
source: hosted
- version: "0.1.4"
+ version: "0.8.0"
meta:
dependency: "direct main"
description:
name: meta
- url: "https://pub.dartlang.org"
+ sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.12.0"
+ package_info_plus:
+ dependency: transitive
+ description:
+ name: package_info_plus
+ sha256: b93d8b4d624b4ea19b0a5a208b2d6eff06004bc3ce74c06040b120eeadd00ce0
+ url: "https://pub.dev"
+ source: hosted
+ version: "8.0.0"
+ package_info_plus_platform_interface:
+ dependency: transitive
+ description:
+ name: package_info_plus_platform_interface
+ sha256: f49918f3433a3146047372f9d4f1f847511f2acd5cd030e1f44fe5a50036b70e
+ url: "https://pub.dev"
source: hosted
- version: "1.7.0"
+ version: "3.0.0"
path:
dependency: transitive
description:
name: path
- url: "https://pub.dartlang.org"
+ sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
+ url: "https://pub.dev"
source: hosted
- version: "1.8.1"
+ version: "1.9.0"
path_provider:
dependency: "direct main"
description:
name: path_provider
- url: "https://pub.dartlang.org"
+ sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161
+ url: "https://pub.dev"
source: hosted
- version: "2.0.10"
+ version: "2.1.3"
path_provider_android:
dependency: transitive
description:
name: path_provider_android
- url: "https://pub.dartlang.org"
+ sha256: "9c96da072b421e98183f9ea7464898428e764bc0ce5567f27ec8693442e72514"
+ url: "https://pub.dev"
source: hosted
- version: "2.0.11"
- path_provider_ios:
+ version: "2.2.5"
+ path_provider_foundation:
dependency: transitive
description:
- name: path_provider_ios
- url: "https://pub.dartlang.org"
+ name: path_provider_foundation
+ sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16
+ url: "https://pub.dev"
source: hosted
- version: "2.0.7"
+ version: "2.4.0"
path_provider_linux:
dependency: transitive
description:
name: path_provider_linux
- url: "https://pub.dartlang.org"
- source: hosted
- version: "2.1.2"
- path_provider_macos:
- dependency: transitive
- description:
- name: path_provider_macos
- url: "https://pub.dartlang.org"
+ sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
+ url: "https://pub.dev"
source: hosted
- version: "2.0.0"
+ version: "2.2.1"
path_provider_platform_interface:
dependency: transitive
description:
name: path_provider_platform_interface
- url: "https://pub.dartlang.org"
+ sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
+ url: "https://pub.dev"
source: hosted
- version: "2.0.1"
+ version: "2.1.2"
path_provider_windows:
dependency: transitive
description:
name: path_provider_windows
- url: "https://pub.dartlang.org"
+ sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170"
+ url: "https://pub.dev"
source: hosted
- version: "2.0.4"
+ version: "2.2.1"
petitparser:
dependency: transitive
description:
name: petitparser
- url: "https://pub.dartlang.org"
+ sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
+ url: "https://pub.dev"
source: hosted
- version: "5.0.0"
+ version: "6.0.2"
platform:
dependency: transitive
description:
name: platform
- url: "https://pub.dartlang.org"
+ sha256: ebc79f16b5f6b609aad4a5e63447d4795d16f7adee46e93ed03200848c006735
+ url: "https://pub.dev"
source: hosted
version: "3.0.0"
plugin_platform_interface:
dependency: transitive
description:
name: plugin_platform_interface
- url: "https://pub.dartlang.org"
+ sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
+ url: "https://pub.dev"
source: hosted
- version: "2.0.0"
+ version: "2.1.8"
process:
dependency: transitive
description:
name: process
- url: "https://pub.dartlang.org"
+ sha256: c7b9f7d8a6ee4407ab4f8a7d4a951f8f5659c40df14c0924e2e97c32372e9b14
+ url: "https://pub.dev"
source: hosted
version: "4.1.0"
sky_engine:
@@ -254,114 +334,130 @@ packages:
dependency: transitive
description:
name: source_span
- url: "https://pub.dartlang.org"
+ sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
+ url: "https://pub.dev"
source: hosted
- version: "1.8.2"
+ version: "1.10.0"
stack_trace:
dependency: transitive
description:
name: stack_trace
- url: "https://pub.dartlang.org"
+ sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
+ url: "https://pub.dev"
source: hosted
- version: "1.10.0"
+ version: "1.11.1"
stream_channel:
dependency: transitive
description:
name: stream_channel
- url: "https://pub.dartlang.org"
+ sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
+ url: "https://pub.dev"
source: hosted
- version: "2.1.0"
+ version: "2.1.2"
string_scanner:
dependency: transitive
description:
name: string_scanner
- url: "https://pub.dartlang.org"
+ sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
+ url: "https://pub.dev"
source: hosted
- version: "1.1.0"
+ version: "1.2.0"
term_glyph:
dependency: transitive
description:
name: term_glyph
- url: "https://pub.dartlang.org"
+ sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
+ url: "https://pub.dev"
source: hosted
- version: "1.2.0"
+ version: "1.2.1"
test_api:
dependency: transitive
description:
name: test_api
- url: "https://pub.dartlang.org"
+ sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
+ url: "https://pub.dev"
source: hosted
- version: "0.4.9"
+ version: "0.7.0"
+ typed_data:
+ dependency: transitive
+ description:
+ name: typed_data
+ sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.3.2"
vector_math:
dependency: transitive
description:
name: vector_math
- url: "https://pub.dartlang.org"
+ sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
+ url: "https://pub.dev"
source: hosted
- version: "2.1.2"
+ version: "2.1.4"
visibility_detector:
dependency: "direct main"
description:
name: visibility_detector
- url: "https://pub.dartlang.org"
+ sha256: dd5cc11e13494f432d15939c3aa8ae76844c42b723398643ce9addb88a5ed420
+ url: "https://pub.dev"
source: hosted
- version: "0.3.3"
- wakelock:
- dependency: "direct main"
- description:
- name: wakelock
- url: "https://pub.dartlang.org"
- source: hosted
- version: "0.6.1+2"
- wakelock_macos:
+ version: "0.4.0+2"
+ vm_service:
dependency: transitive
description:
- name: wakelock_macos
- url: "https://pub.dartlang.org"
+ name: vm_service
+ sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec"
+ url: "https://pub.dev"
source: hosted
- version: "0.4.0"
- wakelock_platform_interface:
- dependency: transitive
+ version: "14.2.1"
+ wakelock_plus:
+ dependency: "direct main"
description:
- name: wakelock_platform_interface
- url: "https://pub.dartlang.org"
+ name: wakelock_plus
+ sha256: "14758533319a462ffb5aa3b7ddb198e59b29ac3b02da14173a1715d65d4e6e68"
+ url: "https://pub.dev"
source: hosted
- version: "0.3.0"
- wakelock_web:
+ version: "1.2.5"
+ wakelock_plus_platform_interface:
dependency: transitive
description:
- name: wakelock_web
- url: "https://pub.dartlang.org"
+ name: wakelock_plus_platform_interface
+ sha256: "422d1cdbb448079a8a62a5a770b69baa489f8f7ca21aef47800c726d404f9d16"
+ url: "https://pub.dev"
source: hosted
- version: "0.4.0"
- wakelock_windows:
+ version: "1.2.1"
+ web:
dependency: transitive
description:
- name: wakelock_windows
- url: "https://pub.dartlang.org"
+ name: web
+ sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27"
+ url: "https://pub.dev"
source: hosted
- version: "0.2.0"
+ version: "0.5.1"
win32:
dependency: transitive
description:
name: win32
- url: "https://pub.dartlang.org"
+ sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4
+ url: "https://pub.dev"
source: hosted
- version: "2.0.0"
+ version: "5.5.1"
xdg_directories:
dependency: transitive
description:
name: xdg_directories
- url: "https://pub.dartlang.org"
+ sha256: "0186b3f2d66be9a12b0295bddcf8b6f8c0b0cc2f85c6287344e2a6366bc28457"
+ url: "https://pub.dev"
source: hosted
version: "0.2.0"
xml:
dependency: "direct main"
description:
name: xml
- url: "https://pub.dartlang.org"
+ sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
+ url: "https://pub.dev"
source: hosted
- version: "6.1.0"
+ version: "6.5.0"
sdks:
- dart: ">=2.17.0 <3.0.0"
- flutter: ">=2.12.0"
+ dart: ">=3.4.0 <4.0.0"
+ flutter: ">=3.22.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index ebfe24469..31b237d02 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,30 +1,27 @@
name: better_player
-description: Advanced video player based on video_player and Chewie. It's solves many typical use cases and it's easy to run.
-version: 0.0.83
-# Disabled because of warning from analyzer
-# authors:
-# - Jakub Homlala
+description: Advanced video player. It solves many typical use cases and it's easy to run.
+version: 0.0.84
homepage: https://github.com/jhomlala/betterplayer
documentation: https://jhomlala.github.io/betterplayer/
environment:
- sdk: '>=2.12.0 <3.0.0'
- flutter: ">=2.2.3"
+ sdk: ">=3.0.0 <4.0.0"
+ flutter: ">=3.3.0"
dependencies:
flutter:
sdk: flutter
- cupertino_icons: ^1.0.5
- wakelock: ^0.6.1+2
- meta: ^1.7.0
- flutter_widget_from_html_core: ^0.8.5+3
- visibility_detector: ^0.3.3
- path_provider: ^2.0.10
- collection: ^1.16.0
- xml: ^6.1.0
+ cupertino_icons: ^1.0.8
+ wakelock_plus: ^1.2.5
+ meta: ^1.12.0
+ flutter_widget_from_html_core: ^0.15.1
+ visibility_detector: ^0.4.0+2
+ path_provider: ^2.1.3
+ collection: ^1.18.0
+ xml: ^6.5.0
dev_dependencies:
- lint: ^1.8.2
+ lint: ^2.3.0
flutter_test:
sdk: flutter
flutter_localizations: