feat: source-preference

This commit is contained in:
kodjomoustapha 2023-12-02 19:01:55 +01:00
parent 21b6dc437c
commit 10ccd8117c
5 changed files with 12 additions and 11 deletions

View file

@ -70,7 +70,7 @@ class $MProvider extends MProvider with $Bridge<MProvider> {
BridgeTypeRef(CoreTypes.future, [$MManga.$type])),
params: [
BridgeParameter(
'source', BridgeTypeAnnotation($MManga.$type), false),
'source', BridgeTypeAnnotation($MSource.$type), false),
BridgeParameter('url',
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string)), false),
])),
@ -80,7 +80,7 @@ class $MProvider extends MProvider with $Bridge<MProvider> {
])),
params: [
BridgeParameter(
'source', BridgeTypeAnnotation($MManga.$type), false),
'source', BridgeTypeAnnotation($MSource.$type), false),
BridgeParameter('url',
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string)), false),
])),
@ -90,7 +90,7 @@ class $MProvider extends MProvider with $Bridge<MProvider> {
])),
params: [
BridgeParameter(
'source', BridgeTypeAnnotation($MManga.$type), false),
'source', BridgeTypeAnnotation($MSource.$type), false),
BridgeParameter('url',
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string)), false),
])),
@ -762,8 +762,8 @@ class $MProvider extends MProvider with $Bridge<MProvider> {
.then((value) => $String(value)));
}),
'getPreferenceValue' => $Function((_, __, List<$Value?> args) {
final value = getPreferenceValue(
args[1]!.$reified, args[0]!.$reified);
final value =
getPreferenceValue(args[0]!.$reified, args[1]!.$reified);
if (value is String) {
return $String(value);
} else if (value is bool) {
@ -983,8 +983,8 @@ class $MProvider extends MProvider with $Bridge<MProvider> {
}
@override
List getSourcePreferences() {
final res = $_invoke('getSourcePreferences', []);
List getSourcePreferences(MSource source) {
final res = $_invoke('getSourcePreferences', [$MSource.wrap(source)]);
if (res is $List) {
return res.$reified;
}
@ -1014,6 +1014,7 @@ class $MProvider extends MProvider with $Bridge<MProvider> {
: e.audios!
.map((t) => $MTrack.wrap(Track(file: t.file, label: t.label)))
.toList()));
_toValueList(List filters) {
return (filters).map((e) {
if (e is SelectFilter) {

View file

@ -22,5 +22,5 @@ abstract class MProvider {
List<dynamic> getFilterList();
List<dynamic> getSourcePreferences();
List<dynamic> getSourcePreferences(MSource source);
}

View file

@ -73,7 +73,7 @@ class _AnimePlayerViewState extends riv.ConsumerState<AnimePlayerView> {
),
);
}
data.$1.sort((a, b) => a.quality.compareTo(b.quality));
return AnimeStreamPage(
episode: widget.episode,
videos: data.$1,

View file

@ -20,7 +20,7 @@ void setPreferenceSetting(SourcePreference sourcePreference, Source source) {
});
}
getPreferenceValue(String key, int sourceId) {
getPreferenceValue(int sourceId, String key) {
final sourcePreference = getSourcePreferenceEntry(key, sourceId);
if (sourcePreference.listPreference != null) {

View file

@ -15,7 +15,7 @@ List<SourcePreference> getSourcePreference({required Source source}) {
var res = runtime.executeLib('package:mangayomi/main.dart', 'main');
sourcePreference = (res as MProvider)
.getSourcePreferences()
.getSourcePreferences(source.toMSource())
.map((e) => (e is $Value ? e.$reified : e) as SourcePreference)
.toList();
} catch (_) {