Skip to content

Commit 79cfc31

Browse files
author
maxu
committed
增加插件逻辑
1 parent 05dbfe6 commit 79cfc31

File tree

8 files changed

+45
-22
lines changed

8 files changed

+45
-22
lines changed

android/src/main/kotlin/tal/com/d_stack/action/DOperationManager.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,25 @@
55
import tal.com.d_stack.node.DNode;
66
import tal.com.d_stack.node.DNodeManager;
77
import tal.com.d_stack.node.DNodeResponse;
8+
import tal.com.d_stack.node.constants.DNodeActionType;
9+
import tal.com.d_stack.node.constants.DNodePageType;
810
import tal.com.d_stack.router.INodeOperation;
911
import tal.com.d_stack.utils.DLog;
1012

1113
/**
1214
* 节点操作行为记录
13-
*/
15+
*/
1416
public class DOperationManager {
1517
public static void operation(DNode node) {
1618
if (!DStack.getInstance().isOpenNodeOperation()) {
1719
return;
1820
}
21+
if (!node.isBoundary() &&
22+
node.getPageType().equals(DNodePageType.DNodePageTypeFlutter)
23+
&& node.getAction().equals(DNodeActionType.DNodeActionTypePop)) {
24+
//操作一个flutter页面如果是pop行为,不是临界页面,不记录操作,等didPop消息
25+
return;
26+
}
1927
DNodeResponse nodeResponse = DNodeManager.getInstance().createNodeResponse(node);
2028
DLog.logE("$$$$$节点操作$$$$$");
2129
DLog.logE(nodeResponse.action + "-----" + nodeResponse.target);

android/src/main/kotlin/tal/com/d_stack/node/DNodeManager.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,7 @@ public void removeNodeWithOnDestroyed(DNode node) {
349349
if (needRemoveNode != null) {
350350
nodeList.remove(needRemoveNode);
351351
PageLifecycleManager.pageDisappear(node);
352+
node.setBoundary(needRemoveNode.isBoundary());
352353
DOperationManager.operation(node);
353354
}
354355
updateNodes();

example/android/app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
<application
99
android:name=".DStackApplication"
1010
android:icon="@mipmap/ic_launcher"
11+
android:usesCleartextTraffic="true"
12+
android:networkSecurityConfig="@xml/network_security_config"
1113
android:label="d_stack_example">
1214

1315
<meta-data

example/android/app/src/main/kotlin/tal/com/d_stack_example/DStackApplication.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@ public void onCreate() {
2222
application.startActivity(intent);
2323
}
2424
});
25-
DStack.getInstance().setOpenNodeOperation(false);
25+
DStack.getInstance().setOpenNodeOperation(true);
2626
}
2727
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<network-security-config>
3+
<base-config cleartextTrafficPermitted="true">
4+
<trust-anchors>
5+
<certificates src="system" />
6+
</trust-anchors>
7+
</base-config>
8+
</network-security-config>

example/lib/main.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@ import 'package:d_stack/widget/home_widget.dart';
44
import 'package:flutter/material.dart';
55

66
import 'page_widgets.dart';
7+
import 'package:d_stack_spy/d_stack_spy.dart';
78

89
final bool isFlutterProject = true;
910

1011
void main() {
1112
// 注册路由builder , 生命周期监听
1213
WidgetsFlutterBinding.ensureInitialized();
1314
DStack.instance.register(
14-
builders: RouterBuilder.builders(), observer: MyLifeCycleObserver());
15+
builders: RouterBuilder.builders(), observer: MyLifeCycleObserver(), nodeObserver: DSpyNodeObserver());
1516
runApp(MyApp());
1617
}
1718

