@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,247 @@
|
|
|
1
|
+
package com.tencent.extend.views.fastlist;
|
|
2
|
+
|
|
3
|
+
import android.text.TextUtils;
|
|
4
|
+
import android.util.Log;
|
|
5
|
+
|
|
6
|
+
import android.support.annotation.Nullable;
|
|
7
|
+
|
|
8
|
+
import com.tencent.mtt.hippy.common.HippyMap;
|
|
9
|
+
import com.tencent.mtt.hippy.utils.LogUtils;
|
|
10
|
+
|
|
11
|
+
import java.util.Arrays;
|
|
12
|
+
|
|
13
|
+
public class TemplateCodeParser {
|
|
14
|
+
static final String TAG = "TemplateCodeParser";
|
|
15
|
+
|
|
16
|
+
public static final String PENDING_PROP_TRANSLATION = "translation";
|
|
17
|
+
public static final String PENDING_PROP_SIZE = "size";
|
|
18
|
+
public static final String PENDING_PROP_LAYOUT = "layout";
|
|
19
|
+
public static final String PENDING_PROP_FLEX_STYLE = "flexStyle";
|
|
20
|
+
public static final String PLACEHOLDER_STYLE = "placeholderStyle";
|
|
21
|
+
public static final String ITEM_SID = "itemSID";
|
|
22
|
+
@Deprecated
|
|
23
|
+
public static final String PENDING_PROP_EVENT_CLICK = "eventClick";
|
|
24
|
+
@Deprecated
|
|
25
|
+
public static final String PENDING_PROP_EVENT_FOCUS = "eventFocus";
|
|
26
|
+
public static final String PENDING_PROP_SHOW_IF = "showIf";
|
|
27
|
+
public static final String PENDING_PROP_CREATE_IF = "createIf";
|
|
28
|
+
|
|
29
|
+
public static final String[] PENDING_PROPS_EVENT = new String[]{
|
|
30
|
+
// FastAdapter.PENDING_PROP_TRANSLATION,
|
|
31
|
+
// FastAdapter.PENDING_PROP_SIZE,
|
|
32
|
+
// FastAdapter.PENDING_PROP_LAYOUT,
|
|
33
|
+
// FastAdapter.PENDING_PROP_FLEX_STYLE,
|
|
34
|
+
PENDING_PROP_EVENT_CLICK,
|
|
35
|
+
PENDING_PROP_EVENT_FOCUS,
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
static String parsePendingProp(Object object){
|
|
39
|
+
if(object instanceof String){
|
|
40
|
+
final String value = ((String) object).trim();
|
|
41
|
+
// if(value.contains("=")){
|
|
42
|
+
// //等式不是pendingProp
|
|
43
|
+
// return null;
|
|
44
|
+
// }
|
|
45
|
+
if(value.length() > 3 && value.startsWith("${") ){
|
|
46
|
+
return value.substring(2,value.length() - 1);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// static boolean isEquationProp(String prop){
|
|
53
|
+
// return PENDING_PROP_SHOW_IF.equals(prop);
|
|
54
|
+
// }
|
|
55
|
+
|
|
56
|
+
static boolean isEquationProp(Object object){
|
|
57
|
+
return object instanceof String && ((String) object).startsWith("${") && ((String) object).contains("=");
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/* 判断等式是否成立
|
|
61
|
+
<!-- showIf="${detailStyle=2}"-->
|
|
62
|
+
<!-- showIf="${isMark=false}"-->
|
|
63
|
+
<!-- showIf="${name=MyName}"-->
|
|
64
|
+
*/
|
|
65
|
+
public static boolean parseBooleanFromPendingProp(String prop,HippyMap dataMap,Object code){
|
|
66
|
+
if(code instanceof String){
|
|
67
|
+
final String value = ((String) code).trim();
|
|
68
|
+
if(value.length() > 3 && value.startsWith("${")){
|
|
69
|
+
final String[] eq_array = value.substring(2,value.length() - 1).split("==");
|
|
70
|
+
final String valueAfter = eq_array[1];
|
|
71
|
+
final String key = eq_array[0];
|
|
72
|
+
Object dataFromMap = getValueFromCode(dataMap, key);
|
|
73
|
+
if(dataFromMap == null){
|
|
74
|
+
if(LogUtils.isDebug()) {
|
|
75
|
+
Log.i(TAG, "parseBooleanTemplate return false on key :" + key + ",valueAfter:" + valueAfter + ",dataFromMap:" + null+",dataMap:"+dataMap);
|
|
76
|
+
}
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
if(LogUtils.isDebug()) {
|
|
80
|
+
Log.i(TAG, "parseBooleanTemplate key :" + key + ",valueAfter:" + valueAfter + ",dataFromMap:" + dataFromMap);
|
|
81
|
+
}
|
|
82
|
+
try {
|
|
83
|
+
if (isNumeric(valueAfter)) {
|
|
84
|
+
//数字
|
|
85
|
+
if(LogUtils.isDebug()) {
|
|
86
|
+
int number = (int) dataFromMap;
|
|
87
|
+
if(LogUtils.isDebug()) {
|
|
88
|
+
Log.i(TAG, "parseBooleanTemplate 1 key :" + key + ",valueAfter:" + valueAfter + ",number:" + number);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return (int)dataFromMap == Integer.parseInt(valueAfter);
|
|
92
|
+
}
|
|
93
|
+
}catch (Exception ignored){
|
|
94
|
+
if(LogUtils.isDebug()) {
|
|
95
|
+
Log.e(TAG, "parseBooleanTemplate return error on key :" + key + ",valueAfter:" + valueAfter + ",dataFromMap:" + dataFromMap);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if("true".equals(valueAfter) || "false".equals(valueAfter)){
|
|
99
|
+
if(LogUtils.isDebug()) {
|
|
100
|
+
Log.i(TAG, "parseBooleanTemplate 444 key :" + key + ",valueAfter:" + valueAfter + ",dataFromMap:" + dataFromMap);
|
|
101
|
+
}
|
|
102
|
+
if(dataFromMap instanceof Boolean){
|
|
103
|
+
if(LogUtils.isDebug()) {
|
|
104
|
+
Log.i(TAG, "parseBooleanTemplate return instance boolean on key :" + key + ",valueAfter:" + valueAfter + ",dataFromMap:" + dataFromMap);
|
|
105
|
+
}
|
|
106
|
+
return Boolean.parseBoolean(valueAfter) == (Boolean) dataFromMap;
|
|
107
|
+
}
|
|
108
|
+
if(dataFromMap instanceof String) {
|
|
109
|
+
if(LogUtils.isDebug()) {
|
|
110
|
+
Log.i(TAG, "parseBooleanTemplate return instance String on key :" + key + ",valueAfter:" + valueAfter + ",dataFromMap:" + dataFromMap);
|
|
111
|
+
}
|
|
112
|
+
return valueAfter.equals(dataFromMap);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if(LogUtils.isDebug()) {
|
|
116
|
+
final Object stringStr = dataFromMap;
|
|
117
|
+
Log.i(TAG, "parseBooleanTemplate 3 key :" + key + ",valueAfter:" + valueAfter+",stringStr:"+stringStr);
|
|
118
|
+
}
|
|
119
|
+
return valueAfter.equals(dataFromMap);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
Log.i(TAG,"parseBooleanTemplate final return false on prop:"+prop);
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
public static boolean isNumeric(final CharSequence cs) {
|
|
127
|
+
// 判断是否为空,如果为空则返回false
|
|
128
|
+
if (cs == null || cs.length() < 1) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
// 通过 length() 方法计算cs传入进来的字符串的长度,并将字符串长度存放到sz中
|
|
132
|
+
final int sz = cs.length();
|
|
133
|
+
// 通过字符串长度循环
|
|
134
|
+
for (int i = 0; i < sz; i++) {
|
|
135
|
+
// 判断每一个字符是否为数字,如果其中有一个字符不满足,则返回false
|
|
136
|
+
if (!Character.isDigit(cs.charAt(i))) {
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// 验证全部通过则返回true
|
|
141
|
+
return true;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
public static boolean isPendingPro(Object object) {
|
|
145
|
+
if(object instanceof String){
|
|
146
|
+
final String value = ((String) object).trim();
|
|
147
|
+
if(value.contains("=")){
|
|
148
|
+
//等式不是pendingProp
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
if(value.length() > 3 && value.startsWith("${") ){
|
|
152
|
+
return true;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
public static boolean isPendingProForce(Object object) {
|
|
159
|
+
if(object instanceof String){
|
|
160
|
+
final String value = ((String) object).trim();
|
|
161
|
+
return value.startsWith("${");
|
|
162
|
+
}
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
public static Object getValueFromCode(final HippyMap data,@Nullable final String code){
|
|
166
|
+
if(code != null && code.contains(".")){
|
|
167
|
+
// if(LogUtils.isDebug()) {
|
|
168
|
+
// Log.d(TAG, "getValueFromCode code: " + code+",data:"+data);
|
|
169
|
+
// }
|
|
170
|
+
//xx.yy.zz
|
|
171
|
+
String[] keys = code.split("\\.");
|
|
172
|
+
HippyMap target = data;
|
|
173
|
+
for(int i = 0; i < keys.length; i ++){
|
|
174
|
+
final String key = keys[i];
|
|
175
|
+
final Object object = target.containsKey(key)? target.get(key) : null;
|
|
176
|
+
if(i == keys.length -1){
|
|
177
|
+
//最后一个
|
|
178
|
+
// if(LogUtils.isDebug()) {
|
|
179
|
+
// Log.d(TAG, "getValueFromCode find return object:" + object+",key:"+key);
|
|
180
|
+
// }
|
|
181
|
+
return object;
|
|
182
|
+
}else{
|
|
183
|
+
if(object instanceof HippyMap){
|
|
184
|
+
target = (HippyMap) object;
|
|
185
|
+
}else if(object != null){
|
|
186
|
+
throw new IllegalArgumentException("item Data 暂只支持map key:"+key+",object:"+object+",target:"+target+",code:"+code);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return null;
|
|
191
|
+
}else {
|
|
192
|
+
// if(LogUtils.isDebug()) {
|
|
193
|
+
// Log.d(TAG, "getValueFromCode directly key:" + code);
|
|
194
|
+
// }
|
|
195
|
+
return data.get(code);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
public static void setValueFromCode(final HippyMap data, final String code,final Object newData){
|
|
200
|
+
if(code.contains(".")){
|
|
201
|
+
if(LogUtils.isDebug()) {
|
|
202
|
+
Log.d("Utils", "setValueFromCode code: " + code);
|
|
203
|
+
}
|
|
204
|
+
//xx.yy.zz
|
|
205
|
+
String[] keys = code.split("\\.");
|
|
206
|
+
HippyMap target = data;
|
|
207
|
+
for(int i = 0; i < keys.length; i ++){
|
|
208
|
+
final String key = keys[i];
|
|
209
|
+
final Object object = target.containsKey(key)? target.get(key) : null;
|
|
210
|
+
if(i == keys.length -1){
|
|
211
|
+
//最后一个
|
|
212
|
+
if(LogUtils.isDebug()) {
|
|
213
|
+
Log.i("Utils", "setValueFromCode find return target:" + target+",key:"+key+",newData:"+newData);
|
|
214
|
+
}
|
|
215
|
+
target.pushObject(key,newData);
|
|
216
|
+
}else{
|
|
217
|
+
if(object instanceof HippyMap){
|
|
218
|
+
target = (HippyMap) object;
|
|
219
|
+
}else{
|
|
220
|
+
throw new IllegalArgumentException("item Data 暂只支持map key:"+key+",object:"+object+",target:"+target+",code:"+code);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}else {
|
|
225
|
+
// Log.d(TAG,"getValueFromCode directly key:"+code);
|
|
226
|
+
data.pushObject(code,newData);
|
|
227
|
+
if(LogUtils.isDebug()) {
|
|
228
|
+
Log.i("Utils", "setValueFromCode setData:" + data+",key:"+code+",newData:"+newData);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
static String parsePlaceholderProp(String prop,HippyMap map){
|
|
234
|
+
Object object = map.get(prop);
|
|
235
|
+
final String valueKey = TemplateCodeParser.parsePendingProp(object);
|
|
236
|
+
if(!TextUtils.isEmpty(valueKey)) {
|
|
237
|
+
return valueKey;
|
|
238
|
+
}else{
|
|
239
|
+
final int index = Arrays.binarySearch(TemplateCodeParser.PENDING_PROPS_EVENT, prop);
|
|
240
|
+
if (index > -1) {
|
|
241
|
+
return TemplateCodeParser.PENDING_PROPS_EVENT[index];
|
|
242
|
+
}else{
|
|
243
|
+
return null;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|