* opt: danmaku weight

* opt: cache clean

* opt: level img

* opt: play icon

* opt: svg big-vip

* opt: webview ua

* opt: simple dialog

* feat: export vtt

* tweak

* opt: mapIndexed

* feat: more subtitle

* refa: settings page

* feat: codec list options

* drawPath

Signed-off-by: dom <githubaccount56556@proton.me>

* custom dialog option

Signed-off-by: dom <githubaccount56556@proton.me>

* update

Signed-off-by: dom <githubaccount56556@proton.me>

* Revert "drawPath"

This reverts commit e8a4b19f0f.

* opt: _initStreamIndex

* fix: avoid gap

* fix: scale [skip ci]

* fix: hide repost menu not login

* tweaks

Signed-off-by: dom <githubaccount56556@proton.me>

---------

Co-authored-by: dom <githubaccount56556@proton.me>
This commit is contained in:
My-Responsitories
2026-06-26 02:51:41 +00:00
committed by GitHub
parent 3dee6a85e5
commit 9d94c72e95
96 changed files with 2268 additions and 2143 deletions

View File

@@ -1,4 +1,4 @@
class Subtitle {
class Subtitle implements Comparable<Subtitle> {
late String lan;
String? lanDoc;
String? subtitleUrl;
@@ -8,6 +8,8 @@ class Subtitle {
Subtitle({
required this.lan,
this.lanDoc,
this.subtitleUrl,
this.isAi = false,
});
Subtitle.fromJson(Map<String, dynamic> json) {
@@ -17,4 +19,13 @@ class Subtitle {
subtitleUrl = json["subtitle_url"];
subtitleUrlV2 = json["subtitle_url_v2"];
}
@override
int compareTo(Subtitle other) {
final thisHasZh = lan.contains('zh');
final otherHasZh = other.lan.contains('zh');
if (thisHasZh != otherHasZh) return thisHasZh ? -1 : 1;
if (isAi != other.isAi) return isAi ? 1 : -1;
return 0;
}
}

View File

@@ -14,12 +14,6 @@ class SubtitleInfo {
(json['subtitles'] as List<dynamic>?)
?.map((e) => Subtitle.fromJson(e as Map<String, dynamic>))
.toList()
?..sort((a, b) {
final aHasZh = a.lan.contains('zh');
final bHasZh = b.lan.contains('zh');
if (aHasZh != bHasZh) return aHasZh ? -1 : 1;
if (a.isAi != b.isAi) return a.isAi ? 1 : -1;
return 0;
}),
?..sort(),
);
}