example/pubspec.lock

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,42 +7,42 @@ packages:
77
name: async
88
url: "https://pub.flutter-io.cn"
99
source: hosted
10-
version: "2.5.0-nullsafety.1"
10+
version: "2.5.0-nullsafety.3"
1111
boolean_selector:
1212
dependency: transitive
1313
description:
1414
name: boolean_selector
1515
url: "https://pub.flutter-io.cn"
1616
source: hosted
17-
version: "2.1.0-nullsafety.1"
17+
version: "2.1.0-nullsafety.3"
1818
characters:
1919
dependency: transitive
2020
description:
2121
name: characters
2222
url: "https://pub.flutter-io.cn"
2323
source: hosted
24-
version: "1.1.0-nullsafety.3"
24+
version: "1.1.0-nullsafety.5"
2525
charcode:
2626
dependency: transitive
2727
description:
2828
name: charcode
2929
url: "https://pub.flutter-io.cn"
3030
source: hosted
31-
version: "1.2.0-nullsafety.1"
31+
version: "1.2.0-nullsafety.3"
3232
clock:
3333
dependency: transitive
3434
description:
3535
name: clock
3636
url: "https://pub.flutter-io.cn"
3737
source: hosted
38-
version: "1.1.0-nullsafety.1"
38+
version: "1.1.0-nullsafety.3"
3939
collection:
4040
dependency: transitive
4141
description:
4242
name: collection
4343
url: "https://pub.flutter-io.cn"
4444
source: hosted
45-
version: "1.15.0-nullsafety.3"
45+
version: "1.15.0-nullsafety.5"
4646
cupertino_icons:
4747
dependency: "direct main"
4848
description:
@@ -70,7 +70,7 @@ packages:
7070
name: fake_async
7171
url: "https://pub.flutter-io.cn"
7272
source: hosted
73-
version: "1.2.0-nullsafety.1"
73+
version: "1.2.0-nullsafety.3"
7474
flutter:
7575
dependency: "direct main"
7676
description: flutter
@@ -87,21 +87,21 @@ packages:
8787
name: matcher
8888
url: "https://pub.flutter-io.cn"
8989
source: hosted
90-
version: "0.12.10-nullsafety.1"
90+
version: "0.12.10-nullsafety.3"
9191
meta:
9292
dependency: transitive
9393
description:
9494
name: meta
9595
url: "https://pub.flutter-io.cn"
9696
source: hosted
97-
version: "1.3.0-nullsafety.3"
97+
version: "1.3.0-nullsafety.6"
9898
path:
9999
dependency: transitive
100100
description:
101101
name: path
102102
url: "https://pub.flutter-io.cn"
103103
source: hosted
104-
version: "1.8.0-nullsafety.1"
104+
version: "1.8.0-nullsafety.3"
105105
sky_engine:
106106
dependency: transitive
107107
description: flutter
@@ -113,56 +113,56 @@ packages:
113113
name: source_span
114114
url: "https://pub.flutter-io.cn"
115115
source: hosted
116-
version: "1.8.0-nullsafety.2"
116+
version: "1.8.0-nullsafety.4"
117117
stack_trace:
118118
dependency: transitive
119119
description:
120120
name: stack_trace
121121
url: "https://pub.flutter-io.cn"
122122
source: hosted
123-
version: "1.10.0-nullsafety.1"
123+
version: "1.10.0-nullsafety.6"
124124
stream_channel:
125125
dependency: transitive
126126
description:
127127
name: stream_channel
128128
url: "https://pub.flutter-io.cn"
129129
source: hosted
130-
version: "2.1.0-nullsafety.1"
130+
version: "2.1.0-nullsafety.3"
131131
string_scanner:
132132
dependency: transitive
133133
description:
134134
name: string_scanner
135135
url: "https://pub.flutter-io.cn"
136136
source: hosted
137-
version: "1.1.0-nullsafety.1"
137+
version: "1.1.0-nullsafety.3"
138138
term_glyph:
139139
dependency: transitive
140140
description:
141141
name: term_glyph
142142
url: "https://pub.flutter-io.cn"
143143
source: hosted
144-
version: "1.2.0-nullsafety.1"
144+
version: "1.2.0-nullsafety.3"
145145
test_api:
146146
dependency: transitive
147147
description:
148148
name: test_api
149149
url: "https://pub.flutter-io.cn"
150150
source: hosted
151-
version: "0.2.19-nullsafety.2"
151+
version: "0.2.19-nullsafety.6"
152152
typed_data:
153153
dependency: transitive
154154
description:
155155
name: typed_data
156156
url: "https://pub.flutter-io.cn"
157157
source: hosted
158-
version: "1.3.0-nullsafety.3"
158+
version: "1.3.0-nullsafety.5"
159159
vector_math:
160160
dependency: transitive
161161
description:
162162
name: vector_math
163163
url: "https://pub.flutter-io.cn"
164164
source: hosted
165-
version: "2.1.0-nullsafety.3"
165+
version: "2.1.0-nullsafety.5"
166166
sdks:
167-
dart: ">=2.10.0-110 <2.11.0"
167+
dart: ">=2.12.0-0.0 <3.0.0"
168168
flutter: ">=1.20.0 <2.0.0"

example/pubspec.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ dev_dependencies:
2020
d_stack:
2121
path: ../
2222

23+
d_stack_spy:
24+
path: ../../d_stack_spy/
25+
2326
# For information on the generic Dart part of this file, see the
2427
# following page: https://dart.dev/tools/pub/pubspec
2528

0 commit comments

Comments
 (0)