@quicktvui/ai 1.0.7 → 1.0.9

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.
Files changed (1379) hide show
  1. package/package.json +1 -1
  2. package/rules/.clinerules +28 -4
  3. package/rules/.cursorrules +28 -4
  4. package/rules/.github/copilot-instructions.md +28 -4
  5. package/rules/.source/hippy/extend_views/CoverFlowHorizontalView.java +203 -0
  6. package/rules/.source/hippy/extend_views/CoverFlowVerticalView.java +203 -0
  7. package/rules/.source/hippy/extend_views/CoverFlowViewController.java +195 -0
  8. package/rules/.source/hippy/extend_views/EngineRootView.java +125 -0
  9. package/rules/.source/hippy/extend_views/ExtendTag.java +83 -0
  10. package/rules/.source/hippy/extend_views/FocusSearchHelper.java +124 -0
  11. package/rules/.source/hippy/extend_views/IRecyclerItemView.java +12 -0
  12. package/rules/.source/hippy/extend_views/JSEventHandleView.java +5 -0
  13. package/rules/.source/hippy/extend_views/MarqueeRelayManager.java +133 -0
  14. package/rules/.source/hippy/extend_views/MarqueeRelayTextView.java +211 -0
  15. package/rules/.source/hippy/extend_views/ProgressBarView.java +83 -0
  16. package/rules/.source/hippy/extend_views/ProgressBarViewController.java +145 -0
  17. package/rules/.source/hippy/extend_views/SeekBarView.java +104 -0
  18. package/rules/.source/hippy/extend_views/SeekBarViewController.java +218 -0
  19. package/rules/.source/hippy/extend_views/StateImageView.java +149 -0
  20. package/rules/.source/hippy/extend_views/StateImageViewController.java +34 -0
  21. package/rules/.source/hippy/extend_views/TVButtonView.java +314 -0
  22. package/rules/.source/hippy/extend_views/TVButtonViewController.java +89 -0
  23. package/rules/.source/hippy/extend_views/TVTextView.java +684 -0
  24. package/rules/.source/hippy/extend_views/TVViewActor.java +811 -0
  25. package/rules/.source/hippy/extend_views/TVViewActorHost.java +6 -0
  26. package/rules/.source/hippy/extend_views/TVViewActor/346/216/245/345/205/245.md +66 -0
  27. package/rules/.source/hippy/extend_views/TemplateUtil.java +336 -0
  28. package/rules/.source/hippy/extend_views/TextButtonNode.java +47 -0
  29. package/rules/.source/hippy/extend_views/TextViewController.java +377 -0
  30. package/rules/.source/hippy/extend_views/fastlist/CenterFlyInAnimator.java +96 -0
  31. package/rules/.source/hippy/extend_views/fastlist/ChildOnScreenScroller.java +548 -0
  32. package/rules/.source/hippy/extend_views/fastlist/ClonedViewTag.java +17 -0
  33. package/rules/.source/hippy/extend_views/fastlist/EventDeliverer.java +55 -0
  34. package/rules/.source/hippy/extend_views/fastlist/FastAdapter.java +4683 -0
  35. package/rules/.source/hippy/extend_views/fastlist/FastAdapterUtil.java +982 -0
  36. package/rules/.source/hippy/extend_views/fastlist/FastFlexNode.java +48 -0
  37. package/rules/.source/hippy/extend_views/fastlist/FastFlexView.java +873 -0
  38. package/rules/.source/hippy/extend_views/fastlist/FastFlexViewController.java +130 -0
  39. package/rules/.source/hippy/extend_views/fastlist/FastItemNode.java +67 -0
  40. package/rules/.source/hippy/extend_views/fastlist/FastItemView.java +306 -0
  41. package/rules/.source/hippy/extend_views/fastlist/FastItemViewController.java +106 -0
  42. package/rules/.source/hippy/extend_views/fastlist/FastListModule.java +95 -0
  43. package/rules/.source/hippy/extend_views/fastlist/FastListNode.java +90 -0
  44. package/rules/.source/hippy/extend_views/fastlist/FastListView.java +2466 -0
  45. package/rules/.source/hippy/extend_views/fastlist/FastListViewController.java +1038 -0
  46. 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
  47. package/rules/.source/hippy/extend_views/fastlist/FastPendingView.java +47 -0
  48. package/rules/.source/hippy/extend_views/fastlist/ItemDecorations.java +71 -0
  49. package/rules/.source/hippy/extend_views/fastlist/ItemStoreNode.java +64 -0
  50. package/rules/.source/hippy/extend_views/fastlist/ItemStoreView.java +13 -0
  51. package/rules/.source/hippy/extend_views/fastlist/ItemStoreViewController.java +45 -0
  52. package/rules/.source/hippy/extend_views/fastlist/ListItemHolder.java +7 -0
  53. package/rules/.source/hippy/extend_views/fastlist/ListViewControlProp.java +41 -0
  54. package/rules/.source/hippy/extend_views/fastlist/MouseRecycleView.java +509 -0
  55. package/rules/.source/hippy/extend_views/fastlist/OnFastItemClickListener.java +12 -0
  56. package/rules/.source/hippy/extend_views/fastlist/OnFastItemFocusChangeListener.java +9 -0
  57. package/rules/.source/hippy/extend_views/fastlist/OnFastScrollStateChangedListener.java +7 -0
  58. package/rules/.source/hippy/extend_views/fastlist/PendingListNode.java +18 -0
  59. package/rules/.source/hippy/extend_views/fastlist/PendingViewController.java +13 -0
  60. package/rules/.source/hippy/extend_views/fastlist/PostHandlerView.java +6 -0
  61. package/rules/.source/hippy/extend_views/fastlist/PostTaskHolder.java +20 -0
  62. package/rules/.source/hippy/extend_views/fastlist/ReplaceChildController.java +105 -0
  63. package/rules/.source/hippy/extend_views/fastlist/ReplaceChildView.java +312 -0
  64. package/rules/.source/hippy/extend_views/fastlist/TVListView.java +3692 -0
  65. package/rules/.source/hippy/extend_views/fastlist/TemplateCodeParser.java +247 -0
  66. package/rules/.source/hippy/extend_views/fastlist/Utils.java +572 -0
  67. package/rules/.source/hippy/extend_views/fastlist/ViewTag.java +317 -0
  68. package/rules/.source/hippy/extend_views/fastlist/VirtualListView.java +8 -0
  69. package/rules/.source/hippy/extend_views/fastlist/diff/FastListDataBindingHelper.java +320 -0
  70. package/rules/.source/hippy/extend_views/fastlist/diff/KeyDiffHelper.java +289 -0
  71. package/rules/.source/hippy/extend_views/fastlist/diff/NoKeyDiffHelper.java +278 -0
  72. package/rules/.source/hippy/extend_views/tag/FontTag.java +53 -0
  73. package/rules/.source/hippy/extend_views/tag/HtmlTag.java +191 -0
  74. package/rules/.source/hippy/extend_views/tag/HtmlTagHandler.java +185 -0
  75. package/rules/.source/hippy/extend_views/tag/SpanTag.java +160 -0
  76. package/rules/.source/hippy/extend_views/tag/TextFontSpan.java +102 -0
  77. package/rules/.source/hippy/extend_views/waterfall/Chunk.java +10 -0
  78. package/rules/.source/hippy/extend_views/waterfall/ChunkGroup.java +5 -0
  79. package/rules/.source/hippy/extend_views/waterfall/Section.java +4 -0
  80. package/rules/.source/hippy/extend_views/waterfall/Tabs.java +5 -0
  81. package/rules/.source/hippy/extend_views/waterfall/WaterfallUtils.java +26 -0
  82. package/rules/.source/hippy/hippy_uimanager/ControllerHolder.java +30 -0
  83. package/rules/.source/hippy/hippy_uimanager/ControllerManager.java +651 -0
  84. package/rules/.source/hippy/hippy_uimanager/ControllerRegistry.java +102 -0
  85. package/rules/.source/hippy/hippy_uimanager/ControllerUpdateManger.java +252 -0
  86. package/rules/.source/hippy/hippy_uimanager/CustomControllerHelper.java +425 -0
  87. package/rules/.source/hippy/hippy_uimanager/DiffUtils.java +526 -0
  88. package/rules/.source/hippy/hippy_uimanager/ExtendViewGroup.java +36 -0
  89. package/rules/.source/hippy/hippy_uimanager/HippyCustomViewCreator.java +29 -0
  90. package/rules/.source/hippy/hippy_uimanager/HippyGroupController.java +83 -0
  91. package/rules/.source/hippy/hippy_uimanager/HippyViewBase.java +27 -0
  92. package/rules/.source/hippy/hippy_uimanager/HippyViewController.java +2189 -0
  93. package/rules/.source/hippy/hippy_uimanager/HippyViewEvent.java +52 -0
  94. package/rules/.source/hippy/hippy_uimanager/IHippyZIndexViewGroup.java +24 -0
  95. package/rules/.source/hippy/hippy_uimanager/InternalExtendViewUtil.java +395 -0
  96. package/rules/.source/hippy/hippy_uimanager/ListItemRenderNode.java +143 -0
  97. package/rules/.source/hippy/hippy_uimanager/ListViewRenderNode.java +44 -0
  98. package/rules/.source/hippy/hippy_uimanager/MatrixUtil.java +470 -0
  99. package/rules/.source/hippy/hippy_uimanager/NativeGestureDispatcher.java +349 -0
  100. package/rules/.source/hippy/hippy_uimanager/NativeGestureProcessor.java +188 -0
  101. package/rules/.source/hippy/hippy_uimanager/PullFooterRenderNode.java +43 -0
  102. package/rules/.source/hippy/hippy_uimanager/PullHeaderRenderNode.java +43 -0
  103. package/rules/.source/hippy/hippy_uimanager/RenderManager.java +304 -0
  104. package/rules/.source/hippy/hippy_uimanager/RenderNode.java +533 -0
  105. package/rules/.source/hippy/hippy_uimanager/StateView.java +17 -0
  106. package/rules/.source/hippy/hippy_uimanager/TransformUtil.java +125 -0
  107. package/rules/.source/hippy/hippy_uimanager/ViewGroupDrawingOrderHelper.java +108 -0
  108. package/rules/.source/hippy/hippy_uimanager/ViewStateProvider.java +10 -0
  109. package/rules/.source/hippy/hippy_views/audioview/AudioPlayManager.java +457 -0
  110. package/rules/.source/hippy/hippy_views/audioview/AudioView.java +225 -0
  111. package/rules/.source/hippy/hippy_views/audioview/AudioViewController.java +135 -0
  112. package/rules/.source/hippy/hippy_views/common/CommonBackgroundDrawable.java +58 -0
  113. package/rules/.source/hippy/hippy_views/common/CommonBorder.java +37 -0
  114. package/rules/.source/hippy/hippy_views/custom/HippyCustomPropsController.java +61 -0
  115. package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerListAdapter.java +399 -0
  116. package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerView.java +378 -0
  117. package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerViewController.java +187 -0
  118. package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerViewHolder.java +39 -0
  119. package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerViewWrapper.java +134 -0
  120. package/rules/.source/hippy/hippy_views/hippylist/NodePositionHelper.java +55 -0
  121. package/rules/.source/hippy/hippy_views/hippylist/PreloadHelper.java +54 -0
  122. package/rules/.source/hippy/hippy_views/hippylist/PullFooterEventHelper.java +61 -0
  123. package/rules/.source/hippy/hippy_views/hippylist/PullHeaderEventHelper.java +127 -0
  124. package/rules/.source/hippy/hippy_views/hippylist/RecyclerViewEventHelper.java +394 -0
  125. package/rules/.source/hippy/hippy_views/image/HippyContentDrawable.java +113 -0
  126. package/rules/.source/hippy/hippy_views/image/HippyImageView.java +1608 -0
  127. package/rules/.source/hippy/hippy_views/image/HippyImageViewController.java +382 -0
  128. package/rules/.source/hippy/hippy_views/image/IImageStateListener.java +7 -0
  129. package/rules/.source/hippy/hippy_views/list/ChildOnScreenScroller.java +255 -0
  130. package/rules/.source/hippy/hippy_views/list/HippyListAdapter.java +647 -0
  131. package/rules/.source/hippy/hippy_views/list/HippyListItemView.java +162 -0
  132. package/rules/.source/hippy/hippy_views/list/HippyListItemViewController.java +45 -0
  133. package/rules/.source/hippy/hippy_views/list/HippyListView.java +915 -0
  134. package/rules/.source/hippy/hippy_views/list/HippyListViewController.java +622 -0
  135. package/rules/.source/hippy/hippy_views/list/HippyRecycler.java +31 -0
  136. package/rules/.source/hippy/hippy_views/list/IRecycleItemTypeChange.java +23 -0
  137. package/rules/.source/hippy/hippy_views/list/ItemDecorations.java +70 -0
  138. package/rules/.source/hippy/hippy_views/list/NegativeLongKeyFlinger.java +156 -0
  139. package/rules/.source/hippy/hippy_views/list/NodeHolder.java +34 -0
  140. package/rules/.source/hippy/hippy_views/list/RecycleViewFlinger.java +126 -0
  141. package/rules/.source/hippy/hippy_views/list/TVRecyclerView.java +2070 -0
  142. package/rules/.source/hippy/hippy_views/list/TVSingleLineListView.java +15 -0
  143. package/rules/.source/hippy/hippy_views/modal/HippyModalHostManager.java +102 -0
  144. package/rules/.source/hippy/hippy_views/modal/HippyModalHostView.java +597 -0
  145. package/rules/.source/hippy/hippy_views/modal/ModalHostHelper.java +46 -0
  146. package/rules/.source/hippy/hippy_views/modal/ModalStyleNode.java +34 -0
  147. package/rules/.source/hippy/hippy_views/modal/RequestCloseEvent.java +32 -0
  148. package/rules/.source/hippy/hippy_views/modal/ShowEvent.java +31 -0
  149. package/rules/.source/hippy/hippy_views/navigator/Navigator.java +126 -0
  150. package/rules/.source/hippy/hippy_views/navigator/NavigatorController.java +120 -0
  151. package/rules/.source/hippy/hippy_views/refresh/HippyPullFooterView.java +47 -0
  152. package/rules/.source/hippy/hippy_views/refresh/HippyPullFooterViewController.java +65 -0
  153. package/rules/.source/hippy/hippy_views/refresh/HippyPullHeaderView.java +39 -0
  154. package/rules/.source/hippy/hippy_views/refresh/HippyPullHeaderViewController.java +104 -0
  155. package/rules/.source/hippy/hippy_views/refresh/RefreshWrapper.java +237 -0
  156. package/rules/.source/hippy/hippy_views/refresh/RefreshWrapperController.java +62 -0
  157. package/rules/.source/hippy/hippy_views/refresh/RefreshWrapperItemController.java +39 -0
  158. package/rules/.source/hippy/hippy_views/refresh/RefreshWrapperItemView.java +26 -0
  159. package/rules/.source/hippy/hippy_views/scroll/HippyHorizontalScrollView.java +500 -0
  160. package/rules/.source/hippy/hippy_views/scroll/HippyOnScrollHelper.java +39 -0
  161. package/rules/.source/hippy/hippy_views/scroll/HippyScrollView.java +46 -0
  162. package/rules/.source/hippy/hippy_views/scroll/HippyScrollViewController.java +178 -0
  163. package/rules/.source/hippy/hippy_views/scroll/HippyScrollViewEventHelper.java +92 -0
  164. package/rules/.source/hippy/hippy_views/scroll/HippyVerticalScrollView.java +522 -0
  165. package/rules/.source/hippy/hippy_views/text/HippyTextView.java +512 -0
  166. package/rules/.source/hippy/hippy_views/text/HippyTextViewController.java +77 -0
  167. package/rules/.source/hippy/hippy_views/textinput/HippyTextInput.java +668 -0
  168. package/rules/.source/hippy/hippy_views/textinput/HippyTextInputController.java +528 -0
  169. package/rules/.source/hippy/hippy_views/textinput/TextInputNode.java +115 -0
  170. package/rules/.source/hippy/hippy_views/videoview/APEZProvider.java +287 -0
  171. package/rules/.source/hippy/hippy_views/videoview/APKExpansionSupport.java +82 -0
  172. package/rules/.source/hippy/hippy_views/videoview/PivotPoint.java +13 -0
  173. package/rules/.source/hippy/hippy_views/videoview/ScalableType.java +34 -0
  174. package/rules/.source/hippy/hippy_views/videoview/ScalableVideoView.java +265 -0
  175. package/rules/.source/hippy/hippy_views/videoview/ScaleManager.java +191 -0
  176. package/rules/.source/hippy/hippy_views/videoview/Size.java +19 -0
  177. package/rules/.source/hippy/hippy_views/videoview/VideoHippyView.java +917 -0
  178. package/rules/.source/hippy/hippy_views/videoview/VideoHippyViewController.java +236 -0
  179. package/rules/.source/hippy/hippy_views/videoview/ZipResourceFile.java +427 -0
  180. package/rules/.source/hippy/hippy_views/view/CardRootView.java +28 -0
  181. package/rules/.source/hippy/hippy_views/view/CustomLayoutView.java +10 -0
  182. package/rules/.source/hippy/hippy_views/view/CustomNodeView.java +5 -0
  183. package/rules/.source/hippy/hippy_views/view/DialogViewGroup.java +113 -0
  184. package/rules/.source/hippy/hippy_views/view/HippyViewGroup.java +2042 -0
  185. package/rules/.source/hippy/hippy_views/view/HippyViewGroupController.java +583 -0
  186. package/rules/.source/hippy/hippy_views/view/WindowRoot.java +5 -0
  187. package/rules/.source/hippy/hippy_views/viewpager/HippyViewPager.java +308 -0
  188. package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerAdapter.java +148 -0
  189. package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerController.java +246 -0
  190. package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerItem.java +27 -0
  191. package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerItemController.java +42 -0
  192. package/rules/.source/hippy/hippy_views/viewpager/ViewPagerPageChangeListener.java +114 -0
  193. package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageItemExposureEvent.java +40 -0
  194. package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageScrollEvent.java +43 -0
  195. package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageScrollStateChangedEvent.java +42 -0
  196. package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageSelectedEvent.java +42 -0
  197. package/rules/.source/hippy/hippy_views/webview/HippyWebView.java +160 -0
  198. package/rules/.source/hippy/hippy_views/webview/HippyWebViewBridge.java +20 -0
  199. package/rules/.source/hippy/hippy_views/webview/HippyWebViewController.java +103 -0
  200. package/rules/.source/hippy/hippy_views/webview/HippyWebViewInner.java +77 -0
  201. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/SampleApplication.java +1 -0
  202. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/base/BaseActivity.java +1 -0
  203. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/base/BaseApplication.java +1 -0
  204. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/Test2Module.java +1 -0
  205. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestALastpolloInit.java +1 -0
  206. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestApolloInit.java +1 -0
  207. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestCacheInit.java +1 -0
  208. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestComponent.java +1 -0
  209. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestKotlinInit.kt +1 -0
  210. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestModule.java +1 -0
  211. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestModule2.kt +1 -0
  212. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestModule3.java +1 -0
  213. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestViewController.java +25 -0
  214. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestViewGroupController.java +24 -0
  215. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/ui/EsAppActivity.java +1 -0
  216. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/ui/FocusButton.java +1 -0
  217. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/ui/MainActivity.java +1 -0
  218. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/Constants.java +13 -0
  219. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsCallback.java +6 -0
  220. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsEmptyCallback.java +9 -0
  221. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsEventPacket.java +19 -0
  222. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsException.java +55 -0
  223. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsNativeEventCallback.java +8 -0
  224. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsPromise.java +15 -0
  225. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsProvider.java +8 -0
  226. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsSimplePromise.java +27 -0
  227. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsSingleCallback.java +9 -0
  228. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/IDiskCacheManager.java +19 -0
  229. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/IEsAutoInit.java +1 -0
  230. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/IEsInfo.java +18 -0
  231. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/IEsRemoteEventCallback.java +11 -0
  232. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/IEsTraceable.java +7 -0
  233. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/ISoManager.java +31 -0
  234. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/ITakeOverKeyEventListener.java +17 -0
  235. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/PromiseHolder.java +66 -0
  236. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/args/EsArray.java +215 -0
  237. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/args/EsMap.java +287 -0
  238. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/component/EsComponent.java +14 -0
  239. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/component/EsComponentAttribute.java +15 -0
  240. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/component/IEsComponent.java +21 -0
  241. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/component/IEsComponentView.java +8 -0
  242. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/core/EsProxy.java +313 -0
  243. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/core/IEsProxy.java +243 -0
  244. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/cover/IEsCoverView.java +26 -0
  245. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/display/IDisplayManager.java +19 -0
  246. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/image/IEsImageLoader.java +17 -0
  247. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/model/LocalCacheInfo.java +88 -0
  248. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/model/ScreenInfo.java +12 -0
  249. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/model/ThirdEvent.java +13 -0
  250. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/module/IEsModule.java +15 -0
  251. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsAPIProvider.java +32 -0
  252. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsAppContext.java +13 -0
  253. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsData.java +597 -0
  254. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsKitInitCallback.java +15 -0
  255. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsKitInitCallbackProxy.java +41 -0
  256. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsKitStatus.java +14 -0
  257. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsManager.java +26 -0
  258. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsStartParam.java +17 -0
  259. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/IEsManager.java +83 -0
  260. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/InitConfig.java +287 -0
  261. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/DefaultHippyLogAdapter.java +27 -0
  262. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/DefaultRpkLoaderAdapter.java +1 -0
  263. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/EsApiAdapter.java +22 -0
  264. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/EsEngineExceptionHandlerAdapter.java +31 -0
  265. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/EsImageLoaderAdapter.java +141 -0
  266. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/EsSoLoaderAdapter.java +22 -0
  267. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/HttpsAdapter.java +1 -0
  268. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/ProxyHttpAdapter.java +36 -0
  269. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/assets/AssetBundleManager.java +347 -0
  270. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/assets/AssetData.java +39 -0
  271. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/assets/AssetLoadCallback.java +33 -0
  272. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/callback/EsAppLifeCallback.java +19 -0
  273. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/callback/EsAppLifeCallbackImpl.java +60 -0
  274. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/callback/EsAppLifeCallbackImplProxy.java +74 -0
  275. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardBean.java +35 -0
  276. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardCache.java +40 -0
  277. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardCallBack.java +40 -0
  278. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardCallBackAdapter.java +53 -0
  279. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardCallBackImpl.java +50 -0
  280. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardGroupController.java +187 -0
  281. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardGroupView.java +102 -0
  282. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardManager.java +102 -0
  283. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardView.java +716 -0
  284. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardViewComponent.java +190 -0
  285. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/WebFrameView.java +125 -0
  286. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/component/BaseHippyViewController.java +30 -0
  287. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/component/CommonViewController.java +290 -0
  288. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/component/EsCommonComponent.java +129 -0
  289. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/component/IOverrideMethods.java +60 -0
  290. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/db/EsDBHelper.java +119 -0
  291. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/db/Migration1_2.java +31 -0
  292. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/db/entity/RpkEntity.java +141 -0
  293. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/display/ESDisplayManager.java +41 -0
  294. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/engine/ESEvents.java +42 -0
  295. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/engine/ESInstanceContext.java +16 -0
  296. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/engine/EsEngine.java +212 -0
  297. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/engine/EsEnginePool.java +262 -0
  298. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/engine/RuntimeManager.java +94 -0
  299. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/entity/DeviceInfo.java +62 -0
  300. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/entity/InfoEntity.java +13 -0
  301. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ext/loadproxy/IEsRpkLoadProxy.java +43 -0
  302. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ext/log/ILogCallback.java +10 -0
  303. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ext/log/LogAdapterFactory.java +14 -0
  304. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ext/package.info +0 -0
  305. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/fragment/EsBaseFragment.java +11 -0
  306. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/fragment/EsFragment.java +181 -0
  307. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/fragment/EsFragmentManager.java +227 -0
  308. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/fragment/EsPageFragment.java +75 -0
  309. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/fragment/IEsFragmentMgr.java +41 -0
  310. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/interceptor/EsDefaultInterceptor.java +8 -0
  311. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/interceptor/IEsInterceptor.java +41 -0
  312. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/interceptor/LaunchEsPageInterceptor.java +15 -0
  313. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/AbsEsImageLoader.java +9 -0
  314. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/ApiProviderProxy.java +32 -0
  315. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/BaseHandlerThread.java +76 -0
  316. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/Constants.java +394 -0
  317. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsAppLoadHandlerImpl.java +221 -0
  318. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsAppLoadHandlerImplV2.java +326 -0
  319. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsComponentManager.java +347 -0
  320. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsConfigManager.java +81 -0
  321. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsContainerTaskV2.java +714 -0
  322. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsContentProvider.java +166 -0
  323. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsContext.java +354 -0
  324. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsContextFinder.java +61 -0
  325. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsDiskCacheManager.java +266 -0
  326. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsManagerInner.java +463 -0
  327. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsPromiseProxy.java +49 -0
  328. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsProxyImpl.java +474 -0
  329. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsViewManager.java +838 -0
  330. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsViewRecord.java +63 -0
  331. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/IEsAppLoadCallback.java +38 -0
  332. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/IEsAppLoadHandler.java +36 -0
  333. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/IEsViewer.java +32 -0
  334. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/SampleAnimatorListener.java +28 -0
  335. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/AbstractLoader.java +135 -0
  336. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/ApiRpkLoader.java +1 -0
  337. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/AssetsRpkLoader.java +79 -0
  338. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/DebugRpkLoader.java +43 -0
  339. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/FileRpkLoader.java +63 -0
  340. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/HttpRpkLoader.java +61 -0
  341. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/IRpkLoader.java +65 -0
  342. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/NexusRpkLoader.java +175 -0
  343. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/RecordInfo.java +37 -0
  344. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/RpkInfo.java +136 -0
  345. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/RpkLoaderFactory.java +60 -0
  346. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/RpkVersion.java +54 -0
  347. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/TaskEntity.java +57 -0
  348. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/JsSlotView.java +353 -0
  349. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/JsSlotViewManager.java +363 -0
  350. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/RecyclerViewHandlerImpl.java +60 -0
  351. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/SlotModule.java +1 -0
  352. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/chutil/GenericMotionUtil.java +26 -0
  353. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/chutil/MouseUtil.java +107 -0
  354. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/slot/SlotRootView.java +39 -0
  355. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/slot/SlotRootViewController.java +50 -0
  356. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/slot/SlotView.java +89 -0
  357. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/slot/SlotViewController.java +84 -0
  358. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mdns/NsdRegisterHelper.java +56 -0
  359. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/BaseMediaSessionPlayerService.java +104 -0
  360. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/EsMediaController.java +111 -0
  361. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/EsMediaPlayerService.java +39 -0
  362. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/callback/EsCommonMediaSessionCallback.java +374 -0
  363. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/manager/IServiceManager.java +16 -0
  364. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/manager/ServiceManagerFactory.java +21 -0
  365. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/manager/impl/MCommonServiceImpl.java +95 -0
  366. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/module/EsMediaSessionModule.java +61 -0
  367. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/module/AppUsageModule.java +170 -0
  368. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/module/CommonModule.java +27 -0
  369. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/module/CommonModuleInfo.java +96 -0
  370. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/module/EsNativeModule.java +878 -0
  371. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/EsPageController.java +49 -0
  372. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/EsPageView.java +202 -0
  373. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/EsRouterController.java +63 -0
  374. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/EsRouterView.java +113 -0
  375. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/IEsPageView.java +20 -0
  376. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/InnerProvider.java +37 -0
  377. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/PageModule.java +37 -0
  378. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/protocol/EsProtocolDispatcher.java +114 -0
  379. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/protocol/EsStartTarget.java +37 -0
  380. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/protocol/Protocol_1.java +78 -0
  381. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/protocol/Protocol_2.java +345 -0
  382. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/sf/UsageManager.java +98 -0
  383. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/sf/db/UsageDbHelper.java +97 -0
  384. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/sf/db/dao/UsageRecordDao.java +34 -0
  385. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/sf/db/entity/UsageRecord.java +96 -0
  386. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/sf/strategy/DefaultStrategyImpl.java +100 -0
  387. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/sf/strategy/IUsageStrategy.java +23 -0
  388. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/tookit/DefaultWindowManager.java +46 -0
  389. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/tookit/ESToolkitManager.java +182 -0
  390. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/tookit/IESToolkit.java +22 -0
  391. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/tookit/ToolkitUseCase.java +22 -0
  392. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/udp/AbstractUdpServer.java +102 -0
  393. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/udp/EsUdpServer.java +177 -0
  394. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/udp/UdpServerConfig.java +28 -0
  395. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/BrowserBaseActivity.java +224 -0
  396. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/BrowserBaseFullActivity.java +118 -0
  397. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/BrowserProxyActivity.java +122 -0
  398. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/BrowserStandardActivity.java +14 -0
  399. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/BrowserStandardNoThemeActivity.java +14 -0
  400. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/BrowserStandardTransparentActivity.java +14 -0
  401. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/IHippyManager.java +36 -0
  402. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/instance/BrowserSingleInstanceActivity0.java +9 -0
  403. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/instance/BrowserSingleInstanceActivity1.java +9 -0
  404. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/instance/BrowserSingleInstanceActivity2.java +9 -0
  405. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/instance/BrowserSingleInstanceActivity3.java +9 -0
  406. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/instance/BrowserSingleInstanceActivity4.java +9 -0
  407. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/task/BrowserSingleTaskActivity0.java +9 -0
  408. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/task/BrowserSingleTaskActivity1.java +9 -0
  409. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/task/BrowserSingleTaskActivity2.java +9 -0
  410. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/task/BrowserSingleTaskActivity3.java +9 -0
  411. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/task/BrowserSingleTaskActivity4.java +9 -0
  412. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/top/BrowserSingleTopActivity0.java +9 -0
  413. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/top/BrowserSingleTopActivity1.java +9 -0
  414. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/top/BrowserSingleTopActivity2.java +9 -0
  415. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/top/BrowserSingleTopActivity3.java +9 -0
  416. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/top/BrowserSingleTopActivity4.java +9 -0
  417. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/instance/BrowserSingleInstanceActivity0.java +9 -0
  418. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/instance/BrowserSingleInstanceActivity1.java +9 -0
  419. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/instance/BrowserSingleInstanceActivity2.java +9 -0
  420. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/instance/BrowserSingleInstanceActivity3.java +9 -0
  421. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/instance/BrowserSingleInstanceActivity4.java +9 -0
  422. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/task/BrowserSingleTaskActivity0.java +9 -0
  423. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/task/BrowserSingleTaskActivity1.java +9 -0
  424. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/task/BrowserSingleTaskActivity2.java +9 -0
  425. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/task/BrowserSingleTaskActivity3.java +9 -0
  426. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/task/BrowserSingleTaskActivity4.java +9 -0
  427. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/top/BrowserSingleTopActivity0.java +9 -0
  428. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/top/BrowserSingleTopActivity1.java +9 -0
  429. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/top/BrowserSingleTopActivity2.java +9 -0
  430. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/top/BrowserSingleTopActivity3.java +9 -0
  431. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/top/BrowserSingleTopActivity4.java +9 -0
  432. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/pg/BasePageLoader.java +20 -0
  433. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/pg/FragmentPageLoader.java +273 -0
  434. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/pg/IPageLoader.java +44 -0
  435. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/pg/RootFragmentView.java +499 -0
  436. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/pg/SubFragmentView.java +85 -0
  437. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/result/PermissionActivityResultHandler.java +132 -0
  438. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/wm/AbstractWindowManager.java +120 -0
  439. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/Am.java +397 -0
  440. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/AutoUtils.java +1 -0
  441. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/CommonUtils.java +150 -0
  442. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/CpuAbiUtils.java +280 -0
  443. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/CrashHandler.java +40 -0
  444. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/DebugLog.java +28 -0
  445. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/DefaultLifecycleObserver.java +35 -0
  446. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/DexUtil.java +75 -0
  447. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/ESExecutors.java +73 -0
  448. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/EsDataFactory.java +76 -0
  449. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/EsDecode.java +37 -0
  450. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/EsIntent.java +40 -0
  451. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/EsNativeEvent.java +63 -0
  452. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/EskitLazyInitHelper.java +20 -0
  453. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/FullScreenUtils.java +73 -0
  454. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/HomeKeyReceiver.java +52 -0
  455. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/HttpRequestUtils.java +30 -0
  456. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/KeyEventUtil.java +71 -0
  457. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/MapperUtils.java +491 -0
  458. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/NetworkSpeedMonitor.java +68 -0
  459. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/NexusRepo.java +70 -0
  460. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/ObjectUtils.java +49 -0
  461. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/ParameterizedTypeImpl.java +23 -0
  462. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/PathHelper.java +23 -0
  463. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/PermissionRequestHelper.java +81 -0
  464. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/PluginUtils.java +71 -0
  465. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/ReflectExecutor.java +77 -0
  466. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/SlotUtils.java +97 -0
  467. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/SpUtils.java +184 -0
  468. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/TaskProgressManager.java +104 -0
  469. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/TimeCheckUtil.java +45 -0
  470. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/UcDeviceUtils.java +95 -0
  471. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/UploadLogKeyDispatcher.java +33 -0
  472. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/DebugFocusHelper.java +90 -0
  473. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/DebugFocusRoot.java +195 -0
  474. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/DebugFocusView.java +65 -0
  475. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/EsDefaultCoverView.java +726 -0
  476. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/EsGrayFrameLayout.java +65 -0
  477. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/EsProgressLoadingView.java +103 -0
  478. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/LoadingDrawable.java +1 -0
  479. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/MyButton.java +55 -0
  480. package/rules/.source/sdk/plugin/compiler/src/main/java/com/quicktvui/sdk/compiler/AnnotationProcessor.java +46 -0
  481. package/rules/.source/sdk/plugin/compiler/src/main/java/com/quicktvui/sdk/compiler/processor/AbstractProcessor.java +1 -0
  482. package/rules/.source/sdk/plugin/compiler/src/main/java/com/quicktvui/sdk/compiler/processor/ESKitAutoInitProcessor.java +1 -0
  483. package/rules/.source/sdk/plugin/compiler/src/main/java/com/quicktvui/sdk/compiler/processor/ESKitAutoRegisterProcessor.java +217 -0
  484. package/rules/.source/sdk/plugin/compiler/src/main/java/com/quicktvui/sdk/compiler/processor/IProcessor.java +12 -0
  485. package/rules/.source/sdk/plugin/compiler/src/main/java/com/quicktvui/sdk/compiler/utils/Utils.java +78 -0
  486. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/media/audio/mp3/AndroidMP3Encoder.java +19 -0
  487. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/media/audio/mp3/AudioRecorderHandler.java +128 -0
  488. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/media/audio/mp3/AudioRecorderMp3.java +267 -0
  489. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/media/audio/mp3/AudioRecorderMp3Manager.java +140 -0
  490. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/media/audio/mp3/EncodeBuffer.java +27 -0
  491. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/ESAudioRecordModule.java +231 -0
  492. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/assist/QueueProcessingType.java +8 -0
  493. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/assist/deque/BlockingDeque.java +617 -0
  494. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/assist/deque/Deque.java +550 -0
  495. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/assist/deque/LIFOLinkedBlockingDeque.java +42 -0
  496. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/assist/deque/LinkedBlockingDeque.java +1190 -0
  497. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/AudioRecordConfiguration.java +168 -0
  498. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/AudioRecorderListener.java +11 -0
  499. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/AudioRecorderStatus.java +49 -0
  500. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/AudioRecorderStatusEnum.java +14 -0
  501. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/AudioRecorderType.java +35 -0
  502. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/BaseAudioRecorderManager.java +90 -0
  503. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/DefaultConfigurationFactory.java +80 -0
  504. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/IAudioRecorder.java +23 -0
  505. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/naming/FileNameGenerator.java +9 -0
  506. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/naming/HashCodeFileNameGenerator.java +11 -0
  507. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/naming/Md5FileNameGenerator.java +32 -0
  508. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/naming/NoOpFileNameGenerator.java +14 -0
  509. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/pcm/PCMFormat.java +32 -0
  510. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/utils/Preconditions.java +442 -0
  511. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/utils/StorageUtils.java +162 -0
  512. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/AudioRecordListener.java +11 -0
  513. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/AudioRecordStreamListener.java +5 -0
  514. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/AudioRecorder.java +360 -0
  515. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/FileUtil.java +122 -0
  516. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/PCMToWAVTask.java +63 -0
  517. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/PcmToWav.java +193 -0
  518. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/RecordTask.java +103 -0
  519. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/WaveHeader.java +66 -0
  520. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/AndroidMP3Encoder.cpp +57 -0
  521. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/AndroidMP3Encoder.h +20 -0
  522. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/CMakeLists.txt +18 -0
  523. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lame-3.100.tar.gz +0 -0
  524. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/VbrTag.c +1050 -0
  525. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/VbrTag.h +82 -0
  526. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/bitstream.c +1073 -0
  527. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/bitstream.h +44 -0
  528. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/encoder.c +555 -0
  529. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/encoder.h +153 -0
  530. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/fft.c +331 -0
  531. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/fft.h +35 -0
  532. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/gain_analysis.c +468 -0
  533. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/gain_analysis.h +113 -0
  534. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/id3tag.c +1839 -0
  535. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/id3tag.h +65 -0
  536. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/l3side.h +95 -0
  537. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/lame-analysis.h +95 -0
  538. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/lame.c +2602 -0
  539. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/lame.h +1400 -0
  540. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/lame_global_flags.h +186 -0
  541. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/lameerror.h +26 -0
  542. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/machine.h +196 -0
  543. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/mpglib_interface.c +477 -0
  544. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/newmdct.c +1073 -0
  545. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/newmdct.h +27 -0
  546. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/presets.c +390 -0
  547. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/psymodel.c +2111 -0
  548. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/psymodel.h +64 -0
  549. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/quantize.c +1974 -0
  550. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/quantize.h +38 -0
  551. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/quantize_pvt.c +1047 -0
  552. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/quantize_pvt.h +127 -0
  553. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/reservoir.c +289 -0
  554. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/reservoir.h +34 -0
  555. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/set_get.c +2181 -0
  556. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/set_get.h +119 -0
  557. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/tables.c +558 -0
  558. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/tables.h +95 -0
  559. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/takehiro.c +1322 -0
  560. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/util.c +968 -0
  561. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/util.h +635 -0
  562. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/vbrquantize.c +1525 -0
  563. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/vbrquantize.h +28 -0
  564. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/version.c +245 -0
  565. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/version.h +68 -0
  566. package/rules/.source/sdk/support/brightness/src/main/java/com/quicktvui/support/brightness/ESBrightnessModule.java +133 -0
  567. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/Action.java +18 -0
  568. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasActionHandler.java +285 -0
  569. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasContext.java +184 -0
  570. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasImageLoadRenderAction.java +53 -0
  571. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasManager.java +468 -0
  572. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasNode.java +28 -0
  573. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasRenderAction.java +39 -0
  574. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasRenderActionProcessor.java +62 -0
  575. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasSyncRenderAction.java +23 -0
  576. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasView.java +19 -0
  577. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasViewContainer.java +49 -0
  578. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasWaitChannel.java +59 -0
  579. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/Constants.java +9 -0
  580. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/ESCanvasController.java +370 -0
  581. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/annotation/CanvasField.java +16 -0
  582. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/annotation/CanvasMethod.java +16 -0
  583. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/annotation/Extension.java +59 -0
  584. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/ActivityStateListener.java +21 -0
  585. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/ApplicationContext.java +118 -0
  586. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/Callback.java +37 -0
  587. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/IPage.java +13 -0
  588. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/RenderEventCallback.java +76 -0
  589. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/Response.java +191 -0
  590. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/SimpleActivityStateListener.java +32 -0
  591. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/CSSFont.java +246 -0
  592. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/CanvasContextRendering2D.java +1462 -0
  593. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/CanvasContextState.java +243 -0
  594. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/CanvasGradient.java +101 -0
  595. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/CanvasPath.java +196 -0
  596. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/CanvasView2D.java +186 -0
  597. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/Circle.java +65 -0
  598. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/LinearGradient.java +40 -0
  599. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/Parser.java +1564 -0
  600. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/RadialGradient.java +167 -0
  601. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/constants/Attributes.java +682 -0
  602. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/ConcurrentExecutor.java +59 -0
  603. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/DelayedExecutor.java +10 -0
  604. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/Executor.java +14 -0
  605. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/Executors.java +99 -0
  606. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/Future.java +17 -0
  607. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/FutureImpl.java +32 -0
  608. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/ScheduledExecutor.java +15 -0
  609. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/ScheduledExecutorImpl.java +49 -0
  610. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/UiExecutor.java +102 -0
  611. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/image/CanvasBitmap.java +123 -0
  612. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/image/CanvasImage.java +109 -0
  613. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/image/CanvasImageCache.java +119 -0
  614. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/image/CanvasImageHelper.java +665 -0
  615. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/image/CanvasImageLoader.java +132 -0
  616. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/image/ImageData.java +12 -0
  617. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/render/DocAnimator.java +166 -0
  618. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/runtime/HapEngine.java +101 -0
  619. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/BitmapUtils.java +242 -0
  620. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/CardThemeUtils.java +79 -0
  621. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/ColorUtil.java +542 -0
  622. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/DigestUtils.java +27 -0
  623. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/DisplayUtil.java +157 -0
  624. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/FloatUtil.java +54 -0
  625. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/IntegerUtil.java +23 -0
  626. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/StringUtils.java +21 -0
  627. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/ThreadUtils.java +47 -0
  628. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/BarChartView.java +170 -0
  629. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/ESBarChartViewComponent.java +162 -0
  630. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/ESLineChartViewComponent.java +209 -0
  631. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/LineChartView.java +160 -0
  632. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/BarChart.java +470 -0
  633. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/BaseBarChart.java +382 -0
  634. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/BaseLineChart.java +156 -0
  635. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/LinesChart.java +465 -0
  636. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/anim/AngleEvaluator.java +22 -0
  637. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/bean/BarBean.java +26 -0
  638. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/bean/DataPoint.java +49 -0
  639. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/bean/FocusInfo.java +35 -0
  640. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/utils/DensityUtil.java +60 -0
  641. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/utils/FontUtil.java +40 -0
  642. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/utils/LogUtil.java +85 -0
  643. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/utils/NumberFormatUtil.java +60 -0
  644. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/AutoInit.java +1 -0
  645. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/animation/AnimationValueType.java +7 -0
  646. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/animation/AnimationView.java +1322 -0
  647. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/animation/AnimationViewComponent.java +1000 -0
  648. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/es/ESView.java +30 -0
  649. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/es/ESViewComponent.java +49 -0
  650. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/image/TransitionImageComponent.java +95 -0
  651. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/image/TransitionImageView.java +261 -0
  652. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/loading/LoadingDrawable.java +253 -0
  653. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/loading/LoadingView.java +13 -0
  654. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/loading/LoadingViewComponent.java +58 -0
  655. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/progress/ESProgressWheelComponent.java +422 -0
  656. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/progress/ProgressWheel.java +625 -0
  657. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/progressbar/ESProgressBarViewComponent.java +254 -0
  658. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/progressbar/TVProgressBarView.java +12 -0
  659. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/progressbar/TVProgressBarViewComponent.java +206 -0
  660. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/qr/QrCodeComponent.java +186 -0
  661. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/qr/QrCodeFactory.java +180 -0
  662. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/ESHorizontalSeekBarViewComponent.java +1424 -0
  663. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/ESVerticalSeekBarViewComponent.java +122 -0
  664. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/OnRangeChangedListener.java +9 -0
  665. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/OnRangeFocusListener.java +6 -0
  666. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/RangeSeekBar.java +1462 -0
  667. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/SavedState.java +49 -0
  668. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/SeekBar.java +833 -0
  669. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/SeekBarState.java +13 -0
  670. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/Utils.java +182 -0
  671. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/VerticalRangeSeekBar.java +267 -0
  672. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/VerticalSeekBar.java +139 -0
  673. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/seekbar/ESSeekBarViewComponent.java +374 -0
  674. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/seekbar/TVSeekBarView.java +49 -0
  675. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/seekbar/TVSeekBarViewComponent.java +229 -0
  676. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/surfaceview/ESSurfaceView.java +13 -0
  677. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/surfaceview/ESSurfaceViewComponent.java +31 -0
  678. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/DeviceIdGenerator.java +135 -0
  679. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/DeviceIdManager.java +61 -0
  680. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/DeviceTypeGenerator.java +19 -0
  681. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/DeviceTypeManager.java +63 -0
  682. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/ESRuntimeSPConstants.java +8 -0
  683. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/IDeviceGenerator.java +10 -0
  684. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/RuntimeDeviceModule.java +70 -0
  685. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/activity/AndroidActivityModule.java +46 -0
  686. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/audio/AndroidAudioModule.java +190 -0
  687. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/broadcast/ESBroadcastModule.java +369 -0
  688. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/develop/AndroidDevelopManager.java +62 -0
  689. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/develop/AndroidDevelopModule.java +103 -0
  690. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/develop/Develop.java +85 -0
  691. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/device/AndroidDevice.java +410 -0
  692. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/device/AndroidDeviceManager.java +166 -0
  693. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/device/AndroidDeviceModule.java +313 -0
  694. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/device/DeviceModule.java +75 -0
  695. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/es/ESModule.java +289 -0
  696. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/file/AndroidFileModule.java +622 -0
  697. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/log/ESLogModule.java +59 -0
  698. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/mmap/AndroidMMapModule.java +219 -0
  699. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/mmap/MMapManager.java +350 -0
  700. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/mmap/MMapMode.java +8 -0
  701. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/mmap/MMapSharedData.java +44 -0
  702. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/mmap/MMapSharedDataType.java +15 -0
  703. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/network/AndroidNetworkManager.java +168 -0
  704. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/network/AndroidNetworkModule.java +162 -0
  705. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/network/AndroidNetworkReceiver.java +52 -0
  706. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/permission/AndroidPermissionModule.java +224 -0
  707. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/power/AndroidPowerManager.java +48 -0
  708. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/power/AndroidPowerModule.java +61 -0
  709. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/sp/AndroidSharedPreferencesManager.java +119 -0
  710. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/sp/AndroidSharedPreferencesModule.java +197 -0
  711. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/sqlite/EsSqliteModule.java +380 -0
  712. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/storage/AndroidStorageManager.java +68 -0
  713. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/storage/AndroidStorageModule.java +252 -0
  714. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/toast/ESToastModule.java +62 -0
  715. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/toast/ToastModule.java +385 -0
  716. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/usb/AndroidUsbDeviceManager.java +233 -0
  717. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/usb/AndroidUsbDeviceModule.java +230 -0
  718. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/usb/AndroidUsbDeviceReceiver.java +31 -0
  719. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/BaseChangeObserver.java +54 -0
  720. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/BatteryChangeObserver.java +177 -0
  721. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/BluetoothChangeObserver.java +83 -0
  722. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/NativeEventReceiverManager.java +107 -0
  723. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/NetworkChangeObserver.java +134 -0
  724. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/TimeChangeObserver.java +46 -0
  725. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/UsbChangeObserver.java +168 -0
  726. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/utils/BundleMapper.java +215 -0
  727. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/utils/GradientDrawableUtils.java +105 -0
  728. package/rules/.source/sdk/support/data-group/src/main/java/com/quicktvui/support/data/group/ESGroupData.java +49 -0
  729. package/rules/.source/sdk/support/data-group/src/main/java/com/quicktvui/support/data/group/ESGroupDataModule.java +291 -0
  730. package/rules/.source/sdk/support/data-group/src/main/java/com/quicktvui/support/data/group/ESGroupDataType.java +15 -0
  731. package/rules/.source/sdk/support/data-group/src/main/java/com/quicktvui/support/data/group/ESGroupMode.java +8 -0
  732. package/rules/.source/sdk/support/data-group/src/main/java/com/quicktvui/support/data/group/ESSharedDataManager.java +526 -0
  733. package/rules/.source/sdk/support/data-shared/src/main/java/com/quicktvui/support/data/shared/ESSharedData.java +44 -0
  734. package/rules/.source/sdk/support/data-shared/src/main/java/com/quicktvui/support/data/shared/ESSharedDataManager.java +388 -0
  735. package/rules/.source/sdk/support/data-shared/src/main/java/com/quicktvui/support/data/shared/ESSharedDataModule.java +218 -0
  736. package/rules/.source/sdk/support/data-shared/src/main/java/com/quicktvui/support/data/shared/ESSharedDataType.java +15 -0
  737. package/rules/.source/sdk/support/data-shared/src/main/java/com/quicktvui/support/data/shared/ESSharedMode.java +8 -0
  738. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/ESDeviceInfoModule.java +988 -0
  739. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/SysInfo.java +24128 -0
  740. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/SysInfoSingleTon.java +98 -0
  741. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/ApplicationBean.java +93 -0
  742. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/CpuBean.java +41 -0
  743. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/InputBean.java +69 -0
  744. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/PartitionsBean.java +124 -0
  745. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/SimBean.java +91 -0
  746. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/StorageBean.java +180 -0
  747. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/USBBean.java +48 -0
  748. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/XposedHookBean.java +98 -0
  749. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/AppInfo.java +50 -0
  750. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/AppListInfo.java +42 -0
  751. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/BatteryInfo.java +26 -0
  752. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/BluetoothInfo.java +50 -0
  753. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/BuildInfo.java +35 -0
  754. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/CameraInfo.java +1327 -0
  755. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/DebugInfo.java +25 -0
  756. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/DeviceInfo.java +26 -0
  757. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/EmulatorInfo.java +57 -0
  758. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/HardwareInfo.java +32 -0
  759. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/HookInfo.java +26 -0
  760. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/InputInfo.java +170 -0
  761. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/MapsInfo.java +49 -0
  762. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/MediaCodecInfo.java +29 -0
  763. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/NetWorkInfo.java +150 -0
  764. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/OthersInfo.java +75 -0
  765. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/PartitionsInfo.java +93 -0
  766. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/RootInfo.java +25 -0
  767. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/SOCInfo.java +101 -0
  768. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/StoreInfo.java +31 -0
  769. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/SystemInfo.java +57 -0
  770. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/ThermalInfo.java +54 -0
  771. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/USBInfo.java +146 -0
  772. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/VirtualAppInfo.java +145 -0
  773. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/WifiInfo.java +52 -0
  774. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/ApplicationUtils.java +18 -0
  775. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/BatteryUtils.java +190 -0
  776. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/CommandUtils.java +173 -0
  777. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/Constants.java +12 -0
  778. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/DebugUtils.java +117 -0
  779. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/DecimalUtils.java +94 -0
  780. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/DensityUtils.java +427 -0
  781. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/DeviceUtils.java +315 -0
  782. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/EmulatorUtils.java +422 -0
  783. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/FileUtils.java +69 -0
  784. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/FormatTools.java +29 -0
  785. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/GatewayUtils.java +380 -0
  786. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/HashUtils.java +61 -0
  787. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/HexUtils.java +43 -0
  788. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/HookUtils.java +147 -0
  789. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/LogUtils.java +274 -0
  790. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/MemoryUtils.java +93 -0
  791. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/NetWorkUtils.java +579 -0
  792. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/OaidUtils.java +48 -0
  793. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/RootUtils.java +219 -0
  794. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/SdUtils.java +298 -0
  795. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/SocUtils.java +287 -0
  796. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/SystemConfigUtils.java +53 -0
  797. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/ThreadPoolUtils.java +89 -0
  798. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/TimeUtils.java +20 -0
  799. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/XposedHookUtils.java +138 -0
  800. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DefaultConfigurationFactory.java +56 -0
  801. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/Download.java +111 -0
  802. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadConfiguration.java +74 -0
  803. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadError.java +9 -0
  804. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadListener.java +7 -0
  805. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadManager.java +201 -0
  806. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadMessage.java +34 -0
  807. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadParams.java +24 -0
  808. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadProgress.java +34 -0
  809. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadState.java +15 -0
  810. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadStatus.java +46 -0
  811. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadTask.java +370 -0
  812. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/ESDownloadModule.java +376 -0
  813. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/FileDigest.java +47 -0
  814. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/HttpRequest.java +3201 -0
  815. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/IDownloadTask.java +16 -0
  816. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/StorageUtils.java +162 -0
  817. package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/giflibrary/GifDecoder.java +32 -0
  818. package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/giflibrary/GifDrawableTranscoder.java +22 -0
  819. package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/giflibrary/GifImageLoader.java +22 -0
  820. package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/giflibrary/GifModule.java +28 -0
  821. package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/giflibrary/GifSoftwareLayerSetter.java +45 -0
  822. package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/rastermill/FrameSequence.java +148 -0
  823. package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/rastermill/FrameSequenceDrawable.java +381 -0
  824. package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/support/gif/ESGifViewComponent.java +49 -0
  825. package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/support/gif/GifView.java +24 -0
  826. package/rules/.source/sdk/support/install-manager/src/main/java/com/quicktvui/support/install/manager/ESInstallManagerModule.java +143 -0
  827. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/ESLog.java +1029 -0
  828. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/LogConfiguration.java +662 -0
  829. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/LogItem.java +72 -0
  830. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/LogLevel.java +168 -0
  831. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/LogUtils.java +173 -0
  832. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/Logger.java +1331 -0
  833. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/flattener/ClassicFlattener.java +36 -0
  834. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/flattener/DefaultFlattener.java +40 -0
  835. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/flattener/Flattener.java +37 -0
  836. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/flattener/Flattener2.java +37 -0
  837. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/flattener/PatternFlattener.java +372 -0
  838. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/FormatException.java +78 -0
  839. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/Formatter.java +34 -0
  840. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/border/BorderFormatter.java +36 -0
  841. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/border/DefaultBorderFormatter.java +99 -0
  842. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/json/DefaultJsonFormatter.java +55 -0
  843. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/json/JsonFormatter.java +25 -0
  844. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/object/BundleFormatter.java +40 -0
  845. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/object/IntentFormatter.java +40 -0
  846. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/object/ObjectFormatter.java +28 -0
  847. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/throwable/DefaultThrowableFormatter.java +31 -0
  848. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/throwable/ThrowableFormatter.java +25 -0
  849. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/xml/DefaultXmlFormatter.java +63 -0
  850. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/xml/XmlFormatter.java +25 -0
  851. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/stacktrace/DefaultStackTraceFormatter.java +50 -0
  852. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/stacktrace/StackTraceFormatter.java +25 -0
  853. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/thread/DefaultThreadFormatter.java +29 -0
  854. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/thread/ThreadFormatter.java +25 -0
  855. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/interceptor/AbstractFilterInterceptor.java +51 -0
  856. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/interceptor/BlacklistTagsFilterInterceptor.java +71 -0
  857. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/interceptor/Interceptor.java +46 -0
  858. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/interceptor/WhitelistTagsFilterInterceptor.java +71 -0
  859. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/DefaultsFactory.java +157 -0
  860. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/Platform.java +114 -0
  861. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/SystemCompat.java +28 -0
  862. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/printer/file/backup/BackupStrategyWrapper.java +50 -0
  863. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/printer/file/backup/BackupUtil.java +77 -0
  864. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/util/ObjectToStringUtil.java +238 -0
  865. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/util/StackTraceUtil.java +120 -0
  866. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/module/ESLoggerModule.java +332 -0
  867. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/AndroidPrinter.java +145 -0
  868. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/ConsolePrinter.java +55 -0
  869. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/Printer.java +41 -0
  870. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/PrinterSet.java +42 -0
  871. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/RemotePrinter.java +32 -0
  872. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/SystemPrinter.java +24 -0
  873. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/FilePrinter.java +399 -0
  874. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/backup/AbstractBackupStrategy.java +33 -0
  875. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/backup/BackupStrategy.java +33 -0
  876. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/backup/BackupStrategy2.java +69 -0
  877. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/backup/FileSizeBackupStrategy.java +45 -0
  878. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/backup/FileSizeBackupStrategy2.java +52 -0
  879. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/backup/NeverBackupStrategy.java +32 -0
  880. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/clean/CleanStrategy.java +19 -0
  881. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/clean/FileLastModifiedCleanStrategy.java +29 -0
  882. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/clean/NeverCleanStrategy.java +16 -0
  883. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/naming/ChangelessFileNameGenerator.java +44 -0
  884. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/naming/DateFileNameGenerator.java +51 -0
  885. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/naming/FileNameGenerator.java +39 -0
  886. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/naming/LevelFileNameGenerator.java +38 -0
  887. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/writer/SimpleWriter.java +137 -0
  888. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/writer/Writer.java +72 -0
  889. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/flattener/DefaultLogFlattener.java +26 -0
  890. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/flattener/LogFlattener.java +26 -0
  891. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/ESLongImageViewComponent.java +732 -0
  892. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/CompatDecoderFactory.java +49 -0
  893. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/DecoderFactory.java +23 -0
  894. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/ImageDecoder.java +31 -0
  895. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/ImageRegionDecoder.java +62 -0
  896. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/ImageSource.java +262 -0
  897. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/ImageViewState.java +42 -0
  898. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/SkiaImageDecoder.java +107 -0
  899. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/SkiaImageRegionDecoder.java +171 -0
  900. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/SkiaPooledImageRegionDecoder.java +476 -0
  901. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/LongImageEventUtils.java +34 -0
  902. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/LongImageLoader.java +180 -0
  903. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/Checker.java +196 -0
  904. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/CompressionPredicate.java +19 -0
  905. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/Engine.java +90 -0
  906. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/InputStreamAdapter.java +34 -0
  907. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/InputStreamProvider.java +18 -0
  908. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/Luban.java +388 -0
  909. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/OnCompressListener.java +21 -0
  910. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/OnRenameListener.java +22 -0
  911. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/view/ESLongImageView.java +306 -0
  912. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/view/SubsamplingScaleImageView.java +3245 -0
  913. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/AsyncUpdates.java +54 -0
  914. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/Cancellable.java +6 -0
  915. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/FontAssetDelegate.java +40 -0
  916. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/ImageAssetDelegate.java +14 -0
  917. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/L.java +123 -0
  918. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/Lottie.java +26 -0
  919. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieAnimationView.java +1447 -0
  920. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieComposition.java +385 -0
  921. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieCompositionFactory.java +716 -0
  922. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieConfig.java +135 -0
  923. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieDrawable.java +1740 -0
  924. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieImageAsset.java +79 -0
  925. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieListener.java +8 -0
  926. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieLogger.java +17 -0
  927. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieOnCompositionLoadedListener.java +5 -0
  928. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieProperty.java +223 -0
  929. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieResult.java +55 -0
  930. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieTask.java +185 -0
  931. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieTaskIdleListener.java +11 -0
  932. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/OnCompositionLoadedListener.java +15 -0
  933. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/PerformanceTracker.java +97 -0
  934. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/RenderMode.java +41 -0
  935. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/SimpleColorFilter.java +20 -0
  936. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/TextDelegate.java +116 -0
  937. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/AnimatorLister.java +35 -0
  938. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/LPaint.java +60 -0
  939. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/BaseStrokeContent.java +412 -0
  940. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/CompoundTrimPathContent.java +22 -0
  941. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/Content.java +9 -0
  942. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/ContentGroup.java +269 -0
  943. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/DrawingContent.java +11 -0
  944. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/EllipseContent.java +134 -0
  945. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/FillContent.java +194 -0
  946. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/GradientFillContent.java +316 -0
  947. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/GradientStrokeContent.java +181 -0
  948. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/GreedyContent.java +19 -0
  949. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/KeyPathElementContent.java +6 -0
  950. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/MergePathsContent.java +123 -0
  951. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/ModifierContent.java +4 -0
  952. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/PathContent.java +7 -0
  953. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/PolystarContent.java +332 -0
  954. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/RectangleContent.java +180 -0
  955. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/RepeaterContent.java +155 -0
  956. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/RoundedCornersContent.java +225 -0
  957. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/ShapeContent.java +98 -0
  958. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/ShapeModifierContent.java +7 -0
  959. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/StrokeContent.java +77 -0
  960. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/TrimPathContent.java +75 -0
  961. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/package-info.java +6 -0
  962. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/BaseKeyframeAnimation.java +356 -0
  963. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/ColorKeyframeAnimation.java +46 -0
  964. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/DropShadowKeyframeAnimation.java +100 -0
  965. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/FloatKeyframeAnimation.java +45 -0
  966. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/GradientColorKeyframeAnimation.java +22 -0
  967. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/IntegerKeyframeAnimation.java +46 -0
  968. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/KeyframeAnimation.java +11 -0
  969. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/MaskKeyframeAnimation.java +40 -0
  970. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/PathKeyframe.java +40 -0
  971. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/PathKeyframeAnimation.java +46 -0
  972. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/PointKeyframeAnimation.java +41 -0
  973. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/ScaleKeyframeAnimation.java +40 -0
  974. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/ShapeKeyframeAnimation.java +42 -0
  975. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/SplitDimensionPathKeyframeAnimation.java +105 -0
  976. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/TextKeyframeAnimation.java +47 -0
  977. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/TransformKeyframeAnimation.java +336 -0
  978. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/ValueCallbackKeyframeAnimation.java +49 -0
  979. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/package-info.java +6 -0
  980. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/package-info.java +6 -0
  981. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/manager/FontAssetManager.java +129 -0
  982. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/manager/ImageAssetManager.java +151 -0
  983. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/manager/package-info.java +6 -0
  984. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/CubicCurveData.java +91 -0
  985. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/DocumentData.java +76 -0
  986. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/Font.java +52 -0
  987. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/FontCharacter.java +49 -0
  988. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/KeyPath.java +243 -0
  989. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/KeyPathElement.java +41 -0
  990. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/LottieCompositionCache.java +50 -0
  991. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/Marker.java +37 -0
  992. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/MutablePair.java +57 -0
  993. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableColorValue.java +18 -0
  994. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableFloatValue.java +19 -0
  995. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableGradientColorValue.java +55 -0
  996. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableIntegerValue.java +18 -0
  997. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatablePathValue.java +36 -0
  998. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatablePointValue.java +20 -0
  999. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableScaleValue.java +24 -0
  1000. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableShapeValue.java +21 -0
  1001. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableSplitDimensionPathValue.java +37 -0
  1002. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableTextFrame.java +18 -0
  1003. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableTextProperties.java +20 -0
  1004. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableTransform.java +111 -0
  1005. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableValue.java +15 -0
  1006. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/BaseAnimatableValue.java +39 -0
  1007. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/package-info.java +6 -0
  1008. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/BlurEffect.java +16 -0
  1009. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/CircleShape.java +52 -0
  1010. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ContentModel.java +14 -0
  1011. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/GradientColor.java +70 -0
  1012. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/GradientFill.java +84 -0
  1013. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/GradientStroke.java +110 -0
  1014. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/GradientType.java +6 -0
  1015. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/Mask.java +42 -0
  1016. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/MergePaths.java +74 -0
  1017. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/PolystarShape.java +111 -0
  1018. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/RectangleShape.java +58 -0
  1019. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/Repeater.java +52 -0
  1020. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/RoundedCorners.java +32 -0
  1021. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ShapeData.java +110 -0
  1022. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ShapeFill.java +63 -0
  1023. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ShapeGroup.java +42 -0
  1024. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ShapePath.java +45 -0
  1025. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ShapeStroke.java +125 -0
  1026. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ShapeTrimPath.java +76 -0
  1027. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/package-info.java +6 -0
  1028. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/BaseLayer.java +693 -0
  1029. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/CompositionLayer.java +236 -0
  1030. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/ImageLayer.java +112 -0
  1031. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/Layer.java +227 -0
  1032. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/NullLayer.java +22 -0
  1033. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/ShapeLayer.java +66 -0
  1034. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/SolidLayer.java +93 -0
  1035. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/TextLayer.java +619 -0
  1036. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/package-info.java +6 -0
  1037. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/DefaultLottieFetchResult.java +73 -0
  1038. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/DefaultLottieNetworkFetcher.java +21 -0
  1039. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/FileExtension.java +27 -0
  1040. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/LottieFetchResult.java +36 -0
  1041. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/LottieNetworkCacheProvider.java +21 -0
  1042. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/LottieNetworkFetcher.java +20 -0
  1043. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/NetworkCache.java +200 -0
  1044. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/NetworkFetcher.java +152 -0
  1045. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/AnimatablePathValueParser.java +96 -0
  1046. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/AnimatableTextPropertiesParser.java +78 -0
  1047. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/AnimatableTransformParser.java +167 -0
  1048. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/AnimatableValueParser.java +88 -0
  1049. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/BlurEffectParser.java +69 -0
  1050. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/CircleShapeParser.java +60 -0
  1051. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ColorParser.java +47 -0
  1052. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ContentModelParser.java +109 -0
  1053. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/DocumentDataParser.java +110 -0
  1054. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/DropShadowEffect.java +42 -0
  1055. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/DropShadowEffectParser.java +88 -0
  1056. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/FloatParser.java +17 -0
  1057. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/FontCharacterParser.java +81 -0
  1058. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/FontParser.java +49 -0
  1059. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/GradientColorParser.java +267 -0
  1060. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/GradientFillParser.java +100 -0
  1061. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/GradientStrokeParser.java +163 -0
  1062. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/IntegerParser.java +16 -0
  1063. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/JsonUtils.java +121 -0
  1064. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/KeyframeParser.java +373 -0
  1065. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/KeyframesParser.java +84 -0
  1066. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/LayerParser.java +292 -0
  1067. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/LottieCompositionMoshiParser.java +270 -0
  1068. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/MaskParser.java +68 -0
  1069. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/MergePathsParser.java +42 -0
  1070. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/PathKeyframeParser.java +27 -0
  1071. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/PathParser.java +18 -0
  1072. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/PointFParser.java +35 -0
  1073. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/PolystarShapeParser.java +91 -0
  1074. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/RectangleShapeParser.java +59 -0
  1075. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/RepeaterParser.java +57 -0
  1076. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/RoundedCornersParser.java +47 -0
  1077. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ScaleXYParser.java +31 -0
  1078. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ShapeDataParser.java +103 -0
  1079. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ShapeFillParser.java +69 -0
  1080. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ShapeGroupParser.java +55 -0
  1081. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ShapePathParser.java +52 -0
  1082. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ShapeStrokeParser.java +130 -0
  1083. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ShapeTrimPathParser.java +61 -0
  1084. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ValueParser.java +10 -0
  1085. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/JsonDataException.java +39 -0
  1086. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/JsonEncodingException.java +30 -0
  1087. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/JsonReader.java +493 -0
  1088. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/JsonScope.java +99 -0
  1089. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/JsonUtf8Reader.java +1046 -0
  1090. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/LinkedHashTreeMap.java +868 -0
  1091. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/package-info.java +6 -0
  1092. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/package-info.java +6 -0
  1093. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/BaseLottieAnimator.java +117 -0
  1094. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/GammaEvaluator.java +64 -0
  1095. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/LogcatLogger.java +52 -0
  1096. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/Logger.java +36 -0
  1097. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/LottieThreadFactory.java +27 -0
  1098. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/LottieTrace.java +42 -0
  1099. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/LottieValueAnimator.java +330 -0
  1100. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/MeanCalculator.java +26 -0
  1101. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/MiscUtils.java +113 -0
  1102. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/Utils.java +321 -0
  1103. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/package-info.java +6 -0
  1104. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/Keyframe.java +199 -0
  1105. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieFrameInfo.java +65 -0
  1106. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieInterpolatedFloatValue.java +22 -0
  1107. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieInterpolatedIntegerValue.java +22 -0
  1108. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieInterpolatedPointValue.java +27 -0
  1109. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieInterpolatedValue.java +28 -0
  1110. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieRelativeFloatValueCallback.java +39 -0
  1111. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieRelativeIntegerValueCallback.java +32 -0
  1112. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieRelativePointValueCallback.java +52 -0
  1113. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieValueCallback.java +90 -0
  1114. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/ScaleXY.java +36 -0
  1115. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/SimpleLottieValueCallback.java +10 -0
  1116. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottieview/ESLottieViewComponent.java +373 -0
  1117. package/rules/.source/sdk/support/network-speed/src/main/java/com/quicktvui/support/network/speed/ESNetworkSpeedModule.java +134 -0
  1118. package/rules/.source/sdk/support/network-speed/src/main/java/com/quicktvui/support/network/speed/util/FormatTools.java +29 -0
  1119. package/rules/.source/sdk/support/player-async/src/main/java/com/quicktvui/support/asyncplayer/ESAsyncPlayerModule.java +96 -0
  1120. package/rules/.source/sdk/support/player-audio-android/src/main/java/com/quicktvui/support/player/audio/android/ESAndroidAudioPlayer.java +484 -0
  1121. package/rules/.source/sdk/support/player-audio-android/src/main/java/com/quicktvui/support/player/audio/android/ESAndroidAudioPlayerModule.java +346 -0
  1122. package/rules/.source/sdk/support/player-audio-android/src/main/java/com/quicktvui/support/player/audio/android/ESAndroidAudioPlayerServiceModule.java +638 -0
  1123. package/rules/.source/sdk/support/player-audio-android/src/main/java/com/quicktvui/support/player/audio/android/ESAudioPlayerService.java +470 -0
  1124. package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/bean/PlayInfoBean.java +48 -0
  1125. package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/ijk/ESAudioPlayerService.java +528 -0
  1126. package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/ijk/ESIJKAudioPlayer.java +827 -0
  1127. package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/ijk/ESIJKAudioPlayerModule.java +438 -0
  1128. package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/ijk/ESIJKAudioPlayerModule2.java +498 -0
  1129. package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/ijk/ESIJKAudioPlayerServiceModule.java +655 -0
  1130. package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/utils/Settings.java +28 -0
  1131. package/rules/.source/sdk/support/player-audio-soundpool/src/main/java/com/quicktvui/support/player/audio/soundpool/ESSoundPoolAudioPlayerModule.java +191 -0
  1132. package/rules/.source/sdk/support/player-audio-soundpool/src/main/java/com/quicktvui/support/player/audio/soundpool/Sound.java +52 -0
  1133. package/rules/.source/sdk/support/player-audio-soundpool/src/main/java/com/quicktvui/support/player/audio/soundpool/SoundCache.java +125 -0
  1134. package/rules/.source/sdk/support/player-audio-soundpool/src/main/java/com/quicktvui/support/player/audio/soundpool/SoundPoolManager.java +567 -0
  1135. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/aspect/IJKAspectRatioMapper.java +78 -0
  1136. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/component/ADPlayerComponent.java +46 -0
  1137. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/component/IJKPlayerComponent.java +323 -0
  1138. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/module/ESPlayerIJKModule.java +96 -0
  1139. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/module/VideoModule.java +181 -0
  1140. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/AssetDataSource.java +67 -0
  1141. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/FileMediaDataSource.java +56 -0
  1142. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/IRenderView.java +97 -0
  1143. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/IjkLibManager.java +215 -0
  1144. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/IjkMediaOption.java +64 -0
  1145. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/IjkVideoPlayer.java +1487 -0
  1146. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/IjkVideoView.java +1796 -0
  1147. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/MeasureHelper.java +420 -0
  1148. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/MediaPlayerCompat.java +66 -0
  1149. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/RawDataSourceProvider.java +66 -0
  1150. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/SurfaceRenderView.java +308 -0
  1151. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/TextureRenderView.java +364 -0
  1152. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/service/MediaPlayerService.java +67 -0
  1153. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/setting/Settings.java +162 -0
  1154. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/AudioChannelType.java +24 -0
  1155. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/CommonUtils.java +53 -0
  1156. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/DeviceUtil.java +98 -0
  1157. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/DisplayAndDecodeTools.java +166 -0
  1158. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/FFConcatUtils.java +102 -0
  1159. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/FormatTools.java +32 -0
  1160. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/MetadataUtils.java +150 -0
  1161. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/PlayerThreadTools.java +97 -0
  1162. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/StorageUtils.java +159 -0
  1163. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/TimedHelper.java +233 -0
  1164. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/Constants.java +6 -0
  1165. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/aspect/AspectRatio.java +46 -0
  1166. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/aspect/AspectRatioManager.java +105 -0
  1167. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/aspect/AspectRatioSettingMapper.java +44 -0
  1168. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/base/ESBaseFrameLayout.java +82 -0
  1169. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/base/IPlayerRootView.java +10 -0
  1170. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/base/PlayerBaseView.java +750 -0
  1171. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/callback/CallbackNotifier.java +277 -0
  1172. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/component/PlayerBaseComponent.java +1150 -0
  1173. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/decode/Decode.java +45 -0
  1174. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/definition/Definition.java +48 -0
  1175. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/log/PLog.java +497 -0
  1176. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/log/PLogDefaultLoggingDelegate.java +149 -0
  1177. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/log/PLoggingDelegate.java +161 -0
  1178. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/log/logging.pro +5 -0
  1179. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/log/package-info.java +11 -0
  1180. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/manager/PlayerConfiguration.java +494 -0
  1181. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/model/ADPositionType.java +32 -0
  1182. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/model/IPlayerDimension.java +25 -0
  1183. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/model/IVideoUrl.java +51 -0
  1184. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/model/PlayerDimensionModel.java +166 -0
  1185. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/model/VideoUrlModel.java +113 -0
  1186. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/IPlayer.java +308 -0
  1187. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/IPlayerCallback.java +127 -0
  1188. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerConstant.java +30 -0
  1189. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerError.java +85 -0
  1190. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerInfo.java +70 -0
  1191. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerStatus.java +56 -0
  1192. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerStatusEnum.java +54 -0
  1193. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerStatusParams.java +21 -0
  1194. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerType.java +15 -0
  1195. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/setting/PlayerSetting.java +146 -0
  1196. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/utils/Preconditions.java +442 -0
  1197. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/utils/ScreenUtils.java +121 -0
  1198. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/volume/IPlayerVolume.java +12 -0
  1199. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/volume/PlayerVolumeModel.java +69 -0
  1200. package/rules/.source/sdk/support/rippleview/src/main/java/com/quicktvui/support/rippleview/ESRippleViewComponent.java +40 -0
  1201. package/rules/.source/sdk/support/rippleview/src/main/java/com/quicktvui/support/rippleview/RippleView.java +208 -0
  1202. package/rules/.source/sdk/support/socket-io/src/main/java/com/quicktvui/support/socketio/IEsSocketIOModule.java +24 -0
  1203. package/rules/.source/sdk/support/socket-io/src/main/java/com/quicktvui/support/socketio/SocketIOClientImpl.java +165 -0
  1204. package/rules/.source/sdk/support/socket-io/src/main/java/com/quicktvui/support/socketio/SocketIoModule.java +161 -0
  1205. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ESSubtitleModule.java +567 -0
  1206. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/FileUtils.java +1259 -0
  1207. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/IOClass.java +134 -0
  1208. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ISubtitleControl.java +64 -0
  1209. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/SubtitleClickListener.java +16 -0
  1210. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/Caption.java +27 -0
  1211. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FatalParsingException.java +25 -0
  1212. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FormatASS.java +613 -0
  1213. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FormatSCC.java +1063 -0
  1214. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FormatSRT.java +209 -0
  1215. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FormatSTL.java +654 -0
  1216. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FormatTTML.java +539 -0
  1217. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FormatVTT.java +227 -0
  1218. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/Region.java +5 -0
  1219. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/Style.java +161 -0
  1220. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/SubtitleResult.java +16 -0
  1221. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/SubtitleText.java +42 -0
  1222. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/Time.java +209 -0
  1223. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/TimedTextFileFormat.java +65 -0
  1224. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/TimedTextObject.java +161 -0
  1225. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ui/ESSubtitleView.java +152 -0
  1226. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ui/ESSubtitleViewComponent.java +189 -0
  1227. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ui/ESSubtitleViewController.java +172 -0
  1228. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ui/StrokeTextView.java +116 -0
  1229. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ui/SubtitleTextView.java +70 -0
  1230. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ui/SubtitleView.java +299 -0
  1231. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/CharsetListener.java +51 -0
  1232. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/Constants.java +74 -0
  1233. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/EncodingDetectorInputStream.java +118 -0
  1234. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/EncodingDetectorOutputStream.java +82 -0
  1235. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/FileCharsetConverter.java +30 -0
  1236. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/ReaderFactory.java +144 -0
  1237. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/UnicodeBOMInputStream.java +297 -0
  1238. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/UniversalDetector.java +394 -0
  1239. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/Big5Prober.java +137 -0
  1240. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/CharsetProber.java +181 -0
  1241. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/EUCJPProber.java +145 -0
  1242. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/EUCKRProber.java +135 -0
  1243. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/EUCTWProber.java +136 -0
  1244. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/EscCharsetProber.java +136 -0
  1245. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/GB18030Prober.java +135 -0
  1246. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/HebrewProber.java +212 -0
  1247. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/Latin1Prober.java +201 -0
  1248. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/MBCSGroupProber.java +173 -0
  1249. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/SBCSGroupProber.java +185 -0
  1250. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/SJISProber.java +144 -0
  1251. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/SingleByteCharsetProber.java +187 -0
  1252. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/UTF8Prober.java +133 -0
  1253. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/contextanalysis/EUCJPContextAnalysis.java +97 -0
  1254. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/contextanalysis/JapaneseContextAnalysis.java +255 -0
  1255. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/contextanalysis/SJISContextAnalysis.java +93 -0
  1256. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/Big5DistributionAnalysis.java +962 -0
  1257. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/CharDistributionAnalysis.java +116 -0
  1258. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/EUCJPDistributionAnalysis.java +67 -0
  1259. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/EUCKRDistributionAnalysis.java +630 -0
  1260. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/EUCTWDistributionAnalysis.java +459 -0
  1261. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/GB2312DistributionAnalysis.java +508 -0
  1262. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/JISDistributionAnalysis.java +585 -0
  1263. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/SJISDistributionAnalysis.java +79 -0
  1264. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/BulgarianModel.java +193 -0
  1265. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/CyrillicModel.java +194 -0
  1266. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/GreekModel.java +194 -0
  1267. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/HebrewModel.java +217 -0
  1268. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Ibm855Model.java +73 -0
  1269. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Ibm866Model.java +73 -0
  1270. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Koi8rModel.java +73 -0
  1271. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Latin5BulgarianModel.java +72 -0
  1272. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Latin5Model.java +73 -0
  1273. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Latin7Model.java +73 -0
  1274. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/MacCyrillicModel.java +73 -0
  1275. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/SequenceModel.java +95 -0
  1276. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/ThaiModel.java +239 -0
  1277. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Win1251BulgarianModel.java +73 -0
  1278. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Win1251Model.java +72 -0
  1279. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Win1253Model.java +72 -0
  1280. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/Big5SMModel.java +111 -0
  1281. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/CodingStateMachine.java +75 -0
  1282. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/EUCJPSMModel.java +115 -0
  1283. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/EUCKRSMModel.java +111 -0
  1284. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/EUCTWSMModel.java +115 -0
  1285. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/GB18030SMModel.java +114 -0
  1286. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/HZSMModel.java +113 -0
  1287. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/ISO2022CNSMModel.java +116 -0
  1288. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/ISO2022JPSMModel.java +118 -0
  1289. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/ISO2022KRSMModel.java +117 -0
  1290. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/PkgInt.java +117 -0
  1291. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/SJISSMModel.java +114 -0
  1292. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/SMModel.java +93 -0
  1293. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/UCS2BESMModel.java +120 -0
  1294. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/UTF8SMModel.java +141 -0
  1295. package/rules/.source/sdk/support/swiper-view/src/main/java/com/quicktvui/support/swiper/ESSwiperSlideViewComponent.java +46 -0
  1296. package/rules/.source/sdk/support/swiper-view/src/main/java/com/quicktvui/support/swiper/SwiperView.java +48 -0
  1297. package/rules/.source/sdk/support/ui/icon-view/src/main/java/quicktvui/support/ui/icon/ESAppIconView.java +42 -0
  1298. package/rules/.source/sdk/support/ui/icon-view/src/main/java/quicktvui/support/ui/icon/ESAppIconViewComponent.java +112 -0
  1299. package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/canvas/ESCanvasParamsUtils.java +117 -0
  1300. package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/canvas/ESPaint.java +60 -0
  1301. package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/canvas/ESPaintAction.java +7 -0
  1302. package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/canvas/ESPath.java +109 -0
  1303. package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/canvas/ESPathAction.java +10 -0
  1304. package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/canvas/PorterDuffUtils.java +49 -0
  1305. package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/crop/ESCroppedImageView.java +285 -0
  1306. package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/crop/ESCroppedImageViewComponent.java +102 -0
  1307. package/rules/.source/sdk/support/ui/playmarkview/src/main/java/com/quicktvui/support/ui/playmarkview/ESPlayMarkViewComponent.java +104 -0
  1308. package/rules/.source/sdk/support/ui/playmarkview/src/main/java/com/quicktvui/support/ui/playmarkview/PlayMarkView.java +319 -0
  1309. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/DensityUtils.java +57 -0
  1310. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/ScreenAdapt.java +33 -0
  1311. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/ScreenUtils.java +112 -0
  1312. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/ViewUtil.java +17 -0
  1313. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/HippyBaseFrameLayout.java +97 -0
  1314. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/HomeItemView.java +1564 -0
  1315. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/ItemFrame.java +188 -0
  1316. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/ItemFrameComponent.java +58 -0
  1317. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/ItemViewComponent.java +157 -0
  1318. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/RippleView.java +257 -0
  1319. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/RippleViewComponent.java +91 -0
  1320. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/TitleFocusComponent.java +42 -0
  1321. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/TitleNormalComponent.java +46 -0
  1322. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/TitleView.java +522 -0
  1323. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/TitleViewFocus.java +370 -0
  1324. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/AdvanceCenterScroller.java +132 -0
  1325. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/EasyListView.java +420 -0
  1326. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/EventSender.java +89 -0
  1327. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/FocusWatcher.java +66 -0
  1328. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/GroupItem.java +40 -0
  1329. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/GroupItemPresenter.kt +90 -0
  1330. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/ItemView.java +218 -0
  1331. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/LargeListComponent.java +115 -0
  1332. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/LargeListViewGroup.java +1383 -0
  1333. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/LazyDataItem.java +10 -0
  1334. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/LoadingItem.java +8 -0
  1335. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/LoadingPresenter.java +59 -0
  1336. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/MyTemplateHelper.kt +35 -0
  1337. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/NumberEpisodeItemPresenter.java +160 -0
  1338. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/PendingItemView.java +7 -0
  1339. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/StandItemViewPresenter.java +108 -0
  1340. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/Template.java +44 -0
  1341. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TemplateBean.java +6 -0
  1342. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TemplateHelper.kt +128 -0
  1343. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TemplateItem.kt +83 -0
  1344. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TemplateItemPresenterSelector.java +36 -0
  1345. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TemplatePresenter.java +13 -0
  1346. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TemplateUtil.java +339 -0
  1347. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TextEpisodeItemHostView.java +128 -0
  1348. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/ESSelectSeriesController.java +156 -0
  1349. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/EventSender.java +89 -0
  1350. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/SelectSeriesViewGroup.java +1024 -0
  1351. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/bean/LazyDataItem.java +10 -0
  1352. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/bean/MyData.java +33 -0
  1353. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/bean/PageData.java +5 -0
  1354. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/bean/Param.java +192 -0
  1355. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/bean/TemplateItem.kt +31 -0
  1356. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/components/GroupListView.java +49 -0
  1357. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/components/LargeListView.java +402 -0
  1358. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/presenters/CustomItemViewPresenter.java +133 -0
  1359. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/presenters/GroupItemPresenter.kt +123 -0
  1360. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/utils/MyCustomHelper.java +468 -0
  1361. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/utils/MyTemplateHelper.kt +18 -0
  1362. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/utils/TemplateHelper.kt +88 -0
  1363. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/utils/TemplateUtil.java +415 -0
  1364. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/swiftlist/SwiftListComponent.java +104 -0
  1365. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/swiftlist/SwiftListView.java +563 -0
  1366. package/rules/.source/sdk/support/upload/src/main/java/quicktvui/support/upload/ESUploadModule.java +307 -0
  1367. package/rules/.source/sdk/support/upload/src/main/java/quicktvui/support/upload/UploadManager.java +136 -0
  1368. package/rules/.source/sdk/support/websocket/src/main/java/quicktvui/support/websocket/IEsWebSocketModule.java +24 -0
  1369. package/rules/.source/sdk/support/websocket/src/main/java/quicktvui/support/websocket/WebSocketClient.java +63 -0
  1370. package/rules/.source/sdk/support/websocket/src/main/java/quicktvui/support/websocket/WebSocketImpl.java +55 -0
  1371. package/rules/.source/sdk/support/websocket/src/main/java/quicktvui/support/websocket/WebSocketModule.java +114 -0
  1372. package/rules/.source/sdk/support/webview/src/main/java/com/quicktvui/support/webview/ESWebView.java +235 -0
  1373. package/rules/.source/sdk/support/webview/src/main/java/com/quicktvui/support/webview/ESWebViewComponent.java +1181 -0
  1374. package/rules/.source/sdk/support/x5webview/src/main/java/com/quicktvui/support/x5webview/ESX5WebView.java +352 -0
  1375. package/rules/.source/sdk/support/x5webview/src/main/java/com/quicktvui/support/x5webview/ESX5WebViewComponent.java +1190 -0
  1376. package/rules/.windsurfrules +28 -4
  1377. package/rules/AGENTS.md +28 -4
  1378. package/rules/CLAUDE.md +28 -3
  1379. package/rules/GEMINI.md +26 -3
