@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,425 @@
|
|
|
1
|
+
package com.tencent.mtt.hippy.uimanager;
|
|
2
|
+
|
|
3
|
+
import android.content.Context;
|
|
4
|
+
import android.util.Log;
|
|
5
|
+
import android.view.View;
|
|
6
|
+
|
|
7
|
+
import android.support.annotation.Nullable;
|
|
8
|
+
|
|
9
|
+
import com.tencent.extend.FocusManagerModule;
|
|
10
|
+
import com.tencent.mtt.hippy.common.HippyArray;
|
|
11
|
+
import com.tencent.mtt.hippy.common.HippyMap;
|
|
12
|
+
import com.tencent.mtt.hippy.dom.node.NodeProps;
|
|
13
|
+
import com.tencent.mtt.hippy.modules.Promise;
|
|
14
|
+
import com.tencent.mtt.hippy.utils.ArgumentUtils;
|
|
15
|
+
import com.tencent.mtt.hippy.utils.LogUtils;
|
|
16
|
+
import com.tencent.extend.views.fastlist.TemplateCodeParser;
|
|
17
|
+
import com.tencent.mtt.hippy.views.view.HippyViewGroup;
|
|
18
|
+
|
|
19
|
+
import java.util.HashSet;
|
|
20
|
+
import java.util.Map;
|
|
21
|
+
import java.util.Set;
|
|
22
|
+
|
|
23
|
+
import eskit.sdk.support.IEsComponentTag;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* create by zhaopeng
|
|
27
|
+
* 2022-04-17
|
|
28
|
+
*/
|
|
29
|
+
public class CustomControllerHelper {
|
|
30
|
+
public static final String TAG = "FastListCCH";
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
public static void updateView(ControllerManager m, View view, String name, HippyMap newProps) {
|
|
34
|
+
final HippyViewController viewComponent = m.mControllerRegistry.getViewController(name);
|
|
35
|
+
updateView(m, view, viewComponent, newProps);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
public static void updateView(ControllerManager m, View view, HippyViewController viewComponent, HippyMap newProps) {
|
|
39
|
+
if (view != null && viewComponent != null && newProps != null) {
|
|
40
|
+
m.mControllerUpdateManger.updateProps(viewComponent, view, newProps);
|
|
41
|
+
viewComponent.onAfterUpdateProps(view);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
public static void updateLayout(View view, int x, int y, int width, int height) {
|
|
46
|
+
if(view.getWidth() < 1 || view.getHeight() < 1 ||
|
|
47
|
+
view.getWidth() != width || view.getHeight() != height){
|
|
48
|
+
//尺寸有变化
|
|
49
|
+
view.measure(View.MeasureSpec.makeMeasureSpec(width, View.MeasureSpec.EXACTLY),
|
|
50
|
+
View.MeasureSpec.makeMeasureSpec(height, View.MeasureSpec.EXACTLY));
|
|
51
|
+
view.layout(x, y, x + width, y + height);
|
|
52
|
+
}else if(view.getLeft() != x || view.getTop() != y){
|
|
53
|
+
view.layout(x,y,x + view.getWidth(),y + view.getHeight());
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
public View createView(ControllerManager m, String name, HippyMap newProps) {
|
|
58
|
+
final HippyViewController viewComponent = m.mControllerRegistry.getViewController(name);
|
|
59
|
+
if (viewComponent != null) {
|
|
60
|
+
return viewComponent.createViewImpl(m.mContext.getGlobalConfigs().getContext(), newProps);
|
|
61
|
+
}
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
static ControllerRegistry getControllerRegistry(ControllerManager controllerManager) {
|
|
66
|
+
return controllerManager.mControllerRegistry;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
public static HippyViewController getViewControllerByName(ControllerManager controllerManager, String className) {
|
|
70
|
+
return getControllerRegistry(controllerManager).getViewController(className);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
public static @Nullable HippyViewController getViewController(ControllerManager controllerManager, RenderNode node) {
|
|
74
|
+
if (node == null) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
return getControllerRegistry(controllerManager).getViewController(node.getClassName());
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
public static View createViewImpl(Context context, HippyViewController controller) {
|
|
82
|
+
return controller.createViewImpl(context);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
public static View createViewImpl(Context context, HippyMap iniProps, HippyViewController controller) {
|
|
87
|
+
return controller.createViewImpl(context, iniProps);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
public static Context getContext(RenderNode node) {
|
|
92
|
+
return node.mRootView.getContext();
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
public static void updateExtra(ControllerManager m, View view, String name, Object object) {
|
|
96
|
+
HippyViewController component = m.mControllerRegistry.getViewController(name);
|
|
97
|
+
component.updateExtra(view, object);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
public static void updateExtra(HippyViewController c, View view, Object textExtra) {
|
|
101
|
+
c.updateExtra(view, textExtra);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
public static void updateExtraIfNeed(HippyViewController c, View view, RenderNode node) {
|
|
105
|
+
if (node.mTextExtra != null && c != null) {
|
|
106
|
+
c.updateExtra(view, node.mTextExtra);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
public static Object getTextExtra(RenderNode node) {
|
|
112
|
+
return node.mTextExtra;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
public static void dispatchUIFunction(ControllerManager m, View view, String className, String functionName, HippyArray var,
|
|
116
|
+
Promise promise) {
|
|
117
|
+
HippyViewController hippyViewController = m.mControllerRegistry.getViewController(className);
|
|
118
|
+
if (promise == null || !promise.isCallback()) {
|
|
119
|
+
hippyViewController.dispatchFunction(view, functionName, var);
|
|
120
|
+
} else {
|
|
121
|
+
hippyViewController.dispatchFunction(view, functionName, var, promise);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// public static Map<String, ControllerUpdateManger.PropsMethodHolder> findPropsMethod(Class cla) {
|
|
127
|
+
// Map<String, ControllerUpdateManger.PropsMethodHolder> hashMap = new HashMap<>();
|
|
128
|
+
// findPropsMethod(cla, hashMap);
|
|
129
|
+
// return hashMap;
|
|
130
|
+
// }
|
|
131
|
+
|
|
132
|
+
// public static Map<String, ControllerUpdateManger.PropsMethodHolder> findPropsMethodGlobal(Class cla) {
|
|
133
|
+
// return ControllerUpdateManger.getPropsMethodSafety(cla);
|
|
134
|
+
// }
|
|
135
|
+
|
|
136
|
+
// public static void findPropsMethod(Class cls, Map<String, ControllerUpdateManger.PropsMethodHolder> hashMap) {
|
|
137
|
+
// if (cls != HippyViewController.class) {
|
|
138
|
+
// // find parent methods first
|
|
139
|
+
// findPropsMethod(cls.getSuperclass(), hashMap);
|
|
140
|
+
// }
|
|
141
|
+
//
|
|
142
|
+
// Map<String, ControllerUpdateManger.PropsMethodHolder> methodHolder = ControllerUpdateManger.CLASS_PROPS_METHOD.get(cls);
|
|
143
|
+
// if (methodHolder == null) {
|
|
144
|
+
// Log.e(TAG,"findPropsMethodXX methodHolder == null cls : "+cls);
|
|
145
|
+
//
|
|
146
|
+
// Method[] methods = cls.getMethods();
|
|
147
|
+
// for (Method method : methods) {
|
|
148
|
+
// HippyControllerProps controllerProps = method.getAnnotation(HippyControllerProps.class);
|
|
149
|
+
// if (controllerProps != null) {
|
|
150
|
+
// String style = controllerProps.name();
|
|
151
|
+
// ControllerUpdateManger.PropsMethodHolder propsMethodHolder = new ControllerUpdateManger.PropsMethodHolder();
|
|
152
|
+
// propsMethodHolder.mDefaultNumber = controllerProps.defaultNumber();
|
|
153
|
+
// propsMethodHolder.mDefaultType = controllerProps.defaultType();
|
|
154
|
+
// propsMethodHolder.mDefaultString = controllerProps.defaultString();
|
|
155
|
+
// propsMethodHolder.mDefaultBoolean = controllerProps.defaultBoolean();
|
|
156
|
+
// propsMethodHolder.mMethod = method;
|
|
157
|
+
// hashMap.put(style, propsMethodHolder);
|
|
158
|
+
// }
|
|
159
|
+
// }
|
|
160
|
+
// // put to CLASS_PROPS_METHOD
|
|
161
|
+
// ControllerUpdateManger.CLASS_PROPS_METHOD.put(cls, new HashMap<>(hashMap));
|
|
162
|
+
// } else {
|
|
163
|
+
// Log.i(TAG,"findPropsMethodXX methodHolder != null cls : "+cls+",methodHolder:"+methodHolder);
|
|
164
|
+
// hashMap.putAll(methodHolder);
|
|
165
|
+
// }
|
|
166
|
+
//
|
|
167
|
+
// }
|
|
168
|
+
//
|
|
169
|
+
//
|
|
170
|
+
// public static void invokePropMethod(HippyViewController t, View g, HippyMap hippyMap, String prop,
|
|
171
|
+
// ControllerUpdateManger.PropsMethodHolder propsMethodHolder) {
|
|
172
|
+
// try {
|
|
173
|
+
//
|
|
174
|
+
// if (hippyMap.get(prop) == null) {
|
|
175
|
+
// switch (propsMethodHolder.mDefaultType) {
|
|
176
|
+
// case HippyControllerProps.BOOLEAN:
|
|
177
|
+
// if (LogUtils.isDebug()) {
|
|
178
|
+
// LogUtils.v(TAG, "propsMethodHolder prop1 " + prop + ",invoke t:" + t + ",g:" + g + ",object:" + propsMethodHolder.mDefaultBoolean);
|
|
179
|
+
// }
|
|
180
|
+
// propsMethodHolder.mMethod.invoke(t, g, propsMethodHolder.mDefaultBoolean);
|
|
181
|
+
// break;
|
|
182
|
+
// case HippyControllerProps.NUMBER:
|
|
183
|
+
// if (propsMethodHolder.mTypes == null) {
|
|
184
|
+
// propsMethodHolder.mTypes = propsMethodHolder.mMethod.getGenericParameterTypes();
|
|
185
|
+
// }
|
|
186
|
+
// if (LogUtils.isDebug()) {
|
|
187
|
+
// LogUtils.v(TAG, "propsMethodHolder prop2 " + prop + ",invoke t:" + t + ",g:" + g + ",object:" + propsMethodHolder.mDefaultNumber);
|
|
188
|
+
// }
|
|
189
|
+
// propsMethodHolder.mMethod.invoke(t, g, ArgumentUtils
|
|
190
|
+
// .parseArgument(propsMethodHolder.mTypes[1], propsMethodHolder.mDefaultNumber));
|
|
191
|
+
// break;
|
|
192
|
+
// case HippyControllerProps.STRING:
|
|
193
|
+
// if (LogUtils.isDebug()) {
|
|
194
|
+
// LogUtils.v(TAG, "propsMethodHolder prop3 " + prop + ",invoke t:" + t + ",g:" + g + ",object:" + propsMethodHolder.mDefaultString);
|
|
195
|
+
// }
|
|
196
|
+
// propsMethodHolder.mMethod.invoke(t, g, propsMethodHolder.mDefaultString);
|
|
197
|
+
// break;
|
|
198
|
+
// default:
|
|
199
|
+
// if (LogUtils.isDebug()) {
|
|
200
|
+
// LogUtils.v(TAG, "propsMethodHolder prop4 " + prop + ",invoke t:" + t + ",g:" + g + ",object: null");
|
|
201
|
+
// }
|
|
202
|
+
// propsMethodHolder.mMethod.invoke(t, g, null);
|
|
203
|
+
// break;
|
|
204
|
+
// }
|
|
205
|
+
// } else {
|
|
206
|
+
// Object object = hippyMap.get(prop);
|
|
207
|
+
// if (object instanceof String) {
|
|
208
|
+
// if (TemplateCodeParser.isPendingPro(object)) {
|
|
209
|
+
// LogUtils.e(TAG, "skip on pendingPro:" + prop);
|
|
210
|
+
// return;
|
|
211
|
+
// }
|
|
212
|
+
// }
|
|
213
|
+
// if (object instanceof Number) {
|
|
214
|
+
// if (propsMethodHolder.mTypes == null) {
|
|
215
|
+
// propsMethodHolder.mTypes = propsMethodHolder.mMethod.getGenericParameterTypes();
|
|
216
|
+
// }
|
|
217
|
+
// object = ArgumentUtils.parseArgument(propsMethodHolder.mTypes[1], hippyMap, prop);
|
|
218
|
+
// }
|
|
219
|
+
// if (LogUtils.isDebug()) {
|
|
220
|
+
// LogUtils.v(TAG, "propsMethodHolder prop5 " + prop + ",invoke t:" + t + ",g:" + g + ",object:" + object);
|
|
221
|
+
// }
|
|
222
|
+
// propsMethodHolder.mMethod.invoke(t, g, object);
|
|
223
|
+
// }
|
|
224
|
+
// } catch (Throwable e) {
|
|
225
|
+
// if (LogUtils.isDebug()) {
|
|
226
|
+
// Log.e(TAG, "invokePropMethod Exception prop:" + prop + ",Exception:" + e.getMessage());
|
|
227
|
+
//// e.printStackTrace();
|
|
228
|
+
// }
|
|
229
|
+
// }
|
|
230
|
+
// }
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
public static Map<String, ControllerUpdateManger.PropsMethodHolder> findPropsMethodGlobal(Class cla) {
|
|
235
|
+
return ControllerUpdateManger.getPropsMethodSafety(cla);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* 执行node的属性
|
|
240
|
+
* @param t
|
|
241
|
+
* @param g
|
|
242
|
+
* @param prop
|
|
243
|
+
* @param object
|
|
244
|
+
*/
|
|
245
|
+
public static void invokePropMethodForPending(HippyViewController t, View g, String prop, Object object) {
|
|
246
|
+
Class cla = t.getClass();
|
|
247
|
+
Map<String, ControllerUpdateManger.PropsMethodHolder> methodHolder = findPropsMethodGlobal(cla);
|
|
248
|
+
|
|
249
|
+
ControllerUpdateManger.PropsMethodHolder propsMethodHolder = methodHolder.get(prop);
|
|
250
|
+
try {
|
|
251
|
+
if (propsMethodHolder != null) {
|
|
252
|
+
if(TemplateCodeParser.isPendingProForce(object)){
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
// if(LogUtils.isDebug()){
|
|
256
|
+
// if(g instanceof TVTextView){
|
|
257
|
+
// Log.v("AutoMeasure", "invokePropMethodForPending prop:" + prop + ",value:" + object+",view:"+g.hashCode());
|
|
258
|
+
// }
|
|
259
|
+
// }
|
|
260
|
+
if (object instanceof Number) {
|
|
261
|
+
if (propsMethodHolder.mTypes == null) {
|
|
262
|
+
propsMethodHolder.mTypes = propsMethodHolder.mMethod.getGenericParameterTypes();
|
|
263
|
+
}
|
|
264
|
+
object = ArgumentUtils.parseArgument(propsMethodHolder.mTypes[1], object);
|
|
265
|
+
}
|
|
266
|
+
// if (LogUtils.isDebug()) {
|
|
267
|
+
// Log.i(TAG, "invokePropMethodForPending prop:" + prop + ",value:" + object);
|
|
268
|
+
// }
|
|
269
|
+
propsMethodHolder.mMethod.invoke(t, g, object);
|
|
270
|
+
} else if (t instanceof IEsComponentTag) {
|
|
271
|
+
if(TemplateCodeParser.isPendingProForce(object)){
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
// if (LogUtils.isDebug()) {
|
|
275
|
+
// Log.i(TAG, "invokePropMethodForPending for IEsComponentTag prop:" + prop + ",value:" + object);
|
|
276
|
+
// }
|
|
277
|
+
// if(LogUtils.isDebug()){
|
|
278
|
+
// if(g instanceof TVTextView){
|
|
279
|
+
// Log.v("AutoMeasure", "invokePropMethodForPending for IEsComponentTag:" + prop + ",value:" + object+",view:"+g.hashCode());
|
|
280
|
+
// }
|
|
281
|
+
// }
|
|
282
|
+
try {
|
|
283
|
+
IEsComponentTag tagController = (IEsComponentTag) t;
|
|
284
|
+
tagController.invokePropMethodForPending(g, prop, object);
|
|
285
|
+
} catch (Exception e) {
|
|
286
|
+
if(LogUtils.isDebug()) {
|
|
287
|
+
e.printStackTrace();
|
|
288
|
+
}else{
|
|
289
|
+
Log.e(TAG,"invokePropMethodForPending error msg : "+e.getMessage());
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
} else {
|
|
293
|
+
if (LogUtils.isDebug()) {
|
|
294
|
+
Log.e(TAG, "invokePropMethodForPending propsMethodHolder is null, prop:" + prop + ",value:" + object);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
} catch (Exception e) {
|
|
299
|
+
if (LogUtils.isDebug()) {
|
|
300
|
+
Log.e(TAG, "invokePropMethodForPending Exception prop:" + prop + ",value:" + object + ",Exception:" + e.getMessage());
|
|
301
|
+
//e.printStackTrace();
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
// static void invokePropMethod4StyleSlot(HippyViewController t, View g, HippyMap hippyMap) {
|
|
308
|
+
// assert (hippyMap != null);
|
|
309
|
+
//
|
|
310
|
+
// Class cla = t.getClass();
|
|
311
|
+
// Map<String, ControllerUpdateManger.PropsMethodHolder> methodHolder = findPropsMethodGlobal(cla);
|
|
312
|
+
// Set<String> props = hippyMap.keySet();
|
|
313
|
+
// for (String prop : props) {
|
|
314
|
+
// ControllerUpdateManger.PropsMethodHolder propsMethodHolder = methodHolder.get(prop);
|
|
315
|
+
// Log.d(TAG, "invokePropMethod4StyleSlot prop:" + prop + ",value:" + hippyMap.get(prop));
|
|
316
|
+
// if (propsMethodHolder != null) {
|
|
317
|
+
// CustomControllerHelper.invokePropMethod(t, g, hippyMap, prop, propsMethodHolder);
|
|
318
|
+
// } else {
|
|
319
|
+
// Log.e(TAG, "invokePropMethod4StyleSlot error propsMethodHolder == null , prop:" + prop + ",value:" + hippyMap.get(prop));
|
|
320
|
+
// }
|
|
321
|
+
// }
|
|
322
|
+
// }
|
|
323
|
+
|
|
324
|
+
public static int dealWithColor(String colorString) {
|
|
325
|
+
return 0;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
public static void dealCustomProp(View view, HippyMap initialProps) {
|
|
329
|
+
//zhaopeng add 20201225 focus
|
|
330
|
+
if (view != null && initialProps != null) {
|
|
331
|
+
if (initialProps.containsKey(NodeProps.FOCUS_VIEW)) {
|
|
332
|
+
view.setFocusable(true);
|
|
333
|
+
if (view instanceof HippyViewGroup) {
|
|
334
|
+
((HippyViewGroup) view).setFocusBorderEnable(true);
|
|
335
|
+
((HippyViewGroup) view).setFocusScale(FocusManagerModule.defaultFocusScale);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
if (initialProps.containsKey("onChildFocus")) {
|
|
339
|
+
if (view instanceof ExtendViewGroup) {
|
|
340
|
+
((ExtendViewGroup) view).setDispatchChildFocusEvent(true);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
boolean containShowOnState = initialProps.containsKey("showOnState");
|
|
345
|
+
if (view instanceof StateView) {
|
|
346
|
+
if (containShowOnState) {
|
|
347
|
+
HippyArray array = initialProps.getArray("showOnState");
|
|
348
|
+
if (array != null) {
|
|
349
|
+
Set<String> customStates = new HashSet();
|
|
350
|
+
final int[] states = new int[array.size()];
|
|
351
|
+
for (int i = 0; i < array.size(); i++) {
|
|
352
|
+
final String s = array.getString(i);
|
|
353
|
+
switch (s) {
|
|
354
|
+
case "selected":
|
|
355
|
+
states[i] = android.R.attr.state_selected;
|
|
356
|
+
break;
|
|
357
|
+
case "focused":
|
|
358
|
+
states[i] = android.R.attr.state_focused;
|
|
359
|
+
break;
|
|
360
|
+
case "normal":
|
|
361
|
+
states[i] = -1;
|
|
362
|
+
break;
|
|
363
|
+
default:
|
|
364
|
+
customStates.add(s);
|
|
365
|
+
break;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
((StateView) view).setShowOnState(states);
|
|
369
|
+
if(customStates.size() > 0) {
|
|
370
|
+
String[] customStatesArray = new String[customStates.size()];
|
|
371
|
+
customStates.toArray(customStatesArray);
|
|
372
|
+
((StateView) view).setShowOnCustomState(customStatesArray);
|
|
373
|
+
}else{
|
|
374
|
+
((StateView) view).setShowOnCustomState(null);
|
|
375
|
+
}
|
|
376
|
+
} else {
|
|
377
|
+
String s = initialProps.getString("showOnState");
|
|
378
|
+
String customState = null;
|
|
379
|
+
int[] states = new int[1];
|
|
380
|
+
switch (s) {
|
|
381
|
+
case "selected":
|
|
382
|
+
states[0] = android.R.attr.state_selected;
|
|
383
|
+
break;
|
|
384
|
+
case "focused":
|
|
385
|
+
states[0] = android.R.attr.state_focused;
|
|
386
|
+
break;
|
|
387
|
+
case "normal":
|
|
388
|
+
states[0] = -1;
|
|
389
|
+
break;
|
|
390
|
+
case "selected&focused":
|
|
391
|
+
case "focused&selected":
|
|
392
|
+
states[0] = StateView.STATE_FOCUS_AND_SELECT;
|
|
393
|
+
break;
|
|
394
|
+
case "selected&!focused":
|
|
395
|
+
states[0] = StateView.STATE_SELECT_NO_FOCUS;
|
|
396
|
+
break;
|
|
397
|
+
case "focused&!selected":
|
|
398
|
+
states[0] = StateView.STATE_FOCUS_NO_SELECT;
|
|
399
|
+
break;
|
|
400
|
+
default:
|
|
401
|
+
customState = s;
|
|
402
|
+
break;
|
|
403
|
+
}
|
|
404
|
+
((StateView) view).setShowOnState(states);
|
|
405
|
+
if (customState == null) {
|
|
406
|
+
((StateView) view).setShowOnCustomState(null);
|
|
407
|
+
}else{
|
|
408
|
+
((StateView) view).setShowOnCustomState(new String[]{customState});
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
if (initialProps.containsKey("duplicateParentState") || containShowOnState) {
|
|
415
|
+
view.setDuplicateParentStateEnabled(true);
|
|
416
|
+
} else {
|
|
417
|
+
view.setDuplicateParentStateEnabled(false);
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
|
|
425
|
+
}
|