Skip to content

Commit 50bbaf5

Browse files
author
maxu
committed
临近节点增加id逻辑
1 parent fb1f823 commit 50bbaf5

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

android/src/main/kotlin/tal/com/d_stack/channel/DStackMethodHandler.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ public void onMethodCall(MethodCall methodCall, MethodChannel.Result result) {
4141
case "sendNodeList":
4242
handleSendNodeList(result);
4343
break;
44+
case "sendUpdateBoundaryNode":
45+
handleSendUpdateBoundaryNode(args);
46+
break;
4447
default:
4548
break;
4649
}
@@ -87,6 +90,19 @@ private void handleSendNodeList(MethodChannel.Result result) {
8790
result.success(resultList);
8891
}
8992

93+
/**
94+
* flutter侧发来的更新边界节点位移id
95+
*/
96+
private static void handleSendUpdateBoundaryNode(Map<String, Object> args) {
97+
DNode node = createNodeFromFlutter(args);
98+
if (node != null) {
99+
DNode targetNode = DNodeManager.getInstance().findNodeByRouter(node.getTarget());
100+
if (targetNode != null) {
101+
targetNode.setIdentifier(node.getIdentifier());
102+
}
103+
}
104+
}
105+
90106
/**
91107
* native侧发送单个节点给flutter侧
92108
*/

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,8 @@ public void checkNode(DNode node) {
148148
currentNode.setTarget(node.getTarget());
149149
currentNode.setPageType(DNodePageType.DNodePageTypeFlutter);
150150
currentNode.setParams(node.getParams());
151+
currentNode.setIdentifier(node.getIdentifier());
152+
151153
}
152154
updateNodes();
153155
PageLifecycleManager.pageAppearWithReplace(preNode, currentNode);

0 commit comments

Comments
 (0)