custom audio order

Closes #1636

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-10-21 17:20:24 +08:00
parent a71a7b66f8
commit e8a32a6149
3 changed files with 45 additions and 11 deletions

View File

@@ -9,7 +9,8 @@ import 'package:PiliPlus/grpc/bilibili/app/listener/v1.pb.dart'
PlaylistResp,
PlaylistSource,
PlayInfo,
ThumbUpReq_ThumbType;
ThumbUpReq_ThumbType,
ListOrder;
import 'package:PiliPlus/http/constants.dart';
import 'package:PiliPlus/http/ua_type.dart';
import 'package:PiliPlus/pages/common/common_intro_controller.dart'
@@ -78,6 +79,8 @@ class AudioController extends GetxController
String? _next;
bool get reachStart => _prev == null;
ListOrder order = ListOrder.ORDER_NORMAL;
@override
void onInit() {
super.onInit();
@@ -163,6 +166,7 @@ class AudioController extends GetxController
? _next
: null,
extraId: extraId,
order: order,
);
if (res.isSuccess) {
final PlaylistResp data = res.data;
@@ -576,6 +580,9 @@ class AudioController extends GetxController
if (index != null && playlist != null && player != null) {
final next = index! + 1;
if (next < playlist!.length) {
if (next == playlist!.length - 1 && _next != null) {
_queryPlayList(isLoadNext: true);
}
playIndex(next);
return true;
}
@@ -644,6 +651,13 @@ class AudioController extends GetxController
}
}
void onChangeOrder(ListOrder value) {
if (order != value) {
order = value;
_queryPlayList(isInit: true);
}
}
@override
void onClose() {
// _cancelTimer();