This commit is contained in:
Rahul Sahani 2025-11-07 15:42:46 +00:00 committed by GitHub
commit 71cd3fc18d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
17 changed files with 337 additions and 535 deletions

2
.gitignore vendored
View File

@ -9,6 +9,8 @@
.history .history
.svn/ .svn/
.vscode
# IntelliJ related # IntelliJ related
*.iml *.iml
*.ipr *.ipr

View File

@ -1,22 +0,0 @@
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.19041.0",
"compilerPath": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\bin\\Hostx64\\x64\\cl.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-msvc-x64",
"configurationProvider": "ms-vscode.makefile-tools"
}
],
"version": 4
}

58
.vscode/launch.json vendored
View File

@ -1,58 +0,0 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "spotube",
"type": "dart",
"request": "launch",
"program": "lib/main.dart",
},
{
"name": "spotube (mobile)",
"type": "dart",
"request": "launch",
"program": "lib/main.dart",
"args": [
"--flavor",
"dev"
]
},
{
"name": "spotube (mobile-skia)",
"type": "dart",
"request": "launch",
"program": "lib/main.dart",
"args": [
"--flavor",
"dev",
"--no-enable-impeller"
]
},
{
"name": "spotube (profile)",
"type": "dart",
"request": "launch",
"program": "lib/main.dart",
"flutterMode": "profile"
},
{
"name": "spotube (release)",
"type": "dart",
"request": "launch",
"program": "lib/main.dart",
"flutterMode": "release"
},
{
"name": "spotube (mobile) (release)",
"type": "dart",
"request": "launch",
"program": "lib/main.dart",
"flutterMode": "release",
"args": [
"--flavor",
"dev"
]
}
],
"compounds": []
}

34
.vscode/settings.json vendored
View File

@ -1,34 +0,0 @@
{
"cmake.configureOnOpen": false,
"cSpell.words": [
"acousticness",
"ambiguate",
"Amoled",
"Buildless",
"configurators",
"danceability",
"fuzzywuzzy",
"gapless",
"instrumentalness",
"isrc",
"Mpris",
"RGBO",
"riverpod",
"Scrobblenaut",
"shadcn",
"skeletonizer",
"songlink",
"speechiness",
"Spotube",
"titlebar",
"winget"
],
"editor.formatOnSave": true,
"explorer.fileNesting.enabled": true,
"explorer.fileNesting.patterns": {
"pubspec.yaml": "pubspec.lock,analysis_options.yaml,.packages,.flutter-plugins,.flutter-plugins-dependencies,flutter_launcher_icons*.yaml,flutter_native_splash*.yaml",
"README.md": "LICENSE,CODE_OF_CONDUCT.md,CONTRIBUTING.md,SECURITY.md,CONTRIBUTION.md,CHANGELOG.md,PRIVACY_POLICY.md",
"*.dart": "${capture}.g.dart,${capture}.freezed.dart"
},
"dart.flutterSdkPath": ".fvm/versions/3.35.2"
}

View File

@ -1,170 +0,0 @@
{
"PaginatedState": {
"scope": "dart",
"prefix": "paginatedState",
"description": "Generate a PaginatedState",
"body": [
"class ${1:Model}State extends PaginatedState<${2:Model}> {",
" ${1:Model}State({",
" required super.items,",
" required super.offset,",
" required super.limit,",
" required super.hasMore,",
" });",
" ",
" @override",
" ${1:Model}State copyWith({",
" List<${2:Model}>? items,",
" int? offset,",
" int? limit,",
" bool? hasMore,",
" }) {",
" return ${1:Model}State(",
" items: items ?? this.items,",
" offset: offset ?? this.offset,",
" limit: limit ?? this.limit,",
" hasMore: hasMore ?? this.hasMore,",
" );",
" }",
"}"
]
},
"PaginatedAsyncNotifier": {
"scope": "dart",
"prefix": "paginatedAsyncNotifier",
"description": "Generate a PaginatedAsyncNotifier",
"body": [
"class ${1:NotifierName}Notifier extends PaginatedAsyncNotifier<${3:Item}, ${2:Model}State> {",
" ${1:NotifierName}Notifier() : super();",
" ",
" @override",
" fetch(int offset, int limit) async {",
" throw UnimplementedError();",
" }",
" ",
" @override",
" build() async {",
" throw UnimplementedError();",
" }",
"}"
]
},
"PaginaitedNotifierWithState": {
"scope": "dart",
"prefix": "paginatedNotifierWithState",
"description": "Generate a PaginatedNotifier with PaginatedState",
"body": [
"class $1State extends PaginatedState<$2> {",
" $1State({",
" required super.items,",
" required super.offset,",
" required super.limit,",
" required super.hasMore,",
" });",
" ",
" @override",
" $1State copyWith({",
" List<$2>? items,",
" int? offset,",
" int? limit,",
" bool? hasMore,",
" }) {",
" return $1State(",
" items: items ?? this.items,",
" offset: offset ?? this.offset,",
" limit: limit ?? this.limit,",
" hasMore: hasMore ?? this.hasMore,",
" );",
" }",
"}",
" ",
"class $1Notifier",
" extends PaginatedAsyncNotifier<$2, $1State> {",
" $1Notifier() : super();",
" ",
" @override",
" fetch(int offset, int limit) async {",
" throw UnimplementedError();",
" }",
" ",
" @override",
" build() async {",
" throw UnimplementedError();",
" }",
"}",
" ",
"final ${1/(.*)/${1:/camelcase}/}Provider = AsyncNotifierProvider<$1Notifier, $1State>(",
" ()=> $1Notifier(),",
");"
]
},
"FamilyPaginatedAsyncNotifier": {
"scope": "dart",
"prefix": "familyPaginatedAsyncNotifier",
"description": "Generate a FamilyPaginatedAsyncNotifier",
"body": [
"class ${1:NotifierName}Notifier extends FamilyPaginatedAsyncNotifier<${3:Item}, ${2:Model}State, {$4:Arg}> {",
" ${1:NotifierName}Notifier() : super();",
" ",
" @override",
" fetch(arg, offset, limit) async {",
" throw UnimplementedError();",
" }",
" ",
" @override",
" build(arg) async {",
" throw UnimplementedError();",
" }",
"}"
]
},
"FamilyPaginaitedNotifierWithState": {
"scope": "dart",
"prefix": "familyPaginatedNotifierWithState",
"description": "Generate a FamilyPaginatedAsyncNotifier with PaginatedState",
"body": [
"class $1State extends PaginatedState<$2> {",
" $1State({",
" required super.items,",
" required super.offset,",
" required super.limit,",
" required super.hasMore,",
" });",
" ",
" @override",
" $1State copyWith({",
" List<$2>? items,",
" int? offset,",
" int? limit,",
" bool? hasMore,",
" }) {",
" return $1State(",
" items: items ?? this.items,",
" offset: offset ?? this.offset,",
" limit: limit ?? this.limit,",
" hasMore: hasMore ?? this.hasMore,",
" );",
" }",
"}",
" ",
"class $1Notifier",
" extends FamilyPaginatedAsyncNotifier<$2, $1State, $3> {",
" $1Notifier() : super();",
" ",
" @override",
" fetch(arg, offset, limit) async {",
" throw UnimplementedError();",
" }",
" ",
" @override",
" build(arg) async {",
" throw UnimplementedError();",
" }",
"}",
" ",
"final ${1/(.*)/${1:/camelcase}/}Provider = AsyncNotifierProviderFamily<$1Notifier, $1State, $3>(",
" ()=> $1Notifier(),",
");"
]
},
}

