From 47b95feb8afbdc4355130e244366f627c7e90f7d Mon Sep 17 00:00:00 2001 From: ArtisanLRO Date: Mon, 5 Apr 2021 02:37:54 +1000 Subject: [PATCH] 0.6.0 commit for no scoped storage build --- README.md | 2 +- android/app/proguard-rules.pro | 3 +- android/app/src/main/AndroidManifest.xml | 1 + chewie-0.12.2/lib/src/chewie_player.dart | 28 +++++++---------- chewie-0.12.2/pubspec.yaml | 3 +- lib/main.dart | 3 +- lib/player.dart | 40 +++++++++++------------- pubspec.yaml | 4 +-- 8 files changed, 39 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index 5687fd0b5..17d43c71b 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@

A mobile video player tailored for Japanese language learners.

Latest GitHub Release:
-0.5.2-beta 🇯🇵 → 🇬🇧
+0.6.0-beta 🇯🇵 → 🇬🇧
0.5.3-beta 🇬🇧 → 🇯🇵

# 📚 Uninterrupted language immersion at your fingertips diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro index 56d063438..838861a8a 100644 --- a/android/app/proguard-rules.pro +++ b/android/app/proguard-rules.pro @@ -10,4 +10,5 @@ -keep class com.arthenica.mobileffmpeg.AbiDetect { native ; -} \ No newline at end of file +} +-keep class org.videolan.libvlc.** { *; } \ No newline at end of file diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 5588a9eaa..ca51aa831 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -4,6 +4,7 @@ + videoPlayerController.value.isPlaying; Future _initialize() async { - if ((autoInitialize || autoPlay) && - !videoPlayerController.value.isInitialized) { - videoPlayerController.initialize(); - } + // if ((autoInitialize || autoPlay) && + // !videoPlayerController.value.isInitialized) { + // videoPlayerController.initialize(); + // } - if (autoPlay) { - if (fullScreenByDefault) { - enterFullScreen(); - } + // await videoPlayerController.setLooping(looping); - await videoPlayerController.play(); - } + // if (startAt != null) { + // await videoPlayerController.seekTo(startAt); + // } - if (startAt != null) { - await videoPlayerController.seekTo(startAt); - } + // if (fullScreenByDefault) { + // videoPlayerController.addListener(_fullScreenListener); + // } - if (fullScreenByDefault) { - videoPlayerController.addListener(_fullScreenListener); - } + // await videoPlayerController.play(); } Future _fullScreenListener() async { diff --git a/chewie-0.12.2/pubspec.yaml b/chewie-0.12.2/pubspec.yaml index 44e62b79e..41cf454ba 100755 --- a/chewie-0.12.2/pubspec.yaml +++ b/chewie-0.12.2/pubspec.yaml @@ -11,11 +11,10 @@ environment: dependencies: audioplayers: - file_picker: flutter: sdk: flutter flutter_ffmpeg: - flutter_vlc_player: ^6.0.1 + flutter_vlc_player: intl: jidoujisho: path: ../ diff --git a/lib/main.dart b/lib/main.dart index 95207912f..56a8bee6c 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,7 +1,7 @@ import 'dart:io'; import 'package:async/async.dart'; -import 'package:file_picker/file_picker.dart'; +import 'package:gx_file_picker/gx_file_picker.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:fuzzy/fuzzy.dart'; @@ -39,7 +39,6 @@ Map captioningCache = {}; void main() async { WidgetsFlutterBinding.ensureInitialized(); SystemChrome.setEnabledSystemUIOverlays([]); - await FilePicker.platform.clearTemporaryFiles(); PackageInfo packageInfo = await PackageInfo.fromPlatform(); appName = packageInfo.appName; diff --git a/lib/player.dart b/lib/player.dart index 615e7a971..435f26354 100644 --- a/lib/player.dart +++ b/lib/player.dart @@ -2,12 +2,11 @@ import 'dart:io'; import 'package:chewie/chewie.dart'; import 'package:clipboard_monitor/clipboard_monitor.dart'; -import 'package:file_picker/file_picker.dart'; +import 'package:gx_file_picker/gx_file_picker.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_vlc_player/flutter_vlc_player.dart'; import 'package:http/http.dart' as http; -import 'package:jidoujisho/main.dart'; import 'package:scrollable_positioned_list/scrollable_positioned_list.dart'; import 'package:subtitle_wrapper_package/data/models/style/subtitle_style.dart'; import 'package:subtitle_wrapper_package/data/models/subtitle.dart'; @@ -25,11 +24,6 @@ class Player extends StatelessWidget { @override Widget build(BuildContext context) { - SystemChrome.setPreferredOrientations([ - DeviceOrientation.landscapeLeft, - DeviceOrientation.landscapeRight, - ]); - SystemChrome.setEnabledSystemUIOverlays([]); Wakelock.enable(); @@ -43,19 +37,15 @@ class Player extends StatelessWidget { Widget localPlayer() { return new FutureBuilder( - future: FilePicker.platform.pickFiles( - type: Platform.isIOS ? FileType.any : FileType.video, - allowMultiple: false, - allowCompression: false, - ), - builder: - (BuildContext context, AsyncSnapshot snapshot) { + future: FilePicker.getFile( + type: Platform.isIOS ? FileType.any : FileType.video), + builder: (BuildContext context, AsyncSnapshot snapshot) { switch (snapshot.connectionState) { case ConnectionState.waiting: return loadingCircle(); default: if (snapshot.hasData) { - File videoFile = File(snapshot.data.files.single.path); + File videoFile = snapshot.data; print("VIDEO FILE: ${videoFile.path}"); return FutureBuilder( @@ -70,6 +60,11 @@ class Player extends StatelessWidget { String defaultSubtitles = getDefaultSubtitles(videoFile, internalSubs); + SystemChrome.setPreferredOrientations([ + DeviceOrientation.landscapeLeft, + DeviceOrientation.landscapeRight, + ]); + return VideoPlayer( videoFile: videoFile, internalSubs: internalSubs, @@ -148,6 +143,11 @@ class Player extends StatelessWidget { internalSubs = extractWebSubtitle(webSubtitles); } + SystemChrome.setPreferredOrientations([ + DeviceOrientation.landscapeLeft, + DeviceOrientation.landscapeRight, + ]); + return VideoPlayer( webStream: webStream, defaultSubtitles: webSubtitles, @@ -464,21 +464,19 @@ class _VideoPlayerState extends State { } void playExternalSubtitles() async { - FilePickerResult result = await FilePicker.platform.pickFiles( + File result = await FilePicker.getFile( type: FileType.any, - allowMultiple: false, ); if (result != null) { - File subFile = File(result.files.single.path); - if (subFile.path.endsWith("srt")) { + if (result.path.endsWith("srt")) { getSubtitleWrapper() .subtitleController - .updateSubtitleContent(content: subFile.readAsStringSync()); + .updateSubtitleContent(content: result.readAsStringSync()); print("SUBTITLES SWITCHED TO EXTERNAL SRT"); } else { getSubtitleWrapper().subtitleController.updateSubtitleContent( - content: await extractNonSrtSubtitles(subFile)); + content: await extractNonSrtSubtitles(result)); print("SUBTITLES SWITCHED TO EXTERNAL ASS"); } } diff --git a/pubspec.yaml b/pubspec.yaml index a7579acc2..680922966 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,7 +3,7 @@ description: A mobile video player tailored for Japanese language learners. publish_to: none -version: 0.5.4+beta +version: 0.6.0+beta environment: sdk: ">=2.7.0 <3.0.0" @@ -16,7 +16,7 @@ dependencies: chewie: path: ./chewie-0.12.2 device_info: - file_picker: <=3.0.1 + gx_file_picker: flutter_vlc_player: ^6.0.1 clipboard_monitor: ^0.9.1 unofficial_jisho_api: ^1.1.0