Skip to content

Commit 46569ec

Browse files
committed
Able to open konachan post from llink
1 parent 91262e8 commit 46569ec

File tree

6 files changed

+49
-25
lines changed

6 files changed

+49
-25
lines changed

.flutter-plugins-dependencies

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"devicelocale","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\devicelocale-0.3.2\\\\","dependencies":[]},{"name":"esys_flutter_share","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\esys_flutter_share-1.0.2\\\\","dependencies":["path_provider"]},{"name":"flutter_local_notifications","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\flutter_local_notifications-1.4.4+2\\\\","dependencies":[]},{"name":"open_file","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\open_file-3.0.1\\\\","dependencies":[]},{"name":"path_provider","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider-1.6.10\\\\","dependencies":[]},{"name":"permission_handler","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\permission_handler-5.0.1+1\\\\","dependencies":[]},{"name":"shared_preferences","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences-0.5.10\\\\","dependencies":[]},{"name":"sqflite","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\sqflite-1.3.1\\\\","dependencies":[]},{"name":"uni_links","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\uni_links-0.4.0\\\\","dependencies":[]},{"name":"url_launcher","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher-5.5.0\\\\","dependencies":[]}],"android":[{"name":"devicelocale","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\devicelocale-0.3.2\\\\","dependencies":[]},{"name":"esys_flutter_share","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\esys_flutter_share-1.0.2\\\\","dependencies":["path_provider"]},{"name":"flutter_local_notifications","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\flutter_local_notifications-1.4.4+2\\\\","dependencies":[]},{"name":"open_file","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\open_file-3.0.1\\\\","dependencies":[]},{"name":"path_provider","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider-1.6.10\\\\","dependencies":[]},{"name":"permission_handler","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\permission_handler-5.0.1+1\\\\","dependencies":[]},{"name":"shared_preferences","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences-0.5.10\\\\","dependencies":[]},{"name":"sqflite","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\sqflite-1.3.1\\\\","dependencies":[]},{"name":"uni_links","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\uni_links-0.4.0\\\\","dependencies":[]},{"name":"url_launcher","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher-5.5.0\\\\","dependencies":[]}],"macos":[{"name":"path_provider_macos","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_macos-0.0.4+3\\\\","dependencies":[]},{"name":"shared_preferences_macos","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences_macos-0.0.1+10\\\\","dependencies":[]},{"name":"sqflite","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\sqflite-1.3.1\\\\","dependencies":[]},{"name":"url_launcher_macos","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_macos-0.0.1+7\\\\","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-0.0.1+2\\\\","dependencies":[]},{"name":"shared_preferences_linux","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences_linux-0.0.2+2\\\\","dependencies":["path_provider_linux"]},{"name":"url_launcher_linux","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_linux-0.0.1+1\\\\","dependencies":[]}],"windows":[],"web":[{"name":"shared_preferences_web","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences_web-0.1.2+7\\\\","dependencies":[]},{"name":"url_launcher_web","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_web-0.1.2\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"devicelocale","dependencies":[]},{"name":"esys_flutter_share","dependencies":["path_provider"]},{"name":"flutter_local_notifications","dependencies":[]},{"name":"open_file","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"permission_handler","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_linux","shared_preferences_macos","shared_preferences_web"]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"sqflite","dependencies":[]},{"name":"uni_links","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_web","url_launcher_linux","url_launcher_macos"]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]}],"date_created":"2020-09-14 17:59:02.298729","version":"1.22.0-10.0.pre.161"}
1+
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"devicelocale","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\devicelocale-0.3.2\\\\","dependencies":[]},{"name":"esys_flutter_share","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\esys_flutter_share-1.0.2\\\\","dependencies":["path_provider"]},{"name":"flutter_local_notifications","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\flutter_local_notifications-1.4.4+2\\\\","dependencies":[]},{"name":"open_file","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\open_file-3.0.1\\\\","dependencies":[]},{"name":"path_provider","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider-1.6.10\\\\","dependencies":[]},{"name":"permission_handler","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\permission_handler-5.0.1+1\\\\","dependencies":[]},{"name":"shared_preferences","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences-0.5.10\\\\","dependencies":[]},{"name":"sqflite","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\sqflite-1.3.1\\\\","dependencies":[]},{"name":"uni_links","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\uni_links-0.4.0\\\\","dependencies":[]},{"name":"url_launcher","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher-5.5.0\\\\","dependencies":[]}],"android":[{"name":"devicelocale","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\devicelocale-0.3.2\\\\","dependencies":[]},{"name":"esys_flutter_share","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\esys_flutter_share-1.0.2\\\\","dependencies":["path_provider"]},{"name":"flutter_local_notifications","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\flutter_local_notifications-1.4.4+2\\\\","dependencies":[]},{"name":"open_file","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\open_file-3.0.1\\\\","dependencies":[]},{"name":"path_provider","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider-1.6.10\\\\","dependencies":[]},{"name":"permission_handler","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\permission_handler-5.0.1+1\\\\","dependencies":[]},{"name":"shared_preferences","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences-0.5.10\\\\","dependencies":[]},{"name":"sqflite","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\sqflite-1.3.1\\\\","dependencies":[]},{"name":"uni_links","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\uni_links-0.4.0\\\\","dependencies":[]},{"name":"url_launcher","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher-5.5.0\\\\","dependencies":[]}],"macos":[{"name":"path_provider_macos","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_macos-0.0.4+3\\\\","dependencies":[]},{"name":"shared_preferences_macos","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences_macos-0.0.1+10\\\\","dependencies":[]},{"name":"sqflite","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\sqflite-1.3.1\\\\","dependencies":[]},{"name":"url_launcher_macos","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_macos-0.0.1+7\\\\","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-0.0.1+2\\\\","dependencies":[]},{"name":"shared_preferences_linux","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences_linux-0.0.2+2\\\\","dependencies":["path_provider_linux"]},{"name":"url_launcher_linux","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_linux-0.0.1+1\\\\","dependencies":[]}],"windows":[],"web":[{"name":"shared_preferences_web","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences_web-0.1.2+7\\\\","dependencies":[]},{"name":"url_launcher_web","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_web-0.1.2\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"devicelocale","dependencies":[]},{"name":"esys_flutter_share","dependencies":["path_provider"]},{"name":"flutter_local_notifications","dependencies":[]},{"name":"open_file","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"permission_handler","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_linux","shared_preferences_macos","shared_preferences_web"]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"sqflite","dependencies":[]},{"name":"uni_links","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_web","url_launcher_linux","url_launcher_macos"]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]}],"date_created":"2020-09-15 09:58:07.330307","version":"1.20.0"}

