mod: update qa when switching

Closes #437

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-03-26 20:36:49 +08:00
parent cdfab7a7db
commit f5e9375917

View File

@@ -13,6 +13,7 @@ import 'package:PiliPlus/utils/extension.dart';
import 'package:PiliPlus/utils/id_utils.dart'; import 'package:PiliPlus/utils/id_utils.dart';
import 'package:PiliPlus/utils/utils.dart'; import 'package:PiliPlus/utils/utils.dart';
import 'package:canvas_danmaku/canvas_danmaku.dart'; import 'package:canvas_danmaku/canvas_danmaku.dart';
import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:dio/dio.dart'; import 'package:dio/dio.dart';
import 'package:document_file_save_plus/document_file_save_plus_platform_interface.dart'; import 'package:document_file_save_plus/document_file_save_plus_platform_interface.dart';
import 'package:floating/floating.dart'; import 'package:floating/floating.dart';
@@ -844,7 +845,7 @@ class _HeaderControlState extends State<HeaderControl> {
for (int i = 0; i < totalQaSam; i++) ...[ for (int i = 0; i < totalQaSam; i++) ...[
ListTile( ListTile(
dense: true, dense: true,
onTap: () { onTap: () async {
if (currentVideoQa.code == if (currentVideoQa.code ==
videoFormat[i].quality) { videoFormat[i].quality) {
return; return;
@@ -854,16 +855,33 @@ class _HeaderControlState extends State<HeaderControl> {
videoDetailCtr.currentVideoQa = videoDetailCtr.currentVideoQa =
VideoQualityCode.fromCode(quality)!; VideoQualityCode.fromCode(quality)!;
videoDetailCtr.updatePlayer(); videoDetailCtr.updatePlayer();
// String oldQualityDesc =
// VideoQualityCode.fromCode(setting.get( // update
// SettingBoxKey.defaultVideoQa, late String oldQualityDesc;
// defaultValue: await Connectivity()
// VideoQuality.values.last.code))! .checkConnectivity()
// .description; .then((res) {
// setting.put( if (res.contains(ConnectivityResult.wifi)) {
// SettingBoxKey.defaultVideoQa, quality); oldQualityDesc = VideoQualityCode.fromCode(
// SmartDialog.showToast( GStorage.defaultVideoQa)!
// "默认画质由:$oldQualityDesc 变为:${VideoQualityCode.fromCode(quality)!.description}"); .description;
setting.put(
SettingBoxKey.defaultVideoQa,
quality,
);
} else {
oldQualityDesc = VideoQualityCode.fromCode(
GStorage.defaultVideoQaCellular)!
.description;
setting.put(
SettingBoxKey.defaultVideoQaCellular,
quality,
);
}
});
SmartDialog.showToast(
"默认画质由:$oldQualityDesc 变为:${VideoQualityCode.fromCode(quality)!.description}",
);
}, },
// 可能包含会员解锁画质 // 可能包含会员解锁画质
enabled: i >= totalQaSam - userfulQaSam, enabled: i >= totalQaSam - userfulQaSam,
@@ -928,7 +946,7 @@ class _HeaderControlState extends State<HeaderControl> {
for (final AudioItem i in audio) ...[ for (final AudioItem i in audio) ...[
ListTile( ListTile(
dense: true, dense: true,
onTap: () { onTap: () async {
if (currentAudioQa.code == i.id) { if (currentAudioQa.code == i.id) {
return; return;
} }
@@ -937,15 +955,33 @@ class _HeaderControlState extends State<HeaderControl> {
videoDetailCtr.currentAudioQa = videoDetailCtr.currentAudioQa =
AudioQualityCode.fromCode(quality)!; AudioQualityCode.fromCode(quality)!;
videoDetailCtr.updatePlayer(); videoDetailCtr.updatePlayer();
// String oldQualityDesc = AudioQualityCode.fromCode(
// setting.get(SettingBoxKey.defaultAudioQa, // update
// defaultValue: late String oldQualityDesc;
// AudioQuality.values.last.code))! await Connectivity()
// .description; .checkConnectivity()
// setting.put( .then((res) {
// SettingBoxKey.defaultAudioQa, quality); if (res.contains(ConnectivityResult.wifi)) {
// SmartDialog.showToast( oldQualityDesc = AudioQualityCode.fromCode(
// "默认音质由:$oldQualityDesc 变为:${AudioQualityCode.fromCode(quality)!.description}"); GStorage.defaultAudioQa)!
.description;
setting.put(
SettingBoxKey.defaultAudioQa,
quality,
);
} else {
oldQualityDesc = AudioQualityCode.fromCode(
GStorage.defaultAudioQaCellular)!
.description;
setting.put(
SettingBoxKey.defaultAudioQaCellular,
quality,
);
}
});
SmartDialog.showToast(
"默认音质由:$oldQualityDesc 变为:${AudioQualityCode.fromCode(quality)!.description}",
);
}, },
contentPadding: contentPadding:
const EdgeInsets.only(left: 20, right: 20), const EdgeInsets.only(left: 20, right: 20),