@@ -0,0 +1,2466 @@
1
+ package com.tencent.extend.views.fastlist;
2
+
3
+ import android.content.Context;
4
+ import android.graphics.Canvas;
5
+ import android.graphics.Rect;
6
+
7
+ import android.support.v7.widget.DefaultItemAnimator;
8
+ import android.util.Log;
9
+ import android.view.View;
10
+
11
+ import android.support.annotation.NonNull;
12
+ import android.support.annotation.Nullable;
13
+ import android.support.v7.widget.RecyclerView;
14
+ import android.support.v7.widget.SimpleItemAnimator;
15
+
16
+ import com.tencent.extend.AutoFocusManager;
17
+ import com.tencent.extend.TriggerTaskManagerModule;
18
+ import com.tencent.extend.views.fastlist.diff.FastListDataBindingHelper;
19
+ import com.tencent.mtt.hippy.FocusDispatchView;
20
+ import com.tencent.mtt.hippy.HippyEngineContext;
21
+ import com.tencent.mtt.hippy.HippyInstanceContext;
22
+ import com.tencent.mtt.hippy.common.HippyArray;
23
+ import com.tencent.mtt.hippy.common.HippyMap;
24
+ import com.tencent.mtt.hippy.modules.Promise;
25
+ import com.tencent.mtt.hippy.uimanager.ExtendViewGroup;
26
+ import com.tencent.mtt.hippy.uimanager.HippyViewBase;
27
+ import com.tencent.mtt.hippy.uimanager.InternalExtendViewUtil;
28
+ import com.tencent.mtt.hippy.uimanager.NativeGestureDispatcher;
29
+ import com.tencent.mtt.hippy.uimanager.RenderNode;
30
+ import com.tencent.mtt.hippy.uimanager.StateView;
31
+ import com.tencent.mtt.hippy.uimanager.ViewStateProvider;
32
+ import com.tencent.mtt.hippy.utils.ExtendUtil;
33
+ import com.tencent.mtt.hippy.utils.LogUtils;
34
+ import com.tencent.mtt.hippy.utils.PixelUtil;
35
+ import com.tencent.mtt.hippy.views.list.HippyRecycler;
36
+ import com.tencent.mtt.hippy.views.list.TVRecyclerView;
37
+ import com.tencent.mtt.hippy.views.view.HippyViewGroup;
38
+
39
+ import java.util.Arrays;
40
+ import java.util.Objects;
41
+
42
+ public class FastListView extends TVListView implements HippyViewBase, FastPendingView, FastAdapter.ScrollTaskHandler, ViewStateProvider {
43
+
44
+ // private FastRecyclerView mRealList;
45
+ protected InitParams mInitParams;
46
+ public static final String TAG = TVListView.TAG;
47
+ private FastAdapter mAdapter;
48
+ private ItemDecoration mItemDecoration;
49
+ private NativeGestureDispatcher mGestureDispatcher;
50
+ private boolean hasSet = false;
51
+ private boolean isDisplayed = true;
52
+ private boolean isDraw = true;
53
+ private boolean pendingChangeVisible = false;
54
+ private Runnable changeVisibilityRunnable = null;
55
+ private Runnable pendingDiffScroll = null;
56
+ private RenderNode templateNode;//根node节点
57
+ //重新设置数据时,重新判断autofocus
58
+ protected boolean autofocusDirtyOnDataChange = false;
59
+ private View agentView;//处理滑动事件的代理view
60
+ private boolean pauseTaskOnHide = false;//处理滑动事件的代理view
61
+ private OnFastScrollStateChangedListener onScrollStateChangedListener;//外部处理滑动事件变化
62
+ int lastScrollX = 0;
63
+ int lastScrollY = 0;
64
+
65
+ private boolean isInfinityLoop = false;
66
+ private boolean suspendUpdateTaskOnPause = false;
67
+
68
+ int customFadeLength = -1;
69
+ /**
70
+ * 当列表pause时,是否将执行的updateItemXX等任务添加到队列中
71
+ *
72
+ * @param suspendUpdateTaskOnPause
73
+ */
74
+ public void setSuspendUpdateTaskOnPause(boolean suspendUpdateTaskOnPause) {
75
+ this.suspendUpdateTaskOnPause = suspendUpdateTaskOnPause;
76
+ }
77
+
78
+ public boolean isSuspendUpdateTask() {
79
+ return suspendUpdateTaskOnPause && isPostTaskPaused();
80
+ }
81
+
82
+ public void setPauseTaskOnHide(boolean pauseOnHide) {
83
+ this.pauseTaskOnHide = pauseOnHide;
84
+ }
85
+
86
+ private HippyMap infiniteParams = null;
87
+
88
+
89
+ private boolean useDiff = false; // 是否使用diff
90
+ private String keyName; // diff的key
91
+
92
+ private Object focusViewTag;
93
+
94
+ private boolean reFocusAfterDiff = false;
95
+
96
+ // public FastListView(Context context) {
97
+ // super(context);
98
+ // }
99
+
100
+ public FastListView(Context context, HippyMap params) {
101
+ super(context);
102
+ applyProps(params);
103
+ }
104
+
105
+ public static final String TAG_CLONED = "ClonedDispatch";
106
+
107
+ public static View findNodeViewByTemplateView(int position, View view) {
108
+ HippyEngineContext context = Utils.getHippyContext(view);
109
+ RenderNode node = context != null ? context.getRenderManager().getRenderNode(view.getId()) : null;
110
+ final FastListView fastList = findParentFastList(context,node);
111
+ View targetView = null;
112
+ if (fastList != null) {
113
+ if (fastList.getFastAdapter() != null) {
114
+ targetView = fastList.getFastAdapter().findClonedViewByTemplateView(position,view);
115
+ if(LogUtils.isDebug()) {
116
+ Log.i(TAG_CLONED, "findNodeViewByTemplateView targetView targetView is :" + targetView);
117
+ }
118
+ }
119
+ }else{
120
+ Log.e(TAG_CLONED,"findNodeViewByTemplateView error fastList is null");
121
+ }
122
+
123
+ return targetView;
124
+ }
125
+
126
+ public static FastListView findParentFastList(HippyEngineContext context,RenderNode node){
127
+ if (context != null && node != null) {
128
+ //RenderNode node = context.getRenderManager().getRenderNode(view.getId());
129
+ ///Log.i(TAG_CLONED,"findParentFastList node:"+node+",class Name:"+node.getClassName());
130
+ if(FastListViewController.CLASS_NAME.equals(node.getClassName())){
131
+ View fv = context.getRenderManager().getControllerManager().findView(node.getId());
132
+ if(fv instanceof FastListView){
133
+ return (FastListView) fv;
134
+ }
135
+ }else{
136
+ return findParentFastList(context, node.getParent());
137
+ }
138
+ }
139
+ return null;
140
+ }
141
+
142
+ public void setReFocusAfterDiff(boolean reFocusAfterDiff) {
143
+ this.reFocusAfterDiff = reFocusAfterDiff;
144
+ }
145
+
146
+
147
+ public void diffSetSelectionPosition(int select){
148
+ if(LogUtils.isDebug()) {
149
+ Log.i(TAG, "diffSetSelectionPosition select:" + select + ",getControlProps().singleSelectPosition:" + getControlProps().singleSelectPosition + ",this :" + ExtendUtil.debugViewLite(this));
150
+ }
151
+ if(select != getControlProps().singleSelectPosition){
152
+ this.setSelectChildPosition(select,true);
153
+ }else{
154
+ defaultSectionPosition = select;
155
+ }
156
+ getControlProps().singleSelectPosition = select;
157
+ }
158
+
159
+ public int getFocusChildPosition(){
160
+ if(hasFocus()) {
161
+ final View child = getFocusedChild();
162
+ if (child != null) {
163
+ return getChildAdapterPosition(child);
164
+ }
165
+ }
166
+ return -1;
167
+ }
168
+
169
+ public void setAutofocusPositionInfiniteMode(int offset){
170
+ this.setAutofocusPosition(convertInfinitePosition(offset));
171
+ }
172
+
173
+ public void setAutofocusPosition(int position){
174
+ Log.i(AutoFocusManager.TAG, "list setAutofocusPosition :" + position+",hasFocus:"+hasFocus()+",current autofocusPosition:"+getControlProps().autofocusPosition);
175
+ if(getControlProps().autofocusPosition != position) {
176
+ getControlProps().autofocusPosition = position;
177
+ if (position == -1) {
178
+ return;
179
+ }
180
+ if(!hasFocus()) {
181
+ HippyMap hippyMap = new HippyMap();
182
+ hippyMap.pushInt("focusPosition", position);
183
+ hippyMap.pushInt("scrollToPosition", position);
184
+ hippyMap.pushBoolean("alignCenter", true);
185
+ hippyMap.pushBoolean("autofocus", true);
186
+ setInitPositionInfo(hippyMap);
187
+ }else{
188
+ final View view = findViewByPosition(position);
189
+ //这里
190
+ if(view != null && getFocusChildPosition() != position){
191
+ onRequestAutofocus(this,view,AUTOFOCUS_TYPE_FORCE);
192
+ if(LogUtils.isDebug()) {
193
+ Log.i(AutoFocusManager.TAG, "setAutofocusPosition requestFocus directly on childVisible position" + position);
194
+ }
195
+ } else {
196
+ if(LogUtils.isDebug()) {
197
+ Log.e(AutoFocusManager.TAG, "setAutofocusPosition return on getFocusChildPosition() == position:" + getFocusChildPosition());
198
+ }
199
+ HippyMap hippyMap = new HippyMap();
200
+ hippyMap.pushInt("focusPosition", position);
201
+ hippyMap.pushInt("scrollToPosition", position);
202
+ hippyMap.pushBoolean("alignCenter", true);
203
+ hippyMap.pushBoolean("autofocus", true);
204
+ setInitPositionInfo(hippyMap);
205
+ }
206
+ }
207
+ }else{
208
+ Log.e(AutoFocusManager.TAG,"setAutofocus return on getControlProps().autofocusPosition = position :"+position);
209
+ }
210
+ // setupInitScrollWork(position,);
211
+ }
212
+
213
+ public void setAutoSelectPosition(int position){
214
+ Log.i(AutoFocusManager.TAG, ">>>list setAutoSelectPosition :" + position);
215
+ diffSetSelectionPosition(position);
216
+ // if(position != getControlProps().autoScrollToPosition){
217
+ // setAutoscrollPosition(position);
218
+ // }
219
+ }
220
+
221
+ public void setAutoscrollPosition(int position){
222
+ setAutoscrollPosition(position,false,0);
223
+ }
224
+
225
+
226
+ int convertInfinitePosition(int offset){
227
+ return FastAdapter.INFINITE_START_POSITION + offset;
228
+ }
229
+
230
+ public void setAutoscrollInfiniteMode(int positionOffset, boolean force, int offset){
231
+ final int finalPosition = convertInfinitePosition(positionOffset);
232
+ this.setAutoscrollPosition(finalPosition,force,offset);
233
+ }
234
+
235
+ public void setAutoscrollPosition(int position,boolean force,int offset){
236
+ Log.i(AutoFocusManager.TAG, ">list setAutoscrollPosition :" + position+",focusChildPos:"+getFocusChildPosition());
237
+ if(getControlProps().autoScrollToPosition != position || force){
238
+ getControlProps().autoScrollToPosition = position;
239
+ getControlProps().scrollOffset = offset;
240
+ if(getControlProps().autofocusPosition == position && hasFocus()){
241
+ Log.e(AutoFocusManager.TAG, ">list setAutoscrollPosition return on autofocusPosition == position :" + position);
242
+ return;
243
+ }
244
+ if (getControlProps().autoScrollToPosition == -1) {
245
+ return;
246
+ }
247
+ final int focusChildPos = getFocusChildPosition();
248
+ if(focusChildPos == position && hasFocus()){
249
+ Log.e(AutoFocusManager.TAG, ">list setAutoscrollPosition return on focusChildPos == position :" + position);
250
+ return;
251
+ }
252
+ // HippyMap hippyMap = new HippyMap();setAutoscrollPosition
253
+ // hippyMap.pushInt("scrollToPosition",position);
254
+ // hippyMap.pushBoolean("alignCenter",true);
255
+ // setInitPositionInfo(hippyMap);
256
+ if(!hasFocus() || getChildCount() < 1) {
257
+ setTargetFocusChildPosition(position);
258
+ // int diffScroll = Math.abs(getControlProps().currentScrollToPosition - position);
259
+ boolean anim = false;
260
+ // final View view = findViewByPosition(position);
261
+ // if (view != null) {
262
+ // anim = true;
263
+ // }
264
+ scrollToPosition4Autoscroll(position, anim);
265
+ // HippyMap hippyMap = new HippyMap();
266
+ // hippyMap.pushInt("scrollToPosition",position);
267
+ // hippyMap.pushBoolean("alignCenter",true);
268
+ // setInitPositionInfo(hippyMap);
269
+ }else{
270
+ Log.e(AutoFocusManager.TAG, ">list setAutoscrollPosition return on hasFocus position :" + position);
271
+ }
272
+ //scrollToPosition(position);
273
+ }else{
274
+ Log.e(AutoFocusManager.TAG, ">list setAutoscrollPosition return on autoScrollToPosition == position :" + position);
275
+ }
276
+ }
277
+
278
+ // public void diffSetFocusPosition(int position){
279
+ //// if(((getControlProps().focusPosition != position)
280
+ //// || (getFocusChildPosition() != position))//当焦点不是当前焦点时,也执行
281
+ //// && position > -1){
282
+ //// //这里证明焦点发生变化,需要获取焦点
283
+ //// removeCallbacks(this.pendingDiffScroll);
284
+ //// requestPendingScroll(position,position,
285
+ //// getControlProps().scrollOffset,null);
286
+ //// }
287
+ // getControlProps().autofocusPosition = position;
288
+ // }
289
+
290
+ public int getAutofocusPosition(){
291
+ return getControlProps().autofocusPosition;
292
+ }
293
+ public void diffSetScrollToPosition(int position, int offset){
294
+ this.diffSetScrollToPosition(position,offset,50);
295
+ }
296
+ public void diffSetScrollToPosition(int position, int offset,int delay){
297
+ removeCallbacks(this.pendingDiffScroll);
298
+ if((position != getControlProps().scrollToPosition && getControlProps() .focusPosition != position)
299
+ || offset != getControlProps().scrollOffset && position > -1){
300
+ //setInitPositionInfo();
301
+ requestPendingScroll(-1, position,
302
+ offset, null,delay,true);
303
+ }else{
304
+ Log.e(TAG,"diffSetScrollToPosition return on same position");
305
+ }
306
+ getControlProps().scrollToPosition = position;
307
+ getControlProps().scrollOffset = offset;
308
+ }
309
+
310
+ public void setUseDiff(boolean useDiff) {
311
+ this.useDiff = useDiff;
312
+ }
313
+
314
+ public boolean isUseDiff() {
315
+ return useDiff;
316
+ }
317
+
318
+ public void setKeyName(String keyName) {
319
+ this.keyName = keyName;
320
+ }
321
+
322
+ protected void applyProps(HippyMap params) {
323
+ setVerticalScrollBarEnabled(false);
324
+ setHorizontalScrollBarEnabled(false);
325
+
326
+ final int spanCount = params.containsKey("spanCount") ? params.getInt("spanCount") : 1;
327
+ final int orientation = params.containsKey("horizontal") ? RecyclerView.HORIZONTAL : RecyclerView.VERTICAL;
328
+ mManagerType = spanCount > 1 ? 2 : 1;
329
+ //setAdapter(mAdapter);
330
+ //notice:使用viewPool会导致列表切换时不刷新,暂不使用
331
+ if(params.containsKey("infiniteParams")){
332
+ infiniteParams = params.getMap("infiniteParams");
333
+ isInfinityLoop = true;
334
+
335
+ }else{
336
+ isInfinityLoop = params.containsKey("infiniteMode");
337
+ }
338
+
339
+ // Log.i("DebugInfinite","applyProps isInfinityLoop : "+isInfinityLoop+",this:"+ExtendUtil.debugViewLite(this));
340
+ // isInfinityLoop = true;
341
+ if (mAdapter == null) {
342
+ mAdapter = newAdapter();
343
+
344
+ // if(params.containsKey("stableIdKey")){
345
+ // mAdapter.setStableIdKey(params.getString("stableIdKey"));
346
+ // }
347
+ // setRecycledViewPool(mAdapter.getCacheWorker(getContext(),this));
348
+ // Log.d("EsPageViewLog", "getCacheWorker set this:" + this+",findPageRootView():"+findPageRootView());
349
+ }
350
+
351
+
352
+ if (LogUtils.isDebug()) {
353
+ Log.i(TAG, "fastList applyProps spanCount:" + spanCount + ",orientation:" + orientation + ",isInfinityLoop:" + isInfinityLoop);
354
+ }
355
+ if (spanCount > 1) {
356
+ setGridViewLayout(spanCount, orientation, mAdapter);
357
+ } else {
358
+ init(orientation, mAdapter);
359
+ }
360
+ if (params.containsKey("disableAdvancedFocusSearch")) {
361
+ setUseAdvancedFocusSearch(false);
362
+ }
363
+ if (params.containsKey("advancedFocusSearchSpan")) {
364
+ this.advancedFocusSearchMore = params.getInt("advancedFocusSearchSpan");
365
+ if (LogUtils.isDebug()) {
366
+ Log.d(TAG, "advancedFocusSearchSpan set :" + this.advancedFocusSearchMore);
367
+ }
368
+ }
369
+ //padding="60,0,0,0"
370
+ if (params.containsKey("padding")) {
371
+ String paddingString = params.getString("padding");
372
+ if (paddingString.contains(",")) {
373
+ String[] padding = paddingString.split(",");
374
+ this.setPadding(Utils.toPX(padding[0] != null ? Integer.parseInt(padding[0]) : 0), Utils.toPX(padding[1] != null ? Integer.parseInt(padding[1]) : 0),
375
+ Utils.toPX(padding[2] != null ? Integer.parseInt(padding[2]) : 0), Utils.toPX(padding[3] != null ? Integer.parseInt(padding[3]) : 0));
376
+ }
377
+ }
378
+ mItemDecoration = mAdapter.buildListItemDecoration();
379
+ addItemDecoration(mItemDecoration);
380
+
381
+ // setItemAnimatorEnable(false);
382
+ // setItemAnimatorEnable(true);
383
+ }
384
+
385
+ public void setItemAnimatorEnable(boolean b){
386
+ if (b) {
387
+ setItemAnimator(new DefaultItemAnimator());
388
+ }else{
389
+ setItemAnimator(null);
390
+ }
391
+ }
392
+
393
+ public void updateItemProps(String name, int position, HippyMap dataToUpdate, boolean updateView) {
394
+
395
+ if (mAdapter != null) {
396
+ final ViewHolder vh = findViewHolderForAdapterPosition(position);
397
+ mAdapter.updateItemProps(name, position, dataToUpdate, updateView, vh);
398
+ if (vh == null) {
399
+ Log.e(TAG, "updateItemProps error,没有找到对应的Holder,当前View可能没有在展示");
400
+ }
401
+ }
402
+ }
403
+
404
+ FastAdapter newAdapter() {
405
+ final FastAdapter a = new FastAdapter();
406
+ a.eventDeliverer = eventDeliverer;
407
+ a.setBoundListView(this);
408
+ a.isInfiniteLoop = isInfinityLoop;
409
+ // setReFocusAfterDiff();
410
+ //a.setShareViewPoolType(hashCode() + "");
411
+ a.setContext(getEngineContext(),getContext());
412
+ return a;
413
+ }
414
+
415
+
416
+ HippyEngineContext getEngineContext() {
417
+ return ((HippyInstanceContext) getContext()).getEngineContext();
418
+ }
419
+
420
+ @Override
421
+ public View getView() {
422
+ return this;
423
+ }
424
+
425
+ @Override
426
+ public void notifyRecycled() {
427
+ if (LogUtils.isDebug()) {
428
+ Log.d(TAG, "FastListView notifyRecycled");
429
+ }
430
+ if(resetOnDetach) {
431
+ if (LogUtils.isDebug()) {
432
+ Log.w(TAG, "FastListView resetOnDetach");
433
+ }
434
+ scrollToTop();
435
+ setSelectChildPosition(0, true);
436
+ }
437
+ }
438
+
439
+ public void setGroupChildSelectByItemPosition(int anInt) {
440
+ }
441
+
442
+ public void scrollToPosition(int pos) {
443
+ this.scrollToPosition(pos, 0);
444
+ }
445
+
446
+ public void scrollToPosition(int pos, int offset) {
447
+ this.scrollToPosition(pos, offset, false);
448
+ }
449
+
450
+ public void callScrollToInfinitePosition(int pos, int offset, boolean anim) {
451
+ this.callScrollToPosition(convertInfinitePosition(pos),offset,anim);
452
+ }
453
+
454
+ public void callScrollToPosition(int pos, int offset, boolean anim) {
455
+ if(pos > -1) {
456
+ // autofocusDirty = true;
457
+ // autofocusDirtyOnDataChange = true;
458
+ if(LogUtils.isDebug()) {
459
+ Log.i(AutoFocusManager.TAG, "callScrollToPosition pos:" + pos + ",offset:" + offset + ",anim:" + anim + ",autofocusPosition:" + getControlProps().autofocusPosition);
460
+ }
461
+ if(getControlProps().autofocusPosition > -1){
462
+ setupInitScrollWork(getControlProps().autofocusPosition,getControlProps().autofocusPosition,0,null,false,0,true);
463
+ }
464
+ }
465
+ this.scrollToPosition(pos,offset,anim);
466
+ }
467
+
468
+ public void scrollToPosition4Autoscroll(int pos, boolean anim){
469
+ if(getChildOnScreenScroller().getScrollType() == TVRecyclerView.REQUEST_CHILD_ON_SCREEN_TYPE_CENTER){
470
+ getControlProps().pendingScrollToPosition = pos;
471
+ }
472
+ int offset = getControlProps().scrollOffset;
473
+ if(LogUtils.isDebug()) {
474
+ Log.i(AutoFocusManager.TAG, "handleAutoscroll scrollToPositionWithAlignCenter pos:" + pos + ",offset:" + offset + ",getControlProps().pendingScrollToPosition:" + getControlProps().pendingScrollToPosition);
475
+ }
476
+ //setupInitScrollWork(-1,pos,offset,null,false,0,false);
477
+ this.scrollToPosition(pos,offset,anim);
478
+ // this.updateList(anim);
479
+ // RenderUtil.req
480
+ // RenderUtil.requestNodeLayout(this);
481
+ }
482
+
483
+
484
+ public void scrollToPosition(int pos, int offset, boolean anim) {
485
+
486
+ if (LogUtils.isDebug()) {
487
+ Log.i(AutoFocusManager.TAG, "handleAutoscroll scrollToPosition pos:" + pos + ",offset:" + offset + " ,anim:" + anim);
488
+ }
489
+ getControlProps().currentScrollToPosition = pos;
490
+ stopScroll();
491
+ if (!anim) {
492
+ handleScrollBackToTop(pos);
493
+ getLayoutExecutor().scrollToPositionWithOffset(pos,offset);
494
+ // getLayoutManager().requestLayout();
495
+ // RenderUtil.reLayoutView(this, (int) getX(), (int) getY(), getWidth(), getHeight());
496
+ // super.scrollToPosition(pos);
497
+ requestLayoutManual();
498
+ // requestLayout();`
499
+ // postInvalidateDelayed(16);
500
+ // RenderUtil.requestNodeLayout(this);
501
+ } else {
502
+ handleScrollBackToTop(pos);
503
+ SmoothScroller ss = new MyLinearScroller(this, offset);
504
+ ss.setTargetPosition(pos);
505
+ getLayoutManagerCompat().startSmoothScroll(ss);
506
+ }
507
+ }
508
+
509
+ //设置根节点
510
+ public void setTemplateNode(RenderNode templateNode) {
511
+ this.templateNode = templateNode;
512
+ }
513
+
514
+ public void setPostContentDelay(int time) {
515
+ if (mAdapter != null) {
516
+ mAdapter.postDelay = time;
517
+ }
518
+ }
519
+
520
+ @Override
521
+ public void requestChildFocus(View child, View focused) {
522
+ // if (stateEnableOnFocusNames != null) {
523
+ // if (mFocusChildPosition > -1) {
524
+ // View last = findViewByPosition(mFocusChildPosition);
525
+ // if (last != null) {
526
+ // for(String s : stateEnableOnFocusNames){
527
+ // if(last instanceof StateView){
528
+ // if("selected".equals(s)){
529
+ // last.setSelected(false);
530
+ // }
531
+ // ((StateView) last).setCustomState(s,false);
532
+ // }
533
+ // }
534
+ // }
535
+ // }
536
+ // }
537
+ super.requestChildFocus(child, focused);
538
+ //Log.i("DebugInfinite","requestChildFocus position:"+mFocusChildPosition);
539
+ if (stateEnableOnFocusNames != null) {
540
+ for(String s : stateEnableOnFocusNames){
541
+ if(child instanceof StateView){
542
+ if("selected".equals(s)){
543
+ //child.setSelected(true);
544
+ //diffSetSelectionPosition(mFocusChildPosition);
545
+ this.setSelectChildPosition(mFocusChildPosition,true);
546
+ }
547
+ ((StateView) child).setCustomState(s,true);
548
+ }
549
+ }
550
+ }
551
+ }
552
+
553
+ public void requestChildFocus(int pos, int direction) {
554
+ if (LogUtils.isDebug()) {
555
+ LogUtils.e(FocusDispatchView.TAG, "requestChildFocus view:" + getId());
556
+ }
557
+
558
+ final View v = findViewByPosition(pos);
559
+ if (v != null) {
560
+ v.requestFocus(direction);
561
+ }
562
+ }
563
+
564
+ public void setup() {
565
+
566
+ }
567
+
568
+
569
+ public RenderNode getTemplateNode() {
570
+ return templateNode;
571
+ }
572
+
573
+ private FastListNode getRenderNode() {
574
+ if (templateNode != null) {
575
+ if (templateNode instanceof FastListNode) {
576
+ return (FastListNode) templateNode;
577
+ }
578
+ }
579
+ final RenderNode node = Utils.getRenderNode(this);
580
+ if (node instanceof FastListNode) {
581
+ return (FastListNode) node;
582
+ }
583
+ Log.e(TAG, "FastListView getRenderNode return null id :" + getId());
584
+ return null;
585
+ }
586
+
587
+ @Override
588
+ public void setVisibility(int visibility) {
589
+ super.setVisibility(visibility);
590
+ // if(visibility != )
591
+ if(LogUtils.isDebug()) {
592
+ if (visibility == View.VISIBLE) {
593
+ Log.d(AutoFocusManager.TAG, "FastListView setVisibility :" + "View.VISIBLE" + ",this:" + ExtendUtil.debugView(this));
594
+ } else {
595
+ Log.d(AutoFocusManager.TAG, "FastListView setVisibility :" + (visibility == INVISIBLE ? "invisible" : "gone") + ",this:" + ExtendUtil.debugView(this));
596
+ }
597
+ }
598
+ // if(visibility == View.VISIBLE){
599
+ // final int autofocusPosition = getControlProps().autofocusPosition;
600
+ // final View targetChild = findViewByPosition(autofocusPosition);
601
+ // if (targetChild != null && targetChild.getVisibility() == View.VISIBLE) {
602
+ // if (LogUtils.isDebug()) {
603
+ // Log.i(AutoFocusManager.TAG, "setVisibility find target requestFocus directly :" + targetChild);
604
+ // }
605
+ // onRequestAutofocus(this, targetChild, ExtendViewGroup.AUTOFOCUS_TYPE_FORCE);
606
+ // }else {
607
+ // if (!checkAutoFocus("onSetVisibility", true)) {
608
+ // checkAutoscroll();
609
+ // }
610
+ // }
611
+ // }
612
+ }
613
+
614
+ @Override
615
+ protected void onWindowVisibilityChanged(int visibility) {
616
+ globalVisibility = visibility;
617
+ if(LogUtils.isDebug()) {
618
+ if (visibility == View.VISIBLE) {
619
+ Log.d(AutoFocusManager.TAG, "FastListView onWindowVisibilityChanged :" + "View.VISIBLE" + ",this:" + ExtendUtil.debugView(this));
620
+ } else {
621
+ Log.d(AutoFocusManager.TAG, "FastListView onWindowVisibilityChanged :" + (visibility == INVISIBLE ? "invisible" : "gone") + ",this:" + ExtendUtil.debugView(this));
622
+ }
623
+ }
624
+ if(pauseTaskOnHide) {
625
+ //Fixme 这里嵌套的tv-list自动将任务pause,后面应该根据一些逻辑判断来执行
626
+ if (visibility != View.VISIBLE) {
627
+ pausePostTask();
628
+ } else {
629
+ resumePostTask();
630
+ }
631
+ }
632
+ super.onWindowVisibilityChanged(visibility);
633
+ if(visibility == View.VISIBLE && getControlProps().pendingCheckAutofocus){
634
+ getControlProps().pendingCheckAutofocus = false;
635
+ // autofocusDirty = true;
636
+ if(!checkAutoFocus("onVisibilityChanged",true)){
637
+ checkAutoscroll();
638
+ }
639
+ }
640
+
641
+ // checkAutoFocus("visibility changed");
642
+ }
643
+ private int globalVisibility = View.INVISIBLE;
644
+
645
+ @Override
646
+ protected void onLayout(boolean changed, int l, int t, int r, int b) {
647
+ // Log.e(TAG, "FastListView onLayout width:"+getWidth()+",height:"+getHeight());
648
+ // notifyUpdateItemsLayout();
649
+ // if(getWidth())
650
+ super.onLayout(changed, l, t, r, b);
651
+ }
652
+
653
+
654
+
655
+ @Override
656
+ protected void onSizeChanged(int w, int h, int oldw, int oldh) {
657
+ super.onSizeChanged(w, h, oldw, oldh);
658
+ if (w > 0 && h > 0) {
659
+ setupListView();
660
+ }
661
+ if (LogUtils.isDebug()) {
662
+ Log.d(TAG, "FastListView onSizeChanged w:" + w + ",h:" + h);
663
+ }
664
+ if(w < 1 || h < 1){
665
+ if(LogUtils.isDebug()){
666
+ Log.i(AutoFocusManager.TAG,"resetAutoWork on size 0 ");
667
+ }
668
+ resetAutoWork();
669
+ }
670
+
671
+ if(oldw < 1 && oldh < 1 && w > 0 && h > 0){
672
+ //v-show变化后
673
+ if(globalVisibility == View.VISIBLE){
674
+ // autofocusDirty = true;
675
+ if(!checkAutoFocus("sizeChanged",true)){
676
+ checkAutoscroll();
677
+ }
678
+ }else{
679
+ getControlProps().pendingCheckAutofocus = true;
680
+ }
681
+ }
682
+
683
+ }
684
+
685
+
686
+ public void requestAutofocusPosition(){
687
+ checkAutoFocus("CustomRequest",true);
688
+ }
689
+
690
+ private boolean checkAutoFocus(String state){
691
+ return checkAutoFocus(state,false);
692
+ }
693
+ private boolean checkAutoFocus(String state,boolean force){
694
+ if(LogUtils.isDebug()) {
695
+ Log.i(AutoFocusManager.TAG, "FastListView checkAutoFocus focusPosition on "+ state
696
+ +",autoscrollPosition:"+getControlProps().autoScrollToPosition
697
+ +",focusChildPosition:"+mFocusChildPosition+",hasFocus:"+hasFocus()
698
+ + ",autofocusPosition " + getControlProps().autofocusPosition + " ,view:" + ExtendUtil.debugView(this) +",childCount:"+getChildCount());
699
+ }
700
+ // if(globalVisibility == View.VISIBLE
701
+ // && getVisibility() == View.VISIBLE
702
+ // && getControlProps().focusPosition > -1
703
+ // && isAttached()
704
+ // && getWidth() > 0 && getHeight() > 0
705
+ // ) {
706
+ // Log.i(AutoFocusManager.TAG,"FastListView auto requestFocus focusPosition on "+state+",position "+getControlProps().focusPosition+" ,view:"+this);
707
+ // diffSetFocusPosition(getControlProps().focusPosition);
708
+ // }
709
+
710
+ final int autofocusPosition = getControlProps().autofocusPosition;
711
+ if(getControlProps().autofocusPosition > -1
712
+ ){
713
+ if(getVisibility() == View.VISIBLE
714
+ && ((getFocusChildPosition() != getControlProps().autofocusPosition) || isFocused() || force)){
715
+ if(LogUtils.isDebug()) {
716
+ Log.e(AutoFocusManager.TAG, "FastListView do autofocus on " + state + ",autofocusPosition " + autofocusPosition + " ,view:" + ExtendUtil.debugView(this));
717
+ }
718
+ setupInitScrollWork(autofocusPosition,autofocusPosition,0,null,false,0,true);
719
+ if((getChildCount() > 0 || force) && getVisibility() == View.VISIBLE && getWidth() > 0 && getHeight() > 0)
720
+ {
721
+ updateList();
722
+ return true;
723
+ }else{
724
+ Log.e(AutoFocusManager.TAG,"FastListView do autofocus on childCount:"+getChildCount()+",width:"+getWidth()+",height:"+getHeight());
725
+ }
726
+ }else{
727
+ Log.e(AutoFocusManager.TAG, "should do autofocus return on getVisibility():" + getVisibility()
728
+ + ",getControlProps().autofocusPosition :" + getControlProps().autofocusPosition
729
+ + ",getFocusChildPosition() :" + getFocusChildPosition()
730
+ + ",mFocusChildPosition :" + mFocusChildPosition
731
+ + ",hasFocus() :" + hasFocus()
732
+ + ",isFocused :" + isFocused()
733
+ + ",this :" + ExtendUtil.debugView(this)
734
+ );
735
+ }
736
+
737
+ }
738
+ return false;
739
+ }
740
+
741
+ private void checkAutoscroll(){
742
+ if(getVisibility() == View.VISIBLE && getControlProps().autoScrollToPosition > -1){
743
+ Log.i(AutoFocusManager.TAG,"onSizeChanged exeAutoscroll :"+getControlProps().autoScrollToPosition+",getControlProps().scrollOffset:"+getControlProps().scrollOffset);
744
+ setAutoscrollPosition(getControlProps().autoScrollToPosition,true,getControlProps().scrollOffset);
745
+ //setupInitScrollWork(-1,getControlProps().autofocusPosition,getControlProps().scrollOffset,null,false,0,true);
746
+
747
+ }
748
+ }
749
+
750
+
751
+ private void setupListView() {
752
+ // Log.d(TAG, "FastListView setupListView width:" + getWidth() + ",height:" + getHeight());
753
+ // if(mRealList == null){
754
+ // mRealList = new FastRecyclerView(getContext());
755
+ // mRealList.init();
756
+ // mRealList.setAdapter(mAdapter);
757
+ // addView(mRealList,new ViewGroup.LayoutParams(getWidth(),getHeight()));
758
+ // }
759
+ if(customFadeLength < 0) {
760
+ float defaultLength = FastListModule.getGlobalConfig(getEngineContext()).defaultFadingEdgeLength;
761
+ if (defaultLength > 0) {
762
+ boolean horizontal = getLayoutManagerCompat().getOrientation() == RecyclerView.HORIZONTAL;
763
+ int length;
764
+ if (horizontal) {
765
+ length = (int) (getWidth() * defaultLength);
766
+ setHorizontalFadingEdgeEnabled(true);
767
+ } else {
768
+ length = (int) (getHeight() * defaultLength);
769
+ setVerticalFadingEdgeEnabled(true);
770
+ }
771
+ if (length > 0) {
772
+ super.setFadingEdgeLength(length);
773
+ }
774
+ invalidate();
775
+ }
776
+ }
777
+ }
778
+
779
+ @Override
780
+ public void setFadingEdgeLength(int length) {
781
+ super.setFadingEdgeLength(length);
782
+ this.customFadeLength = length;
783
+ }
784
+
785
+ public void setList(HippyArray array) {
786
+ this.setListWithParams(array, false, useDiff);
787
+ }
788
+
789
+ public void setListWithParams(HippyArray array, boolean autoChangeVisible, boolean useDiff) {
790
+ //clearAllTask();
791
+ final FastListNode node = getRenderNode();
792
+ if (LogUtils.isDebug()) {
793
+ Log.i(TAG, "FastListView TEST_FOCUS setList node:" + node + ",array :" + array + ",hasFocus:" + hasFocus());
794
+ }
795
+ assert (node != null);
796
+ this.setPendingData(array, node, autoChangeVisible, useDiff);
797
+ }
798
+
799
+
800
+ public void notifyPause() {
801
+ if (LogUtils.isDebug()) {
802
+ Log.e(TAG, "DebugPool notifyPause,this:" + Utils.hashCode(this));
803
+ }
804
+ notifyChildrenSaveState();
805
+ }
806
+
807
+ public void notifyRestore() {
808
+ if (LogUtils.isDebug()) {
809
+ Log.e(TAG, "DebugPool notifyRestore,this:" + Utils.hashCode(this));
810
+ }
811
+ notifyChildrenRestoreState();
812
+ }
813
+
814
+ public void setDisplay(boolean display, boolean autoDataState) {
815
+ if (LogUtils.isDebug()) {
816
+ if (display) {
817
+ Log.e(TAG, "++++DebugPool setDisplay display:" + true + ",this:" + Utils.hashCode(this) + ",autoDataState:" + autoDataState);
818
+ } else {
819
+ Log.e(TAG, "----DebugPool setDisplay display:" + false + ",this:" + Utils.hashCode(this) + ",autoDataState:" + autoDataState);
820
+ }
821
+ }
822
+ if (!display) {
823
+ pendingChangeVisible = false;
824
+ removeCallbacks(changeVisibilityRunnable);
825
+ }
826
+ if (isDisplayed == display) {
827
+ if (LogUtils.isDebug()) {
828
+ Log.d(TAG, "----DebugPool setDisplay ");
829
+ }
830
+ return;
831
+ }
832
+ this.isDisplayed = display;
833
+ //notifyRestore();
834
+ if (!display) {
835
+ changeVisibility4Display(false);
836
+ } else {
837
+ changeVisibility4Display(true);
838
+ }
839
+ if (autoDataState) {
840
+ //notifyPause();
841
+ }
842
+ }
843
+
844
+
845
+ @Override
846
+ public void requestLayout() {
847
+ super.requestLayout();
848
+ // ExtendUtil.layoutViewManual(this);
849
+ }
850
+
851
+ public void clearInitFocusPosition() {
852
+ if (mInitParams != null) {
853
+ mInitParams.targetFocusPosition = -1;
854
+ }
855
+ }
856
+
857
+
858
+ public void setupInitScrollWork(int position, int scrollToPosition, int offset, String focusName, boolean block, int delay, boolean alignCenter) {
859
+ if (position < 0 && scrollToPosition < 0) {
860
+ clearInitFocusPosition();
861
+ } else {
862
+ mInitParams = new InitParams(position, scrollToPosition, offset, focusName, block, delay, alignCenter);
863
+ if(LogUtils.isDebug()) {
864
+ Log.i(AutoFocusManager.TAG, "setupInitScrollWork initParams:" + mInitParams);
865
+ }
866
+ if (block) {
867
+ if (LogUtils.isDebug()) {
868
+ Log.e("PendingFocus", "setPendingFocusChild blockRootFocus!!");
869
+ }
870
+
871
+ InternalExtendViewUtil.blockRootFocus(this);
872
+ if (hasFocus()) {
873
+ this.clearFocus();
874
+ }
875
+ }
876
+ }
877
+
878
+ }
879
+
880
+ @Override
881
+ public void clearFocus() {
882
+ super.clearFocus();
883
+ mFocusChildPosition = -1;
884
+ }
885
+
886
+ private Runnable hideTask;
887
+
888
+ private void hideAWhile(int time) {
889
+ //暂时将自己隐藏一会,主要用来解决列表重设数据,多次变更的问题
890
+ if (LogUtils.isDebug()) {
891
+ Log.i(TAG, "hideAWhile time:" + time + ",this:" + ExtendUtil.debugViewLite(this));
892
+ }
893
+ if (hideTask != null) {
894
+ removeCallbacks(hideTask);
895
+ }
896
+ setAlpha(0);
897
+ hideTask = () -> setAlpha(1);
898
+ postDelayed(hideTask, time);
899
+ }
900
+
901
+ void updateList(boolean anim){
902
+ if (mInitParams != null) {
903
+ if (LogUtils.isDebug()) {
904
+ Log.i("PendingFocus", "after setListData scrollToPosition:" + mInitParams + ",id:" + getId());
905
+ }
906
+ if (mInitParams.alignCenter) {
907
+ //只有滚动居中时才需要设置pendingWork
908
+ getLayoutManagerCompat().setPendingScroll(mInitParams.scrollToPosition, mInitParams.scrollOffset);
909
+ }
910
+ scrollToPosition(mInitParams.scrollToPosition, mInitParams.scrollOffset,anim);
911
+ // RenderUtil.requestNodeLayout(this);
912
+ }
913
+ }
914
+
915
+ void updateList() {
916
+ this.updateList(false);
917
+ }
918
+
919
+ protected int getScrollToPosition() {
920
+ return mInitParams == null ? -1 : mInitParams.scrollToPosition;
921
+ }
922
+
923
+ public void scrollToFocus(int pos) {
924
+ this.scrollToFocus(pos, 0, -1, null);
925
+ }
926
+ public void scrollToFocus(int pos, int scrollOffset, int delay, String target) {
927
+ this.scrollToFocus(pos,scrollOffset,delay,target,true);
928
+ }
929
+
930
+ // FIXME sdk<19时,isInLayout方法会报VerifyError,需要删除
931
+ public void scrollToFocus(int pos, int scrollOffset, int delay, String target,boolean force) {
932
+ Log.i(TAG,"scrollToFocus pos:"+pos+",scrollOffset:"+scrollOffset+",delay:"+delay+",target:"+target);
933
+
934
+ final HippyMap hm = new HippyMap();
935
+ hm.pushInt("focusPosition", pos);
936
+ hm.pushBoolean("force", force);
937
+ hm.pushBoolean("alignCenter", true);
938
+ hm.pushBoolean("blockOthers", true);
939
+ hm.pushBoolean("hide", false);
940
+ hm.pushInt("scrollToPosition", pos);
941
+ if (target != null) {
942
+ hm.pushString("target", target);
943
+ }
944
+ if (scrollOffset != 0) {
945
+ hm.pushInt("scrollOffset", scrollOffset);
946
+ }
947
+ if (delay > 0) {
948
+ hm.pushInt("delay", delay);
949
+ }
950
+ this.clearInitFocusPosition();
951
+ if (pos == 0 && scrollOffset == 0) {
952
+ //如果回到0,需要通知vue层scrollToTop
953
+ mOffsetY = 0;
954
+ mOffsetX = 0;
955
+ handleScrollValue(true);
956
+ resetScrollOffset();
957
+ if (mScrollToTopListener != null) {
958
+ mScrollToTopListener.onScrolled(this, 0, 0);
959
+ }
960
+ resetScrollOffset();
961
+ }
962
+ this.stopScroll();
963
+ if (!isComputingLayout() && !isInLayout()) {
964
+ this.setInitPositionInfo(hm);
965
+ } else {
966
+ if (LogUtils.isDebug()) {
967
+ Log.e(TAG, "scrollToFocus on error state postTask:" + lastState);
968
+ }
969
+ }
970
+ }
971
+
972
+ @Override
973
+ protected void resetScrollOffset() {
974
+ super.resetScrollOffset();
975
+ if (mAdapter != null) {
976
+ mAdapter.clearDetachCaches();
977
+ }
978
+ }
979
+
980
+ @Override
981
+ protected void onVisibilityChanged(@NonNull View changedView, int visibility) {
982
+ super.onVisibilityChanged(changedView, visibility);
983
+ if(visibility == View.VISIBLE){
984
+ // autofocusDirty = true;
985
+ }
986
+ }
987
+
988
+
989
+
990
+
991
+ public void requestPendingScroll(int focusPosition, int scrollToPosition, int scrollOffset, final String target,int postDelay,boolean alignCenter){
992
+ removeCallbacks(this.pendingDiffScroll);
993
+ //Log.i(AutoFocusManager.TAG,"requestPendingScroll focusPosition:"+focusPosition+",scrollToPosition:"+scrollToPosition+",scrollOffset:"+scrollOffset+",target:"+target);
994
+ this.setupInitScrollWork(focusPosition,scrollToPosition,scrollOffset,null,true,0,alignCenter);
995
+ // hideAWhile(200);
996
+ this.pendingDiffScroll = new Runnable() {
997
+ @Override
998
+ public void run() {
999
+ // hideAWhile(0);
1000
+ updateList();
1001
+ }
1002
+ };
1003
+ postDelayed(this.pendingDiffScroll,postDelay);
1004
+ }
1005
+
1006
+ public void setInitPositionInfo(HippyMap map) {
1007
+ /*
1008
+ :initPosition=
1009
+ {
1010
+ // 请求焦点的位置可以不传,不传不会请求焦点
1011
+ focusPosition:5,
1012
+ //首次滚动的位置, 可以不传
1013
+ scrollToPosition:3,
1014
+ //首次滚动的偏移值, 可以不传
1015
+ scrollOffset:200,
1016
+ }
1017
+ *
1018
+ **/
1019
+ if (map == null || map.size() < 1) {
1020
+ clearInitFocusPosition();
1021
+ return;
1022
+ }
1023
+ int position = map.containsKey("focusPosition") ? map.getInt("focusPosition") : -1;
1024
+ if (position < 0) {
1025
+ position = map.containsKey("position") ? map.getInt("position") : -1;
1026
+ }
1027
+ final int scrollToPosition = map.containsKey("scrollToPosition") ? map.getInt("scrollToPosition") : -1;
1028
+ final int scrollOffset = map.containsKey("scrollOffset") ? map.getInt("scrollOffset") : 0;
1029
+
1030
+ final String target = map.containsKey("target") ? map.getString("target") : null;
1031
+ // final boolean oneShot = map.getBoolean("oneShot");
1032
+ final boolean block = map.containsKey("blockOthers") && map.getBoolean("blockOthers");
1033
+ final boolean force = map.getBoolean("force");
1034
+ final boolean alignCenter = map.getBoolean("alignCenter");
1035
+ final boolean autofocus = map.getBoolean("autofocus");
1036
+ if(alignCenter){
1037
+ if(scrollToPosition > 0){
1038
+ setTargetFocusChildPosition(scrollToPosition);
1039
+ }
1040
+ }
1041
+ final int initTargetFocusPosition = map.containsKey("nextTargetFocusPosition") ? map.getInt("nextTargetFocusPosition") : -1;
1042
+ if(initTargetFocusPosition > -1){
1043
+ setTargetFocusChildPosition(initTargetFocusPosition);
1044
+ }
1045
+ final int delay = map.containsKey("delay") ? map.getInt("delay") : -1;
1046
+ final boolean hideBeforeScroll = !map.containsKey("hide") || map.getBoolean("hide");
1047
+ if (position < 0 && scrollToPosition < 0) {
1048
+ this.clearInitFocusPosition();
1049
+ return;
1050
+ }
1051
+ if(autofocus && position > -1){
1052
+ getControlProps().autofocusPosition = position;
1053
+ }
1054
+
1055
+ boolean requestFocus = position > -1;
1056
+ if (LogUtils.isDebug()) {
1057
+ Log.d("PendingFocus", "begin initPosition requestFocus:" + requestFocus+",autofocus:"+autofocus);
1058
+ }
1059
+ if (requestFocus) {
1060
+ final View targetView = findTargetChildFocus(position, target);
1061
+ if (LogUtils.isDebug()) {
1062
+ Log.d("PendingFocus", "findTargetChildFocus findTargetChildFocus:" + targetView);
1063
+ }
1064
+ if (targetView != null && targetView.getVisibility() == View.VISIBLE) {
1065
+ // requestTargetFocus(block,delay,position,target);
1066
+ setupInitScrollWork(position, scrollToPosition, scrollOffset, target, block, delay, alignCenter);
1067
+ if (force) {
1068
+ if (hideBeforeScroll) {
1069
+ hideAWhile(300);
1070
+ }
1071
+ updateList();
1072
+ }
1073
+ } else {
1074
+ setupInitScrollWork(position, scrollToPosition, scrollOffset, target, block, delay, alignCenter);
1075
+ if (force) {
1076
+ if (hideBeforeScroll) {
1077
+ hideAWhile(300);
1078
+ }
1079
+ updateList();
1080
+ }
1081
+ if (scrollToPosition > -1) {
1082
+ if (LogUtils.isDebug()) {
1083
+ Log.e("PendingFocus", "scrollToPositionWithScrollType Directly");
1084
+ }
1085
+ // scrollToPositionWithScrollType(scrollToPosition,scrollOffset);
1086
+ } else {
1087
+ // scrollToPositionWithScrollType(position,scrollOffset);
1088
+ }
1089
+ }
1090
+ } else {
1091
+ setupInitScrollWork(-1, scrollToPosition, scrollOffset, target, block, delay, alignCenter);
1092
+ if (LogUtils.isDebug()) {
1093
+ Log.e("PendingFocus", "scrollToPositionWithScrollType Directly!! scrollToPosition:" + scrollToPosition + ",offset:" + scrollOffset + ",id:" + getId());
1094
+ }
1095
+ if (force) {
1096
+ hideAWhile(300);
1097
+ updateList();
1098
+ }
1099
+ // scrollToPositionWithScrollType(scrollToPosition,scrollOffset);
1100
+ }
1101
+
1102
+
1103
+ }
1104
+
1105
+
1106
+ @Override
1107
+ protected void onDetachedFromWindow() {
1108
+ super.onDetachedFromWindow();
1109
+ //fixme 暂不置空
1110
+ // pageRootView = null;
1111
+ if (LogUtils.isDebug()) {
1112
+ Log.e(TAG, "FastList onDetachedFromWindow this:" + hashCode());
1113
+ }
1114
+ // if (mAdapter != null) {
1115
+ // mAdapter.clearDetachCaches();
1116
+ // }
1117
+ }
1118
+
1119
+ void recycleAdapter() {
1120
+ if (mAdapter != null) {
1121
+ mAdapter.clearCache();
1122
+ }
1123
+ }
1124
+
1125
+ public RenderNode getTemplateNodeByPosition(int position){
1126
+ if (mAdapter != null) {
1127
+ int type = mAdapter.getItemViewType(position);
1128
+ return mAdapter.getTemplateNodeByType(type);
1129
+ }
1130
+ return null;
1131
+ }
1132
+
1133
+
1134
+ @Override
1135
+ public NativeGestureDispatcher getGestureDispatcher() {
1136
+ return mGestureDispatcher;
1137
+ }
1138
+
1139
+ @Override
1140
+ public void setGestureDispatcher(NativeGestureDispatcher dispatcher) {
1141
+ mGestureDispatcher = dispatcher;
1142
+ }
1143
+
1144
+ public void updateItem(int pos, Object data) {
1145
+ this.updateItem(pos,data,true);
1146
+ }
1147
+ @Override
1148
+ public void updateItem(int pos, Object data,boolean traverse) {
1149
+ if (LogUtils.isDebug()) {
1150
+ Log.d(TAG, "updateItem pos:" + pos+"-----------------start");
1151
+ Log.d("DebugReplaceItem", "updateItem pos:" + pos+"-----------------start "+data);
1152
+ }
1153
+ final HippyArray array = new HippyArray();
1154
+ array.pushObject(data);
1155
+ this.updateItemRange(pos, array,traverse);
1156
+ requestLayoutManual();
1157
+ }
1158
+
1159
+ public void diffUpdateItem(int pos,Object data){
1160
+ Log.d(TAG, "diffUpdateItem pos:" + pos+",this:"+this);
1161
+ //
1162
+
1163
+ }
1164
+
1165
+ /**
1166
+ * 从某个位置插入数据
1167
+ *
1168
+ * @param pos
1169
+ * @param array
1170
+ */
1171
+ public void insertItemRange(int pos, HippyArray array) {
1172
+ if (LogUtils.isDebug()) {
1173
+ Log.d(TAG, "insertItem pos:" + pos);
1174
+ }
1175
+ if (array != null && array.size() > 0) {
1176
+ this.updateItemRangeInserted(pos, array, true);
1177
+ } else {
1178
+ if (LogUtils.isDebug()) {
1179
+ Log.d(TAG, "insertItem fail : array = null or array.size() = 0");
1180
+ }
1181
+ }
1182
+ }
1183
+
1184
+ /**
1185
+ * 根据数据指定的id,来寻找对应item刷新
1186
+ *
1187
+ * @param id
1188
+ * @param newData
1189
+ */
1190
+ public void updateItemMatched(String idKey, Object id, Object newData) {
1191
+ HippyArray array = getFastAdapter().dataList;
1192
+ if (array != null) {
1193
+ final int itemPosition = Utils.searchFastAdapterData(array, id, idKey);
1194
+ if (itemPosition > -1) {
1195
+ updateItem(itemPosition, newData);
1196
+ } else {
1197
+ Log.e(TAG, "updateItemMatched on itemPosition error:" + itemPosition);
1198
+ }
1199
+ }
1200
+ }
1201
+
1202
+
1203
+ public void requestItemLayout(int pos) {
1204
+ if (LogUtils.isDebug()) {
1205
+ Log.d(TAG, "updateItemLayout pos:" + pos);
1206
+ }
1207
+
1208
+ if (mAdapter != null) {
1209
+ final ViewHolder vh = findViewHolderForAdapterPosition(pos);
1210
+ if (vh instanceof FastAdapter.Holder) {
1211
+ mAdapter.requestItemLayout((FastAdapter.Holder) vh, pos);
1212
+ }
1213
+ } else {
1214
+ Log.e(TAG, "updateItemLayout error,adapter is null pos:" + pos);
1215
+ }
1216
+ }
1217
+
1218
+ @Override
1219
+ public void updateItemProps(String name, int pos, Object data, boolean updateView) {
1220
+ updateItemProps(name, pos, (HippyMap) data, updateView);
1221
+ }
1222
+
1223
+
1224
+ private HippyMap recycledViewPoolMap;
1225
+ private String poolName = hashCode()+"";
1226
+
1227
+ public HippyMap getRecycledViewPoolMap() {
1228
+ if (recycledViewPoolMap == null) {
1229
+ recycledViewPoolMap = new HippyMap();
1230
+ }
1231
+ return recycledViewPoolMap;
1232
+ }
1233
+
1234
+
1235
+
1236
+ @Override
1237
+ protected void onAttachedToWindow() {
1238
+ super.onAttachedToWindow();
1239
+ //checkAutoFocus("onAttachedToWindow");
1240
+ // Log.d("EsPageViewLog", "onAttachedToWindow this:" + this+",root:"+findPageRootView());
1241
+ updateCachePoolName();
1242
+ updateCachePoolMap();
1243
+ }
1244
+
1245
+ public void setCachePoolName(String name) {
1246
+ this.poolName = name;
1247
+ if(isAttached()){
1248
+ updateCachePoolName();
1249
+ }
1250
+ }
1251
+
1252
+ private void updateCachePoolName(){
1253
+ mAdapter.setShareViewPoolType(poolName);
1254
+ final RecycledViewPool pool = mAdapter.getCacheWorker(getContext(),this);
1255
+ setRecycledViewPool(pool);
1256
+ if (LogUtils.isDebug()) {
1257
+ Log.i(TAG, "setCachePoolMap name=" + poolName + ",this:" + this);
1258
+ Log.i("EsPageViewLog", "DebugPool setupPool instance:" + Utils.hashCode(pool)+",context:"+getContext());
1259
+ }
1260
+ }
1261
+
1262
+ private void updateCachePoolMap(){
1263
+ final HippyMap map = recycledViewPoolMap;
1264
+ if (map == null) {
1265
+ return;
1266
+ }
1267
+ if (mAdapter != null) {
1268
+ if (map.containsKey("name")) {
1269
+ mAdapter.setShareViewPoolType(map.getString("name"));
1270
+ final RecycledViewPool pool = mAdapter.getCacheWorker(getContext(),this);
1271
+ setRecycledViewPool(pool);
1272
+ if (LogUtils.isDebug()) {
1273
+ Log.e("DebugPool", "setCachePoolMap name=" + map.getString("name") + ",this:" + this);
1274
+ Log.e("DebugPool", "DebugPool setupPool instance:" + Utils.hashCode(pool)+",context:"+getContext());
1275
+ }
1276
+ HippyMap size = map.getMap("size");
1277
+ for (String typeS : size.keySet()) {
1278
+ final int type = Integer.parseInt(typeS);
1279
+ final int count = size.getInt(typeS);
1280
+ if (LogUtils.isDebug()) {
1281
+ Log.e("DebugPool", "setCachePoolMap type:" + type + ",count:" + count + ",this:" + this);
1282
+ }
1283
+ if (mAdapter.findOldCacheWorker() != null) {
1284
+ mAdapter.findOldCacheWorker().setMaxCacheSize(type, count);
1285
+ }
1286
+ }
1287
+ }
1288
+ }
1289
+ }
1290
+
1291
+
1292
+ @Override
1293
+ public void setCachePoolMap(HippyMap map) {
1294
+ this.recycledViewPoolMap = map;
1295
+ if(isAttached()){
1296
+ updateCachePoolMap();
1297
+ }
1298
+ }
1299
+
1300
+ @Override
1301
+ protected void onLayoutComplete(State state) {
1302
+ super.onLayoutComplete(state);
1303
+ if (LogUtils.isDebug()) {
1304
+ Log.e(TAG, "~~~~~~onLayoutComplete pendingChangeVisible " + pendingChangeVisible + ",this:" + Utils.hashCode(this)+",autofocusDirty:"+ autofocusDirtyOnDataChange);
1305
+ Log.i(TAG,"onLayoutComplete selectPosition:"+getSelectChildPosition()+",select:"+findSelectedChild());
1306
+ }
1307
+ if (pendingChangeVisible) {
1308
+ pendingChangeVisible = false;
1309
+ changeVisibility4Display(true);
1310
+ this.isDisplayed = true;
1311
+ changeVisibilityRunnable = null;
1312
+ }
1313
+ if (mAdapter != null) {
1314
+ mAdapter.onLayoutComplete(state,this);
1315
+ }
1316
+ // handleAutoscroll();
1317
+ // handleAutoscroll();
1318
+ if(autofocusDirtyOnDataChange && state.getItemCount() > 0){
1319
+ autofocusDirtyOnDataChange = false;
1320
+ if(!checkAutoFocus("layoutComplete",true)){
1321
+ checkAutoscroll();
1322
+ }
1323
+ }
1324
+ handlePendingFocus();
1325
+ if(!hasFocus()) {
1326
+ handleDimItems();
1327
+ }
1328
+ }
1329
+
1330
+ protected void handleAutoscroll(){
1331
+ // if(getControlProps().autoScrollToPosition > -1){
1332
+ // int pos = find
1333
+ // }
1334
+ Log.v(TAG,"handleAutoscroll called pendingScrollToPosition"+ getControlProps().pendingScrollToPosition );
1335
+ if(getControlProps().pendingScrollToPosition > -1){
1336
+ //final View targetChild = findViewByPosition(position);
1337
+ int position = getControlProps().pendingScrollToPosition;
1338
+ final View target = findViewByPosition(position);
1339
+ if (target == null) {
1340
+ Log.e(TAG,"handleAutoscroll on pendingScrollToPosition find target "+ null +",position:"+position);
1341
+ return;
1342
+ }
1343
+ Log.i(TAG,"handleAutoscroll on pendingScrollToPosition find target "+target+",position:"+position);
1344
+ if(getChildOnScreenScroller().getScrollType() == TVRecyclerView.REQUEST_CHILD_ON_SCREEN_TYPE_CENTER) {
1345
+ //scrollToPositionWithAlignCenter(mInitParams.targetScrollToPosition);
1346
+ int scrollOffset = ChildOnScreenScroller.getScrollToPositionOffset(this,position,target,0);
1347
+ Log.i(TAG,"handleAutoscroll on pendingScrollToPosition scrollBy "+scrollOffset+",position:"+position);
1348
+ if(scrollOffset != 0) {
1349
+ if (getOrientation() == VERTICAL) {
1350
+ scrollBy(0, scrollOffset);
1351
+ requestLayoutManual();
1352
+ } else {
1353
+ scrollBy(scrollOffset, 0);
1354
+ requestLayoutManual();
1355
+ }
1356
+ }
1357
+ }
1358
+ getControlProps().pendingScrollToPosition = -1;
1359
+ }
1360
+ }
1361
+
1362
+ protected void handlePendingFocus() {
1363
+ if (mInitParams != null) {
1364
+ if (mInitParams.blockOthers) {
1365
+ InternalExtendViewUtil.unBlockRootFocus(this);
1366
+ }
1367
+ if (mInitParams.targetFocusPosition > -1) {
1368
+ final int position = mInitParams.targetFocusPosition;
1369
+ final View targetChild = findViewByPosition(position);
1370
+ if (targetChild != null && targetChild.getVisibility() == View.VISIBLE) {
1371
+ if (LogUtils.isDebug()) {
1372
+ Log.i("PendingFocus", "handlePendingFocus find target:" + targetChild);
1373
+ }
1374
+ //targetChild.requestFocus();
1375
+ //AutoFocusManager.globalRequestFocus(targetChild);
1376
+ onRequestAutofocus(this,targetChild,ExtendViewGroup.AUTOFOCUS_TYPE_FORCE);
1377
+ } else {
1378
+ Log.e("PendingFocus", "handlePendingFocus error on no target shown : " + targetChild);
1379
+ }
1380
+ if (LogUtils.isDebug()) {
1381
+ Log.i("PendingFocus", "~~~~~~onLayoutComplete handlePendingFocus targetFocusPosition " + mInitParams.targetFocusPosition + ",targetChild:" + targetChild);
1382
+ }
1383
+ mInitParams.targetFocusPosition = -1;
1384
+ }
1385
+ if (mInitParams.targetName != null) {
1386
+ final View targetView = ExtendUtil.findViewByName(mInitParams.targetName,this);
1387
+ if (targetView != null && targetView.getVisibility() == View.VISIBLE) {
1388
+ if (LogUtils.isDebug()) {
1389
+ Log.i("PendingFocus", "handlePendingFocus find target by name :" + targetView);
1390
+ }
1391
+ onRequestAutofocus(this,targetView,ExtendViewGroup.AUTOFOCUS_TYPE_FORCE);
1392
+ }
1393
+ }
1394
+ }
1395
+ }
1396
+
1397
+ void changeVisibility4Display(boolean b) {
1398
+ this.isDraw = b;
1399
+ invalidate();
1400
+ }
1401
+
1402
+
1403
+ @Override
1404
+ protected void dispatchDraw(Canvas canvas) {
1405
+ if (!isDraw) {
1406
+ return;
1407
+ }
1408
+ super.dispatchDraw(canvas);
1409
+ }
1410
+
1411
+ @Override
1412
+ public void replaceItemData(int pos, Object data) {
1413
+ if (mAdapter != null) {
1414
+ mAdapter.replaceItemData(pos,data);
1415
+ }
1416
+ }
1417
+
1418
+ void updateItemRange(int pos, HippyArray data, boolean traverse) {
1419
+ if (LogUtils.isDebug()) {
1420
+ Log.d(TAG, "updateItemRange pos:" + pos + ",count:" + 1 + ",data List size:" + data.size());
1421
+ }
1422
+
1423
+ if (mAdapter != null) {
1424
+ if (mAdapter.getItemCount() > pos && pos > -1) {
1425
+ mAdapter.updateItemDataRange(pos, 1, data);
1426
+ // final ViewHolder vh = findViewHolderForAdapterPosition(pos);
1427
+ // if (vh instanceof FastAdapter.Holder) {
1428
+ // mAdapter.updateItemOnReplace((FastAdapter.Holder) vh, pos,traverse);
1429
+ // mAdapter.requestItemLayout((FastAdapter.Holder) vh, pos);
1430
+ // } else {
1431
+ Log.d(TAG, "updateItemRange pos:" + pos + ",count:" + 1 + " notifyItemChanged this:"+ExtendUtil.debugViewLite(this));
1432
+ HippyMap params = new HippyMap();
1433
+ params.pushBoolean("traverse",traverse);
1434
+ mAdapter.notifyItemChanged(pos,new FastAdapter.Payload(FastAdapter.PayloadType.TYPE_UPDATE,params));
1435
+ // }
1436
+ } else {
1437
+ Log.e(TAG, "updateItemRange error,pos invalid, pos:" + pos + ",adapter count :" + (mAdapter == null ? 0 : mAdapter.getItemCount()));
1438
+ }
1439
+ } else {
1440
+ Log.e(TAG, "updateItemRange error,adapter is null pos:" + pos + ",count:" + 1);
1441
+ }
1442
+ }
1443
+
1444
+ public int getScrolledOffset(){
1445
+ if (getOrientation() == FastListView.HORIZONTAL) {
1446
+ return getOffsetX();
1447
+ }else{
1448
+ return getOffsetY();
1449
+ }
1450
+ }
1451
+
1452
+ public void updateItemRange(int pos, int count, HippyArray data, boolean updateLayout) {
1453
+ if (LogUtils.isDebug()) {
1454
+ Log.d(TAG, "updateItemRange start pos:" + pos + ",count:" + count + ",data List size:" + data.size() +",currentIndex:"+getScrollX()+",getScrollY"+getScrollY());
1455
+
1456
+ }
1457
+ if (mAdapter != null) {
1458
+ final int itemCount = mAdapter.getItemCount();
1459
+ if (pos < 0 || (pos + count) > itemCount) {
1460
+ Log.e(TAG, "updateItemRange error on wrong state, pos:" + pos + ",count:" + count);
1461
+ return;
1462
+ }
1463
+ mAdapter.updateItemDataRange(pos, count, data);
1464
+ mAdapter.notifyItemRangeChanged(pos, count, new FastAdapter.Payload(FastAdapter.PayloadType.TYPE_UPDATE,null));
1465
+ if (updateLayout) {
1466
+ requestLayoutManual();
1467
+ }
1468
+ } else {
1469
+ Log.e(TAG, "updateItemRange error,adapter is null pos:" + pos + ",count:" + count);
1470
+ }
1471
+ }
1472
+
1473
+ public void notifyItemsLayoutChanged(){
1474
+ if(mAdapter != null && getChildCount() > 0) {
1475
+ View firstChild = getChildAt(0);
1476
+ int start = firstChild == null ? -1 : findPositionByChild(firstChild);
1477
+ if (LogUtils.isDebug()) {
1478
+ Log.d(TAG, "notifyUpdateItemsLayout start:" + start + ",childCount:" + getChildCount()+",this:"+ExtendUtil.debugViewLite(this));
1479
+ }
1480
+ if(start > -1){
1481
+ mAdapter.notifyItemRangeChanged(start, getChildCount(), new FastAdapter.Payload(FastAdapter.PayloadType.TYPE_LAYOUT,null));
1482
+ requestLayoutManual();
1483
+ }
1484
+ }
1485
+ }
1486
+
1487
+ // public void updateItemsLayout(){
1488
+ // Log.i(TAG,"updateItemsLayout");
1489
+ // if (mAdapter != null) {
1490
+ // mAdapter.notifyitem
1491
+ // }
1492
+ // }
1493
+
1494
+ public void updateItemRangeInserted(int pos, HippyArray data, boolean updateLayout) {
1495
+ if (LogUtils.isDebug()) {
1496
+ Log.d(TAG, "updateItemRangeInserted pos:" + pos + ",data List size:" + data.size());
1497
+ }
1498
+ if (mAdapter != null) {
1499
+ final int itemCount = mAdapter.getItemCount();
1500
+ final int count = data.size();
1501
+ if (pos > itemCount || pos < 0) {
1502
+ Log.e(TAG, "updateItemRangeInserted error on IndexOutOfBoundsException, pos:" + pos);
1503
+ return;
1504
+ }
1505
+ mAdapter.insertItemDataRange(pos, count, data);
1506
+ mAdapter.notifyItemRangeInserted(pos, count);
1507
+ if(pos == 0){
1508
+ if(LogUtils.isDebug()){
1509
+ Log.d(TAG,"updateItemRangeInserted at position 0 getScrolledOffset :"+getScrolledOffset());
1510
+ }
1511
+ if(getScrolledOffset() < 10){
1512
+ scrollToTop();
1513
+ }
1514
+ }
1515
+
1516
+ if (updateLayout) {
1517
+ requestLayoutManual();
1518
+ }
1519
+ } else {
1520
+ Log.e(TAG, "updateItemRangeInserted error,adapter is null pos:" + pos);
1521
+ }
1522
+ }
1523
+
1524
+ public void deleteItemRange(int pos, int count) {
1525
+ if (mAdapter != null) {
1526
+ mAdapter.deleteData(pos, count);
1527
+ mAdapter.notifyItemRangeRemoved(pos, count);
1528
+ requestLayoutManual();
1529
+ } else {
1530
+ Log.e(TAG, "deleteItemRange error,adapter is null pos:" + pos + ",count:" + count);
1531
+ }
1532
+ }
1533
+
1534
+ public void addData(HippyArray data, int deleteCount) {
1535
+ if (mAdapter == null || mAdapter.dataList == null || mAdapter.dataList.size() < 1) {
1536
+ Log.i(TAG, "addData on mAdapter empty call setListWithParams");
1537
+ setListWithParams(data, false, useDiff);
1538
+ return;
1539
+ }
1540
+ if (LogUtils.isDebug()) {
1541
+ Log.d(FocusDispatchView.TAG,"addData called deleteCount: "+deleteCount+",data size:" + (data == null ? 0 : data.size()));
1542
+ }
1543
+ // Log.i(TAG,"add data this:"+Utils.hashCode(this)+",data size:"+(data == null ? 0 : data.size()));
1544
+ if (data != null && data.size() > 0) {
1545
+ boolean hasFocus = hasFocus();
1546
+ if (deleteCount > 0) {
1547
+ int deleteStart = mAdapter.getItemCount() - deleteCount;
1548
+ if (LogUtils.isDebug()) {
1549
+ Log.i(TAG, "addData on mAdapter deleteStart :" + deleteStart);
1550
+ }
1551
+ //Log.i(FocusDispatchView.TAG, "addData on data size :" + data.size());
1552
+ if(!hasFocus) {
1553
+ FocusDispatchView.blockFocus(this);
1554
+ }
1555
+ mAdapter.deleteData(deleteCount);
1556
+ mAdapter.notifyItemRangeRemoved(deleteStart, deleteCount);
1557
+ }
1558
+ int start = mAdapter.getItemCount();
1559
+ if (LogUtils.isDebug()) {
1560
+ Log.i(TAG, "addData array size :" + data.size() + ",start:" + start + ",data:" + data);
1561
+ }
1562
+ if(!hasFocus) {
1563
+ FocusDispatchView.blockFocus(this);
1564
+ }
1565
+ mAdapter.addData(data);
1566
+ mAdapter.notifyItemRangeInserted(start, data.size());
1567
+ requestLayoutManual();
1568
+ if(!isPostTaskPaused() && !hasFocus) {
1569
+ postDelayed(() -> FocusDispatchView.unBlockFocus(FastListView.this), 100);
1570
+ }
1571
+ } else {
1572
+ if (LogUtils.isDebug()) {
1573
+ Log.i(TAG, "addData array is null or empty");
1574
+ }
1575
+ }
1576
+ }
1577
+
1578
+ // public void addData(HippyArray data){
1579
+ // if(mAdapter == null || mAdapter.dataList == null || mAdapter.dataList.size() < 1){
1580
+ // Log.e(TAG,"addData on mAdapter empty call setListWithParams");
1581
+ // setListWithParams(data,false);
1582
+ // return;
1583
+ // }
1584
+ // if(data != null && data.size() > 0) {
1585
+ // int start = mAdapter.getItemCount();
1586
+ // if(LogUtils.isDebug()){
1587
+ // Log.i(TAG,"addData array size :"+data.size()+",start:"+start+",data:"+data);
1588
+ // }
1589
+ // mAdapter.addData(data);
1590
+ // FocusDispatchView.blockFocus(this);
1591
+ // mAdapter.notifyItemRangeInserted(start, data.size());
1592
+ // requestLayoutManual();
1593
+ // postDelayed(() -> FocusDispatchView.unBlockFocus(FastListView.this), 100);
1594
+ // }else{
1595
+ // if(LogUtils.isDebug()){
1596
+ // Log.i(TAG,"addData array is null or empty");
1597
+ // }
1598
+ // }
1599
+ // }
1600
+
1601
+
1602
+ //根据viewpager的节点创建新的fastlist
1603
+ public void createFastList(Object data, RenderNode templateNode) {
1604
+ setPendingData(data, templateNode, true, useDiff);
1605
+ }
1606
+
1607
+
1608
+ @Override
1609
+ public void setHandleEventNodeId(int id) {
1610
+ super.setHandleEventNodeId(id);
1611
+ if (mAdapter != null) {
1612
+ mAdapter.rootListNodeID = id;
1613
+ }
1614
+ }
1615
+
1616
+ public void setPendingData(Object data, RenderNode templateNode, boolean changeVisibility) {
1617
+ this.setPendingData(data, templateNode, changeVisibility, this.isUseDiff());
1618
+ }
1619
+
1620
+ @Override
1621
+ public void setSharedItemStore(String name) {
1622
+ if (mAdapter != null) {
1623
+ mAdapter.setShareItemStoreName(name);
1624
+ }
1625
+ }
1626
+
1627
+ public boolean isInfiniteLoopEnabled(){
1628
+ return isInfinityLoop;
1629
+ }
1630
+
1631
+ public void setPendingData(Object data, RenderNode templateNode, boolean changeVisibility, boolean useDiff) {
1632
+ if(destroyed){
1633
+ Log.e(TAG,"setPendingData return on FastListView destroyed,this"+this);
1634
+ return;
1635
+ }
1636
+ // Log.d(, "setPendingData this:" + this+",root:"+findPageRootView());
1637
+ if(LogUtils.isDebug()) {
1638
+ Log.e(FastAdapter.TAG_POST, "SCROLL_POSTER clearAllTask on setPendingData this:"+this+",useDiff:"+useDiff+",hasSet:"+hasSet);
1639
+ }
1640
+ clearAllTask();
1641
+ if (data instanceof HippyArray) {
1642
+ HippyArray newData = new HippyArray();
1643
+ final int newSize = ((HippyArray) data).size();
1644
+ for (int i = 0; i < newSize; i++) {
1645
+ newData.pushObject(((HippyArray) data).get(i));
1646
+ }
1647
+ final FastListNode node = templateNode instanceof FastListNode ? (FastListNode) templateNode : getRenderNode();
1648
+ if (LogUtils.isDebug()) {
1649
+ Log.i(TAG, "DebugPool setPendingData setList this:" + Utils.hashCode(this) + ",id:" + getId() + "dataCount:" + newData.size() + ",isComputingLayout:" + isComputingLayout()
1650
+ +",stableKey:"+mAdapter.getStableIdKey());
1651
+ Log.d(TAG, "DebugPool setPendingData setList array:" + newData);
1652
+ // Log.d(TAG, "setPendingData setList node:" + node);
1653
+ Log.d(TAG, "setPendingData setPendingData setList this:" + Utils.hashCode(this) + ",id:" + getId() + ",isComputingLayout:" + isComputingLayout());
1654
+ }
1655
+ if (isComputingLayout()) {
1656
+ Log.e(TAG, "setPendingData 出现错误 : isComputingLayout true ,layoutManager:" + getLayoutManagerCompat());
1657
+ return;
1658
+ }
1659
+ // if(mItemDecoration != null){
1660
+ // stopScroll();
1661
+ // if(!isInLayout() && !getMyLayoutManager().isSmoothScrolling()) {
1662
+ // removeItemDecoration(mItemDecoration);
1663
+ // }
1664
+ // }
1665
+ if (mManagerType == 1) {
1666
+ assert getLayoutManagerCompat() != null : "没有设置LayoutManager";
1667
+ }
1668
+ // if(mAdapter.getStableIdKey() != null) {
1669
+ // mAdapter.setStableIdKey(mAdapter.getStableIdKey());
1670
+ // }
1671
+
1672
+ if (changeVisibility) {
1673
+ removeCallbacks(changeVisibilityRunnable);
1674
+ changeVisibility4Display(false);
1675
+ this.pendingChangeVisible = true;
1676
+ }
1677
+
1678
+ if(newSize > 0 && isInfinityLoop){
1679
+ int scrollTo = FastAdapter.INFINITE_START_POSITION;
1680
+ int scrollOffset = 0;
1681
+ int selectPosition = -1;
1682
+ if (infiniteParams != null) {
1683
+ if(infiniteParams.containsKey("autoscroll")){
1684
+ HippyArray array = infiniteParams.getArray("autoscroll");
1685
+ scrollTo = convertInfinitePosition(array.getInt(0));
1686
+ scrollOffset = (int) PixelUtil.dp2px(array.getInt(1));
1687
+ }else{
1688
+ if(infiniteParams.containsKey("scrollOffset")){
1689
+ scrollOffset = (int) PixelUtil.dp2px(infiniteParams.getInt("scrollOffset"));
1690
+ }else{
1691
+ final int itemSize = (int) PixelUtil.dp2px(infiniteParams.getInt("itemSize"));
1692
+ if (getWidth() < 1 || getHeight() < 1) {
1693
+ Log.e(TAG,"setPendingData compute scrollOffset Error on parent size invalid");
1694
+ }else {
1695
+ scrollOffset = ChildOnScreenScroller.computeAlignCenterScrollOffset(getOrientation() == VERTICAL ? getHeight() : getWidth(), itemSize);
1696
+ }
1697
+ }
1698
+ }
1699
+ if(infiniteParams.containsKey("selectPosition")) {
1700
+ selectPosition = infiniteParams.getInt("selectPosition");
1701
+ }
1702
+ if(infiniteParams.containsKey("minChildScale")){
1703
+ minScale = (float) infiniteParams.getDouble("minChildScale");
1704
+ }
1705
+ }
1706
+ //scrollToPosition(scrollTo);
1707
+ //diffSetScrollToPosition(scrollTo,scrollOffset);
1708
+ setAutoscrollPosition(scrollTo,true,scrollOffset);
1709
+ if (selectPosition > -1) {
1710
+ diffSetSelectionPosition(convertInfinitePosition(selectPosition));
1711
+ setTargetFocusChildPosition(selectPosition);
1712
+ }else{
1713
+ setTargetFocusChildPosition(scrollTo);
1714
+ getFirstFocusHelper().setFindAtStart(true);
1715
+ }
1716
+ if(LogUtils.isDebug()) {
1717
+ Log.i("DebugInfinite", "fix infinite scroll on setPendingData scrollTo" + scrollTo + ",scrollOffset:" + scrollOffset + ",selectPosition:" + selectPosition + ",minScale:" + minScale);
1718
+ }
1719
+ }
1720
+
1721
+ if (newSize < 1 && mAdapter != null) {
1722
+ mAdapter.onDetachedFromView(this);
1723
+ autofocusDirtyOnDataChange = true;
1724
+ mAdapter.clearData();
1725
+ resetAutoWork();
1726
+ if (hasSet) {
1727
+ mAdapter.notifyDataSetChanged();
1728
+ requestLayoutManual();
1729
+ }
1730
+ return;
1731
+ }
1732
+
1733
+ assert (node != null);
1734
+ if (mAdapter != null && mAdapter.getItemCount() > 0) {
1735
+ // Log.d(TAG, "DebugPool setPendingData find items count:" + mAdapter.getItemCount());
1736
+ mAdapter.onDetachedFromView(this);
1737
+ // mAdapter.clearData(); TODO 感觉这里不需要clear 而且影响下面逻辑
1738
+ // setAdapter(null);
1739
+ // recycle();
1740
+ // removeAllViews();
1741
+ }
1742
+
1743
+ //mAdapter = newAdapter();
1744
+ if (mAdapter != null) {
1745
+ if (node.getId() > 0) {
1746
+ mAdapter.rootListNodeID = node.getId();
1747
+ if (LogUtils.isDebug()) {
1748
+ Log.d(TAG, "setRootListNodeID id:" + node.getId() + ",this:" + this);
1749
+ }
1750
+ }
1751
+ mAdapter.setListNode(node);
1752
+
1753
+ // mAdapter.setData(newData);
1754
+
1755
+ mAdapter.onAttachedToView(this);
1756
+ // mItemDecoration = mAdapter.buildListItemDecoration();
1757
+ //addItemDecoration(mItemDecoration);
1758
+ mAdapter.onBeforeChangeAdapter();
1759
+
1760
+ if(destroyed){
1761
+ Log.e(TAG,"setPendingData return on FastListView destroyed,this"+this);
1762
+ return;
1763
+ }
1764
+ if (hasSet) {
1765
+ if (useDiff) {
1766
+ // 处理diff
1767
+ final HippyArray oldData = mAdapter.dataList;
1768
+ handleDataDiff(oldData, newData);
1769
+ } else {
1770
+ resetAutoWork();
1771
+ autofocusDirtyOnDataChange = true;
1772
+ mAdapter.setData(newData);
1773
+ mAdapter.notifyDataSetChanged();
1774
+ if(isLayoutAnimationAutoPlay){
1775
+ scheduleLayoutAnimation();
1776
+ }
1777
+ }
1778
+ requestLayoutManual();
1779
+ } else {
1780
+ resetAutoWork();
1781
+ autofocusDirtyOnDataChange = true;
1782
+ mAdapter.setData(newData);
1783
+ setAdapter(mAdapter);
1784
+ if(isLayoutAnimationAutoPlay){
1785
+ scheduleLayoutAnimation();
1786
+ }
1787
+ hasSet = true;
1788
+ }
1789
+ // checkAutoFocus("setData");
1790
+ if (LogUtils.isDebug()) {
1791
+ Log.i(TAG, "DebugPool setPendingData setAdapter done");
1792
+ }
1793
+ }
1794
+ } else {
1795
+ throw new IllegalArgumentException("setPendingData data必须是HippyArray data:"+data);
1796
+ }
1797
+ }
1798
+
1799
+ private void handleDataDiff(HippyArray oldArray, HippyArray newArray) {
1800
+ // if (mAdapter.mRootListView != null &&
1801
+ // mAdapter.mRootListView != mAdapter.mBoundListView) {
1802
+ // mAdapter.setData(newArray);
1803
+ // mAdapter.notifyDataSetChanged();
1804
+ // if (LogUtils.isDebug()) {
1805
+ // Log.i(TAG, "handleDataDiff 嵌套子fastList刷新数据");
1806
+ // }
1807
+ // return;
1808
+ // }
1809
+ if (LogUtils.isDebug()) {
1810
+ Log.i(TAG, "handleDataDiff 刷新数据 oldArray.size--" + oldArray.size() + " newArray.size--" + newArray.size()
1811
+ + " hashCode--" + FastListView.this.hashCode());
1812
+ }
1813
+ if (getItemAnimator() != null) {
1814
+ ((SimpleItemAnimator) Objects.requireNonNull(getItemAnimator())).setSupportsChangeAnimations(false);
1815
+ }
1816
+ FastListDataBindingHelper.handleDataDiffCallBack3(oldArray, newArray, keyName,
1817
+ new FastListDataBindingHelper.OnDataDiffListener3() {
1818
+
1819
+ @Override
1820
+ public void onRangeInsert(int position, int count) {
1821
+ mAdapter.notifyItemRangeInserted(position, count);
1822
+ if (LogUtils.isDebug()) {
1823
+ Log.i(TAG, "handleDataDiff 刷新数据 onRangeInsert--" + " position--" + position + " count--" + count
1824
+ + " hashCode--" + FastListView.this.hashCode());
1825
+ }
1826
+ }
1827
+
1828
+ @Override
1829
+ public void onRangeDelete(int position, int count) {
1830
+ mAdapter.notifyItemRangeRemoved(position, count);
1831
+ if (LogUtils.isDebug()) {
1832
+ Log.i(TAG, "handleDataDiff 刷新数据 onRangeDelete--" + " position--" + position + " count--" + count
1833
+ + " hashCode--" + FastListView.this.hashCode());
1834
+ }
1835
+ }
1836
+
1837
+ @Override
1838
+ public void onUpdateViewData() {
1839
+ mAdapter.setData(newArray);
1840
+ if (LogUtils.isDebug()) {
1841
+ Log.i(TAG, "handleDataDiff 刷新数据 onUpdateViewData"
1842
+ + " hashCode--" + FastListView.this.hashCode());
1843
+ }
1844
+ }
1845
+
1846
+ @Override
1847
+ public void onMove(int position, int nextPosition) {
1848
+ mAdapter.notifyItemMoved(position, nextPosition);
1849
+ if (LogUtils.isDebug()) {
1850
+ Log.i(TAG, "handleDataDiff 刷新数据 onMove--" + " position--" + position + " nextPosition--" + nextPosition
1851
+ + " hashCode--" + FastListView.this.hashCode());
1852
+ }
1853
+ }
1854
+
1855
+ @Override
1856
+ public void onRangeUpdate(int start, int count) {
1857
+ // ((SimpleItemAnimator) getItemAnimator()).setSupportsChangeAnimations(false);
1858
+ mAdapter.notifyItemRangeChanged(start, count);
1859
+ if (LogUtils.isDebug()) {
1860
+ Log.i(TAG, "handleDataDiff 刷新数据 onRangeUpdate--" + " start--" + start + " count--" + count
1861
+ + " hashCode--" + FastListView.this.hashCode());
1862
+ }
1863
+ }
1864
+
1865
+ @Override
1866
+ public void onAllChange() {
1867
+ mAdapter.notifyDataSetChanged();
1868
+ if (LogUtils.isDebug()) {
1869
+ Log.i(TAG, "handleDataDiff 刷新数据 onAllChange"
1870
+ + " hashCode--" + FastListView.this.hashCode());
1871
+ }
1872
+ }
1873
+ },
1874
+ item -> (HippyMap) item.raw, FastAdapter.ItemEntity.class);
1875
+ }
1876
+
1877
+ @Override
1878
+ protected void onAdapterChanged(@Nullable Adapter oldAdapter, @Nullable Adapter newAdapter) {
1879
+ super.onAdapterChanged(oldAdapter, newAdapter);
1880
+ // Log.i(TAG,"-------onAdapterChanged newAdapter:"+newAdapter);
1881
+ if(LogUtils.isDebug()){
1882
+ Log.i(AutoFocusManager.TAG,"resetAutoWork on onAdapterChanged");
1883
+ }
1884
+ if (mAdapter != null) {
1885
+ mAdapter.clearDetachCaches();
1886
+ }
1887
+ resetAutoWork();
1888
+ }
1889
+
1890
+ private void resetAutoWork(){
1891
+ // autofocusDirty = true;
1892
+ if(getControlProps().singleSelectPosition != -1){
1893
+ // Log.i(TAG, "resetAutoWork on singleSelectPosition:" + getControlProps().singleSelectPosition);
1894
+ defaultSectionPosition = getControlProps().singleSelectPosition;
1895
+ }
1896
+ getControlProps().currentScrollToPosition = -1;
1897
+ }
1898
+
1899
+ @Override
1900
+ public void setPendingData(Object data, RenderNode templateNode) {
1901
+ this.setPendingData(data, templateNode, false, useDiff);
1902
+ }
1903
+
1904
+
1905
+ public void smoothScrollToTop() {
1906
+ smoothScrollToPosition(0);
1907
+ }
1908
+
1909
+ public void scrollToIndex(int xIndex, int yIndex, boolean animated, int duration, int offset) {
1910
+ if (getLayoutManagerCompat() != null) {
1911
+ handleScrollBackToTop(yIndex);
1912
+ getLayoutManagerCompat().scrollToPositionWithOffset(yIndex, offset);
1913
+ }
1914
+ }
1915
+
1916
+ private void handleScrollBackToTop(int position) {
1917
+ if (position < 1) {
1918
+ if (LogUtils.isDebug()) {
1919
+ Log.e("ScrollLog", "handleScrollBackToTop mOffsetY:" + mOffsetY);
1920
+ }
1921
+ if (mOffsetY >= scrollYLesserReferenceValue) {
1922
+ handleScrollValue(true, -1, 0);
1923
+ }
1924
+ resetScrollOffset();
1925
+ }
1926
+ }
1927
+
1928
+ public void recycle() {
1929
+ if (mAdapter != null) {
1930
+ for (int i = 0; i < getChildCount(); i++) {
1931
+ final View child = getChildAt(i);
1932
+ final ViewHolder h = getChildViewHolder(child);
1933
+ if (h instanceof FastAdapter.Holder) {
1934
+ if (LogUtils.isDebug()) {
1935
+ Log.d(TAG, "DebugPool recycle holder type:" + ((FastAdapter.Holder) h).type);
1936
+ }
1937
+ mAdapter.recycleItem((FastAdapter.Holder) h);
1938
+ }
1939
+ }
1940
+ //mAdapter.recycleAll();
1941
+ }
1942
+ }
1943
+
1944
+ public void setListenBoundEvent(boolean enable) {
1945
+ if (mAdapter != null) {
1946
+ mAdapter.setListenBoundEvent(enable);
1947
+ }
1948
+ }
1949
+
1950
+
1951
+ public void prepareForRecycle() {
1952
+ if (mAdapter != null) {
1953
+ for (int i = 0; i < getChildCount(); i++) {
1954
+ final View child = getChildAt(i);
1955
+ final ViewHolder h = getChildViewHolder(child);
1956
+ if (h instanceof FastAdapter.Holder) {
1957
+ if (LogUtils.isDebug()) {
1958
+ Log.i(TAG, "DebugPool FastList prepareForRecycle holder type:" + ((FastAdapter.Holder) h).type + ",view :" + h.itemView);
1959
+ }
1960
+ if (h.itemView instanceof HippyRecycler) {
1961
+ ((HippyRecycler) h.itemView).onResetBeforeCache();
1962
+ }
1963
+ }
1964
+ }
1965
+ //mAdapter.recycleAll();
1966
+ }
1967
+ }
1968
+
1969
+ public void notifyChildrenSaveState() {
1970
+ if (mAdapter != null) {
1971
+ for (int i = 0; i < getChildCount(); i++) {
1972
+ final View child = getChildAt(i);
1973
+ final ViewHolder h = getChildViewHolder(child);
1974
+ if (h instanceof FastAdapter.Holder) {
1975
+ if (LogUtils.isDebug()) {
1976
+ Log.i(TAG, "+++DebugPool FastList notifyChildrenSaveState holder type:" + ((FastAdapter.Holder) h).type + ",view :" + h.itemView);
1977
+ }
1978
+ if (h.itemView instanceof HippyRecycler) {
1979
+ ((HippyRecycler) h.itemView).notifySaveState();
1980
+ }
1981
+ }
1982
+ }
1983
+ //mAdapter.recycleAll();
1984
+ }
1985
+ }
1986
+
1987
+
1988
+ @Override
1989
+ public void resumePostTask() {
1990
+ super.resumePostTask();
1991
+ notifyResumeTask();
1992
+ }
1993
+
1994
+ @Override
1995
+ public void pausePostTask() {
1996
+ super.pausePostTask();
1997
+ notifyPauseTask();
1998
+ }
1999
+
2000
+ @Override
2001
+ public void notifyPauseTask() {
2002
+ if (mAdapter != null) {
2003
+ for (int i = 0; i < getChildCount(); i++) {
2004
+ final View child = getChildAt(i);
2005
+ final ViewHolder h = getChildViewHolder(child);
2006
+ if (h instanceof FastAdapter.Holder) {
2007
+ if (h.itemView instanceof FastAdapter.ScrollTaskHandler) {
2008
+ ((FastAdapter.ScrollTaskHandler) h.itemView).notifyPauseTask();
2009
+ }
2010
+ }
2011
+ }
2012
+ }
2013
+ }
2014
+
2015
+ @Override
2016
+ public void notifyBringToFront(boolean front) {
2017
+ if (mAdapter != null) {
2018
+ for (int i = 0; i < getChildCount(); i++) {
2019
+ final View child = getChildAt(i);
2020
+ final ViewHolder h = getChildViewHolder(child);
2021
+ if (h instanceof FastAdapter.Holder) {
2022
+ if (h.itemView instanceof FastAdapter.ScrollTaskHandler) {
2023
+ ((FastAdapter.ScrollTaskHandler) h.itemView).notifyBringToFront(front);
2024
+ }
2025
+ }
2026
+ }
2027
+ }
2028
+ }
2029
+
2030
+ @Override
2031
+ public void notifyResumeTask() {
2032
+ if (mAdapter != null) {
2033
+ for (int i = 0; i < getChildCount(); i++) {
2034
+ final View child = getChildAt(i);
2035
+ final ViewHolder h = getChildViewHolder(child);
2036
+ if (h instanceof FastAdapter.Holder) {
2037
+ if (h.itemView instanceof FastAdapter.ScrollTaskHandler) {
2038
+ ((FastAdapter.ScrollTaskHandler) h.itemView).notifyResumeTask();
2039
+ }
2040
+ }
2041
+ }
2042
+ }
2043
+ }
2044
+
2045
+ public void notifyChildrenRestoreState() {
2046
+ if (mAdapter != null) {
2047
+ for (int i = 0; i < getChildCount(); i++) {
2048
+ final View child = getChildAt(i);
2049
+ final ViewHolder h = getChildViewHolder(child);
2050
+ if (h instanceof FastAdapter.Holder) {
2051
+ if (LogUtils.isDebug()) {
2052
+ Log.i(TAG, "---DebugPool FastList notifyChildrenRestoreState holder type:" + ((FastAdapter.Holder) h).type + ",view :" + h.itemView);
2053
+ }
2054
+ if (h.itemView instanceof HippyRecycler) {
2055
+ ((HippyRecycler) h.itemView).notifyRestoreState();
2056
+ }
2057
+ }
2058
+ }
2059
+ //mAdapter.recycleAll();
2060
+ }
2061
+ }
2062
+
2063
+ @Override
2064
+ public void clearPostTask(int type) {
2065
+
2066
+ }
2067
+
2068
+
2069
+ @Override
2070
+ public void notifyDetachFromParent() {
2071
+ if (mAdapter != null) {
2072
+ for (int i = 0; i < getChildCount(); i++) {
2073
+ final View child = getChildAt(i);
2074
+ final ViewHolder h = getChildViewHolder(child);
2075
+ if (h instanceof FastAdapter.Holder) {
2076
+ mAdapter.onViewDetachedFromWindow((FastAdapter.Holder) h);
2077
+ }
2078
+ }
2079
+ }
2080
+ }
2081
+
2082
+ @Override
2083
+ public void notifyAttachToParent() {
2084
+ if (mAdapter != null) {
2085
+ for (int i = 0; i < getChildCount(); i++) {
2086
+ final View child = getChildAt(i);
2087
+ final ViewHolder h = getChildViewHolder(child);
2088
+ if (h instanceof FastAdapter.Holder) {
2089
+ mAdapter.onViewAttachedToWindow((FastAdapter.Holder) h);
2090
+ }
2091
+ }
2092
+ }
2093
+ }
2094
+
2095
+
2096
+ @Override
2097
+ protected void onReAttached() {
2098
+ super.onReAttached();
2099
+ if (LogUtils.isDebug()) {
2100
+ Log.d(TAG, "FastListAttachEvent ++ onReAttached defaultSectionPosition: " + defaultSectionPosition + " this :" + this);
2101
+ }
2102
+ if (defaultSectionPosition != -1) {
2103
+ //zhaopeng 20220731 在重新attach后,如果不在这里更新状态,select状态会不显示
2104
+ changeSelectState(defaultSectionPosition, true);
2105
+ }
2106
+ }
2107
+
2108
+
2109
+ @Override
2110
+ protected boolean onInterceptRequestChildRectangleOnScreen(@NonNull View child, @NonNull Rect rect, boolean immediate, int direction, boolean focusedChildVisible) {
2111
+ return mAdapter != null && mAdapter.onInterceptRequestChildRectangleOnScreen(this, child, rect, immediate, direction, focusedChildVisible);
2112
+ }
2113
+
2114
+ public void clearData() {
2115
+ if (LogUtils.isDebug()) {
2116
+ Log.i(TAG, "clearData called");
2117
+ }
2118
+ // autofocusDirtyOnDataChange = true;
2119
+ if (mAdapter != null) {
2120
+ mAdapter.clearData();
2121
+ mAdapter.notifyDataSetChanged();
2122
+ } else {
2123
+ setAdapter(null);
2124
+ }
2125
+ requestLayoutManual();
2126
+ }
2127
+
2128
+ private boolean resetOnDetach = true;
2129
+ public void setResetOnDetach(boolean enable) {
2130
+ this.resetOnDetach = enable;
2131
+ }
2132
+
2133
+ public void setEventSendItem(boolean flag) {
2134
+ if (mAdapter != null) {
2135
+ mAdapter.setEventSendItem(flag);
2136
+ }
2137
+ }
2138
+
2139
+ public void setPlaceholderPostDelay(int time) {
2140
+ if (mAdapter != null) {
2141
+ mAdapter.placeholderPostDelay = time;
2142
+ }
2143
+ }
2144
+
2145
+
2146
+ public interface FastListItemView {
2147
+ void onRecycleItemView(FastListView listView, FastAdapter adapter);
2148
+ }
2149
+
2150
+ static final class InitParams {
2151
+ int customFocusPosition;
2152
+ int targetFocusPosition;
2153
+ int targetScrollToPosition;
2154
+ int scrollToPosition;
2155
+ int scrollOffset;
2156
+ boolean alignCenter;
2157
+ String targetName;
2158
+ boolean valid = true;
2159
+ final boolean blockOthers;
2160
+ int delay;
2161
+
2162
+ private InitParams(int targetFocusPosition, int scrollToPosition, int scrollOffset, String targetName, boolean blockOthers, int delay, boolean alignCenter) {
2163
+ this.targetFocusPosition = targetFocusPosition;
2164
+ this.customFocusPosition = targetFocusPosition;
2165
+ this.targetScrollToPosition = scrollToPosition;
2166
+ this.scrollToPosition = scrollToPosition;
2167
+ this.scrollOffset = scrollOffset;
2168
+ this.targetName = targetName;
2169
+ this.blockOthers = blockOthers;
2170
+ this.delay = delay;
2171
+ this.alignCenter = alignCenter;
2172
+ }
2173
+
2174
+ @Override
2175
+ public String toString() {
2176
+ return "InitParams{" +
2177
+ "customFocusPosition=" + customFocusPosition +
2178
+ ", targetFocusPosition=" + targetFocusPosition +
2179
+ ", scrollToPosition=" + scrollToPosition +
2180
+ ", scrollOffset=" + scrollOffset +
2181
+ ", targetName='" + targetName + '\'' +
2182
+ ", valid=" + valid +
2183
+ ", blockOthers=" + blockOthers +
2184
+ ", delay=" + delay +
2185
+ ", alignCenter=" + alignCenter +
2186
+ '}';
2187
+ }
2188
+ }
2189
+
2190
+ public void dispatchItemFunction(HippyArray var, @Nullable Promise promise) {
2191
+ final int itemPos = var.getInt(0);
2192
+ final String targetName = var.getString(1);
2193
+ final String functionTargetName = var.getString(2);
2194
+ final HippyArray array = var.getArray(3);
2195
+
2196
+ final ViewHolder holder = findViewHolderForAdapterPosition(itemPos);
2197
+ if (holder instanceof FastAdapter.Holder) {
2198
+ FastAdapter.Holder vh = (FastAdapter.Holder) holder;
2199
+ final FastAdapter.ElementNode targetNode = Utils.findElementNodeByName(targetName, vh.tag.getRootNode());
2200
+ final View target = targetNode == null ? null : targetNode.boundView;
2201
+ if (target != null && functionTargetName != null && !"dispatchFunctionByViewName".equals(functionTargetName)) {
2202
+ if (LogUtils.isDebug()) {
2203
+ Log.i(TAG, "dispatchItemFunction dispatchItemFunction work, target ==:" + target + ",targetName:" + targetName + ",functionTargetName:" + functionTargetName);
2204
+ }
2205
+ Utils.dispatchFunction(mAdapter.getControllerManager(), targetNode, functionTargetName, array, promise);
2206
+ } else {
2207
+ if (LogUtils.isDebug()) {
2208
+ Log.e(TAG, "dispatchItemFunction dispatchFunctionByViewName error target ==:" + target + ",targetName:" + targetName + ",functionTargetName:" + functionTargetName);
2209
+ }
2210
+ }
2211
+ } else {
2212
+ Log.e(TAG, "dispatchItemFunction dispatchItemFunction error , found holder null , pos:" + itemPos);
2213
+ }
2214
+
2215
+ }
2216
+
2217
+ @Override
2218
+ public void onScrolled(int x, int y) {
2219
+ super.onScrolled(x, y);
2220
+ if(y != 0){
2221
+ TriggerTaskManagerModule.dispatchTriggerTask(this,"onScrollY");
2222
+ }
2223
+ if(x != 0){
2224
+ TriggerTaskManagerModule.dispatchTriggerTask(this,"onScrollX");
2225
+ }
2226
+ }
2227
+
2228
+ @Override
2229
+ public void onScrollStateChanged(int state) {
2230
+ int dx = mOffsetX - lastScrollX;
2231
+ int dy = mOffsetY - lastScrollY;
2232
+ lastScrollX = mOffsetX;
2233
+ lastScrollY = mOffsetY;
2234
+ if (onScrollStateChangedListener != null) {
2235
+ onScrollStateChangedListener.onScrollStateChanged(lastState, state, dx, dy);
2236
+ }
2237
+ if (state == RecyclerView.SCROLL_STATE_IDLE) {
2238
+ if (lastState != state) {
2239
+ TriggerTaskManagerModule.dispatchTriggerTask(this,"onScrollStateIdle");
2240
+ }
2241
+ }else if(lastState == RecyclerView.SCROLL_STATE_IDLE){
2242
+ TriggerTaskManagerModule.dispatchTriggerTask(this,"onScrollStateScrolling");
2243
+ }
2244
+ super.onScrollStateChanged(state);
2245
+ }
2246
+
2247
+ @Override
2248
+ protected void onTriggerScrollYGreater() {
2249
+ super.onTriggerScrollYGreater();
2250
+ if (onScrollStateChangedListener != null) {
2251
+ onScrollStateChangedListener.onTriggerScrollYGreater();
2252
+ }
2253
+ }
2254
+
2255
+ @Override
2256
+ protected void onTriggerScrollYLesser() {
2257
+ super.onTriggerScrollYLesser();
2258
+ if (onScrollStateChangedListener != null) {
2259
+ onScrollStateChangedListener.onTriggerScrollYLesser();
2260
+ }
2261
+ }
2262
+
2263
+ public FastAdapter getFastAdapter() {
2264
+ return mAdapter;
2265
+ }
2266
+
2267
+ @Override
2268
+ public void setRootList(FastListView rootList, FastAdapter adapter) {
2269
+ if (mAdapter != null) {
2270
+ mAdapter.setRootList(rootList, adapter);
2271
+ }
2272
+
2273
+ }
2274
+
2275
+ public View getAgentView() {
2276
+ return agentView;
2277
+ }
2278
+
2279
+ public void setAgentView(View agentView) {
2280
+ this.agentView = agentView;
2281
+ }
2282
+
2283
+ public OnFastScrollStateChangedListener getOnScrollStateChangedListener() {
2284
+ return onScrollStateChangedListener;
2285
+ }
2286
+
2287
+ public void setOnScrollStateChangedListener(OnFastScrollStateChangedListener onScrollStateChangedListener) {
2288
+ this.onScrollStateChangedListener = onScrollStateChangedListener;
2289
+ }
2290
+
2291
+ @Override
2292
+ public int findPositionByChild(View child) {
2293
+ return getLayoutManagerCompat().getPosition(child);
2294
+ }
2295
+
2296
+ public boolean isShakeEnd() {
2297
+ return mShakeEndAnimator == null;
2298
+ }
2299
+
2300
+ private boolean destroyed = false;
2301
+ @Override
2302
+ public void destroy() {
2303
+ super.destroy();
2304
+ this.destroyed = true;
2305
+ try {
2306
+ if (mAdapter != null) {
2307
+ mAdapter.clearDetachCaches();
2308
+ mAdapter.clearCache();
2309
+ mAdapter.clearData();
2310
+ setAdapter(null);
2311
+ }
2312
+ templateNode = null;
2313
+ } catch (Throwable t) {
2314
+ t.printStackTrace();
2315
+ }
2316
+ }
2317
+
2318
+ @Override
2319
+ public void getState(@NonNull HippyMap map) {
2320
+ Utils.getFastListState(this, map);
2321
+ }
2322
+
2323
+ @Override
2324
+ public void onRequestAutofocus(View child, View target,int type) {
2325
+ // if(target != null && autofocusDirty){
2326
+ if(target != null){//暂时不判断
2327
+ // autofocusDirty = false;
2328
+ if(!hasFocus() || isFocused() || type == ExtendViewGroup.AUTOFOCUS_TYPE_SIZE_VALID
2329
+ || type == ExtendViewGroup.AUTOFOCUS_TYPE_FORCE) {
2330
+ super.onRequestAutofocus(child, target,type);
2331
+ }else{
2332
+ if(AutoFocusManager.isNextGlobalPendingAutofocus(target)){
2333
+ super.onRequestAutofocus(child, target,type);
2334
+ }else {
2335
+ Log.e(AutoFocusManager.TAG, "onRequestAutofocus return on List hasFocus :" + this);
2336
+ }
2337
+ }
2338
+ }
2339
+ }
2340
+
2341
+ private HippyViewGroup pageRootView;
2342
+ @Override
2343
+ public HippyViewGroup findPageRootView() {
2344
+ if (pageRootView != null) {
2345
+ return pageRootView;
2346
+ }
2347
+ View v = HippyViewGroup.findRootViewFromParent(this);
2348
+ if(v instanceof HippyViewGroup){
2349
+ pageRootView = (HippyViewGroup) v;
2350
+ }
2351
+ return pageRootView;
2352
+ }
2353
+
2354
+
2355
+ @Override
2356
+ public void searchUpdateItemDataByItemID(String id, Object data, boolean traverse) {
2357
+ FastAdapterUtil.updateItemData4FastAdapterTraverse(id,data,getFastAdapter().dataList,traverse,ExtendUtil.debugViewLite(this));
2358
+ }
2359
+
2360
+ @Override
2361
+ public void searchUpdateItemViewByItemID(String id, Object data, boolean traverse) {
2362
+ FastAdapterUtil.updateItemViewByItemID(this.getView(),id,data,traverse);
2363
+ }
2364
+
2365
+ @Override
2366
+ public HippyArray getItemListData() {
2367
+ return getFastAdapter().dataList;
2368
+ }
2369
+
2370
+ @Override
2371
+ public int findItemPositionBySID(String id) {
2372
+ return getFastAdapter() == null ? -1 : getFastAdapter().findItemPositionBySID(id);
2373
+ }
2374
+
2375
+ /**
2376
+ * 根据指定的itemID,动态的更新一个元素的属性,
2377
+ */
2378
+ @Override
2379
+ public void searchUpdateItemPropsBySID(String name, String itemID, String prop, Object newValue, boolean updateView){
2380
+ FastAdapterUtil.updateItemPropsByItemID(this.getView(),name,itemID,prop,newValue,updateView);
2381
+ }
2382
+
2383
+ @Override
2384
+ public void updateItemSpecificProp(String name, int position, String key, Object value,boolean updateView) {
2385
+ if (mAdapter != null) {
2386
+ final ViewHolder vh = findViewHolderForAdapterPosition(position);
2387
+ mAdapter.updateItemSpecificPropByTargetName(name, position, key, value, updateView,vh);
2388
+ if (vh == null) {
2389
+ Log.e(TAG, "updateItemSpecificProp error,没有找到对应的Holder,当前View可能没有在展示");
2390
+ }
2391
+ }
2392
+ }
2393
+
2394
+ public void changeItemState(int position,String state,boolean on){
2395
+ if("selected".equals(state)){
2396
+ if(on){
2397
+ setSelectChildPosition(position,true);
2398
+ }else{
2399
+ setSelectChildPosition(-1,false);
2400
+ }
2401
+ }else if (mAdapter != null) {
2402
+
2403
+ final ViewHolder vh = findViewHolderForAdapterPosition(position);
2404
+ if(vh != null){
2405
+ if(vh.itemView instanceof StateView){
2406
+ ((StateView) vh.itemView).setCustomState(state,on);
2407
+ }
2408
+ }else {
2409
+ Log.e(TAG, "changeItemState error,没有找到对应的Holder,当前View可能没有在展示");
2410
+ }
2411
+ }
2412
+ }
2413
+
2414
+ private String[] stateEnableOnFocusNames;
2415
+ public void setStateEnableOnFocusNames(String[] names) {
2416
+ Log.e(TAG,"setStateEnableOnFocusNames new names = " + Arrays.toString(names)+",old stateEnableOnFocusNames:"+Arrays.toString(stateEnableOnFocusNames));
2417
+ if (stateEnableOnFocusNames != null && stateEnableOnFocusNames.length > 0 && names == null || names.length == 0) {
2418
+ //取消
2419
+ View child = getFocusedChild();
2420
+ for(String s : stateEnableOnFocusNames){
2421
+ Log.i(TAG,"setStateEnableOnFocusNames on clearSelectChild s:"+s);
2422
+ if("selected".equals(s)){
2423
+ // setSelectChildPosition(-1,false);
2424
+ clearSelectChild();
2425
+ }
2426
+ if(child instanceof StateView){
2427
+ ((StateView) child).setCustomState(s,false);
2428
+ }
2429
+ }
2430
+ }
2431
+ this.stateEnableOnFocusNames = names;
2432
+ if (stateEnableOnFocusNames != null) {
2433
+ View child = getFocusedChild();
2434
+ for(String s : stateEnableOnFocusNames){
2435
+ if(child instanceof StateView){
2436
+ if("selected".equals(s)){
2437
+ int pos = findPositionByChild(child);
2438
+ Log.i(TAG,"setSelectChildPosition on setStateEnableOnFocusNames pos:"+pos);
2439
+ setSelectChildPosition(pos,false);
2440
+ }
2441
+ ((StateView) child).setCustomState(s,true);
2442
+ }
2443
+ }
2444
+ }
2445
+ }
2446
+
2447
+ @Override
2448
+ public View findFirstFocusByDirection(int direction) {
2449
+ return getLayoutManagerCompat().findFirstFocusByDirection(direction);
2450
+ }
2451
+
2452
+ @Override
2453
+ protected int getFirstFocusChildPosition(int direction) {
2454
+ if (mTargetFocusChildPosition > -1) {
2455
+ return mTargetFocusChildPosition;
2456
+ }else {
2457
+ if (isInfinityLoop) {
2458
+ return FastAdapter.INFINITE_START_POSITION;
2459
+ }else{
2460
+ return 0;
2461
+ }
2462
+ }
2463
+ }
2464
+
2465
+
2466
+ }