@quicktvui/ai 1.0.7 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/rules/.clinerules +27 -4
- package/rules/.cursorrules +27 -4
- package/rules/.github/copilot-instructions.md +27 -4
- package/rules/.source/hippy/extend_views/CoverFlowHorizontalView.java +203 -0
- package/rules/.source/hippy/extend_views/CoverFlowVerticalView.java +203 -0
- package/rules/.source/hippy/extend_views/CoverFlowViewController.java +195 -0
- package/rules/.source/hippy/extend_views/EngineRootView.java +125 -0
- package/rules/.source/hippy/extend_views/ExtendTag.java +83 -0
- package/rules/.source/hippy/extend_views/FocusSearchHelper.java +124 -0
- package/rules/.source/hippy/extend_views/IRecyclerItemView.java +12 -0
- package/rules/.source/hippy/extend_views/JSEventHandleView.java +5 -0
- package/rules/.source/hippy/extend_views/MarqueeRelayManager.java +133 -0
- package/rules/.source/hippy/extend_views/MarqueeRelayTextView.java +211 -0
- package/rules/.source/hippy/extend_views/ProgressBarView.java +83 -0
- package/rules/.source/hippy/extend_views/ProgressBarViewController.java +145 -0
- package/rules/.source/hippy/extend_views/SeekBarView.java +104 -0
- package/rules/.source/hippy/extend_views/SeekBarViewController.java +218 -0
- package/rules/.source/hippy/extend_views/StateImageView.java +149 -0
- package/rules/.source/hippy/extend_views/StateImageViewController.java +34 -0
- package/rules/.source/hippy/extend_views/TVButtonView.java +314 -0
- package/rules/.source/hippy/extend_views/TVButtonViewController.java +89 -0
- package/rules/.source/hippy/extend_views/TVTextView.java +684 -0
- package/rules/.source/hippy/extend_views/TVViewActor.java +811 -0
- package/rules/.source/hippy/extend_views/TVViewActorHost.java +6 -0
- package/rules/.source/hippy/extend_views/TVViewActor/346/216/245/345/205/245.md +66 -0
- package/rules/.source/hippy/extend_views/TemplateUtil.java +336 -0
- package/rules/.source/hippy/extend_views/TextButtonNode.java +47 -0
- package/rules/.source/hippy/extend_views/TextViewController.java +377 -0
- package/rules/.source/hippy/extend_views/fastlist/CenterFlyInAnimator.java +96 -0
- package/rules/.source/hippy/extend_views/fastlist/ChildOnScreenScroller.java +548 -0
- package/rules/.source/hippy/extend_views/fastlist/ClonedViewTag.java +17 -0
- package/rules/.source/hippy/extend_views/fastlist/EventDeliverer.java +55 -0
- package/rules/.source/hippy/extend_views/fastlist/FastAdapter.java +4683 -0
- package/rules/.source/hippy/extend_views/fastlist/FastAdapterUtil.java +982 -0
- package/rules/.source/hippy/extend_views/fastlist/FastFlexNode.java +48 -0
- package/rules/.source/hippy/extend_views/fastlist/FastFlexView.java +873 -0
- package/rules/.source/hippy/extend_views/fastlist/FastFlexViewController.java +130 -0
- package/rules/.source/hippy/extend_views/fastlist/FastItemNode.java +67 -0
- package/rules/.source/hippy/extend_views/fastlist/FastItemView.java +306 -0
- package/rules/.source/hippy/extend_views/fastlist/FastItemViewController.java +106 -0
- package/rules/.source/hippy/extend_views/fastlist/FastListModule.java +95 -0
- package/rules/.source/hippy/extend_views/fastlist/FastListNode.java +90 -0
- package/rules/.source/hippy/extend_views/fastlist/FastListView.java +2466 -0
- package/rules/.source/hippy/extend_views/fastlist/FastListViewController.java +1038 -0
- package/rules/.source/hippy/extend_views/fastlist/FastListView/346/270/262/346/237/223/346/265/201/347/250/213/345/233/276.graffle +0 -0
- package/rules/.source/hippy/extend_views/fastlist/FastPendingView.java +47 -0
- package/rules/.source/hippy/extend_views/fastlist/ItemDecorations.java +71 -0
- package/rules/.source/hippy/extend_views/fastlist/ItemStoreNode.java +64 -0
- package/rules/.source/hippy/extend_views/fastlist/ItemStoreView.java +13 -0
- package/rules/.source/hippy/extend_views/fastlist/ItemStoreViewController.java +45 -0
- package/rules/.source/hippy/extend_views/fastlist/ListItemHolder.java +7 -0
- package/rules/.source/hippy/extend_views/fastlist/ListViewControlProp.java +41 -0
- package/rules/.source/hippy/extend_views/fastlist/MouseRecycleView.java +509 -0
- package/rules/.source/hippy/extend_views/fastlist/OnFastItemClickListener.java +12 -0
- package/rules/.source/hippy/extend_views/fastlist/OnFastItemFocusChangeListener.java +9 -0
- package/rules/.source/hippy/extend_views/fastlist/OnFastScrollStateChangedListener.java +7 -0
- package/rules/.source/hippy/extend_views/fastlist/PendingListNode.java +18 -0
- package/rules/.source/hippy/extend_views/fastlist/PendingViewController.java +13 -0
- package/rules/.source/hippy/extend_views/fastlist/PostHandlerView.java +6 -0
- package/rules/.source/hippy/extend_views/fastlist/PostTaskHolder.java +20 -0
- package/rules/.source/hippy/extend_views/fastlist/ReplaceChildController.java +105 -0
- package/rules/.source/hippy/extend_views/fastlist/ReplaceChildView.java +312 -0
- package/rules/.source/hippy/extend_views/fastlist/TVListView.java +3692 -0
- package/rules/.source/hippy/extend_views/fastlist/TemplateCodeParser.java +247 -0
- package/rules/.source/hippy/extend_views/fastlist/Utils.java +572 -0
- package/rules/.source/hippy/extend_views/fastlist/ViewTag.java +317 -0
- package/rules/.source/hippy/extend_views/fastlist/VirtualListView.java +8 -0
- package/rules/.source/hippy/extend_views/fastlist/diff/FastListDataBindingHelper.java +320 -0
- package/rules/.source/hippy/extend_views/fastlist/diff/KeyDiffHelper.java +289 -0
- package/rules/.source/hippy/extend_views/fastlist/diff/NoKeyDiffHelper.java +278 -0
- package/rules/.source/hippy/extend_views/tag/FontTag.java +53 -0
- package/rules/.source/hippy/extend_views/tag/HtmlTag.java +191 -0
- package/rules/.source/hippy/extend_views/tag/HtmlTagHandler.java +185 -0
- package/rules/.source/hippy/extend_views/tag/SpanTag.java +160 -0
- package/rules/.source/hippy/extend_views/tag/TextFontSpan.java +102 -0
- package/rules/.source/hippy/extend_views/waterfall/Chunk.java +10 -0
- package/rules/.source/hippy/extend_views/waterfall/ChunkGroup.java +5 -0
- package/rules/.source/hippy/extend_views/waterfall/Section.java +4 -0
- package/rules/.source/hippy/extend_views/waterfall/Tabs.java +5 -0
- package/rules/.source/hippy/extend_views/waterfall/WaterfallUtils.java +26 -0
- package/rules/.source/hippy/hippy_uimanager/ControllerHolder.java +30 -0
- package/rules/.source/hippy/hippy_uimanager/ControllerManager.java +651 -0
- package/rules/.source/hippy/hippy_uimanager/ControllerRegistry.java +102 -0
- package/rules/.source/hippy/hippy_uimanager/ControllerUpdateManger.java +252 -0
- package/rules/.source/hippy/hippy_uimanager/CustomControllerHelper.java +425 -0
- package/rules/.source/hippy/hippy_uimanager/DiffUtils.java +526 -0
- package/rules/.source/hippy/hippy_uimanager/ExtendViewGroup.java +36 -0
- package/rules/.source/hippy/hippy_uimanager/HippyCustomViewCreator.java +29 -0
- package/rules/.source/hippy/hippy_uimanager/HippyGroupController.java +83 -0
- package/rules/.source/hippy/hippy_uimanager/HippyViewBase.java +27 -0
- package/rules/.source/hippy/hippy_uimanager/HippyViewController.java +2189 -0
- package/rules/.source/hippy/hippy_uimanager/HippyViewEvent.java +52 -0
- package/rules/.source/hippy/hippy_uimanager/IHippyZIndexViewGroup.java +24 -0
- package/rules/.source/hippy/hippy_uimanager/InternalExtendViewUtil.java +395 -0
- package/rules/.source/hippy/hippy_uimanager/ListItemRenderNode.java +143 -0
- package/rules/.source/hippy/hippy_uimanager/ListViewRenderNode.java +44 -0
- package/rules/.source/hippy/hippy_uimanager/MatrixUtil.java +470 -0
- package/rules/.source/hippy/hippy_uimanager/NativeGestureDispatcher.java +349 -0
- package/rules/.source/hippy/hippy_uimanager/NativeGestureProcessor.java +188 -0
- package/rules/.source/hippy/hippy_uimanager/PullFooterRenderNode.java +43 -0
- package/rules/.source/hippy/hippy_uimanager/PullHeaderRenderNode.java +43 -0
- package/rules/.source/hippy/hippy_uimanager/RenderManager.java +304 -0
- package/rules/.source/hippy/hippy_uimanager/RenderNode.java +533 -0
- package/rules/.source/hippy/hippy_uimanager/StateView.java +17 -0
- package/rules/.source/hippy/hippy_uimanager/TransformUtil.java +125 -0
- package/rules/.source/hippy/hippy_uimanager/ViewGroupDrawingOrderHelper.java +108 -0
- package/rules/.source/hippy/hippy_uimanager/ViewStateProvider.java +10 -0
- package/rules/.source/hippy/hippy_views/audioview/AudioPlayManager.java +457 -0
- package/rules/.source/hippy/hippy_views/audioview/AudioView.java +225 -0
- package/rules/.source/hippy/hippy_views/audioview/AudioViewController.java +135 -0
- package/rules/.source/hippy/hippy_views/common/CommonBackgroundDrawable.java +58 -0
- package/rules/.source/hippy/hippy_views/common/CommonBorder.java +37 -0
- package/rules/.source/hippy/hippy_views/custom/HippyCustomPropsController.java +61 -0
- package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerListAdapter.java +399 -0
- package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerView.java +378 -0
- package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerViewController.java +187 -0
- package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerViewHolder.java +39 -0
- package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerViewWrapper.java +134 -0
- package/rules/.source/hippy/hippy_views/hippylist/NodePositionHelper.java +55 -0
- package/rules/.source/hippy/hippy_views/hippylist/PreloadHelper.java +54 -0
- package/rules/.source/hippy/hippy_views/hippylist/PullFooterEventHelper.java +61 -0
- package/rules/.source/hippy/hippy_views/hippylist/PullHeaderEventHelper.java +127 -0
- package/rules/.source/hippy/hippy_views/hippylist/RecyclerViewEventHelper.java +394 -0
- package/rules/.source/hippy/hippy_views/image/HippyContentDrawable.java +113 -0
- package/rules/.source/hippy/hippy_views/image/HippyImageView.java +1608 -0
- package/rules/.source/hippy/hippy_views/image/HippyImageViewController.java +382 -0
- package/rules/.source/hippy/hippy_views/image/IImageStateListener.java +7 -0
- package/rules/.source/hippy/hippy_views/list/ChildOnScreenScroller.java +255 -0
- package/rules/.source/hippy/hippy_views/list/HippyListAdapter.java +647 -0
- package/rules/.source/hippy/hippy_views/list/HippyListItemView.java +162 -0
- package/rules/.source/hippy/hippy_views/list/HippyListItemViewController.java +45 -0
- package/rules/.source/hippy/hippy_views/list/HippyListView.java +915 -0
- package/rules/.source/hippy/hippy_views/list/HippyListViewController.java +622 -0
- package/rules/.source/hippy/hippy_views/list/HippyRecycler.java +31 -0
- package/rules/.source/hippy/hippy_views/list/IRecycleItemTypeChange.java +23 -0
- package/rules/.source/hippy/hippy_views/list/ItemDecorations.java +70 -0
- package/rules/.source/hippy/hippy_views/list/NegativeLongKeyFlinger.java +156 -0
- package/rules/.source/hippy/hippy_views/list/NodeHolder.java +34 -0
- package/rules/.source/hippy/hippy_views/list/RecycleViewFlinger.java +126 -0
- package/rules/.source/hippy/hippy_views/list/TVRecyclerView.java +2070 -0
- package/rules/.source/hippy/hippy_views/list/TVSingleLineListView.java +15 -0
- package/rules/.source/hippy/hippy_views/modal/HippyModalHostManager.java +102 -0
- package/rules/.source/hippy/hippy_views/modal/HippyModalHostView.java +597 -0
- package/rules/.source/hippy/hippy_views/modal/ModalHostHelper.java +46 -0
- package/rules/.source/hippy/hippy_views/modal/ModalStyleNode.java +34 -0
- package/rules/.source/hippy/hippy_views/modal/RequestCloseEvent.java +32 -0
- package/rules/.source/hippy/hippy_views/modal/ShowEvent.java +31 -0
- package/rules/.source/hippy/hippy_views/navigator/Navigator.java +126 -0
- package/rules/.source/hippy/hippy_views/navigator/NavigatorController.java +120 -0
- package/rules/.source/hippy/hippy_views/refresh/HippyPullFooterView.java +47 -0
- package/rules/.source/hippy/hippy_views/refresh/HippyPullFooterViewController.java +65 -0
- package/rules/.source/hippy/hippy_views/refresh/HippyPullHeaderView.java +39 -0
- package/rules/.source/hippy/hippy_views/refresh/HippyPullHeaderViewController.java +104 -0
- package/rules/.source/hippy/hippy_views/refresh/RefreshWrapper.java +237 -0
- package/rules/.source/hippy/hippy_views/refresh/RefreshWrapperController.java +62 -0
- package/rules/.source/hippy/hippy_views/refresh/RefreshWrapperItemController.java +39 -0
- package/rules/.source/hippy/hippy_views/refresh/RefreshWrapperItemView.java +26 -0
- package/rules/.source/hippy/hippy_views/scroll/HippyHorizontalScrollView.java +500 -0
- package/rules/.source/hippy/hippy_views/scroll/HippyOnScrollHelper.java +39 -0
- package/rules/.source/hippy/hippy_views/scroll/HippyScrollView.java +46 -0
- package/rules/.source/hippy/hippy_views/scroll/HippyScrollViewController.java +178 -0
- package/rules/.source/hippy/hippy_views/scroll/HippyScrollViewEventHelper.java +92 -0
- package/rules/.source/hippy/hippy_views/scroll/HippyVerticalScrollView.java +522 -0
- package/rules/.source/hippy/hippy_views/text/HippyTextView.java +512 -0
- package/rules/.source/hippy/hippy_views/text/HippyTextViewController.java +77 -0
- package/rules/.source/hippy/hippy_views/textinput/HippyTextInput.java +668 -0
- package/rules/.source/hippy/hippy_views/textinput/HippyTextInputController.java +528 -0
- package/rules/.source/hippy/hippy_views/textinput/TextInputNode.java +115 -0
- package/rules/.source/hippy/hippy_views/videoview/APEZProvider.java +287 -0
- package/rules/.source/hippy/hippy_views/videoview/APKExpansionSupport.java +82 -0
- package/rules/.source/hippy/hippy_views/videoview/PivotPoint.java +13 -0
- package/rules/.source/hippy/hippy_views/videoview/ScalableType.java +34 -0
- package/rules/.source/hippy/hippy_views/videoview/ScalableVideoView.java +265 -0
- package/rules/.source/hippy/hippy_views/videoview/ScaleManager.java +191 -0
- package/rules/.source/hippy/hippy_views/videoview/Size.java +19 -0
- package/rules/.source/hippy/hippy_views/videoview/VideoHippyView.java +917 -0
- package/rules/.source/hippy/hippy_views/videoview/VideoHippyViewController.java +236 -0
- package/rules/.source/hippy/hippy_views/videoview/ZipResourceFile.java +427 -0
- package/rules/.source/hippy/hippy_views/view/CardRootView.java +28 -0
- package/rules/.source/hippy/hippy_views/view/CustomLayoutView.java +10 -0
- package/rules/.source/hippy/hippy_views/view/CustomNodeView.java +5 -0
- package/rules/.source/hippy/hippy_views/view/DialogViewGroup.java +113 -0
- package/rules/.source/hippy/hippy_views/view/HippyViewGroup.java +2042 -0
- package/rules/.source/hippy/hippy_views/view/HippyViewGroupController.java +583 -0
- package/rules/.source/hippy/hippy_views/view/WindowRoot.java +5 -0
- package/rules/.source/hippy/hippy_views/viewpager/HippyViewPager.java +308 -0
- package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerAdapter.java +148 -0
- package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerController.java +246 -0
- package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerItem.java +27 -0
- package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerItemController.java +42 -0
- package/rules/.source/hippy/hippy_views/viewpager/ViewPagerPageChangeListener.java +114 -0
- package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageItemExposureEvent.java +40 -0
- package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageScrollEvent.java +43 -0
- package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageScrollStateChangedEvent.java +42 -0
- package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageSelectedEvent.java +42 -0
- package/rules/.source/hippy/hippy_views/webview/HippyWebView.java +160 -0
- package/rules/.source/hippy/hippy_views/webview/HippyWebViewBridge.java +20 -0
- package/rules/.source/hippy/hippy_views/webview/HippyWebViewController.java +103 -0
- package/rules/.source/hippy/hippy_views/webview/HippyWebViewInner.java +77 -0
- package/rules/.windsurfrules +27 -4
- package/rules/AGENTS.md +27 -4
- package/rules/CLAUDE.md +27 -3
- package/rules/GEMINI.md +25 -3
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
/* Tencent is pleased to support the open source community by making Hippy available.
|
|
2
|
+
* Copyright (C) 2018 THL A29 Limited, a Tencent company. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
package com.tencent.mtt.hippy.uimanager;
|
|
17
|
+
|
|
18
|
+
import android.text.TextUtils;
|
|
19
|
+
import android.util.SparseArray;
|
|
20
|
+
|
|
21
|
+
import com.tencent.mtt.hippy.HippyAPIProvider;
|
|
22
|
+
import com.tencent.mtt.hippy.HippyEngineContext;
|
|
23
|
+
import com.tencent.mtt.hippy.HippyRootView;
|
|
24
|
+
import com.tencent.mtt.hippy.common.HippyArray;
|
|
25
|
+
import com.tencent.mtt.hippy.common.HippyMap;
|
|
26
|
+
import com.tencent.mtt.hippy.dom.node.DomNode;
|
|
27
|
+
import com.tencent.mtt.hippy.dom.node.NodeProps;
|
|
28
|
+
import com.tencent.mtt.hippy.modules.Promise;
|
|
29
|
+
import com.tencent.mtt.hippy.utils.LogUtils;
|
|
30
|
+
|
|
31
|
+
import java.util.ArrayList;
|
|
32
|
+
import java.util.Collections;
|
|
33
|
+
import java.util.List;
|
|
34
|
+
|
|
35
|
+
@SuppressWarnings({"deprecation", "unused"})
|
|
36
|
+
public class RenderManager {
|
|
37
|
+
|
|
38
|
+
private static final String TAG = "RenderManager";
|
|
39
|
+
final SparseArray<RenderNode> mNodes = new SparseArray<>();
|
|
40
|
+
|
|
41
|
+
final SparseArray<Boolean> mPreIsLazy = new SparseArray<>();
|
|
42
|
+
|
|
43
|
+
final ArrayList<RenderNode> mUIUpdateNodes = new ArrayList<>();
|
|
44
|
+
final ArrayList<RenderNode> mNullUIUpdateNodes = new ArrayList<>();
|
|
45
|
+
|
|
46
|
+
final HippyEngineContext mContext;
|
|
47
|
+
|
|
48
|
+
final ControllerManager mControllerManager;
|
|
49
|
+
|
|
50
|
+
public RenderManager(HippyEngineContext hippyContext, List<HippyAPIProvider> packages) {
|
|
51
|
+
mContext = hippyContext;
|
|
52
|
+
mControllerManager = new ControllerManager(hippyContext, packages);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
public void addCustomViewController(String name, HippyViewController controller, boolean lazy){
|
|
56
|
+
mControllerManager.mControllerRegistry.addControllerHolder(name, new ControllerHolder(controller, lazy));
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
//add by zhaopeng start
|
|
60
|
+
public ControllerManager getControllerManager() {
|
|
61
|
+
return mControllerManager;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* 注册自定义的controller
|
|
66
|
+
* add by zhaopeng 2022 12 27
|
|
67
|
+
*/
|
|
68
|
+
public void addCustomControllers(HippyAPIProvider hippyPackage) {
|
|
69
|
+
this.addCustomControllers(Collections.singletonList(hippyPackage));
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* 注册自定义的controller
|
|
74
|
+
* add by zhaopeng 2022 12 27
|
|
75
|
+
* @param hippyPackages
|
|
76
|
+
*/
|
|
77
|
+
public void addCustomControllers(List<HippyAPIProvider> hippyPackages) {
|
|
78
|
+
mControllerManager.addCustomControllers(hippyPackages);
|
|
79
|
+
}
|
|
80
|
+
//add by zhaopeng end
|
|
81
|
+
|
|
82
|
+
public void createRootNode(int id) {
|
|
83
|
+
RenderNode uiNode = new RenderNode(id, NodeProps.ROOT_NODE, mControllerManager);
|
|
84
|
+
mNodes.put(id, uiNode);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
public void destroy() {
|
|
88
|
+
getControllerManager().destroy();
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
public void createNode(HippyRootView hippyRootView, int id, int pId, int childIndex,
|
|
92
|
+
String className, HippyMap props) {
|
|
93
|
+
LogUtils.d("RenderManager",
|
|
94
|
+
"createNode ID " + id + " mParentId " + pId + " index " + childIndex + "className"
|
|
95
|
+
+ className);
|
|
96
|
+
|
|
97
|
+
// mContext.getGlobalConfigs().getLogAdapter().log(TAG,"createNode ID " + id + " mParentId " + pId + " index " + childIndex + "className" + className);
|
|
98
|
+
RenderNode parentNode = mNodes.get(pId);
|
|
99
|
+
|
|
100
|
+
boolean isLazy = mControllerManager.isControllerLazy(className);
|
|
101
|
+
RenderNode uiNode = mControllerManager
|
|
102
|
+
.createRenderNode(id, props, className, hippyRootView, isLazy || parentNode.mIsLazyLoad);
|
|
103
|
+
|
|
104
|
+
mNodes.put(id, uiNode);
|
|
105
|
+
|
|
106
|
+
mPreIsLazy.remove(id);
|
|
107
|
+
|
|
108
|
+
parentNode.addChild(uiNode, childIndex);
|
|
109
|
+
|
|
110
|
+
addUpdateNodeIfNeeded(parentNode);
|
|
111
|
+
|
|
112
|
+
addUpdateNodeIfNeeded(uiNode);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
public void addUpdateNodeIfNeeded(RenderNode renderNode) {
|
|
116
|
+
if (!mUIUpdateNodes.contains(renderNode)) {
|
|
117
|
+
if (null != renderNode) {
|
|
118
|
+
mUIUpdateNodes.add(renderNode);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
void addNullUINodeIfNeeded(RenderNode renderNode) {
|
|
124
|
+
if (!mNullUIUpdateNodes.contains(renderNode)) {
|
|
125
|
+
mNullUIUpdateNodes.add(renderNode);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
public void updateLayout(int id, int x, int y, int w, int h) {
|
|
130
|
+
LogUtils.d("RenderManager", "updateLayout ID " + id);
|
|
131
|
+
RenderNode uiNode = mNodes.get(id);
|
|
132
|
+
uiNode.updateLayout(x, y, w, h);
|
|
133
|
+
|
|
134
|
+
addUpdateNodeIfNeeded(uiNode);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
public void updateNode(int id, HippyMap map) {
|
|
138
|
+
LogUtils.d("RenderManager", "updateNode ID " + id);
|
|
139
|
+
RenderNode uiNode = mNodes.get(id);
|
|
140
|
+
uiNode.updateNode(map);
|
|
141
|
+
addUpdateNodeIfNeeded(uiNode);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
public void moveNode(ArrayList<Integer> moveIds, int pId, int id) {
|
|
145
|
+
|
|
146
|
+
RenderNode parentNode = mNodes.get(pId);
|
|
147
|
+
RenderNode newParent = mNodes.get(id);
|
|
148
|
+
List<RenderNode> arrayList = new ArrayList<>();
|
|
149
|
+
|
|
150
|
+
for (int i = 0; i < moveIds.size(); i++) {
|
|
151
|
+
RenderNode renderNode = mNodes.get(moveIds.get(i));
|
|
152
|
+
arrayList.add(renderNode);
|
|
153
|
+
parentNode.removeChild(renderNode);
|
|
154
|
+
newParent.addChild(renderNode, i);
|
|
155
|
+
}
|
|
156
|
+
// mContext.getGlobalConfigs().getLogAdapter().log(TAG,"render moveNode pId:" + pId+" id: "+id+" moveids:"+moveIds.toString());
|
|
157
|
+
parentNode.move(arrayList, id);
|
|
158
|
+
addUpdateNodeIfNeeded(newParent);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
public void updateExtra(int id, Object object) {
|
|
162
|
+
LogUtils.d("RenderManager", "updateExtra ID " + id);
|
|
163
|
+
RenderNode uiNode = mNodes.get(id);
|
|
164
|
+
uiNode.updateExtra(object);
|
|
165
|
+
|
|
166
|
+
addUpdateNodeIfNeeded(uiNode);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
public void deleteNode(int id) {
|
|
170
|
+
RenderNode uiNode = mNodes.get(id);
|
|
171
|
+
uiNode.setDelete(true);
|
|
172
|
+
|
|
173
|
+
if (uiNode.mParent != null && mControllerManager.hasView(id)) {
|
|
174
|
+
uiNode.mParent.addDeleteId(id, uiNode);
|
|
175
|
+
addUpdateNodeIfNeeded(uiNode.mParent);
|
|
176
|
+
} else if (TextUtils.equals(NodeProps.ROOT_NODE, uiNode.getClassName())) {
|
|
177
|
+
addUpdateNodeIfNeeded(uiNode);
|
|
178
|
+
}
|
|
179
|
+
deleteSelfFromParent(uiNode);
|
|
180
|
+
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
public void dispatchUIFunction(int id, String functionName, HippyArray var, Promise promise) {
|
|
184
|
+
RenderNode renderNode = mNodes.get(id);
|
|
185
|
+
if (renderNode != null) {
|
|
186
|
+
renderNode.dispatchUIFunction(functionName, var, promise);
|
|
187
|
+
addNullUINodeIfNeeded(renderNode);
|
|
188
|
+
} else {
|
|
189
|
+
LogUtils.d("RenderManager", "dispatchUIFunction Node Null");
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
public void nonUIBatchEnd() {
|
|
195
|
+
LogUtils.d("RenderManager", "do nonUIBatchEnd size " + mUIUpdateNodes.size());
|
|
196
|
+
// mContext.getGlobalConfigs().getLogAdapter().log(TAG,"do nonUIBatchEnd size " + mShouldUpdateNodes.size());
|
|
197
|
+
|
|
198
|
+
for (int i = 0; i < mUIUpdateNodes.size(); i++) {
|
|
199
|
+
mUIUpdateNodes.get(i).createView();
|
|
200
|
+
}
|
|
201
|
+
for (int i = 0; i < mUIUpdateNodes.size(); i++) {
|
|
202
|
+
RenderNode uiNode = mUIUpdateNodes.get(i);
|
|
203
|
+
uiNode.update();
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
mUIUpdateNodes.clear();
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
public void batch() {
|
|
210
|
+
LogUtils.d("RenderManager", "do batch size " + mUIUpdateNodes.size());
|
|
211
|
+
// mContext.getGlobalConfigs().getLogAdapter().log(TAG,"do batch size " + mShouldUpdateNodes.size());
|
|
212
|
+
|
|
213
|
+
for (int i = 0; i < mUIUpdateNodes.size(); i++) {
|
|
214
|
+
mUIUpdateNodes.get(i).createView();
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
for (int i = 0; i < mUIUpdateNodes.size(); i++) {
|
|
218
|
+
RenderNode uiNode = mUIUpdateNodes.get(i);
|
|
219
|
+
uiNode.update();
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
for (int i = 0; i < mUIUpdateNodes.size(); i++) {
|
|
223
|
+
RenderNode uiNode = mUIUpdateNodes.get(i);
|
|
224
|
+
uiNode.batchComplete();
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
mUIUpdateNodes.clear();
|
|
228
|
+
// measureInWindow and dispatch ui function
|
|
229
|
+
for (int i = 0; i < mNullUIUpdateNodes.size(); i++) {
|
|
230
|
+
mNullUIUpdateNodes.get(i).createView();
|
|
231
|
+
}
|
|
232
|
+
for (int i = 0; i < mNullUIUpdateNodes.size(); i++) {
|
|
233
|
+
mNullUIUpdateNodes.get(i).update();
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
mNullUIUpdateNodes.clear();
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
private void deleteSelfFromParent(RenderNode uiNode) {
|
|
240
|
+
|
|
241
|
+
LogUtils.d("RenderManager", "delete RenderNode " + uiNode.mId + " class " + uiNode.mClassName);
|
|
242
|
+
// mContext.getGlobalConfigs().getLogAdapter().log(TAG,"delete RenderNode " + uiNode.mId + " class " + uiNode.mClassName);
|
|
243
|
+
if (uiNode.mParent != null) {
|
|
244
|
+
uiNode.mParent.removeChild(uiNode);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
mNodes.remove(uiNode.mId);
|
|
248
|
+
|
|
249
|
+
int childCount = uiNode.getChildCount();
|
|
250
|
+
for (int i = 0; i < childCount; i++) {
|
|
251
|
+
deleteSelfFromParent(uiNode.getChildAt(0));
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
public DomNode createStyleNode(String className, boolean isVirtual, int id, int rootId) {
|
|
256
|
+
DomNode domNode = mControllerManager.createStyleNode(className, isVirtual, rootId);
|
|
257
|
+
domNode.setViewClassName(className);
|
|
258
|
+
domNode.setId(id);
|
|
259
|
+
return domNode;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
public RenderNode getRenderNode(int id) {
|
|
263
|
+
try {
|
|
264
|
+
return mNodes.get(id);
|
|
265
|
+
} catch (Exception e) {
|
|
266
|
+
return null;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
public void replaceID(int oldId, int newId) {
|
|
271
|
+
mControllerManager.replaceID(oldId, newId);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
public void measureInWindow(int id, Promise promise) {
|
|
276
|
+
RenderNode renderNode = mNodes.get(id);
|
|
277
|
+
if (renderNode == null) {
|
|
278
|
+
promise.reject("this view is null");
|
|
279
|
+
} else {
|
|
280
|
+
renderNode.measureInWindow(promise);
|
|
281
|
+
|
|
282
|
+
addNullUINodeIfNeeded(renderNode);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
public void createPreView(HippyRootView hippyRootView, int id, int pid, int mIndex,
|
|
288
|
+
String className, HippyMap newProps) {
|
|
289
|
+
|
|
290
|
+
boolean isLazy = mControllerManager.isControllerLazy(className);
|
|
291
|
+
|
|
292
|
+
RenderNode parentNode = mNodes.get(pid);
|
|
293
|
+
if (parentNode != null) {
|
|
294
|
+
isLazy = isLazy || parentNode.mIsLazyLoad;
|
|
295
|
+
} else {
|
|
296
|
+
isLazy = isLazy || mPreIsLazy.get(pid);
|
|
297
|
+
}
|
|
298
|
+
mPreIsLazy.put(id, isLazy);
|
|
299
|
+
|
|
300
|
+
if (!isLazy) {
|
|
301
|
+
mControllerManager.createPreView(hippyRootView, id, className, newProps);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|