mirror of
https://github.com/zarzet/SpotiFLAC-Mobile.git
synced 2026-07-19 18:47:52 +02:00
ffdaf14ba5
Co-authored-by: Amonoman <musaauron87@gmail.com>
53 lines
1.4 KiB
Dart
53 lines
1.4 KiB
Dart
import 'package:spotiflac_android/services/platform_bridge.dart';
|
|
|
|
class CrossExtensionShareResult {
|
|
final String extensionId;
|
|
final String displayName;
|
|
final bool found;
|
|
final String? url;
|
|
final String? itemName;
|
|
final String? itemArtists;
|
|
final String? error;
|
|
|
|
const CrossExtensionShareResult({
|
|
required this.extensionId,
|
|
required this.displayName,
|
|
required this.found,
|
|
this.url,
|
|
this.itemName,
|
|
this.itemArtists,
|
|
this.error,
|
|
});
|
|
|
|
factory CrossExtensionShareResult.fromJson(Map<String, dynamic> json) {
|
|
return CrossExtensionShareResult(
|
|
extensionId: json['extension_id'] as String? ?? '',
|
|
displayName: json['display_name'] as String? ?? '',
|
|
found: json['found'] as bool? ?? false,
|
|
url: json['url'] as String?,
|
|
itemName: json['item_name'] as String?,
|
|
itemArtists: json['item_artists'] as String?,
|
|
error: json['error'] as String?,
|
|
);
|
|
}
|
|
}
|
|
|
|
class CrossExtensionShareService {
|
|
const CrossExtensionShareService();
|
|
|
|
Future<List<CrossExtensionShareResult>> findAcrossExtensions({
|
|
required String name,
|
|
required String artists,
|
|
required String type,
|
|
required String sourceExtensionId,
|
|
}) async {
|
|
final results = await PlatformBridge.findCollectionAcrossExtensions(
|
|
name: name,
|
|
artists: artists,
|
|
type: type,
|
|
sourceExtensionId: sourceExtensionId,
|
|
);
|
|
return results.map(CrossExtensionShareResult.fromJson).toList();
|
|
}
|
|
}
|