android/app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,13 @@
1717
<category android:name="android.intent.category.LAUNCHER" />
1818
</intent-filter>
1919
<!-- App Links -->
20-
<intent-filter android:autoVerify="true">
20+
<intent-filter>
2121
<action android:name="android.intent.action.VIEW" />
2222
<category android:name="android.intent.category.DEFAULT" />
2323
<category android:name="android.intent.category.BROWSABLE" />
2424
<!-- Accepts URIs that begin with https://YOUR_HOST -->
2525
<data android:scheme="https" android:host="yande.re" android:pathPrefix="/post/show" />
26+
<data android:scheme="https" android:host="konachan.com" android:pathPrefix="/post/show" />
2627
</intent-filter>
2728
</activity>
2829
<!--

lib/main.dart

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import 'dart:io';
22
import 'package:auto_route/auto_route.dart';
33
import 'package:booru_app/extensions/shared_preferences_extension.dart';
4+
import 'package:booru_app/pages/home_page.dart';
45
import 'package:booru_app/pages/setting_page.dart';
56
import 'package:booru_app/router.gr.dart' as routes;
67
import 'package:booru_app/settings/app_settings.dart';
@@ -32,10 +33,22 @@ void globalInitial() {
3233
.where((_) => AppSettings.localUsers.contains(
3334
(LocalUser user) => user.clientType == AppSettings.currentClient))
3435
.listen((event) => event());
36+
3537
getUriLinksStream().listen((link) {
38+
if (AppSettings.currentClient == ClientType.Konachan &&
39+
link.host.contains("yande")) {
40+
AppSettings.currentClient = ClientType.Yande;
41+
booruBloc.onReset.add(null);
42+
booruBloc.onRefresh.add(null);
43+
} else if (AppSettings.currentClient == ClientType.Yande &&
44+
link.host.contains("konachan")) {
45+
AppSettings.currentClient = ClientType.Konachan;
46+
booruBloc.onReset.add(null);
47+
booruBloc.onRefresh.add(null);
48+
}
3649
ExtendedNavigator.root.push(routes.Routes.postViewPageByPostID,
3750
arguments: routes.PostViewPageByPostIDArguments(
38-
postID: link.pathSegments.last));
51+
postID: link.pathSegments[link.pathSegments.indexOf("show") + 1]));
3952
});
4053
AppSettings.savePath.then((value) async {
4154
if (value == null || value.isEmpty) {

lib/pages/home_page.dart

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -662,10 +662,20 @@ class _HomePageState extends State<HomePage>
662662
if (link == null) return;
663663

664664
if (link.isNotEmpty) {
665+
if (AppSettings.currentClient == ClientType.Konachan &&
666+
link.contains("yande")) {
667+
AppSettings.currentClient = ClientType.Yande;
668+
booruBloc.onRefresh.add(null);
669+
} else if (AppSettings.currentClient == ClientType.Yande &&
670+
link.contains("konachan")) {
671+
AppSettings.currentClient = ClientType.Konachan;
672+
booruBloc.onRefresh.add(null);
673+
}
674+
var links = link.split("/");
665675
ExtendedNavigator.root.pushAndRemoveUntil(
666676
Routes.postViewPageByPostID, (route) => false,
667-
arguments:
668-
PostViewPageByPostIDArguments(postID: link.split("/").last));
677+
arguments: PostViewPageByPostIDArguments(
678+
postID: links[links.indexOf("show") + 1]));
669679
}
670680
}
671681

pubspec.lock

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ packages:
4242
name: async
4343
url: "https://pub.flutter-io.cn"
4444
source: hosted
45-
version: "2.5.0-nullsafety"
45+
version: "2.4.2"
4646
auto_route:
4747
dependency: "direct main"
4848
description:
@@ -63,7 +63,7 @@ packages:
6363
name: boolean_selector
6464
url: "https://pub.flutter-io.cn"
6565
source: hosted
66-
version: "2.1.0-nullsafety"
66+
version: "2.0.0"
6767
build:
6868
dependency: transitive
6969
description:
@@ -133,14 +133,14 @@ packages:
133133
name: characters
134134
url: "https://pub.flutter-io.cn"
135135
source: hosted
136-
version: "1.1.0-nullsafety.2"
136+
version: "1.0.0"
137137
charcode:
138138
dependency: transitive
139139
description:
140140
name: charcode
141141
url: "https://pub.flutter-io.cn"
142142
source: hosted
143-
version: "1.2.0-nullsafety"
143+
version: "1.1.3"
144144
checked_yaml:
145145
dependency: transitive
146146
description:
@@ -161,7 +161,7 @@ packages:
161161
name: clock
162162
url: "https://pub.flutter-io.cn"
163163
source: hosted
164-
version: "1.1.0-nullsafety"
164+
version: "1.0.1"
165165
code_builder:
166166
dependency: transitive
167167
description:
@@ -175,7 +175,7 @@ packages:
175175
name: collection
176176
url: "https://pub.flutter-io.cn"
177177
source: hosted
178-
version: "1.15.0-nullsafety.2"
178+
version: "1.14.13"
179179
convert:
180180
dependency: transitive
181181
description:
@@ -252,7 +252,7 @@ packages:
252252
name: fake_async
253253
url: "https://pub.flutter-io.cn"
254254
source: hosted
255-
version: "1.1.0-nullsafety"
255+
version: "1.1.0"
256256
ffi:
257257
dependency: transitive
258258
description:
@@ -428,14 +428,14 @@ packages:
428428
name: matcher
429429
url: "https://pub.flutter-io.cn"
430430
source: hosted
431-
version: "0.12.10-nullsafety"
431+
version: "0.12.8"
432432
meta:
433433
dependency: transitive
434434
description:
435435
name: meta
436436
url: "https://pub.flutter-io.cn"
437437
source: hosted
438-
version: "1.3.0-nullsafety.2"
438+
version: "1.1.8"
439439
mime:
440440
dependency: transitive
441441
description:
@@ -491,7 +491,7 @@ packages:
491491
name: path
492492
url: "https://pub.flutter-io.cn"
493493
source: hosted
494-
version: "1.8.0-nullsafety"
494+
version: "1.7.0"
495495
path_provider:
496496
dependency: "direct main"
497497
description:
@@ -692,7 +692,7 @@ packages:
692692
name: source_span
693693
url: "https://pub.flutter-io.cn"
694694
source: hosted
695-
version: "1.8.0-nullsafety"
695+
version: "1.7.0"
696696
sqflite:
697697
dependency: transitive
698698
description:
@@ -713,14 +713,14 @@ packages:
713713
name: stack_trace
714714
url: "https://pub.flutter-io.cn"
715715
source: hosted
716-
version: "1.10.0-nullsafety"
716+
version: "1.9.5"
717717
stream_channel:
718718
dependency: transitive
719719
description:
720720
name: stream_channel
721721
url: "https://pub.flutter-io.cn"
722722
source: hosted
723-
version: "2.1.0-nullsafety"
723+
version: "2.0.0"
724724
stream_transform:
725725
dependency: transitive
726726
description:
@@ -734,7 +734,7 @@ packages:
734734
name: string_scanner
735735
url: "https://pub.flutter-io.cn"
736736
source: hosted
737-
version: "1.1.0-nullsafety"
737+
version: "1.0.5"
738738
syncfusion_flutter_charts:
739739
dependency: "direct main"
740740
description:
@@ -762,14 +762,14 @@ packages:
762762
name: term_glyph
763763
url: "https://pub.flutter-io.cn"
764764
source: hosted
765-
version: "1.2.0-nullsafety"
765+
version: "1.1.0"
766766
test_api:
767767
dependency: transitive
768768
description:
769769
name: test_api
770770
url: "https://pub.flutter-io.cn"
771771
source: hosted
772-
version: "0.2.19-nullsafety"
772+
version: "0.2.17"
773773
timing:
774774
dependency: transitive
775775
description:
@@ -783,7 +783,7 @@ packages:
783783
name: typed_data
784784
url: "https://pub.flutter-io.cn"
785785
source: hosted
786-
version: "1.3.0-nullsafety.2"
786+
version: "1.2.0"
787787
uni_links:
788788
dependency: "direct main"
789789
description:
@@ -846,7 +846,7 @@ packages:
846846
name: vector_math
847847
url: "https://pub.flutter-io.cn"
848848
source: hosted
849-
version: "2.1.0-nullsafety.2"
849+
version: "2.0.8"
850850
watcher:
851851
dependency: transitive
852852
description:
@@ -876,5 +876,5 @@ packages:
876876
source: hosted
877877
version: "2.2.1"
878878
sdks:
879-
dart: ">=2.10.0-0.0.dev <2.10.0"
879+
dart: ">=2.9.0 <3.0.0"
880880
flutter: ">=1.20.0 <2.0.0"

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: booru_app
22
description: App for yande and konachan
33

4-
version: 0.2.0+5
4+
version: 0.2.1+5
55

66
environment:
77
sdk: ">=2.7.0 <3.0.0"

0 commit comments

Comments
 (0)