[mob][cast] Refactor + add multiple cast plugin to gracefully handle fdroid
This commit is contained in:
parent
8fd330c304
commit
89646ac469
20 changed files with 532 additions and 51 deletions
|
@ -1,7 +1,25 @@
|
|||
import "package:dio/dio.dart";
|
||||
import "package:ente_cast/ente_cast.dart";
|
||||
import "package:ente_cast_normal/ente_cast_normal.dart";
|
||||
import "package:ente_feature_flag/ente_feature_flag.dart";
|
||||
import "package:shared_preferences/shared_preferences.dart";
|
||||
|
||||
CastService? _castService;
|
||||
CastService get castService {
|
||||
_castService ??= CastServiceImpl();
|
||||
return _castService!;
|
||||
}
|
||||
|
||||
FlagService? _flagService;
|
||||
|
||||
FlagService get flagService {
|
||||
_flagService ??= FlagService(
|
||||
ServiceLocator.instance.prefs,
|
||||
ServiceLocator.instance.enteDio,
|
||||
);
|
||||
return _flagService!;
|
||||
}
|
||||
|
||||
class ServiceLocator {
|
||||
late final SharedPreferences prefs;
|
||||
late final Dio enteDio;
|
||||
|
@ -16,13 +34,3 @@ class ServiceLocator {
|
|||
this.enteDio = enteDio;
|
||||
}
|
||||
}
|
||||
|
||||
FlagService? _flagService;
|
||||
|
||||
FlagService get flagService {
|
||||
_flagService ??= FlagService(
|
||||
ServiceLocator.instance.prefs,
|
||||
ServiceLocator.instance.enteDio,
|
||||
);
|
||||
return _flagService!;
|
||||
}
|
||||
|
|
|
@ -2,10 +2,6 @@ import 'dart:async';
|
|||
import 'dart:io';
|
||||
import 'dart:math' as math;
|
||||
|
||||
import "package:cast/device.dart";
|
||||
import "package:cast/discovery_service.dart";
|
||||
import "package:cast/session.dart";
|
||||
import "package:cast/session_manager.dart";
|
||||
import "package:flutter/cupertino.dart";
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
|
@ -580,7 +576,7 @@ class _GalleryAppBarWidgetState extends State<GalleryAppBarWidget> {
|
|||
),
|
||||
);
|
||||
}
|
||||
if (widget.collection != null) {
|
||||
if (widget.collection != null && castService.isSupported) {
|
||||
actions.add(castWidget(context));
|
||||
}
|
||||
if (items.isNotEmpty) {
|
||||
|
@ -650,8 +646,8 @@ class _GalleryAppBarWidgetState extends State<GalleryAppBarWidget> {
|
|||
}
|
||||
|
||||
Widget castWidget(BuildContext context) {
|
||||
return FutureBuilder<List<CastDevice>>(
|
||||
future: CastDiscoveryService().search(),
|
||||
return FutureBuilder<List<Object>>(
|
||||
future: castService.searchDevices(),
|
||||
builder: (context, snapshot) {
|
||||
if (snapshot.hasError) {
|
||||
return Center(
|
||||
|
@ -679,7 +675,7 @@ class _GalleryAppBarWidgetState extends State<GalleryAppBarWidget> {
|
|||
showGenericErrorDialog(context: context, error: e).ignore();
|
||||
}
|
||||
},
|
||||
child: Text( device.name),
|
||||
child: Text(device.toString()),
|
||||
);
|
||||
}).toList(),
|
||||
);
|
||||
|
@ -689,35 +685,9 @@ class _GalleryAppBarWidgetState extends State<GalleryAppBarWidget> {
|
|||
|
||||
Future<void> _connectToYourApp(
|
||||
BuildContext context,
|
||||
CastDevice object,
|
||||
Object castDevice,
|
||||
) async {
|
||||
final session = await CastSessionManager().startSession(object);
|
||||
|
||||
session.stateStream.listen((state) {
|
||||
if (state == CastSessionState.connected) {
|
||||
const snackBar = SnackBar(content: Text('Connected'));
|
||||
ScaffoldMessenger.of(context).showSnackBar(snackBar);
|
||||
|
||||
_sendPairingRequestToTV(session);
|
||||
}
|
||||
});
|
||||
|
||||
session.messageStream.listen((message) {
|
||||
print('receive message: $message');
|
||||
});
|
||||
|
||||
session.sendMessage(CastSession.kNamespaceReceiver, {
|
||||
'type': 'LAUNCH',
|
||||
'appId': 'F5BCEC64', // set the appId of your app here
|
||||
});
|
||||
|
||||
_sendPairingRequestToTV(session);
|
||||
}
|
||||
|
||||
void _sendPairingRequestToTV(CastSession session) {
|
||||
print('_sendMessageToYourApp');
|
||||
|
||||
session.sendMessage('urn:x-cast:pair-request', {});
|
||||
await castService.connectDevice(context, castDevice);
|
||||
}
|
||||
|
||||
Future<void> onCleanUncategorizedClick(BuildContext buildContext) async {
|
||||
|
|
10
mobile/plugins/ente_cast/.metadata
Normal file
10
mobile/plugins/ente_cast/.metadata
Normal file
|
@ -0,0 +1,10 @@
|
|||
# This file tracks properties of this Flutter project.
|
||||
# Used by Flutter tool to assess capabilities and perform upgrades etc.
|
||||
#
|
||||
# This file should be version controlled and should not be manually edited.
|
||||
|
||||
version:
|
||||
revision: 0b8abb4724aa590dd0f429683339b1e045a1594d
|
||||
channel: stable
|
||||
|
||||
project_type: plugin
|
1
mobile/plugins/ente_cast/analysis_options.yaml
Normal file
1
mobile/plugins/ente_cast/analysis_options.yaml
Normal file
|
@ -0,0 +1 @@
|
|||
include: ../../analysis_options.yaml
|
1
mobile/plugins/ente_cast/lib/ente_cast.dart
Normal file
1
mobile/plugins/ente_cast/lib/ente_cast.dart
Normal file
|
@ -0,0 +1 @@
|
|||
export 'src/service.dart';
|
7
mobile/plugins/ente_cast/lib/src/service.dart
Normal file
7
mobile/plugins/ente_cast/lib/src/service.dart
Normal file
|
@ -0,0 +1,7 @@
|
|||
import "package:flutter/widgets.dart";
|
||||
|
||||
abstract class CastService {
|
||||
bool get isSupported;
|
||||
Future<List<Object>> searchDevices();
|
||||
Future<void> connectDevice(BuildContext context, Object device);
|
||||
}
|
19
mobile/plugins/ente_cast/pubspec.yaml
Normal file
19
mobile/plugins/ente_cast/pubspec.yaml
Normal file
|
@ -0,0 +1,19 @@
|
|||
name: ente_cast
|
||||
version: 0.0.1
|
||||
publish_to: none
|
||||
|
||||
environment:
|
||||
sdk: '>=3.3.0 <4.0.0'
|
||||
|
||||
dependencies:
|
||||
collection:
|
||||
dio: ^4.0.6
|
||||
flutter:
|
||||
sdk: flutter
|
||||
shared_preferences: ^2.0.5
|
||||
stack_trace:
|
||||
|
||||
dev_dependencies:
|
||||
flutter_lints:
|
||||
|
||||
flutter:
|
10
mobile/plugins/ente_cast_none/.metadata
Normal file
10
mobile/plugins/ente_cast_none/.metadata
Normal file
|
@ -0,0 +1,10 @@
|
|||
# This file tracks properties of this Flutter project.
|
||||
# Used by Flutter tool to assess capabilities and perform upgrades etc.
|
||||
#
|
||||
# This file should be version controlled and should not be manually edited.
|
||||
|
||||
version:
|
||||
revision: 0b8abb4724aa590dd0f429683339b1e045a1594d
|
||||
channel: stable
|
||||
|
||||
project_type: plugin
|
1
mobile/plugins/ente_cast_none/analysis_options.yaml
Normal file
1
mobile/plugins/ente_cast_none/analysis_options.yaml
Normal file
|
@ -0,0 +1 @@
|
|||
include: ../../analysis_options.yaml
|
1
mobile/plugins/ente_cast_none/lib/ente_cast_none.dart
Normal file
1
mobile/plugins/ente_cast_none/lib/ente_cast_none.dart
Normal file
|
@ -0,0 +1 @@
|
|||
export 'src/service.dart';
|
17
mobile/plugins/ente_cast_none/lib/src/service.dart
Normal file
17
mobile/plugins/ente_cast_none/lib/src/service.dart
Normal file
|
@ -0,0 +1,17 @@
|
|||
import "package:ente_cast/ente_cast.dart";
|
||||
import "package:flutter/widgets.dart";
|
||||
|
||||
class CastServiceImpl extends CastService {
|
||||
@override
|
||||
Future<void> connectDevice(BuildContext context, Object device) {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
@override
|
||||
Future<List<Object>> searchDevices() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
@override
|
||||
bool get isSupported => false;
|
||||
}
|
18
mobile/plugins/ente_cast_none/pubspec.yaml
Normal file
18
mobile/plugins/ente_cast_none/pubspec.yaml
Normal file
|
@ -0,0 +1,18 @@
|
|||
name: ente_cast_none
|
||||
version: 0.0.1
|
||||
publish_to: none
|
||||
|
||||
environment:
|
||||
sdk: '>=3.3.0 <4.0.0'
|
||||
|
||||
dependencies:
|
||||
ente_cast:
|
||||
path: ../ente_cast
|
||||
flutter:
|
||||
sdk: flutter
|
||||
stack_trace:
|
||||
|
||||
dev_dependencies:
|
||||
flutter_lints:
|
||||
|
||||
flutter:
|
10
mobile/plugins/ente_cast_normal/.metadata
Normal file
10
mobile/plugins/ente_cast_normal/.metadata
Normal file
|
@ -0,0 +1,10 @@
|
|||
# This file tracks properties of this Flutter project.
|
||||
# Used by Flutter tool to assess capabilities and perform upgrades etc.
|
||||
#
|
||||
# This file should be version controlled and should not be manually edited.
|
||||
|
||||
version:
|
||||
revision: 0b8abb4724aa590dd0f429683339b1e045a1594d
|
||||
channel: stable
|
||||
|
||||
project_type: plugin
|
1
mobile/plugins/ente_cast_normal/analysis_options.yaml
Normal file
1
mobile/plugins/ente_cast_normal/analysis_options.yaml
Normal file
|
@ -0,0 +1 @@
|
|||
include: ../../analysis_options.yaml
|
|
@ -0,0 +1 @@
|
|||
export 'src/service.dart';
|
37
mobile/plugins/ente_cast_normal/lib/src/service.dart
Normal file
37
mobile/plugins/ente_cast_normal/lib/src/service.dart
Normal file
|
@ -0,0 +1,37 @@
|
|||
import "package:cast/cast.dart";
|
||||
import "package:ente_cast/ente_cast.dart";
|
||||
import "package:flutter/material.dart";
|
||||
|
||||
class CastServiceImpl extends CastService {
|
||||
@override
|
||||
Future<void> connectDevice(BuildContext context, Object device) async {
|
||||
final CastDevice castDevice = device as CastDevice;
|
||||
final session = await CastSessionManager().startSession(castDevice);
|
||||
|
||||
session.stateStream.listen((state) {
|
||||
if (state == CastSessionState.connected) {
|
||||
const snackBar = SnackBar(content: Text('Connected'));
|
||||
ScaffoldMessenger.of(context).showSnackBar(snackBar);
|
||||
session.sendMessage('urn:x-cast:pair-request', {});
|
||||
}
|
||||
});
|
||||
session.messageStream.listen((message) {
|
||||
print('receive message: $message');
|
||||
});
|
||||
|
||||
session.sendMessage(CastSession.kNamespaceReceiver, {
|
||||
'type': 'LAUNCH',
|
||||
'appId': 'F5BCEC64', // set the appId of your app here
|
||||
});
|
||||
session.sendMessage('urn:x-cast:pair-request', {});
|
||||
}
|
||||
|
||||
@override
|
||||
Future<List<Object>> searchDevices() {
|
||||
// TODO: implement searchDevices
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
@override
|
||||
bool get isSupported => true;
|
||||
}
|
333
mobile/plugins/ente_cast_normal/pubspec.lock
Normal file
333
mobile/plugins/ente_cast_normal/pubspec.lock
Normal file
|
@ -0,0 +1,333 @@
|
|||
# Generated by pub
|
||||
# See https://dart.dev/tools/pub/glossary#lockfile
|
||||
packages:
|
||||
async:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: async
|
||||
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.11.0"
|
||||
cast:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "."
|
||||
ref: multicast_version
|
||||
resolved-ref: "1f39cd4d6efa9363e77b2439f0317bae0c92dda1"
|
||||
url: "https://github.com/guyluz11/flutter_cast.git"
|
||||
source: git
|
||||
version: "2.0.9"
|
||||
characters:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: characters
|
||||
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.3.0"
|
||||
collection:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: collection
|
||||
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.18.0"
|
||||
dio:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: dio
|
||||
sha256: "7d328c4d898a61efc3cd93655a0955858e29a0aa647f0f9e02d59b3bb275e2e8"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.0.6"
|
||||
ente_cast:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "../ente_cast"
|
||||
relative: true
|
||||
source: path
|
||||
version: "0.0.1"
|
||||
ffi:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: ffi
|
||||
sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.2"
|
||||
file:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: file
|
||||
sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "7.0.0"
|
||||
fixnum:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: fixnum
|
||||
sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.1.0"
|
||||
flutter:
|
||||
dependency: "direct main"
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
flutter_lints:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: flutter_lints
|
||||
sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.2"
|
||||
flutter_web_plugins:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
http:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: http
|
||||
sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.2.1"
|
||||
http_parser:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: http_parser
|
||||
sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.0.2"
|
||||
lints:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: lints
|
||||
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
material_color_utilities:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: material_color_utilities
|
||||
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.8.0"
|
||||
meta:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: meta
|
||||
sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.11.0"
|
||||
multicast_dns:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: multicast_dns
|
||||
sha256: "316cc47a958d4bd3c67bd238fe8b44fdfb6133bad89cb191c0c3bd3edb14e296"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.3.2+6"
|
||||
path:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path
|
||||
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.9.0"
|
||||
path_provider_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_linux
|
||||
sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.1"
|
||||
path_provider_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_platform_interface
|
||||
sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.2"
|
||||
path_provider_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_windows
|
||||
sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.1"
|
||||
platform:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: platform
|
||||
sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.1.4"
|
||||
plugin_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: plugin_platform_interface
|
||||
sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.8"
|
||||
protobuf:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: protobuf
|
||||
sha256: "68645b24e0716782e58948f8467fd42a880f255096a821f9e7d0ec625b00c84d"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.1.0"
|
||||
shared_preferences:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences
|
||||
sha256: d3bbe5553a986e83980916ded2f0b435ef2e1893dfaa29d5a7a790d0eca12180
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.3"
|
||||
shared_preferences_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_android
|
||||
sha256: "1ee8bf911094a1b592de7ab29add6f826a7331fb854273d55918693d5364a1f2"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.2"
|
||||
shared_preferences_foundation:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_foundation
|
||||
sha256: "7708d83064f38060c7b39db12aefe449cb8cdc031d6062280087bc4cdb988f5c"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.3.5"
|
||||
shared_preferences_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_linux
|
||||
sha256: "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.3.2"
|
||||
shared_preferences_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_platform_interface
|
||||
sha256: "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.3.2"
|
||||
shared_preferences_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_web
|
||||
sha256: "9aee1089b36bd2aafe06582b7d7817fd317ef05fc30e6ba14bff247d0933042a"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.3.0"
|
||||
shared_preferences_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_windows
|
||||
sha256: "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.3.2"
|
||||
sky_engine:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.99"
|
||||
source_span:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: source_span
|
||||
sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.10.0"
|
||||
stack_trace:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: stack_trace
|
||||
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.11.1"
|
||||
string_scanner:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: string_scanner
|
||||
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.2.0"
|
||||
term_glyph:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: term_glyph
|
||||
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.2.1"
|
||||
typed_data:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: typed_data
|
||||
sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.3.2"
|
||||
vector_math:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: vector_math
|
||||
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.4"
|
||||
web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: web
|
||||
sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.5.1"
|
||||
win32:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: win32
|
||||
sha256: "0a989dc7ca2bb51eac91e8fd00851297cfffd641aa7538b165c62637ca0eaa4a"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "5.4.0"
|
||||
xdg_directories:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: xdg_directories
|
||||
sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.0.4"
|
||||
sdks:
|
||||
dart: ">=3.3.0 <4.0.0"
|
||||
flutter: ">=3.19.0"
|
22
mobile/plugins/ente_cast_normal/pubspec.yaml
Normal file
22
mobile/plugins/ente_cast_normal/pubspec.yaml
Normal file
|
@ -0,0 +1,22 @@
|
|||
name: ente_cast_normal
|
||||
version: 0.0.1
|
||||
publish_to: none
|
||||
|
||||
environment:
|
||||
sdk: '>=3.3.0 <4.0.0'
|
||||
|
||||
dependencies:
|
||||
cast:
|
||||
git:
|
||||
url: https://github.com/guyluz11/flutter_cast.git
|
||||
ref: multicast_version
|
||||
ente_cast:
|
||||
path: ../ente_cast
|
||||
flutter:
|
||||
sdk: flutter
|
||||
stack_trace:
|
||||
|
||||
dev_dependencies:
|
||||
flutter_lints:
|
||||
|
||||
flutter:
|
|
@ -210,7 +210,7 @@ packages:
|
|||
source: hosted
|
||||
version: "1.1.1"
|
||||
cast:
|
||||
dependency: "direct main"
|
||||
dependency: transitive
|
||||
description:
|
||||
path: "."
|
||||
ref: multicast_version
|
||||
|
@ -443,6 +443,20 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.17"
|
||||
ente_cast:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "plugins/ente_cast"
|
||||
relative: true
|
||||
source: path
|
||||
version: "0.0.1"
|
||||
ente_cast_normal:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "plugins/ente_cast_normal"
|
||||
relative: true
|
||||
source: path
|
||||
version: "0.0.1"
|
||||
ente_feature_flag:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
|
|
@ -27,10 +27,6 @@ dependencies:
|
|||
battery_info: ^1.1.1
|
||||
bip39: ^1.0.6
|
||||
cached_network_image: ^3.0.0
|
||||
cast:
|
||||
git:
|
||||
url: https://github.com/guyluz11/flutter_cast.git
|
||||
ref: multicast_version
|
||||
chewie:
|
||||
git:
|
||||
url: https://github.com/ente-io/chewie.git
|
||||
|
@ -51,6 +47,10 @@ dependencies:
|
|||
dotted_border: ^2.1.0
|
||||
dropdown_button2: ^2.0.0
|
||||
email_validator: ^2.0.1
|
||||
ente_cast:
|
||||
path: plugins/ente_cast
|
||||
ente_cast_normal:
|
||||
path: plugins/ente_cast_normal
|
||||
ente_feature_flag:
|
||||
path: plugins/ente_feature_flag
|
||||
equatable: ^2.0.5
|
||||
|
|
Loading…
Add table
Reference in a new issue