4
.vscode/tasks.json vendored
View File

@ -1,4 +0,0 @@
{
"version": "2.0.0",
"tasks": []
}

View File

@ -39,6 +39,7 @@ class TrackTile extends HookConsumerWidget {
final int? index; final int? index;
final SpotubeTrackObject track; final SpotubeTrackObject track;
final bool selected; final bool selected;
final bool selectionMode;
final ValueChanged<bool?>? onChanged; final ValueChanged<bool?>? onChanged;
final Future<void> Function()? onTap; final Future<void> Function()? onTap;
final VoidCallback? onLongPress; final VoidCallback? onLongPress;
@ -53,6 +54,7 @@ class TrackTile extends HookConsumerWidget {
this.index, this.index,
required this.track, required this.track,
this.selected = false, this.selected = false,
this.selectionMode = false,
required this.playlist, required this.playlist,
this.onTap, this.onTap,
this.onLongPress, this.onLongPress,
@ -81,6 +83,12 @@ class TrackTile extends HookConsumerWidget {
[track.album.images], [track.album.images],
); );
// Treat either explicit selectionMode or presence of onChanged as selection
// context. Some lists enable selection by providing `onChanged` without
// toggling a dedicated `selectionMode` flag (e.g. playlists), so we must
// disable inner navigation in both cases.
final effectiveSelection = selectionMode || onChanged != null;
return LayoutBuilder(builder: (context, constrains) { return LayoutBuilder(builder: (context, constrains) {
return Listener( return Listener(
onPointerDown: (event) { onPointerDown: (event) {
@ -222,7 +230,9 @@ class TrackTile extends HookConsumerWidget {
children: [ children: [
Expanded( Expanded(
flex: 6, flex: 6,
child: switch (track) { child: AbsorbPointer(
absorbing: selectionMode,
child: switch (track) {
SpotubeLocalTrackObject() => Text( SpotubeLocalTrackObject() => Text(
track.name, track.name,
maxLines: 1, maxLines: 1,
@ -232,15 +242,17 @@ class TrackTile extends HookConsumerWidget {
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
Flexible( Flexible(
child: Button( child: Button(
style: ButtonVariance.link.copyWith( style: ButtonVariance.link.copyWith(
padding: (context, states, value) => padding: (context, states, value) =>
EdgeInsets.zero, EdgeInsets.zero,
), ),
onPressed: () { onPressed: effectiveSelection
context ? null
.navigateTo(TrackRoute(trackId: track.id)); : () {
}, context
.navigateTo(TrackRoute(trackId: track.id));
},
child: Text( child: Text(
track.name, track.name,
maxLines: 1, maxLines: 1,
@ -251,6 +263,7 @@ class TrackTile extends HookConsumerWidget {
], ],
), ),
}, },
),
), ),
if (constrains.mdAndUp) ...[ if (constrains.mdAndUp) ...[
const SizedBox(width: 8), const SizedBox(width: 8),
@ -281,20 +294,25 @@ class TrackTile extends HookConsumerWidget {
), ),
subtitle: Align( subtitle: Align(
alignment: Alignment.centerLeft, alignment: Alignment.centerLeft,
child: track is SpotubeLocalTrackObject child: track is SpotubeLocalTrackObject
? Text( ? Text(
track.artists.asString(), track.artists.asString(),
) )
: ClipRect( : ClipRect(
child: ConstrainedBox( child: ConstrainedBox(
constraints: const BoxConstraints(maxHeight: 40), constraints: const BoxConstraints(maxHeight: 40),
child: ArtistLink( child: AbsorbPointer(
artists: track.artists, absorbing: effectiveSelection,
onOverflowArtistClick: () { child: ArtistLink(
context.navigateTo( artists: track.artists,
TrackRoute(trackId: track.id), onOverflowArtistClick: effectiveSelection
); ? () {}
}, : () {
context.navigateTo(
TrackRoute(trackId: track.id),
);
},
),
), ),
), ),
), ),

View File

@ -788,6 +788,9 @@ abstract class _TrackSource implements TrackSource {
SourceCodecs get codec; SourceCodecs get codec;
@override @override
String get bitrate; String get bitrate;
/// Create a copy of TrackSource
/// with the given fields replaced by the non-null parameter values.
@override @override
String get qualityLabel; String get qualityLabel;

View File

@ -2,6 +2,7 @@ import 'package:auto_size_text/auto_size_text.dart';
import 'package:collection/collection.dart'; import 'package:collection/collection.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter/material.dart' show showModalBottomSheet, ListTile, SafeArea, Column, Navigator;
import 'package:fuzzywuzzy/fuzzywuzzy.dart'; import 'package:fuzzywuzzy/fuzzywuzzy.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
@ -12,6 +13,7 @@ import 'package:spotube/components/button/back_button.dart';
import 'package:spotube/components/fallbacks/not_found.dart'; import 'package:spotube/components/fallbacks/not_found.dart';
import 'package:spotube/components/inter_scrollbar/inter_scrollbar.dart'; import 'package:spotube/components/inter_scrollbar/inter_scrollbar.dart';
import 'package:spotube/components/track_tile/track_tile.dart'; import 'package:spotube/components/track_tile/track_tile.dart';
import 'package:spotube/components/dialogs/playlist_add_track_dialog.dart';
import 'package:spotube/extensions/constrains.dart'; import 'package:spotube/extensions/constrains.dart';
import 'package:spotube/extensions/context.dart'; import 'package:spotube/extensions/context.dart';
import 'package:spotube/hooks/controllers/use_auto_scroll_controller.dart'; import 'package:spotube/hooks/controllers/use_auto_scroll_controller.dart';
@ -55,9 +57,12 @@ class PlayerQueue extends HookConsumerWidget {
final controller = useAutoScrollController(); final controller = useAutoScrollController();
final searchText = useState(''); final searchText = useState('');
final selectionMode = useState(false);
final selectedTrackIds = useState(<String>{});
final isSearching = useState(false); final isSearching = useState(false);
final tracks = playlist.tracks; final tracks = playlist.tracks;
final filteredTracks = useMemoized( final filteredTracks = useMemoized(
() { () {
@ -132,50 +137,156 @@ class PlayerQueue extends HookConsumerWidget {
child: searchBar, child: searchBar,
) )
else else
AppBar( selectionMode.value
trailingGap: 0, ? AppBar(
backgroundColor: Colors.transparent, backgroundColor: Colors.transparent,
surfaceBlur: 0, surfaceBlur: 0,
surfaceOpacity: 0, surfaceOpacity: 0,
title: mediaQuery.mdAndUp || !isSearching.value leading: [
? SizedBox( IconButton.ghost(
icon: const Icon(SpotubeIcons.close),
onPressed: () {
selectedTrackIds.value = {};
selectionMode.value = false;
},
)
],
title: SizedBox(
height: 30, height: 30,
child: AutoSizeText( child: AutoSizeText(
context.l10n.tracks_in_queue(tracks.length), '${selectedTrackIds.value.length} selected',
maxLines: 1, maxLines: 1,
), ),
)
: null,
trailing: [
if (mediaQuery.mdAndUp)
searchBar
else
IconButton.ghost(
icon: const Icon(SpotubeIcons.filter),
onPressed: () {
isSearching.value = !isSearching.value;
},
),
if (!isSearching.value) ...[
const SizedBox(width: 10),
Tooltip(
tooltip: TooltipContainer(
child: Text(context.l10n.clear_all))
.call,
child: IconButton.outline(
icon: const Icon(SpotubeIcons.playlistRemove),
onPressed: () {
onStop();
closeDrawer(context);
},
), ),
trailing: [
IconButton.ghost(
icon: const Icon(SpotubeIcons.moreHorizontal),
onPressed: () async {
await showModalBottomSheet<void>(
context: context,
builder: (context) {
return SafeArea(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
ListTile(
leading: const Icon(
SpotubeIcons.selectionCheck),
title: Text(
context.l10n.select_all),
onTap: () {
selectedTrackIds.value =
filteredTracks
.map((t) => t.id)
.toSet();
Navigator.pop(context);
},
),
ListTile(
leading: const Icon(
SpotubeIcons.playlistAdd),
title: Text(
context.l10n.add_to_playlist),
onTap: () async {
final selected = filteredTracks
.where((t) => selectedTrackIds
.value
.contains(t.id))
.toList();
Navigator.pop(context);
if (selected.isEmpty) return;
final res = await showDialog<
bool?>(
context: context,
builder: (context) =>
PlaylistAddTrackDialog(
tracks: selected,
openFromPlaylist: null,
),
);
if (res == true) {
selectedTrackIds.value = {};
selectionMode.value = false;
}
},
),
ListTile(
leading:
const Icon(SpotubeIcons.trash),
title: Text(
context.l10n.remove_from_queue),
onTap: () async {
final ids = selectedTrackIds
.value
.toList();
Navigator.pop(context);
if (ids.isEmpty) return;
await Future.wait(ids
.map((id) => onRemove(id)));
selectedTrackIds.value = {};
selectionMode.value = false;
},
),
ListTile(
leading: const Icon(
SpotubeIcons.close),
title: Text(context.l10n.cancel),
onTap: () {
Navigator.pop(context);
},
),
],
),
);
},
);
},
),
],
)
: AppBar(
trailingGap: 0,
backgroundColor: Colors.transparent,
surfaceBlur: 0,
surfaceOpacity: 0,
title: mediaQuery.mdAndUp || !isSearching.value
? SizedBox(
height: 30,
child: AutoSizeText(
context.l10n.tracks_in_queue(tracks.length),
maxLines: 1,
),
)
: null,
trailing: [
if (mediaQuery.mdAndUp) searchBar
else
IconButton.ghost(
icon: const Icon(SpotubeIcons.filter),
onPressed: () {
isSearching.value = !isSearching.value;
},
),
if (!isSearching.value) ...[
const SizedBox(width: 10),
Tooltip(
tooltip: TooltipContainer(
child: Text(context.l10n.clear_all))
.call,
child: IconButton.outline(
icon: const Icon(SpotubeIcons.playlistRemove),
onPressed: () {
onStop();
closeDrawer(context);
},
),
),
const Gap(5),
if (mediaQuery.smAndDown)
const BackButton(icon: SpotubeIcons.angleDown),
],
],
), ),
const Gap(5),
if (mediaQuery.smAndDown)
const BackButton(icon: SpotubeIcons.angleDown),
],
],
),
const Divider(), const Divider(),
Expanded( Expanded(
child: InterScrollbar( child: InterScrollbar(
@ -195,6 +306,20 @@ class PlayerQueue extends HookConsumerWidget {
}, },
itemBuilder: (context, i) { itemBuilder: (context, i) {
final track = filteredTracks.elementAt(i); final track = filteredTracks.elementAt(i);
void toggleSelection(String id) {
final s = {...selectedTrackIds.value};
if (s.contains(id)) {
s.remove(id);
} else {
s.add(id);
}
selectedTrackIds.value = s;
if (selectedTrackIds.value.isEmpty) {
selectionMode.value = false;
}
}
return AutoScrollTag( return AutoScrollTag(
key: ValueKey<int>(i), key: ValueKey<int>(i),
controller: controller, controller: controller,
@ -203,15 +328,34 @@ class PlayerQueue extends HookConsumerWidget {
playlist: playlist, playlist: playlist,
index: i, index: i,
track: track, track: track,
selectionMode: selectionMode.value,
selected:
selectedTrackIds.value.contains(track.id),
onChanged: selectionMode.value
? (_) => toggleSelection(track.id)
: null,
onTap: () async { onTap: () async {
if (selectionMode.value) {
toggleSelection(track.id);
return;
}
if (playlist.activeTrack?.id == track.id) { if (playlist.activeTrack?.id == track.id) {
return; return;
} }
await onJump(track); await onJump(track);
}, },
onLongPress: () {
if (!selectionMode.value) {
selectionMode.value = true;
selectedTrackIds.value = {track.id};
} else {
toggleSelection(track.id);
}
},
leadingActions: [ leadingActions: [
if (!isSearching.value && if (!isSearching.value &&
searchText.value.isEmpty) searchText.value.isEmpty &&
!selectionMode.value)
Padding( Padding(
padding: padding:
const EdgeInsets.only(left: 8.0), const EdgeInsets.only(left: 8.0),

View File

@ -64,7 +64,7 @@ class BlackListPage extends HookConsumerWidget {
child: TextField( child: TextField(
onChanged: (value) => searchText.value = value, onChanged: (value) => searchText.value = value,
placeholder: Text(context.l10n.search), placeholder: Text(context.l10n.search),
leading: const Icon(SpotubeIcons.search), // prefixIcon: const Icon(SpotubeIcons.search),
), ),
), ),
InterScrollbar( InterScrollbar(

View File

@ -45,6 +45,7 @@ class MetadataPlugin {
sharedPreferences, sharedPreferences,
config.slug, config.slug,
), ),
createYoutubeEngine: () => throw UnimplementedError(),
onNavigatorPush: (route) { onNavigatorPush: (route) {
return rootNavigatorKey.currentContext?.router return rootNavigatorKey.currentContext?.router
.pushWidget(Builder(builder: (context) { .pushWidget(Builder(builder: (context) {

View File

@ -11,13 +11,11 @@
#include <flutter_secure_storage_linux/flutter_secure_storage_linux_plugin.h> #include <flutter_secure_storage_linux/flutter_secure_storage_linux_plugin.h>
#include <flutter_timezone/flutter_timezone_plugin.h> #include <flutter_timezone/flutter_timezone_plugin.h>
#include <gtk/gtk_plugin.h> #include <gtk/gtk_plugin.h>
#include <irondash_engine_context/irondash_engine_context_plugin.h>
#include <local_notifier/local_notifier_plugin.h> #include <local_notifier/local_notifier_plugin.h>
#include <media_kit_libs_linux/media_kit_libs_linux_plugin.h> #include <media_kit_libs_linux/media_kit_libs_linux_plugin.h>
#include <open_file_linux/open_file_linux_plugin.h> #include <open_file_linux/open_file_linux_plugin.h>
#include <screen_retriever_linux/screen_retriever_linux_plugin.h> #include <screen_retriever_linux/screen_retriever_linux_plugin.h>
#include <sqlite3_flutter_libs/sqlite3_flutter_libs_plugin.h> #include <sqlite3_flutter_libs/sqlite3_flutter_libs_plugin.h>
#include <super_native_extensions/super_native_extensions_plugin.h>
#include <system_theme/system_theme_plugin.h> #include <system_theme/system_theme_plugin.h>
#include <tray_manager/tray_manager_plugin.h> #include <tray_manager/tray_manager_plugin.h>
#include <url_launcher_linux/url_launcher_plugin.h> #include <url_launcher_linux/url_launcher_plugin.h>
@ -39,9 +37,6 @@ void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) gtk_registrar = g_autoptr(FlPluginRegistrar) gtk_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "GtkPlugin"); fl_plugin_registry_get_registrar_for_plugin(registry, "GtkPlugin");
gtk_plugin_register_with_registrar(gtk_registrar); gtk_plugin_register_with_registrar(gtk_registrar);
g_autoptr(FlPluginRegistrar) irondash_engine_context_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "IrondashEngineContextPlugin");
irondash_engine_context_plugin_register_with_registrar(irondash_engine_context_registrar);
g_autoptr(FlPluginRegistrar) local_notifier_registrar = g_autoptr(FlPluginRegistrar) local_notifier_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "LocalNotifierPlugin"); fl_plugin_registry_get_registrar_for_plugin(registry, "LocalNotifierPlugin");
local_notifier_plugin_register_with_registrar(local_notifier_registrar); local_notifier_plugin_register_with_registrar(local_notifier_registrar);
@ -57,9 +52,6 @@ void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) sqlite3_flutter_libs_registrar = g_autoptr(FlPluginRegistrar) sqlite3_flutter_libs_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "Sqlite3FlutterLibsPlugin"); fl_plugin_registry_get_registrar_for_plugin(registry, "Sqlite3FlutterLibsPlugin");
sqlite3_flutter_libs_plugin_register_with_registrar(sqlite3_flutter_libs_registrar); sqlite3_flutter_libs_plugin_register_with_registrar(sqlite3_flutter_libs_registrar);
g_autoptr(FlPluginRegistrar) super_native_extensions_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "SuperNativeExtensionsPlugin");
super_native_extensions_plugin_register_with_registrar(super_native_extensions_registrar);
g_autoptr(FlPluginRegistrar) system_theme_registrar = g_autoptr(FlPluginRegistrar) system_theme_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "SystemThemePlugin"); fl_plugin_registry_get_registrar_for_plugin(registry, "SystemThemePlugin");
system_theme_plugin_register_with_registrar(system_theme_registrar); system_theme_plugin_register_with_registrar(system_theme_registrar);

View File

@ -8,13 +8,11 @@ list(APPEND FLUTTER_PLUGIN_LIST
flutter_secure_storage_linux flutter_secure_storage_linux
flutter_timezone flutter_timezone
gtk gtk
irondash_engine_context
local_notifier local_notifier
media_kit_libs_linux media_kit_libs_linux
open_file_linux open_file_linux
screen_retriever_linux screen_retriever_linux
sqlite3_flutter_libs sqlite3_flutter_libs
super_native_extensions
system_theme system_theme
tray_manager tray_manager
url_launcher_linux url_launcher_linux

View File

@ -17,7 +17,6 @@ import file_selector_macos
import flutter_inappwebview_macos import flutter_inappwebview_macos
import flutter_secure_storage_macos import flutter_secure_storage_macos
import flutter_timezone import flutter_timezone
import irondash_engine_context
import local_notifier import local_notifier
import media_kit_libs_macos_audio import media_kit_libs_macos_audio
import open_file_mac import open_file_mac
@ -27,7 +26,6 @@ import screen_retriever_macos
import shared_preferences_foundation import shared_preferences_foundation
import sqflite_darwin import sqflite_darwin
import sqlite3_flutter_libs import sqlite3_flutter_libs
import super_native_extensions
import system_theme import system_theme
import tray_manager import tray_manager
import url_launcher_macos import url_launcher_macos
@ -46,7 +44,6 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
InAppWebViewFlutterPlugin.register(with: registry.registrar(forPlugin: "InAppWebViewFlutterPlugin")) InAppWebViewFlutterPlugin.register(with: registry.registrar(forPlugin: "InAppWebViewFlutterPlugin"))
FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin")) FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin"))
FlutterTimezonePlugin.register(with: registry.registrar(forPlugin: "FlutterTimezonePlugin")) FlutterTimezonePlugin.register(with: registry.registrar(forPlugin: "FlutterTimezonePlugin"))
IrondashEngineContextPlugin.register(with: registry.registrar(forPlugin: "IrondashEngineContextPlugin"))
LocalNotifierPlugin.register(with: registry.registrar(forPlugin: "LocalNotifierPlugin")) LocalNotifierPlugin.register(with: registry.registrar(forPlugin: "LocalNotifierPlugin"))
MediaKitLibsMacosAudioPlugin.register(with: registry.registrar(forPlugin: "MediaKitLibsMacosAudioPlugin")) MediaKitLibsMacosAudioPlugin.register(with: registry.registrar(forPlugin: "MediaKitLibsMacosAudioPlugin"))
OpenFilePlugin.register(with: registry.registrar(forPlugin: "OpenFilePlugin")) OpenFilePlugin.register(with: registry.registrar(forPlugin: "OpenFilePlugin"))
@ -56,7 +53,6 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin")) SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))
Sqlite3FlutterLibsPlugin.register(with: registry.registrar(forPlugin: "Sqlite3FlutterLibsPlugin")) Sqlite3FlutterLibsPlugin.register(with: registry.registrar(forPlugin: "Sqlite3FlutterLibsPlugin"))
SuperNativeExtensionsPlugin.register(with: registry.registrar(forPlugin: "SuperNativeExtensionsPlugin"))
SystemThemePlugin.register(with: registry.registrar(forPlugin: "SystemThemePlugin")) SystemThemePlugin.register(with: registry.registrar(forPlugin: "SystemThemePlugin"))
TrayManagerPlugin.register(with: registry.registrar(forPlugin: "TrayManagerPlugin")) TrayManagerPlugin.register(with: registry.registrar(forPlugin: "TrayManagerPlugin"))
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))

View File

@ -230,10 +230,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: build_cli_annotations name: build_cli_annotations
sha256: b59d2769769efd6c9ff6d4c4cede0be115a566afc591705c2040b707534b1172 sha256: e563c2e01de8974566a1998410d3f6f03521788160a02503b0b1f1a46c7b3d95
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.0" version: "2.1.1"
build_config: build_config:
dependency: transitive dependency: transitive
description: description:
@ -246,10 +246,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: build_daemon name: build_daemon
sha256: "8e928697a82be082206edb0b9c99c5a4ad6bc31c9e9b8b2f291ae65cd4a25daa" sha256: "409002f1adeea601018715d613115cfaf0e31f512cb80ae4534c79867ae2363d"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.0.4" version: "4.1.0"
build_resolvers: build_resolvers:
dependency: transitive dependency: transitive
description: description:
@ -374,10 +374,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: code_builder name: code_builder
sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e" sha256: "11654819532ba94c34de52ff5feb52bd81cba1de00ef2ed622fd50295f9d4243"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.10.1" version: "4.11.0"
collection: collection:
dependency: "direct main" dependency: "direct main"
description: description:
@ -422,10 +422,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: country_flags name: country_flags
sha256: "78a7bf8aabd7ae1a90087f0c517471ac9ebfe07addc652692f58da0f0f833196" sha256: "714f2d415e74828eb08787d552a05e94cdf2cbe0607a5656f3e70087cd7bb7e0"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.3.0" version: "4.1.0"
coverage: coverage:
dependency: transitive dependency: transitive
description: description:
@ -438,18 +438,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: cross_file name: cross_file
sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" sha256: "942a4791cd385a68ccb3b32c71c427aba508a1bb949b86dff2adbe4049f16239"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.3.4+2" version: "0.3.5"
crypto: crypto:
dependency: transitive dependency: transitive
description: description:
name: crypto name: crypto
sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.6" version: "3.0.7"
csslib: csslib:
dependency: transitive dependency: transitive
description: description:
@ -479,10 +479,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: dart_mappable name: dart_mappable
sha256: "15f41a35da8ee690bbfa0059fa241edeeaea73f89a2ba685b354ece07cd8ada6" sha256: "0e219930c9f7b9e0f14ae7c1de931c401875110fd5c67975b6b9492a6d3a531b"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.6.0" version: "4.6.1"
dart_style: dart_style:
dependency: transitive dependency: transitive
description: description:
@ -586,10 +586,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: drift name: drift
sha256: "6aaea757f53bb035e8a3baedf3d1d53a79d6549a6c13d84f7546509da9372c7c" sha256: "540cf382a3bfa99b76e51514db5b0ebcd81ce3679b7c1c9cb9478ff3735e47a1"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.28.1" version: "2.28.2"
drift_dev: drift_dev:
dependency: "direct dev" dependency: "direct dev"
description: description:
@ -626,10 +626,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: envied name: envied
sha256: "8c22863e9e8e58e3e987d1a6e2797d604d296999125340410ddc44e03e5941d9" sha256: cd95ddf0982e53f0b6664e889d4a9ce678b3907a59a5047923404375ef6dcacc
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.2.1" version: "1.3.1"
envied_generator: envied_generator:
dependency: "direct dev" dependency: "direct dev"
description: description:
@ -650,10 +650,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: expressions name: expressions
sha256: "308a621b602923dd8a0cf3072793b24850d06453eb49c6b698cbda41a282e904" sha256: f3b0e99563a9a1bde1138e728eb722f292cc7d2aec55d28136c49b1a370306c5
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.2.5+2" version: "0.2.5+3"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
@ -698,26 +698,26 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: file_selector name: file_selector
sha256: "5019692b593455127794d5718304ff1ae15447dea286cdda9f0db2a796a1b828" sha256: "5f1d15a7f17115038f433d1b0ea57513cc9e29a9d5338d166cb0bef3fa90a7a0"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.3" version: "1.0.4"
file_selector_android: file_selector_android:
dependency: transitive dependency: transitive
description: description:
name: file_selector_android name: file_selector_android
sha256: "4be8ae7374c81daf88e49084a1d68dfe68466ef38a6a3d711cc0b83d53e22465" sha256: "2db9a2d05f66b49a3b45c4a7c2f040dd5fcd457ca30f39df7cdcf80b8cd7f2d4"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.5.1+16" version: "0.5.2+1"
file_selector_ios: file_selector_ios:
dependency: transitive dependency: transitive
description: description:
name: file_selector_ios name: file_selector_ios
sha256: fe9f52123af16bba4ad65bd7e03defbbb4b172a38a8e6aaa2a869a0c56a5f5fb sha256: fc3c3fc567cd9bcae784dfeb98d37c46a8ded9e8757d37ea67e975c399bc14e0
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.5.3+2" version: "0.5.3+3"
file_selector_linux: file_selector_linux:
dependency: transitive dependency: transitive
description: description:
@ -730,10 +730,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: file_selector_macos name: file_selector_macos
sha256: "19124ff4a3d8864fdc62072b6a2ef6c222d55a3404fe14893a3c02744907b60c" sha256: "88707a3bec4b988aaed3b4df5d7441ee4e987f20b286cddca5d6a8270cab23f2"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.9.4+4" version: "0.9.4+5"
file_selector_platform_interface: file_selector_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -846,18 +846,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: flutter_gen_core name: flutter_gen_core
sha256: eda54fdc5de08e7eeea663eb8442aafc8660b5a13fda4e0c9e572c64e50195fb sha256: b6bafbbd981da2f964eb45bcb8b8a7676a281084f8922c0c75de4cfbaa849311
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.11.0" version: "5.12.0"
flutter_gen_runner: flutter_gen_runner:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: flutter_gen_runner name: flutter_gen_runner
sha256: "669bf8b7a9b4acbdcb7fcc5e12bf638aca19acedf43341714cbca3bf3a219521" sha256: c99b10af9d404e3f46fd1927e7d90099779e935e86022674c4c2a9e6c2a93b29
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.11.0" version: "5.12.0"
flutter_hooks: flutter_hooks:
dependency: "direct main" dependency: "direct main"
description: description:
@ -963,16 +963,16 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_native_splash name: flutter_native_splash
sha256: "8321a6d11a8d13977fa780c89de8d257cce3d841eecfb7a4cadffcc4f12d82dc" sha256: "4fb9f4113350d3a80841ce05ebf1976a36de622af7d19aca0ca9a9911c7ff002"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.4.6" version: "2.4.7"
flutter_new_pipe_extractor: flutter_new_pipe_extractor:
dependency: "direct main" dependency: "direct main"
description: description:
path: "." path: "."
ref: HEAD ref: HEAD
resolved-ref: d4d71545111c8ca6c91f0040091c42d74cce1762 resolved-ref: b5de415ebb22ec7d4857554b2411893a72fa0026
url: "https://github.com/KRTirtho/flutter_new_pipe_extractor.git" url: "https://github.com/KRTirtho/flutter_new_pipe_extractor.git"
source: git source: git
version: "0.1.0" version: "0.1.0"
@ -980,10 +980,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: flutter_plugin_android_lifecycle name: flutter_plugin_android_lifecycle
sha256: b0694b7fb1689b0e6cc193b3f1fcac6423c4f93c74fb20b806c6b6f196db0c31 sha256: "306f0596590e077338312f38837f595c04f28d6cdeeac392d3d74df2f0003687"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.30" version: "2.0.32"
flutter_riverpod: flutter_riverpod:
dependency: "direct main" dependency: "direct main"
description: description:
@ -1061,10 +1061,10 @@ packages:
dependency: "direct overridden" dependency: "direct overridden"
description: description:
name: flutter_svg name: flutter_svg
sha256: b9c2ad5872518a27507ab432d1fb97e8813b05f0fc693f9d40fad06d073e0678 sha256: "055de8921be7b8e8b98a233c7a5ef84b3a6fcc32f46f1ebf5b9bb3576d108355"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.2.1" version: "2.2.2"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -1156,10 +1156,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: get_it name: get_it
sha256: a4292e7cf67193f8e7c1258203104eb2a51ec8b3a04baa14695f4064c144297b sha256: ae78de7c3f2304b8d81f2bb6e320833e5e81de942188542328f074978cc0efa9
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "8.2.0" version: "8.3.0"
glob: glob:
dependency: transitive dependency: transitive
description: description:
@ -1172,10 +1172,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: google_fonts name: google_fonts
sha256: ebc94ed30fd13cefd397cb1658b593f21571f014b7d1197eeb41fb95f05d899a sha256: "517b20870220c48752eafa0ba1a797a092fb22df0d89535fd9991e86ee2cdd9c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.3.1" version: "6.3.2"
graphs: graphs:
dependency: transitive dependency: transitive
description: description:
@ -1230,10 +1230,10 @@ packages:
description: description:
path: "." path: "."
ref: main ref: main
resolved-ref: "01935a75640092af7947bfb21a497240376f0c83" resolved-ref: "32828156bc111d147709f8d644804227bbdfe8f1"
url: "https://github.com/KRTirtho/hetu_spotube_plugin.git" url: "https://github.com/KRTirtho/hetu_spotube_plugin.git"
source: git source: git
version: "0.0.1" version: "0.0.2"
hetu_std: hetu_std:
dependency: "direct main" dependency: "direct main"
description: description:
@ -1335,10 +1335,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: image_picker_android name: image_picker_android
sha256: "28f3987ca0ec702d346eae1d90eda59603a2101b52f1e234ded62cff1d5cfa6e" sha256: ca2a3b04d34e76157e9ae680ef16014fb4c2d20484e78417eaed6139330056f6
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.8.13+1" version: "0.8.13+7"
image_picker_for_web: image_picker_for_web:
dependency: transitive dependency: transitive
description: description:
@ -1351,10 +1351,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: image_picker_ios name: image_picker_ios
sha256: eb06fe30bab4c4497bad449b66448f50edcc695f1c59408e78aa3a8059eb8f0e sha256: e675c22790bcc24e9abd455deead2b7a88de4b79f7327a281812f14de1a56f58
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.8.13" version: "0.8.13+1"
image_picker_linux: image_picker_linux:
dependency: transitive dependency: transitive
description: description:
@ -1367,18 +1367,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: image_picker_macos name: image_picker_macos
sha256: d58cd9d67793d52beefd6585b12050af0a7663c0c2a6ece0fb110a35d6955e04 sha256: "86f0f15a309de7e1a552c12df9ce5b59fe927e71385329355aec4776c6a8ec91"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.2.2" version: "0.2.2+1"
image_picker_platform_interface: image_picker_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: image_picker_platform_interface name: image_picker_platform_interface
sha256: "9f143b0dba3e459553209e20cc425c9801af48e6dfa4f01a0fcf927be3f41665" sha256: "567e056716333a1647c64bb6bd873cff7622233a5c3f694be28a583d4715690c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.11.0" version: "2.11.1"
image_picker_windows: image_picker_windows:
dependency: transitive dependency: transitive
description: description:
@ -1424,22 +1424,6 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.5" version: "1.0.5"
irondash_engine_context:
dependency: transitive
description:
name: irondash_engine_context
sha256: "2bb0bc13dfda9f5aaef8dde06ecc5feb1379f5bb387d59716d799554f3f305d7"
url: "https://pub.dev"
source: hosted
version: "0.5.5"
irondash_message_channel:
dependency: transitive
description:
name: irondash_message_channel
sha256: b4101669776509c76133b8917ab8cfc704d3ad92a8c450b92934dd8884a2f060
url: "https://pub.dev"
source: hosted
version: "0.7.0"
jiosaavn: jiosaavn:
dependency: "direct main" dependency: "direct main"
description: description:
@ -1460,10 +1444,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: jovial_svg name: jovial_svg
sha256: "6791b1435547bdc0793081a166d41a8a313ebc61e4e5136fb7a3218781fb9e50" sha256: "08dd24b800d48796c9c0227acb96eb00c6cacccb1d7de58d79fc924090049868"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.27" version: "1.1.28"
js: js:
dependency: transitive dependency: transitive
description: description:
@ -1492,10 +1476,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker name: leak_tracker
sha256: "8dcda04c3fc16c14f48a7bb586d4be1f0d1572731b6d81d51772ef47c02081e0" sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "11.0.1" version: "11.0.2"
leak_tracker_flutter_testing: leak_tracker_flutter_testing:
dependency: transitive dependency: transitive
description: description:
@ -1532,10 +1516,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: logger name: logger
sha256: "55d6c23a6c15db14920e037fe7e0dc32e7cdaf3b64b4b25df2d541b5b6b81c0c" sha256: a7967e31b703831a893bbc3c3dd11db08126fe5f369b5c648a36f821979f5be3
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.6.1" version: "2.6.2"
logging: logging:
dependency: "direct main" dependency: "direct main"
description: description:
@ -1581,34 +1565,34 @@ packages:
description: description:
path: media_kit path: media_kit
ref: HEAD ref: HEAD
resolved-ref: c9617f570b8c0ba02857e721997f78c053a856c1 resolved-ref: d310049f24196250d876efb02b9ff56fa9ef5068
url: "https://github.com/media-kit/media-kit" url: "https://github.com/media-kit/media-kit"
source: git source: git
version: "1.2.0" version: "1.2.1"
media_kit_libs_android_audio: media_kit_libs_android_audio:
dependency: "direct overridden" dependency: "direct overridden"
description: description:
path: "libs/android/media_kit_libs_android_audio" path: "libs/android/media_kit_libs_android_audio"
ref: HEAD ref: HEAD
resolved-ref: c9617f570b8c0ba02857e721997f78c053a856c1 resolved-ref: d310049f24196250d876efb02b9ff56fa9ef5068
url: "https://github.com/media-kit/media-kit" url: "https://github.com/media-kit/media-kit"
source: git source: git
version: "1.3.7" version: "1.3.8"
media_kit_libs_audio: media_kit_libs_audio:
dependency: "direct main" dependency: "direct main"
description: description:
path: "libs/universal/media_kit_libs_audio" path: "libs/universal/media_kit_libs_audio"
ref: HEAD ref: HEAD
resolved-ref: c9617f570b8c0ba02857e721997f78c053a856c1 resolved-ref: d310049f24196250d876efb02b9ff56fa9ef5068
url: "https://github.com/media-kit/media-kit" url: "https://github.com/media-kit/media-kit"
source: git source: git
version: "1.0.6" version: "1.0.7"
media_kit_libs_ios_audio: media_kit_libs_ios_audio:
dependency: "direct overridden" dependency: "direct overridden"
description: description:
path: "libs/ios/media_kit_libs_ios_audio" path: "libs/ios/media_kit_libs_ios_audio"
ref: HEAD ref: HEAD
resolved-ref: c9617f570b8c0ba02857e721997f78c053a856c1 resolved-ref: d310049f24196250d876efb02b9ff56fa9ef5068
url: "https://github.com/media-kit/media-kit" url: "https://github.com/media-kit/media-kit"
source: git source: git
version: "1.1.4" version: "1.1.4"
@ -1617,7 +1601,7 @@ packages:
description: description:
path: "libs/linux/media_kit_libs_linux" path: "libs/linux/media_kit_libs_linux"
ref: HEAD ref: HEAD
resolved-ref: c9617f570b8c0ba02857e721997f78c053a856c1 resolved-ref: d310049f24196250d876efb02b9ff56fa9ef5068
url: "https://github.com/media-kit/media-kit" url: "https://github.com/media-kit/media-kit"
source: git source: git
version: "1.2.1" version: "1.2.1"
@ -1626,7 +1610,7 @@ packages:
description: description:
path: "libs/macos/media_kit_libs_macos_audio" path: "libs/macos/media_kit_libs_macos_audio"
ref: HEAD ref: HEAD
resolved-ref: c9617f570b8c0ba02857e721997f78c053a856c1 resolved-ref: d310049f24196250d876efb02b9ff56fa9ef5068
url: "https://github.com/media-kit/media-kit" url: "https://github.com/media-kit/media-kit"
source: git source: git
version: "1.1.4" version: "1.1.4"
@ -1635,7 +1619,7 @@ packages:
description: description:
path: "libs/windows/media_kit_libs_windows_audio" path: "libs/windows/media_kit_libs_windows_audio"
ref: HEAD ref: HEAD
resolved-ref: c9617f570b8c0ba02857e721997f78c053a856c1 resolved-ref: d310049f24196250d876efb02b9ff56fa9ef5068
url: "https://github.com/media-kit/media-kit" url: "https://github.com/media-kit/media-kit"
source: git source: git
version: "1.0.9" version: "1.0.9"
@ -1691,10 +1675,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: oauth2 name: oauth2
sha256: c84470642cbb2bec450ccab2f8520c079cd1ca546a76ffd5c40589e07f4e8bf4 sha256: "890a032ba1b44fa8dcfeba500e613df0ecbe16aeace13bb0fe1d25eb42cda5b8"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.3" version: "2.0.5"
octo_image: octo_image:
dependency: transitive dependency: transitive
description: description:
@ -1835,18 +1819,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: path_provider_android name: path_provider_android
sha256: "993381400e94d18469750e5b9dcb8206f15bc09f9da86b9e44a9b0092a0066db" sha256: e122c5ea805bb6773bb12ce667611265980940145be920cd09a4b0ec0285cb16
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.2.18" version: "2.2.20"
path_provider_foundation: path_provider_foundation:
dependency: transitive dependency: transitive
description: description:
name: path_provider_foundation name: path_provider_foundation
sha256: "16eef174aacb07e09c351502740fa6254c165757638eba1e9116b0a781201bbd" sha256: efaec349ddfc181528345c56f8eda9d6cccd71c177511b132c6a0ddaefaa2738
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.4.2" version: "2.4.3"
path_provider_linux: path_provider_linux:
dependency: transitive dependency: transitive
description: description:
@ -1923,10 +1907,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: petitparser name: petitparser
sha256: "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646" sha256: "1a97266a94f7350d30ae522c0af07890c70b8e62c71e8e3920d1db4d23c057d1"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.1.0" version: "7.0.1"
phonecodes: phonecodes:
dependency: transitive dependency: transitive
description: description:
@ -1943,14 +1927,6 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.1.2" version: "0.1.2"
pixel_snap:
dependency: transitive
description:
name: pixel_snap
sha256: "677410ea37b07cd37ecb6d5e6c0d8d7615a7cf3bd92ba406fd1ac57e937d1fb0"
url: "https://pub.dev"
source: hosted
version: "0.1.5"
platform: platform:
dependency: transitive dependency: transitive
description: description:
@ -1979,10 +1955,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: pool name: pool
sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" sha256: "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.5.1" version: "1.5.2"
posix: posix:
dependency: transitive dependency: transitive
description: description:
@ -2043,10 +2019,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: random_user_agents name: random_user_agents
sha256: "19facde509a2482dababb454faf2aceff797a6ae08e80f91268c0c8a7420f03b" sha256: "95647149687167e82a7b39e1b4616fdebb574981b71b6f0cfca21b69f36293a8"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.15" version: "1.0.17"
recase: recase:
dependency: transitive dependency: transitive
description: description:
@ -2148,10 +2124,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: shadcn_flutter name: shadcn_flutter
sha256: af83de199b7c3a965ab24e293cfcafe2764c12b7f911f5b1a427c332029262d9 sha256: "8c976b6ef980fb107f5f618153185e5a466af5cc12dd02fda1360d84e0e449f2"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.0.44" version: "0.0.46"
shared_preferences: shared_preferences:
dependency: "direct main" dependency: "direct main"
description: description:
@ -2164,18 +2140,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: shared_preferences_android name: shared_preferences_android
sha256: a2608114b1ffdcbc9c120eb71a0e207c71da56202852d4aab8a5e30a82269e74 sha256: "34266009473bf71d748912da4bf62d439185226c03e01e2d9687bc65bbfcb713"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.4.12" version: "2.4.15"
shared_preferences_foundation: shared_preferences_foundation:
dependency: transitive dependency: transitive
description: description:
name: shared_preferences_foundation name: shared_preferences_foundation
sha256: "6a52cfcdaeac77cad8c97b539ff688ccfc458c007b4db12be584fbe5c0e49e03" sha256: "1c33a907142607c40a7542768ec9badfd16293bac51da3a4482623d15845f88b"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.5.4" version: "2.5.5"
shared_preferences_linux: shared_preferences_linux:
dependency: transitive dependency: transitive
description: description:
@ -2349,14 +2325,6 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.10.1" version: "1.10.1"
sprintf:
dependency: transitive
description:
name: sprintf
sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23"
url: "https://pub.dev"
source: hosted
version: "7.0.0"
sqflite: sqflite:
dependency: transitive dependency: transitive
description: description:
@ -2401,18 +2369,18 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: sqlite3 name: sqlite3
sha256: f393d92c71bdcc118d6203d07c991b9be0f84b1a6f89dd4f7eed348131329924 sha256: "3145bd74dcdb4fd6f5c6dda4d4e4490a8087d7f286a14dee5d37087290f0f8a2"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.9.0" version: "2.9.4"
sqlite3_flutter_libs: sqlite3_flutter_libs:
dependency: "direct main" dependency: "direct main"
description: description:
name: sqlite3_flutter_libs name: sqlite3_flutter_libs
sha256: "2b03273e71867a8a4d030861fc21706200debe5c5858a4b9e58f4a1c129586a4" sha256: "69c80d812ef2500202ebd22002cbfc1b6565e9ff56b2f971e757fac5d42294df"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.5.39" version: "0.5.40"
sqlparser: sqlparser:
dependency: transitive dependency: transitive
description: description:
@ -2469,22 +2437,6 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.0.3" version: "0.0.3"
super_clipboard:
dependency: transitive
description:
name: super_clipboard
sha256: e73f3bb7e66cc9260efa1dc507f979138e7e106c3521e2dda2d0311f6d728a16
url: "https://pub.dev"
source: hosted
version: "0.9.1"
super_native_extensions:
dependency: transitive
description:
name: super_native_extensions
sha256: b9611dcb68f1047d6f3ef11af25e4e68a21b1a705bbcc3eb8cb4e9f5c3148569
url: "https://pub.dev"
source: hosted
version: "0.9.1"
sync_http: sync_http:
dependency: transitive dependency: transitive
description: description:
@ -2501,14 +2453,6 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.4.0" version: "3.4.0"
syntax_highlight:
dependency: transitive
description:
name: syntax_highlight
sha256: "4d3ba40658cadba6ba55d697f29f00b43538ebb6eb4a0ca0e895c568eaced138"
url: "https://pub.dev"
source: hosted
version: "0.5.0"
system_theme: system_theme:
dependency: "direct main" dependency: "direct main"
description: description:
@ -2593,10 +2537,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: tray_manager name: tray_manager
sha256: "537e539f48cd82d8ee2240d4330158c7b44c7e043e8e18b5811f2f8f6b7df25a" sha256: c5fd83b0ae4d80be6eaedfad87aaefab8787b333b8ebd064b0e442a81006035b
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.5.1" version: "0.5.2"
type_plus: type_plus:
dependency: transitive dependency: transitive
description: description:
@ -2657,18 +2601,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_android name: url_launcher_android
sha256: "69ee86740f2847b9a4ba6cffa74ed12ce500bbe2b07f3dc1e643439da60637b7" sha256: "5c8b6c2d89a78f5a1cca70a73d9d5f86c701b36b42f9c9dac7bad592113c28e9"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.3.18" version: "6.3.24"
url_launcher_ios: url_launcher_ios:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_ios name: url_launcher_ios
sha256: d80b3f567a617cb923546034cc94bfe44eb15f989fe670b37f26abdb9d939cb7 sha256: "6b63f1441e4f653ae799166a72b50b1767321ecc263a57aadf825a7a2a5477d9"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.3.4" version: "6.3.5"
url_launcher_linux: url_launcher_linux:
dependency: transitive dependency: transitive
description: description:
@ -2681,10 +2625,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_macos name: url_launcher_macos
sha256: c043a77d6600ac9c38300567f33ef12b0ef4f4783a2c1f00231d2b1941fea13f sha256: "8262208506252a3ed4ff5c0dc1e973d2c0e0ef337d0a074d35634da5d44397c9"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.2.3" version: "3.2.4"
url_launcher_platform_interface: url_launcher_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -2713,10 +2657,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: uuid name: uuid
sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff sha256: a11b666489b1954e01d992f3d601b1804a33937b5a8fe677bd26b8a9f96f96e8
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.5.1" version: "4.5.2"
vector_graphics: vector_graphics:
dependency: transitive dependency: transitive
description: description:
@ -2785,10 +2729,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: watcher name: watcher
sha256: "5bf046f41320ac97a469d506261797f35254fa61c641741ef32dacda98b7d39c" sha256: "592ab6e2892f67760543fb712ff0177f4ec76c031f02f5b4ff8d3fc5eb9fb61a"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.3" version: "1.1.4"
web: web:
dependency: "direct overridden" dependency: "direct overridden"
description: description:
@ -2841,10 +2785,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
sha256: "66814138c3562338d05613a6e368ed8cfb237ad6d64a9e9334be3f309acfca03" sha256: d7cb55e04cd34096cd3a79b3330245f54cb96a370a1c27adb3c84b917de8b08e
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.14.0" version: "5.15.0"
win32_registry: win32_registry:
dependency: "direct main" dependency: "direct main"
description: description:
@ -2873,10 +2817,10 @@ packages:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: xml name: xml
sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 sha256: "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.5.0" version: "6.6.1"
yaml: yaml:
dependency: transitive dependency: transitive
description: description:
@ -2889,10 +2833,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: youtube_explode_dart name: youtube_explode_dart
sha256: "9ff345caf8351c59eb1b7560837f761e08d2beaea3b4187637942715a31a6f58" sha256: "947ba05e0c4f050743e480e7bca3575ff6427d86cc898c1a69f5e1d188cdc9e0"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.5.2" version: "2.5.3"
yt_dlp_dart: yt_dlp_dart:
dependency: "direct main" dependency: "direct main"
description: description:
@ -2904,4 +2848,4 @@ packages:
version: "1.0.0" version: "1.0.0"
sdks: sdks:
dart: ">=3.9.0 <4.0.0" dart: ">=3.9.0 <4.0.0"
flutter: ">=3.35.1" flutter: ">=3.35.0"

View File

@ -14,13 +14,11 @@
#include <flutter_inappwebview_windows/flutter_inappwebview_windows_plugin_c_api.h> #include <flutter_inappwebview_windows/flutter_inappwebview_windows_plugin_c_api.h>
#include <flutter_secure_storage_windows/flutter_secure_storage_windows_plugin.h> #include <flutter_secure_storage_windows/flutter_secure_storage_windows_plugin.h>
#include <flutter_timezone/flutter_timezone_plugin_c_api.h> #include <flutter_timezone/flutter_timezone_plugin_c_api.h>
#include <irondash_engine_context/irondash_engine_context_plugin_c_api.h>
#include <local_notifier/local_notifier_plugin.h> #include <local_notifier/local_notifier_plugin.h>
#include <media_kit_libs_windows_audio/media_kit_libs_windows_audio_plugin_c_api.h> #include <media_kit_libs_windows_audio/media_kit_libs_windows_audio_plugin_c_api.h>
#include <permission_handler_windows/permission_handler_windows_plugin.h> #include <permission_handler_windows/permission_handler_windows_plugin.h>
#include <screen_retriever_windows/screen_retriever_windows_plugin_c_api.h> #include <screen_retriever_windows/screen_retriever_windows_plugin_c_api.h>
#include <sqlite3_flutter_libs/sqlite3_flutter_libs_plugin.h> #include <sqlite3_flutter_libs/sqlite3_flutter_libs_plugin.h>
#include <super_native_extensions/super_native_extensions_plugin_c_api.h>
#include <system_theme/system_theme_plugin.h> #include <system_theme/system_theme_plugin.h>
#include <tray_manager/tray_manager_plugin.h> #include <tray_manager/tray_manager_plugin.h>
#include <url_launcher_windows/url_launcher_windows.h> #include <url_launcher_windows/url_launcher_windows.h>
@ -43,8 +41,6 @@ void RegisterPlugins(flutter::PluginRegistry* registry) {
registry->GetRegistrarForPlugin("FlutterSecureStorageWindowsPlugin")); registry->GetRegistrarForPlugin("FlutterSecureStorageWindowsPlugin"));
FlutterTimezonePluginCApiRegisterWithRegistrar( FlutterTimezonePluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("FlutterTimezonePluginCApi")); registry->GetRegistrarForPlugin("FlutterTimezonePluginCApi"));
IrondashEngineContextPluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("IrondashEngineContextPluginCApi"));
LocalNotifierPluginRegisterWithRegistrar( LocalNotifierPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("LocalNotifierPlugin")); registry->GetRegistrarForPlugin("LocalNotifierPlugin"));
MediaKitLibsWindowsAudioPluginCApiRegisterWithRegistrar( MediaKitLibsWindowsAudioPluginCApiRegisterWithRegistrar(
@ -55,8 +51,6 @@ void RegisterPlugins(flutter::PluginRegistry* registry) {
registry->GetRegistrarForPlugin("ScreenRetrieverWindowsPluginCApi")); registry->GetRegistrarForPlugin("ScreenRetrieverWindowsPluginCApi"));
Sqlite3FlutterLibsPluginRegisterWithRegistrar( Sqlite3FlutterLibsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("Sqlite3FlutterLibsPlugin")); registry->GetRegistrarForPlugin("Sqlite3FlutterLibsPlugin"));
SuperNativeExtensionsPluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("SuperNativeExtensionsPluginCApi"));
SystemThemePluginRegisterWithRegistrar( SystemThemePluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("SystemThemePlugin")); registry->GetRegistrarForPlugin("SystemThemePlugin"));
TrayManagerPluginRegisterWithRegistrar( TrayManagerPluginRegisterWithRegistrar(

View File

@ -11,13 +11,11 @@ list(APPEND FLUTTER_PLUGIN_LIST
flutter_inappwebview_windows flutter_inappwebview_windows
flutter_secure_storage_windows flutter_secure_storage_windows
flutter_timezone flutter_timezone
irondash_engine_context
local_notifier local_notifier
media_kit_libs_windows_audio media_kit_libs_windows_audio
permission_handler_windows permission_handler_windows
screen_retriever_windows screen_retriever_windows
sqlite3_flutter_libs sqlite3_flutter_libs
super_native_extensions
system_theme system_theme
tray_manager tray_manager
url_launcher_windows url_launcher_windows