Skip to content

Commit b7ad185

Browse files
committed
fix: dunno
1 parent aea731a commit b7ad185

File tree

6 files changed

+39
-23
lines changed

6 files changed

+39
-23
lines changed

lib/Screens/Info/Tabs/Watch/Anime/Player/Platform/AndroidPlayer.dart

Lines changed: 32 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
1-
21
import 'package:dantotsu/Screens/Info/Tabs/Watch/Anime/Player/Platform/BasePlayer.dart';
32
import 'package:flutter/cupertino.dart';
3+
import 'package:get/get_rx/src/rx_types/rx_types.dart';
44
import 'package:video_player/video_player.dart';
55
import 'package:fvp/fvp.dart' as fvp;
66

7-
class AndroidPlayer extends BasePlayer{
8-
9-
late VideoPlayer player;
7+
class AndroidPlayer extends BasePlayer {
8+
final String url;
9+
Rx<BoxFit> resizeMode;
1010
late VideoPlayerController videoController;
11+
12+
AndroidPlayer(this.url, this.resizeMode) {
13+
videoController = VideoPlayerController.network(url);
14+
}
15+
1116
@override
1217
Future<void> open(String url, Duration duration) async {
18+
videoController.dispose();
1319
videoController = VideoPlayerController.network(url);
14-
player = VideoPlayer(videoController);
1520
await videoController.initialize();
1621
await videoController.seekTo(duration);
1722
videoController.play();
@@ -20,7 +25,6 @@ class AndroidPlayer extends BasePlayer{
2025
@override
2126
Future<void> pause() => videoController.pause();
2227

23-
2428
@override
2529
Future<void> play() => videoController.play();
2630

@@ -38,7 +42,8 @@ class AndroidPlayer extends BasePlayer{
3842
videoController.addListener(() {
3943
isBuffering.value = videoController.value.isBuffering;
4044
isPlaying.value = videoController.value.isPlaying;
41-
bufferingTime.value = _formatTime(videoController.value.buffered.first.end.inSeconds);
45+
bufferingTime.value =
46+
_formatTime(videoController.value.buffered.first.end.inSeconds);
4247
currentPosition.value = videoController.value.position;
4348
currentTime.value = _formatTime(videoController.value.position.inSeconds);
4449
maxTime.value = _formatTime(videoController.value.duration.inSeconds);
@@ -58,28 +63,38 @@ class AndroidPlayer extends BasePlayer{
5863

5964
@override
6065
Widget playerWidget() {
61-
return player;
66+
return AspectRatio(
67+
aspectRatio: videoController.value.aspectRatio,
68+
child: FittedBox(
69+
fit: resizeMode.value,
70+
child: SizedBox(
71+
width: videoController.value.size.width,
72+
height: videoController.value.size.height,
73+
child: VideoPlayer(videoController),
74+
),
75+
),
76+
);
6277
}
6378

6479
@override
6580
Future<void> seek(Duration duration) async =>
66-
videoController.seekTo(duration);
67-
81+
videoController.seekTo(duration);
6882

6983
@override
70-
Future<void> setRate(double rate) async => videoController.setPlaybackSpeed(rate);
71-
84+
Future<void> setRate(double rate) async =>
85+
videoController.setPlaybackSpeed(rate);
7286

7387
@override
74-
Future<void> setSubtitle(String subtitleUri, String language) async => videoController.setExternalSubtitle(subtitleUri);
75-
88+
Future<void> setSubtitle(String subtitleUri, String language) async =>
89+
videoController.setExternalSubtitle(subtitleUri);
7690

7791
@override
78-
Future<void> setVolume(double volume) async => videoController.setVolume(volume);
92+
Future<void> setVolume(double volume) async =>
93+
videoController.setVolume(volume);
7994

8095
@override
8196
void dispose() {
82-
videoController.dispose();
8397
super.dispose();
98+
videoController.dispose();
8499
}
85-
}
100+
}

lib/Screens/Info/Tabs/Watch/Anime/Player/Platform/BasePlayer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ abstract class BasePlayer extends GetxController {
77
Rx<Duration> currentPosition = const Duration(seconds: 0).obs;
88
RxString maxTime = "00:00".obs;
99
RxString bufferingTime = "00:00".obs;
10-
RxBool isBuffering = false.obs;
10+
RxBool isBuffering = true.obs;
1111
RxBool isPlaying = false.obs;
1212

1313
Future<void> seek(Duration duration);

lib/Screens/Info/Tabs/Watch/Anime/Player/Platform/WindowsPlayer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ class WindowsPlayer extends BasePlayer {
5252

5353
@override
5454
void dispose() {
55-
player.dispose();
5655
super.dispose();
56+
player.dispose();
5757
}
5858

5959
@override

lib/Screens/Info/Tabs/Watch/Anime/Player/Player.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ class MediaPlayerState extends State<MediaPlayer>
109109
void _initializePlayer() {
110110
currentQuality = widget.videos[widget.index];
111111
if (PrefManager.getCustomVal<bool>('tempPlayer') ?? false) {
112-
videoPlayerController = AndroidPlayer();
112+
videoPlayerController = AndroidPlayer(currentQuality.url,resizeMode);
113113
} else {
114114
videoPlayerController = WindowsPlayer(resizeMode, settings);
115115
}

lib/Screens/Info/Tabs/Watch/Anime/Player/PlayerController.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,10 @@ class _PlayerControllerState extends State<PlayerController> {
122122

123123
@override
124124
void dispose() {
125-
DiscordService.stopRPC();
126-
WakelockPlus.disable();
127125
super.dispose();
126+
if (Discord.token.isNotEmpty) DiscordService.stopRPC();
127+
WakelockPlus.disable();
128+
128129
}
129130

130131
Future initFullScreen() async =>

lib/Theme/LanguageSwitcher.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Widget languageSwitcher(BuildContext context) {
1313
return buildDropdownMenu(
1414
padding: const EdgeInsets.symmetric(vertical: 12.0),
1515
currentValue: completeLanguageName(Get.locale!.languageCode.toUpperCase()),
16-
options: languageOptions.map((e) => completeLanguageName(e.toUpperCase())).toList(),
16+
options: languageOptions.map((e) => completeLanguageName(e.toUpperCase())).toSet().toList(),
1717
onChanged: (String newValue) {
1818
final newLocale = Locale(completeLanguageCode(newValue).toLowerCase());
1919
Get.updateLocale(newLocale);

0 commit comments

Comments
 (0)