uni links
This commit is contained in:
parent
421db2522b
commit
a246a3d423
|
@ -1,6 +1,4 @@
|
||||||
PODS:
|
PODS:
|
||||||
- app_links (0.0.1):
|
|
||||||
- Flutter
|
|
||||||
- DKImagePickerController/Core (4.3.2):
|
- DKImagePickerController/Core (4.3.2):
|
||||||
- DKImagePickerController/ImageDataManager
|
- DKImagePickerController/ImageDataManager
|
||||||
- DKImagePickerController/Resource
|
- DKImagePickerController/Resource
|
||||||
|
@ -48,18 +46,20 @@ PODS:
|
||||||
- SDWebImage/Core (5.12.5)
|
- SDWebImage/Core (5.12.5)
|
||||||
- SwiftyGif (5.4.3)
|
- SwiftyGif (5.4.3)
|
||||||
- TOCropViewController (2.6.1)
|
- TOCropViewController (2.6.1)
|
||||||
|
- uni_links (0.0.1):
|
||||||
|
- Flutter
|
||||||
- uri_to_file (0.0.1):
|
- uri_to_file (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- url_launcher_ios (0.0.1):
|
- url_launcher_ios (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
|
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
- app_links (from `.symlinks/plugins/app_links/ios`)
|
|
||||||
- file_picker (from `.symlinks/plugins/file_picker/ios`)
|
- file_picker (from `.symlinks/plugins/file_picker/ios`)
|
||||||
- Flutter (from `Flutter`)
|
- Flutter (from `Flutter`)
|
||||||
- image_cropper (from `.symlinks/plugins/image_cropper/ios`)
|
- image_cropper (from `.symlinks/plugins/image_cropper/ios`)
|
||||||
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
||||||
- permission_handler (from `.symlinks/plugins/permission_handler/ios`)
|
- permission_handler (from `.symlinks/plugins/permission_handler/ios`)
|
||||||
|
- uni_links (from `.symlinks/plugins/uni_links/ios`)
|
||||||
- uri_to_file (from `.symlinks/plugins/uri_to_file/ios`)
|
- uri_to_file (from `.symlinks/plugins/uri_to_file/ios`)
|
||||||
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
||||||
|
|
||||||
|
@ -72,8 +72,6 @@ SPEC REPOS:
|
||||||
- TOCropViewController
|
- TOCropViewController
|
||||||
|
|
||||||
EXTERNAL SOURCES:
|
EXTERNAL SOURCES:
|
||||||
app_links:
|
|
||||||
:path: ".symlinks/plugins/app_links/ios"
|
|
||||||
file_picker:
|
file_picker:
|
||||||
:path: ".symlinks/plugins/file_picker/ios"
|
:path: ".symlinks/plugins/file_picker/ios"
|
||||||
Flutter:
|
Flutter:
|
||||||
|
@ -84,13 +82,14 @@ EXTERNAL SOURCES:
|
||||||
:path: ".symlinks/plugins/image_picker_ios/ios"
|
:path: ".symlinks/plugins/image_picker_ios/ios"
|
||||||
permission_handler:
|
permission_handler:
|
||||||
:path: ".symlinks/plugins/permission_handler/ios"
|
:path: ".symlinks/plugins/permission_handler/ios"
|
||||||
|
uni_links:
|
||||||
|
:path: ".symlinks/plugins/uni_links/ios"
|
||||||
uri_to_file:
|
uri_to_file:
|
||||||
:path: ".symlinks/plugins/uri_to_file/ios"
|
:path: ".symlinks/plugins/uri_to_file/ios"
|
||||||
url_launcher_ios:
|
url_launcher_ios:
|
||||||
:path: ".symlinks/plugins/url_launcher_ios/ios"
|
:path: ".symlinks/plugins/url_launcher_ios/ios"
|
||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
app_links: 8941e7bac086136bae70d619141c36f258f4381d
|
|
||||||
DKImagePickerController: b5eb7f7a388e4643264105d648d01f727110fc3d
|
DKImagePickerController: b5eb7f7a388e4643264105d648d01f727110fc3d
|
||||||
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
|
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
|
||||||
file_picker: 817ab1d8cd2da9d2da412a417162deee3500fc95
|
file_picker: 817ab1d8cd2da9d2da412a417162deee3500fc95
|
||||||
|
@ -101,6 +100,7 @@ SPEC CHECKSUMS:
|
||||||
SDWebImage: 0905f1b7760fc8ac4198cae0036600d67478751e
|
SDWebImage: 0905f1b7760fc8ac4198cae0036600d67478751e
|
||||||
SwiftyGif: 6c3eafd0ce693cad58bb63d2b2fb9bacb8552780
|
SwiftyGif: 6c3eafd0ce693cad58bb63d2b2fb9bacb8552780
|
||||||
TOCropViewController: edfd4f25713d56905ad1e0b9f5be3fbe0f59c863
|
TOCropViewController: edfd4f25713d56905ad1e0b9f5be3fbe0f59c863
|
||||||
|
uni_links: d97da20c7701486ba192624d99bffaaffcfc298a
|
||||||
uri_to_file: c4726881848febf4806f0a5707bd12903e02b0f0
|
uri_to_file: c4726881848febf4806f0a5707bd12903e02b0f0
|
||||||
url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de
|
url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de
|
||||||
|
|
||||||
|
|
|
@ -17,10 +17,37 @@
|
||||||
<string>Owner</string>
|
<string>Owner</string>
|
||||||
<key>LSItemContentTypes</key>
|
<key>LSItemContentTypes</key>
|
||||||
<array>
|
<array>
|
||||||
|
<string>niuhuan.pkz</string>
|
||||||
<string>pkz</string>
|
<string>pkz</string>
|
||||||
</array>
|
</array>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
|
<key>UTExportedTypeDeclarations</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>UTTypeIdentifier</key>
|
||||||
|
<string>niuhuan.pkz</string>
|
||||||
|
<key>UTTypeConformsTo</key>
|
||||||
|
<array>
|
||||||
|
<string>public.data</string>
|
||||||
|
<string>public.content</string>
|
||||||
|
<string>com.apple.package</string>
|
||||||
|
</array>
|
||||||
|
<key>UTTypeDescription</key>
|
||||||
|
<string>PKZ Archive</string>
|
||||||
|
<key>UTTypeTagSpecification</key>
|
||||||
|
<dict>
|
||||||
|
<key>public.filename-extension</key>
|
||||||
|
<array>
|
||||||
|
<string>pkz</string>
|
||||||
|
</array>
|
||||||
|
<key>public.mime-type</key>
|
||||||
|
<array>
|
||||||
|
<string>text/vnd.niuhuan.pkz</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>$(EXECUTABLE_NAME)</string>
|
<string>$(EXECUTABLE_NAME)</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:app_links/app_links.dart';
|
|
||||||
import 'package:flutter/gestures.dart';
|
import 'package:flutter/gestures.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:pikapika/basic/Common.dart';
|
import 'package:pikapika/basic/Common.dart';
|
||||||
|
@ -11,6 +10,7 @@ import 'package:pikapika/basic/enum/ErrorTypes.dart';
|
||||||
import 'package:pikapika/screens/RegisterScreen.dart';
|
import 'package:pikapika/screens/RegisterScreen.dart';
|
||||||
import 'package:pikapika/screens/SettingsScreen.dart';
|
import 'package:pikapika/screens/SettingsScreen.dart';
|
||||||
import 'package:pikapika/screens/components/NetworkSetting.dart';
|
import 'package:pikapika/screens/components/NetworkSetting.dart';
|
||||||
|
import 'package:uni_links/uni_links.dart';
|
||||||
import 'package:uri_to_file/uri_to_file.dart';
|
import 'package:uri_to_file/uri_to_file.dart';
|
||||||
|
|
||||||
import '../basic/Navigator.dart';
|
import '../basic/Navigator.dart';
|
||||||
|
@ -32,13 +32,13 @@ class _AccountScreenState extends State<AccountScreen> {
|
||||||
late bool _logging = false;
|
late bool _logging = false;
|
||||||
late String _username = "";
|
late String _username = "";
|
||||||
late String _password = "";
|
late String _password = "";
|
||||||
late StreamSubscription<Uri> _linkSubscription;
|
late StreamSubscription<String?> _linkSubscription;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
final appLinks = AppLinks();
|
|
||||||
// todo 不必要cancel 随机监听就好了, APP关闭时销毁, 考虑移动到APP里
|
// todo 不必要cancel 随机监听就好了, APP关闭时销毁, 考虑移动到APP里
|
||||||
_linkSubscription = appLinks.uriLinkStream.listen((uri) async {
|
_linkSubscription = linkStream.listen((uri) async {
|
||||||
|
if (uri == null) return;
|
||||||
RegExp regExp = RegExp(r"^.*\.pkz$");
|
RegExp regExp = RegExp(r"^.*\.pkz$");
|
||||||
final matches = regExp.allMatches(uri.toString());
|
final matches = regExp.allMatches(uri.toString());
|
||||||
if (matches.isNotEmpty) {
|
if (matches.isNotEmpty) {
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:app_links/app_links.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:pikapika/basic/config/Version.dart';
|
import 'package:pikapika/basic/config/Version.dart';
|
||||||
import 'package:pikapika/screens/components/Badge.dart';
|
import 'package:pikapika/screens/components/Badge.dart';
|
||||||
|
import 'package:uni_links/uni_links.dart';
|
||||||
import 'package:uri_to_file/uri_to_file.dart';
|
import 'package:uri_to_file/uri_to_file.dart';
|
||||||
|
|
||||||
import 'CategoriesScreen.dart';
|
import 'CategoriesScreen.dart';
|
||||||
|
@ -20,18 +20,18 @@ class AppScreen extends StatefulWidget {
|
||||||
}
|
}
|
||||||
|
|
||||||
class _AppScreenState extends State<AppScreen> {
|
class _AppScreenState extends State<AppScreen> {
|
||||||
late StreamSubscription<Uri> _linkSubscription;
|
late StreamSubscription<String?> _linkSubscription;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
versionEvent.subscribe(_onVersion);
|
versionEvent.subscribe(_onVersion);
|
||||||
final appLinks = AppLinks();
|
|
||||||
// todo 不必要cancel 随机监听就好了, APP关闭时销毁, 考虑移动到APP里
|
// todo 不必要cancel 随机监听就好了, APP关闭时销毁, 考虑移动到APP里
|
||||||
_linkSubscription = appLinks.uriLinkStream.listen((uri) async {
|
_linkSubscription = linkStream.listen((uri) async {
|
||||||
|
if (uri == null) return;
|
||||||
RegExp regExp = RegExp(r"^.*\.pkz$");
|
RegExp regExp = RegExp(r"^.*\.pkz$");
|
||||||
final matches = regExp.allMatches(uri.toString());
|
final matches = regExp.allMatches(uri);
|
||||||
if (matches.isNotEmpty) {
|
if (matches.isNotEmpty) {
|
||||||
File file = await toFile(uri.toString());
|
File file = await toFile(uri);
|
||||||
Navigator.of(context).push(MaterialPageRoute(
|
Navigator.of(context).push(MaterialPageRoute(
|
||||||
builder: (BuildContext context) =>
|
builder: (BuildContext context) =>
|
||||||
PkzArchiveScreen(pkzPath: file.path),
|
PkzArchiveScreen(pkzPath: file.path),
|
||||||
|
|
|
@ -34,7 +34,7 @@ import 'package:pikapika/basic/config/Version.dart';
|
||||||
import 'package:pikapika/basic/config/VolumeController.dart';
|
import 'package:pikapika/basic/config/VolumeController.dart';
|
||||||
import 'package:pikapika/basic/config/ShadowCategoriesMode.dart';
|
import 'package:pikapika/basic/config/ShadowCategoriesMode.dart';
|
||||||
import 'package:pikapika/screens/PkzArchiveScreen.dart';
|
import 'package:pikapika/screens/PkzArchiveScreen.dart';
|
||||||
import 'package:app_links/app_links.dart';
|
import 'package:uni_links/uni_links.dart';
|
||||||
import 'package:uri_to_file/uri_to_file.dart';
|
import 'package:uri_to_file/uri_to_file.dart';
|
||||||
import '../basic/config/ExportRename.dart';
|
import '../basic/config/ExportRename.dart';
|
||||||
import 'AccountScreen.dart';
|
import 'AccountScreen.dart';
|
||||||
|
@ -94,11 +94,10 @@ class _InitScreenState extends State<InitScreen> {
|
||||||
await initAuthentication();
|
await initAuthentication();
|
||||||
autoCheckNewVersion();
|
autoCheckNewVersion();
|
||||||
|
|
||||||
final appLinks = AppLinks();
|
|
||||||
String? initUrl;
|
String? initUrl;
|
||||||
if (Platform.isAndroid || Platform.isIOS) {
|
if (Platform.isAndroid || Platform.isIOS) {
|
||||||
try {
|
try {
|
||||||
initUrl = (await appLinks.getInitialAppLink())?.toString();
|
initUrl = (await getInitialUri())?.toString();
|
||||||
// Use the uri and warn the user, if it is not correct,
|
// Use the uri and warn the user, if it is not correct,
|
||||||
// but keep in mind it could be `null`.
|
// but keep in mind it could be `null`.
|
||||||
} on FormatException {
|
} on FormatException {
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:app_links/app_links.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:path/path.dart' as p;
|
import 'package:path/path.dart' as p;
|
||||||
import 'package:permission_handler/permission_handler.dart';
|
import 'package:permission_handler/permission_handler.dart';
|
||||||
|
@ -9,6 +8,7 @@ import 'package:pikapika/basic/Entities.dart';
|
||||||
import 'package:pikapika/basic/Method.dart';
|
import 'package:pikapika/basic/Method.dart';
|
||||||
import 'package:pikapika/screens/components/ContentBuilder.dart';
|
import 'package:pikapika/screens/components/ContentBuilder.dart';
|
||||||
import 'package:pikapika/screens/components/PkzComicInfoCard.dart';
|
import 'package:pikapika/screens/components/PkzComicInfoCard.dart';
|
||||||
|
import 'package:uni_links/uni_links.dart';
|
||||||
import 'package:uri_to_file/uri_to_file.dart';
|
import 'package:uri_to_file/uri_to_file.dart';
|
||||||
|
|
||||||
import '../basic/Navigator.dart';
|
import '../basic/Navigator.dart';
|
||||||
|
@ -33,18 +33,18 @@ class _PkzArchiveScreenState extends State<PkzArchiveScreen> with RouteAware {
|
||||||
late String _fileName;
|
late String _fileName;
|
||||||
late Future _future;
|
late Future _future;
|
||||||
late PkzArchive _info;
|
late PkzArchive _info;
|
||||||
StreamSubscription<Uri>? _linkSubscription;
|
StreamSubscription<String?>? _linkSubscription;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
if (widget.holdPkz) {
|
if (widget.holdPkz) {
|
||||||
final appLinks = AppLinks();
|
|
||||||
// todo 不必要cancel 随机监听就好了, APP关闭时销毁, 考虑移动到APP里
|
// todo 不必要cancel 随机监听就好了, APP关闭时销毁, 考虑移动到APP里
|
||||||
_linkSubscription = appLinks.uriLinkStream.listen((uri) async {
|
_linkSubscription = linkStream.listen((uri) async {
|
||||||
|
if(uri == null) return;
|
||||||
RegExp regExp = RegExp(r"^.*\.pkz$");
|
RegExp regExp = RegExp(r"^.*\.pkz$");
|
||||||
final matches = regExp.allMatches(uri.toString());
|
final matches = regExp.allMatches(uri);
|
||||||
if (matches.isNotEmpty) {
|
if (matches.isNotEmpty) {
|
||||||
File file = await toFile(uri.toString());
|
File file = await toFile(uri);
|
||||||
Navigator.of(context).push(
|
Navigator.of(context).push(
|
||||||
MaterialPageRoute(
|
MaterialPageRoute(
|
||||||
builder: (BuildContext context) =>
|
builder: (BuildContext context) =>
|
||||||
|
@ -95,7 +95,7 @@ class _PkzArchiveScreenState extends State<PkzArchiveScreen> with RouteAware {
|
||||||
builder: (BuildContext context) => PkzComicInfoScreen(
|
builder: (BuildContext context) => PkzComicInfoScreen(
|
||||||
pkzPath: widget.pkzPath,
|
pkzPath: widget.pkzPath,
|
||||||
pkzComic: _info.comics.first,
|
pkzComic: _info.comics.first,
|
||||||
holdPkz: true,
|
holdPkz: widget.holdPkz,
|
||||||
),
|
),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:app_links/app_links.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:path/path.dart' as p;
|
import 'package:path/path.dart' as p;
|
||||||
import 'package:pikapika/basic/Entities.dart';
|
import 'package:pikapika/basic/Entities.dart';
|
||||||
import 'package:pikapika/basic/Method.dart';
|
import 'package:pikapika/basic/Method.dart';
|
||||||
import 'package:pikapika/screens/PkzReaderScreen.dart';
|
import 'package:pikapika/screens/PkzReaderScreen.dart';
|
||||||
|
import 'package:uni_links/uni_links.dart';
|
||||||
import 'package:uri_to_file/uri_to_file.dart';
|
import 'package:uri_to_file/uri_to_file.dart';
|
||||||
|
|
||||||
import '../basic/Navigator.dart';
|
import '../basic/Navigator.dart';
|
||||||
|
@ -32,18 +32,18 @@ class PkzComicInfoScreen extends StatefulWidget {
|
||||||
class _PkzComicInfoScreenState extends State<PkzComicInfoScreen>
|
class _PkzComicInfoScreenState extends State<PkzComicInfoScreen>
|
||||||
with RouteAware {
|
with RouteAware {
|
||||||
PkzComicViewLog? _log;
|
PkzComicViewLog? _log;
|
||||||
StreamSubscription<Uri>? _linkSubscription;
|
StreamSubscription<String?>? _linkSubscription;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
if (widget.holdPkz) {
|
if (widget.holdPkz) {
|
||||||
final appLinks = AppLinks();
|
|
||||||
// todo 不必要cancel 随机监听就好了, APP关闭时销毁, 考虑移动到APP里
|
// todo 不必要cancel 随机监听就好了, APP关闭时销毁, 考虑移动到APP里
|
||||||
_linkSubscription = appLinks.uriLinkStream.listen((uri) async {
|
_linkSubscription = linkStream.listen((uri) async {
|
||||||
|
if (uri == null) return;
|
||||||
RegExp regExp = RegExp(r"^.*\.pkz$");
|
RegExp regExp = RegExp(r"^.*\.pkz$");
|
||||||
final matches = regExp.allMatches(uri.toString());
|
final matches = regExp.allMatches(uri);
|
||||||
if (matches.isNotEmpty) {
|
if (matches.isNotEmpty) {
|
||||||
File file = await toFile(uri.toString());
|
File file = await toFile(uri);
|
||||||
Navigator.of(context).push(MaterialPageRoute(
|
Navigator.of(context).push(MaterialPageRoute(
|
||||||
builder: (BuildContext context) =>
|
builder: (BuildContext context) =>
|
||||||
PkzArchiveScreen(pkzPath: file.path),
|
PkzArchiveScreen(pkzPath: file.path),
|
||||||
|
|
|
@ -5,10 +5,8 @@
|
||||||
import FlutterMacOS
|
import FlutterMacOS
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
import app_links_macos
|
|
||||||
import url_launcher_macos
|
import url_launcher_macos
|
||||||
|
|
||||||
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
||||||
AppLinksMacosPlugin.register(with: registry.registrar(forPlugin: "AppLinksMacosPlugin"))
|
|
||||||
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
|
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
|
||||||
}
|
}
|
||||||
|
|
56
pubspec.lock
56
pubspec.lock
|
@ -8,41 +8,6 @@ packages:
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.1+2"
|
version: "1.0.1+2"
|
||||||
app_links:
|
|
||||||
dependency: "direct main"
|
|
||||||
description:
|
|
||||||
name: app_links
|
|
||||||
url: "https://pub.dartlang.org"
|
|
||||||
source: hosted
|
|
||||||
version: "3.2.0"
|
|
||||||
app_links_macos:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: app_links_macos
|
|
||||||
url: "https://pub.dartlang.org"
|
|
||||||
source: hosted
|
|
||||||
version: "1.0.0"
|
|
||||||
app_links_platform_interface:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: app_links_platform_interface
|
|
||||||
url: "https://pub.dartlang.org"
|
|
||||||
source: hosted
|
|
||||||
version: "1.0.2"
|
|
||||||
app_links_web:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: app_links_web
|
|
||||||
url: "https://pub.dartlang.org"
|
|
||||||
source: hosted
|
|
||||||
version: "1.0.0"
|
|
||||||
app_links_windows:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: app_links_windows
|
|
||||||
url: "https://pub.dartlang.org"
|
|
||||||
source: hosted
|
|
||||||
version: "1.0.0"
|
|
||||||
archive:
|
archive:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -467,6 +432,27 @@ packages:
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.1"
|
version: "1.3.1"
|
||||||
|
uni_links:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: uni_links
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.5.1"
|
||||||
|
uni_links_platform_interface:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: uni_links_platform_interface
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.0"
|
||||||
|
uni_links_web:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: uni_links_web
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.1.0"
|
||||||
uri_to_file:
|
uri_to_file:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -48,8 +48,8 @@ dependencies:
|
||||||
crop_image: ^1.0.2
|
crop_image: ^1.0.2
|
||||||
image: ^3.1.3
|
image: ^3.1.3
|
||||||
path: ^1.8.0
|
path: ^1.8.0
|
||||||
app_links: ^3.2.0
|
|
||||||
uri_to_file: ^0.2.0
|
uri_to_file: ^0.2.0
|
||||||
|
uni_links: ^0.5.1
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
|
|
@ -6,12 +6,9 @@
|
||||||
|
|
||||||
#include "generated_plugin_registrant.h"
|
#include "generated_plugin_registrant.h"
|
||||||
|
|
||||||
#include <app_links_windows/app_links_windows_plugin.h>
|
|
||||||
#include <url_launcher_windows/url_launcher_windows.h>
|
#include <url_launcher_windows/url_launcher_windows.h>
|
||||||
|
|
||||||
void RegisterPlugins(flutter::PluginRegistry* registry) {
|
void RegisterPlugins(flutter::PluginRegistry* registry) {
|
||||||
AppLinksWindowsPluginRegisterWithRegistrar(
|
|
||||||
registry->GetRegistrarForPlugin("AppLinksWindowsPlugin"));
|
|
||||||
UrlLauncherWindowsRegisterWithRegistrar(
|
UrlLauncherWindowsRegisterWithRegistrar(
|
||||||
registry->GetRegistrarForPlugin("UrlLauncherWindows"));
|
registry->GetRegistrarForPlugin("UrlLauncherWindows"));
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
list(APPEND FLUTTER_PLUGIN_LIST
|
list(APPEND FLUTTER_PLUGIN_LIST
|
||||||
app_links_windows
|
|
||||||
url_launcher_windows
|
url_launcher_windows
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue