@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,2070 @@
1
+ package com.tencent.mtt.hippy.views.list;
2
+
3
+ import android.animation.Animator;
4
+ import android.animation.AnimatorListenerAdapter;
5
+ import android.animation.ObjectAnimator;
6
+ import android.content.Context;
7
+ import android.graphics.Canvas;
8
+ import android.graphics.PointF;
9
+ import android.graphics.Rect;
10
+ import android.os.Build;
11
+ import android.util.Log;
12
+ import android.view.FocusFinder;
13
+ import android.view.KeyEvent;
14
+ import android.view.View;
15
+ import android.view.ViewGroup;
16
+ import android.view.ViewTreeObserver;
17
+ import android.view.animation.CycleInterpolator;
18
+
19
+ import android.support.annotation.NonNull;
20
+ import android.support.annotation.Nullable;
21
+
22
+ import com.tencent.extend.AnimationStore;
23
+ import com.tencent.extend.AutoFocusManager;
24
+ import com.tencent.extend.ITVView;
25
+ import com.tencent.extend.StateListPresenter;
26
+ import com.tencent.extend.TVViewUtil;
27
+ import com.tencent.extend.TriggerTaskHost;
28
+ import com.tencent.extend.TriggerTaskManagerModule;
29
+ import com.tencent.extend.views.fastlist.ListViewControlProp;
30
+ import com.tencent.extend.views.fastlist.Utils;
31
+ import com.tencent.mtt.hippy.FocusDispatchView;
32
+ import com.tencent.mtt.hippy.HippyEngineContext;
33
+ import com.tencent.mtt.hippy.common.HippyArray;
34
+ import com.tencent.mtt.hippy.common.HippyMap;
35
+ import com.tencent.mtt.hippy.uimanager.ControllerManager;
36
+ import com.tencent.mtt.hippy.uimanager.ExtendViewGroup;
37
+ import com.tencent.mtt.hippy.uimanager.HippyViewEvent;
38
+ import com.tencent.mtt.hippy.uimanager.InternalExtendViewUtil;
39
+ import com.tencent.mtt.hippy.uimanager.RenderNode;
40
+ import com.tencent.mtt.hippy.uimanager.ViewStateProvider;
41
+ import com.tencent.mtt.hippy.utils.ExtendUtil;
42
+ import com.tencent.mtt.hippy.utils.LogUtils;
43
+ import com.tencent.mtt.supportui.views.recyclerview.BaseLayoutManager;
44
+ import com.tencent.mtt.supportui.views.recyclerview.LinearLayoutManager;
45
+ import com.tencent.mtt.supportui.views.recyclerview.LinearSmoothScroller;
46
+ import com.tencent.mtt.supportui.views.recyclerview.RecyclerViewBase;
47
+ import com.tencent.mtt.supportui.views.recyclerview.RecyclerViewItem;
48
+
49
+ import java.util.ArrayList;
50
+
51
+
52
+ public class TVRecyclerView extends HippyListView implements ExtendViewGroup, TriggerTaskHost, RecycleViewFlinger.IRecyclerView, TVSingleLineListView, ViewStateProvider {
53
+
54
+ protected SingleLineLayoutManager singleLineLayoutManager;
55
+
56
+ protected int orientation = HORIZONTAL;
57
+
58
+ FocusEventListener mFocusListener;
59
+
60
+ ChildOnScreenScroller mCustomChildOnScreenScroller;
61
+
62
+ protected int defaultSectionPosition = -1;
63
+ protected int mTargetFocusChildPosition = -1;
64
+
65
+ protected int activatedPosition = -1;
66
+
67
+ protected boolean disableFocusIntercept = false;
68
+
69
+ protected int mFocusChildPosition = 0;
70
+
71
+ public final static String TAG = "DebugHippyList";
72
+
73
+
74
+ private Rect clipOutset;
75
+
76
+ private boolean enableFocusMemory = true;
77
+
78
+ private int[] mBlockFocusOnFail;
79
+ private int[] mBlockFocus;
80
+
81
+ private int initFocusPositionAfterLayout = -1;
82
+ public static final int REQUEST_CHILD_ON_SCREEN_TYPE_CENTER = 0;
83
+ public static final int REQUEST_CHILD_ON_SCREEN_TYPE_NONE = 2;
84
+ public static final int REQUEST_CHILD_ON_SCREEN_TYPE_ANDROID = 1;
85
+
86
+
87
+ private boolean enableSelectOnFocus = true;
88
+
89
+ protected boolean mShakeEndEnable = true;
90
+
91
+ boolean useAdvancedFocusSearch = true;
92
+
93
+ private boolean isUseNegativeLayout = false;
94
+
95
+ private ItemDecoration blankItemDecoration;
96
+
97
+
98
+ protected Animator mShakeEndAnimator;
99
+
100
+ private InitParams mInitParams;
101
+ private boolean forceBlockFocusOnFail = false;
102
+
103
+ private View currentFocusView;
104
+
105
+ public void setForceBlockFocusOnFail(boolean forceBlockFocusOnFail) {
106
+ this.forceBlockFocusOnFail = forceBlockFocusOnFail;
107
+ }
108
+
109
+
110
+ public void setEnableSelectOnFocus(boolean enableSelectOnFocus) {
111
+ this.enableSelectOnFocus = enableSelectOnFocus;
112
+ }
113
+
114
+ public void setUseAdvancedFocusSearch(boolean useAdvancedFocusSearch) {
115
+ this.useAdvancedFocusSearch = useAdvancedFocusSearch;
116
+ }
117
+
118
+ public void setUseNegativeLayout(boolean useNegativeLayout) {
119
+ isUseNegativeLayout = useNegativeLayout;
120
+ }
121
+
122
+ private boolean mListenFocusSearchOnFail = false;
123
+ private boolean mListenBoundEvent = false;
124
+
125
+ public void setListenBoundEvent(boolean mListenBoundEvent) {
126
+ this.mListenBoundEvent = mListenBoundEvent;
127
+ }
128
+
129
+ public boolean isListenBoundEvent() {
130
+ return mListenBoundEvent;
131
+ }
132
+
133
+ public void setListenFocusSearchOnFail(boolean mListenFocusSearchOnFail) {
134
+ this.mListenFocusSearchOnFail = mListenFocusSearchOnFail;
135
+ }
136
+
137
+
138
+ public void setShakeEndEnable(boolean shakeEndEnable) {
139
+ this.mShakeEndEnable = shakeEndEnable;
140
+ }
141
+
142
+ public void setBlockFocusOnFail(int[] directions) {
143
+ this.mBlockFocusOnFail = directions;
144
+ }
145
+
146
+ @Override
147
+ public void diffSetScrollToPosition(int position, int offset) {
148
+
149
+ }
150
+
151
+ public void setBlockFocusOn(int[] directions) {
152
+ this.mBlockFocus = directions;
153
+ }
154
+
155
+ public void setRequestChildOnScreenType(int requestChildOnScreenType) {
156
+ if (getSingleLineLayoutManager().childOnScreenScroller != null) {
157
+ getSingleLineLayoutManager().childOnScreenScroller.setType(requestChildOnScreenType);
158
+ }
159
+ }
160
+
161
+ public void setRequestChildOnScreenClampBackward(int clampBackward) {
162
+ if (getSingleLineLayoutManager().childOnScreenScroller != null) {
163
+ getSingleLineLayoutManager().childOnScreenScroller.setClampBackward(clampBackward);
164
+ }
165
+ }
166
+
167
+ public void setRequestChildOnScreenClampForward(int clampForward) {
168
+ if (getSingleLineLayoutManager().childOnScreenScroller != null) {
169
+ getSingleLineLayoutManager().childOnScreenScroller.setClampForward(clampForward);
170
+ }
171
+ }
172
+
173
+ public void setScrollThresholdVertical(int threshold) {
174
+ if (getSingleLineLayoutManager().childOnScreenScroller != null) {
175
+ getSingleLineLayoutManager().childOnScreenScroller.setScrollThresholdVertical(threshold);
176
+ }
177
+ }
178
+
179
+ public void setScrollThresholdHorizontal(int threshold) {
180
+ if (getSingleLineLayoutManager().childOnScreenScroller != null) {
181
+ getSingleLineLayoutManager().childOnScreenScroller.setScrollThresholdHorizontal(threshold);
182
+ }
183
+ }
184
+
185
+ public void setBlankItemDecoration(HippyArray array) {
186
+ if (blankItemDecoration != null) {
187
+ removeItemDecoration(blankItemDecoration);
188
+ }
189
+ final int head = array.getInt(0);
190
+ final int end = array.getInt(1);
191
+ if (LogUtils.isDebug()) {
192
+ LogUtils.d(TAG, "setBlankItemDecoration vertical head:" + head + ",end:" + end);
193
+ }
194
+ blankItemDecoration = new ItemDecoration() {
195
+ @Override
196
+ public void getItemOffsets(Rect outRect, int itemPosition, RecyclerViewBase parent) {
197
+ super.getItemOffsets(outRect, itemPosition, parent);
198
+ if (getOrientation() == VERTICAL) {
199
+ if (itemPosition == 0) {
200
+ outRect.top = head;
201
+ } else if (itemPosition == parent.getLayoutManager().getItemCount() - 1) {
202
+ outRect.bottom = end;
203
+ }
204
+ } else {
205
+ if (itemPosition == 0) {
206
+ outRect.left = head;
207
+ } else if (itemPosition == parent.getLayoutManager().getItemCount() - 1) {
208
+ outRect.right = end;
209
+ }
210
+ }
211
+ }
212
+ };
213
+ addItemDecoration(blankItemDecoration);
214
+ }
215
+
216
+ @Override
217
+ public void getState(@NonNull HippyMap map) {
218
+ map.pushInt(Utils.ORIENTATION, getOrientation());
219
+ map.pushInt(Utils.ITEMCOUNT, getAdapter() != null ? getAdapter().getItemCount() : 0);
220
+ map.pushInt(Utils.FOCUS_POSITION, getFocusedChild() != null ? getChildPosition(getFocusedChild()) : -1);
221
+ map.pushInt(Utils.SELECT_POSITION, getSelectChildPosition());
222
+ map.pushInt(Utils.OFFSETX, getOffsetX());
223
+ map.pushInt(Utils.OFFSETY, getOffsetY());
224
+ map.pushInt(Utils.SCROLLSTATE, getScrollState());
225
+ }
226
+
227
+ public interface OnLayoutManagerCallback {
228
+ void onLayoutCompleted(State state);
229
+ }
230
+
231
+ public void setInitFocusPositionAfterLayout(int requestFocusPositionAfterLayout) {
232
+ this.initFocusPositionAfterLayout = requestFocusPositionAfterLayout;
233
+ }
234
+
235
+ public void enableFocusMemory(boolean enableFocusMemory) {
236
+ this.enableFocusMemory = enableFocusMemory;
237
+ }
238
+
239
+
240
+ @Override
241
+ public void setListData() {
242
+
243
+ //zhaopeng 防止列表刷新过多的item
244
+ if (isUseNegativeLayout) {
245
+ final HippyEngineContext context = getHippyContext();
246
+ if (context != null) {
247
+ final RenderNode node = context.getRenderManager().getRenderNode(getId());
248
+ if (node != null) {
249
+ final int totalCount = node.getChildCount();
250
+ final int lastItemPosition = getSingleLineLayoutManager().findLastCompletelyVisibleItemPosition();
251
+
252
+ if (totalCount > 0 && lastItemPosition > -1 && lastItemPosition < totalCount - 1) {
253
+ final int diff = totalCount - lastItemPosition;
254
+ getListAdapter().notifyItemRangeChanged(lastItemPosition + 1, diff);
255
+ dispatchLayout();
256
+ Log.e(TAG, "setListData : notifyItemRangeChanged ->>>totalCount :" + totalCount + ",lastItemPosition:" + lastItemPosition + ",diff:" + diff);
257
+ return;
258
+ }
259
+ }
260
+ }
261
+ }
262
+ if (LogUtils.isDebug()) {
263
+ Log.e("PendingFocus", "###########setListData########## pendingWork:" + mInitParams + ",id:" + getId());
264
+ }
265
+ super.setListData();
266
+ if (mInitParams != null) {
267
+ if (LogUtils.isDebug()) {
268
+ Log.d("PendingFocus", "after setListData scrollToPosition:" + mInitParams + ",id:" + getId());
269
+ }
270
+ scrollToPosition(mInitParams.scrollToPosition, mInitParams.scrollOffset);
271
+ // RenderUtil.requestNodeLayout(this);
272
+ }
273
+ }
274
+
275
+
276
+ @Override
277
+ protected int getScrollToPosition() {
278
+ return mInitParams == null ? -1 : mInitParams.scrollToPosition;
279
+ }
280
+
281
+ @Override
282
+ public void onWindowFocusChanged(boolean hasWindowFocus) {
283
+ super.onWindowFocusChanged(hasWindowFocus);
284
+ if (LogUtils.isDebug()) {
285
+ Log.d("SingleLineRecyclerView", "onWindowVisibilityChanged onWindowFocusChanged:" + hasWindowFocus);
286
+ }
287
+ }
288
+
289
+ @Override
290
+ protected void onWindowVisibilityChanged(int visibility) {
291
+ super.onWindowVisibilityChanged(visibility);
292
+ if (LogUtils.isDebug()) {
293
+ Log.d("SingleLineRecyclerView", "onWindowVisibilityChanged visibility:" + visibility);
294
+ }
295
+ }
296
+
297
+ @Override
298
+ protected void onAttachedToWindow() {
299
+ super.onAttachedToWindow();
300
+ if (LogUtils.isDebug()) {
301
+ Log.d("SingleLineRecyclerView", "onAttachedToWindow");
302
+ }
303
+ listenGlobalFocusChangeIfNeed();
304
+ }
305
+
306
+
307
+ Rect temp;
308
+
309
+ @Override
310
+ protected void onLayout(boolean changed, int l, int t, int r, int b) {
311
+ super.onLayout(changed, l, t, r, b);
312
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
313
+ if (clipOutset != null) {
314
+ if (temp == null) {
315
+ temp = new Rect();
316
+ }
317
+ temp.set(-clipOutset.left, -clipOutset.top, getWidth() + clipOutset.right, getHeight() + clipOutset.bottom);
318
+ setClipBounds(temp);
319
+ }
320
+ }
321
+ }
322
+
323
+
324
+ private View[] mFocusSearchTargets;
325
+
326
+
327
+ public void setClipOutset(int left, int top, int right, int bottom) {
328
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
329
+ if (clipOutset == null) {
330
+ clipOutset = new Rect();
331
+ }
332
+ clipOutset.set(left, top, right, bottom);
333
+ requestLayout();
334
+ setClipChildren(false);
335
+ }
336
+ }
337
+
338
+ public View findSelectedChild() {
339
+ final int select = defaultSectionPosition;
340
+ if (select > -1) {
341
+ return getSingleLineLayoutManager().findViewByPosition(select);
342
+ }
343
+ return null;
344
+ }
345
+
346
+
347
+ public void setActivatedPosition(int activatedPosition) {
348
+ // final int last = activatedPosition;
349
+ this.activatedPosition = activatedPosition;
350
+
351
+ if (getChildCount() > 0) {
352
+
353
+
354
+ for (int i = 0; i < getChildCount(); i++) {
355
+ final View child = singleLineLayoutManager.getChildAt(i);
356
+ if (child != null) {
357
+ callItemStateChangeIfNeed(child, child.isFocused() ? StateListPresenter.STATE_FOCUSED : StateListPresenter.STATE_NORMAL);
358
+ }
359
+ }
360
+ if (activatedPosition > -1) {
361
+ final View newOne = singleLineLayoutManager.findViewByPosition(activatedPosition);
362
+ if (newOne != null) {
363
+ callItemStateChangeIfNeed(newOne, StateListPresenter.STATE_ACTIVATED);
364
+ }
365
+ }
366
+ }
367
+ }
368
+
369
+ public void setTargetFocusChildPosition(int mTargetFocusChildPosition) {
370
+ this.mTargetFocusChildPosition = mTargetFocusChildPosition;
371
+ }
372
+
373
+ OnLayoutManagerCallback onLayoutManagerCallback;
374
+
375
+
376
+ public void setOnLayoutManagerCallback(OnLayoutManagerCallback onLayoutManagerCallback) {
377
+ this.onLayoutManagerCallback = onLayoutManagerCallback;
378
+ }
379
+
380
+
381
+ public void setChildOnScreenScroller(@Nullable ChildOnScreenScroller scroller) {
382
+ this.mCustomChildOnScreenScroller = scroller;
383
+ }
384
+
385
+ private int mScrollOffset = 0;
386
+
387
+ public TVRecyclerView(Context context, int orientation) {
388
+ super(context, orientation);
389
+ this.orientation = orientation;
390
+ }
391
+
392
+ public TVRecyclerView(Context context) {
393
+ this(context, BaseLayoutManager.VERTICAL);
394
+ }
395
+
396
+
397
+ public int getOrientation() {
398
+ return orientation;
399
+ }
400
+
401
+ @Override
402
+ public void requestChildFocus(View child, View focused) {
403
+ final View mSelectedChild = findSelectedChild();
404
+ final View lastFocus = mSelectedChild;
405
+ if (mSelectedChild != null) {
406
+ callItemStateChangeIfNeed(lastFocus, StateListPresenter.STATE_NORMAL);
407
+ }
408
+ try {
409
+ super.requestChildFocus(child, focused);
410
+ if (mEnableChildFocusEvent) {
411
+ if (mChildFocusEvent == null) {
412
+ mChildFocusEvent = new HippyViewEvent(InternalExtendViewUtil.CHILD_FOCUS_EVENT_NAME);
413
+ }
414
+ InternalExtendViewUtil.sendEventOnRequestChildFocus(this, child, focused, mChildFocusEvent);
415
+ }
416
+ } catch (Throwable t) {
417
+ Log.e(TAG, "requestChildFocus error :" + t.getMessage() + " focused:" + focused);
418
+ t.printStackTrace();
419
+ }
420
+ callItemStateChangeIfNeed(child, StateListPresenter.STATE_FOCUSED);
421
+ final int focusedChildPosition = getChildPosition(child);
422
+
423
+ changeSelectState(defaultSectionPosition, false);
424
+ if (enableSelectOnFocus) {
425
+ defaultSectionPosition = focusedChildPosition;
426
+ } else {
427
+ changeSelectState(defaultSectionPosition, true);
428
+ }
429
+ mTargetFocusChildPosition = focusedChildPosition;
430
+ mFocusChildPosition = focusedChildPosition;
431
+ currentFocusView = focused;
432
+ }
433
+
434
+ void changeSelectState(final int position, boolean select) {
435
+ final View child = findViewByPosition(position);
436
+ if (child != null) {
437
+ changeSelectState(child, select);
438
+ }
439
+ }
440
+
441
+ void changeSelectState(View child, boolean select) {
442
+ // if(child != null && child != getFocusedChild()){
443
+ if (child != null) {
444
+ if (select) {
445
+ if (child.isSelected()) {
446
+ child.setSelected(false);
447
+ }
448
+ child.setSelected(true);
449
+ } else {
450
+ child.setSelected(false);
451
+ }
452
+ }
453
+ }
454
+
455
+ private boolean lockFocusOnLayout = true;
456
+
457
+ public void setLockFocusOnLayout(boolean lockFocusOnLayout) {
458
+ this.lockFocusOnLayout = lockFocusOnLayout;
459
+ }
460
+
461
+ public void disableFocusIntercept(boolean disable) {
462
+ this.disableFocusIntercept = disable;
463
+ }
464
+
465
+ public void applyChildOnScreenScroller() {
466
+ }
467
+
468
+ public int getSelectChildPosition() {
469
+ return defaultSectionPosition;
470
+ }
471
+
472
+ protected void callItemStateChangeIfNeed(View child, int state) {
473
+ if (state == StateListPresenter.STATE_SELECTED) {
474
+ InternalExtendViewUtil.sendEventOnRequestListChildSelect(this, child);
475
+ }
476
+
477
+ }
478
+
479
+
480
+ protected void exeShakeRecycleView() {
481
+
482
+ LogUtils.v(TAG, "exeShakeRecycleView orientation is " + orientation);
483
+
484
+ if (mShakeEndAnimator == null) {
485
+ final Animator shake = AnimationStore.defaultShakeEndAnimator(this, getOrientation());
486
+ mShakeEndAnimator = shake;
487
+ notifyShakeEnd();
488
+ shake.start();
489
+ shake.addListener(new AnimatorListenerAdapter() {
490
+ @Override
491
+ public void onAnimationEnd(Animator animation) {
492
+ super.onAnimationEnd(animation);
493
+ mShakeEndAnimator = null;
494
+ }
495
+ });
496
+ }
497
+ }
498
+
499
+ protected boolean exeAnimRunning = false;
500
+
501
+ protected void exeShakeSelf(View view, int direction) {
502
+ if (!exeAnimRunning) {
503
+ exeAnimRunning = true;
504
+ ObjectAnimator shakeSelfAnim;//抖动幅度0到5
505
+ if (direction == View.FOCUS_DOWN || direction == View.FOCUS_UP) {
506
+ shakeSelfAnim = ObjectAnimator.ofFloat(view, View.TRANSLATION_Y.getName(), 0, 5f);
507
+ } else {
508
+ shakeSelfAnim = ObjectAnimator.ofFloat(view, View.TRANSLATION_X.getName(), 0, 5f);
509
+ }
510
+ shakeSelfAnim.setDuration(250);//持续时间
511
+ shakeSelfAnim.setInterpolator(new CycleInterpolator(2));//抖动次数
512
+ shakeSelfAnim.addListener(new AnimatorListenerAdapter() {
513
+ @Override
514
+ public void onAnimationCancel(Animator animation) {
515
+ exeAnimRunning = false;
516
+ }
517
+
518
+ @Override
519
+ public void onAnimationEnd(Animator animation) {
520
+ exeAnimRunning = false;
521
+ }
522
+ });
523
+ shakeSelfAnim.start();//开始动画
524
+ }
525
+ }
526
+
527
+
528
+ protected void notifyShakeEnd() {
529
+
530
+ }
531
+
532
+
533
+ /**
534
+ * 设置选中的子view,注意此方法只在view已经显示出来以后调用才有效。
535
+ *
536
+ * @param position
537
+ */
538
+ public void setSelectChildPosition(int position) {
539
+ this.setSelectChildPosition(position, true);
540
+ }
541
+
542
+ public void setupInitScrollWork(int position, int scrollToPosition, int offset, String focusName, boolean block, int delay) {
543
+ if (position < 0 && scrollToPosition < 0) {
544
+ clearInitFocusPosition();
545
+ } else {
546
+ mInitParams = new InitParams(position, scrollToPosition, offset, focusName, block, delay);
547
+ if (block) {
548
+ Log.e("PendingFocus", "setPendingFocusChild blockRootFocus!!");
549
+ InternalExtendViewUtil.blockRootFocus(this);
550
+ }
551
+ }
552
+
553
+ }
554
+
555
+ public void clearInitFocusPosition() {
556
+ if (mInitParams != null) {
557
+ mInitParams.targetFocusPosition = -1;
558
+ }
559
+ }
560
+
561
+ public void requestTargetFocus(boolean block, int delay, int position, String target) {
562
+ if (block) {
563
+ InternalExtendViewUtil.blockRootFocus(this);
564
+ }
565
+ if (delay > 0) {
566
+ getRootView().postDelayed(() -> {
567
+ if (LogUtils.isDebug()) {
568
+ Log.e("PendingFocus", "setInitPositionInfo found focus requestFocusDirectly!!");
569
+ }
570
+ if (LogUtils.isDebug()) {
571
+ LogUtils.e(FocusDispatchView.TAG, "unBlockRootFocus 1");
572
+ }
573
+ InternalExtendViewUtil.unBlockRootFocus(TVRecyclerView.this);
574
+ if (getSingleLineLayoutManager().requestTargetChildFocus(position, target)) {
575
+ if (LogUtils.isDebug()) {
576
+ Log.e("PendingFocus", "clear mPendingFocus");
577
+ }
578
+ //this.clearInitFocusPosition();
579
+ }
580
+ }, delay);
581
+ } else {
582
+ if (LogUtils.isDebug()) {
583
+ LogUtils.e(FocusDispatchView.TAG, "unBlockRootFocus 2");
584
+ }
585
+ InternalExtendViewUtil.unBlockRootFocus(this);
586
+ if (LogUtils.isDebug()) {
587
+ Log.e("PendingFocus", "setInitPositionInfo found focus requestFocusDirectly!!");
588
+ }
589
+ if (getSingleLineLayoutManager().requestTargetChildFocus(position, target)) {
590
+ if (LogUtils.isDebug()) {
591
+ Log.e("PendingFocus", "clear mPendingFocus");
592
+ }
593
+ //this.clearInitFocusPosition();
594
+ }
595
+ }
596
+ }
597
+
598
+
599
+ public void setInitPositionInfo(HippyMap map) {
600
+ /*
601
+ :initPosition=
602
+ {
603
+ // 请求焦点的位置可以不传,不传不会请求焦点
604
+ focusPosition:5,
605
+ //首次滚动的位置, 可以不传
606
+ scrollToPosition:3,
607
+ //首次滚动的偏移值, 可以不传
608
+ scrollOffset:200,
609
+ }
610
+ *
611
+ **/
612
+
613
+ if (map == null || map.size() < 1) {
614
+ clearInitFocusPosition();
615
+ return;
616
+ }
617
+ int position = map.containsKey("focusPosition") ? map.getInt("focusPosition") : -1;
618
+ if (position < 0) {
619
+ position = map.containsKey("position") ? map.getInt("position") : -1;
620
+ }
621
+ final int scrollToPosition = map.containsKey("scrollToPosition") ? map.getInt("scrollToPosition") : -1;
622
+ final int scrollOffset = map.containsKey("scrollOffset") ? map.getInt("scrollOffset") : 0;
623
+
624
+ final String target = map.containsKey("target") ? map.getString("target") : null;
625
+ // final boolean oneShot = map.getBoolean("oneShot");
626
+ final boolean block = map.containsKey("blockOthers") && map.getBoolean("blockOthers");
627
+ final boolean force = map.containsKey("force") && map.getBoolean("force");
628
+ final int delay = map.containsKey("delay") ? map.getInt("delay") : -1;
629
+ if (position < 0 && scrollToPosition < 0) {
630
+ this.clearInitFocusPosition();
631
+ return;
632
+ }
633
+
634
+ boolean requestFocus = position > -1;
635
+ if (LogUtils.isDebug()) {
636
+ Log.d("PendingFocus", "begin initPosition requestFocus:" + requestFocus);
637
+ }
638
+ if (requestFocus) {
639
+ final View targetView = getSingleLineLayoutManager().findTargetChildFocus(position, target);
640
+ if (LogUtils.isDebug()) {
641
+ Log.d("PendingFocus", "findTargetChildFocus findTargetChildFocus:" + targetView);
642
+ }
643
+ if (targetView != null && targetView.getVisibility() == View.VISIBLE) {
644
+ // requestTargetFocus(block,delay,position,target);
645
+ setupInitScrollWork(position, scrollToPosition, scrollOffset, target, block, delay);
646
+ if (force) {
647
+ hideAWhile(300);
648
+ setListData();
649
+ }
650
+ } else {
651
+ setupInitScrollWork(position, scrollToPosition, scrollOffset, target, block, delay);
652
+ if (force) {
653
+ hideAWhile(300);
654
+ setListData();
655
+ }
656
+ if (scrollToPosition > -1) {
657
+ if (LogUtils.isDebug()) {
658
+ Log.e("PendingFocus", "scrollToPositionWithScrollType Directly");
659
+ }
660
+ // scrollToPositionWithScrollType(scrollToPosition,scrollOffset);
661
+ } else {
662
+ // scrollToPositionWithScrollType(position,scrollOffset);
663
+ }
664
+ }
665
+ } else {
666
+ setupInitScrollWork(-1, scrollToPosition, scrollOffset, target, block, delay);
667
+ if (LogUtils.isDebug()) {
668
+ Log.e("PendingFocus", "scrollToPositionWithScrollType Directly!! scrollToPosition:" + scrollToPosition + ",offset:" + scrollOffset + ",id:" + getId());
669
+ }
670
+ if (force) {
671
+ hideAWhile(300);
672
+ setListData();
673
+ }
674
+ // scrollToPositionWithScrollType(scrollToPosition,scrollOffset);
675
+ }
676
+
677
+
678
+ }
679
+
680
+ private Runnable hideTask;
681
+
682
+ private void hideAWhile(int time) {
683
+ //暂时将自己隐藏一会,主要用来解决列表重设数据,多次变更的问题
684
+ if (hideTask != null) {
685
+ removeCallbacks(hideTask);
686
+ }
687
+ setAlpha(0);
688
+ hideTask = () -> setAlpha(1);
689
+ postDelayed(hideTask, time);
690
+ }
691
+
692
+
693
+ @Override
694
+ protected void scrollToPositionBeforeSetListData() {
695
+ super.scrollToPositionBeforeSetListData();
696
+
697
+ int position = getScrollToPosition();
698
+ int itemHeight;
699
+ int offset = 0;
700
+ if (getListAdapter() == null) {
701
+ return;
702
+ }
703
+
704
+ itemHeight = getListAdapter().getItemHeight(position);
705
+
706
+ int parentSize = getHeight() - getPaddingBottom() - getPaddingTop();
707
+
708
+ final int lastIndex = getListAdapter().getItemCount() - 1;
709
+ if (getSingleLineLayoutManager().childOnScreenScroller.type == TVRecyclerView.REQUEST_CHILD_ON_SCREEN_TYPE_CENTER) {
710
+ offset = (int) ((parentSize - itemHeight) * 0.5f);
711
+ }
712
+ if (mInitParams != null) {
713
+ offset += mInitParams.scrollOffset;
714
+ }
715
+
716
+ Log.i(TAG, "scrollToPositionBeforeSetListData parentSize:" + parentSize + ",itemHeight:" + itemHeight + ",offset:" + offset);
717
+ //设置的offset超过边界,跳转到最后一个Item上去
718
+ if (position >= lastIndex) {
719
+ position = lastIndex;
720
+ //不能划出内容高度
721
+ if (offset < 0) {
722
+ offset = 0;
723
+ }
724
+ }
725
+ if (position > -1) {
726
+ scrollToPosition(position, offset);
727
+ }
728
+ }
729
+
730
+ public void scrollToPositionWithScrollType(int position, int offset) {
731
+ Log.e("PendingFocus", "scrollToPositionWithScrollType position:" + position + ",offset:" + offset);
732
+ scrollToPosition(position, offset);
733
+ // dispatchLayout();
734
+ }
735
+
736
+
737
+ /**
738
+ * 设置选中的子view,注意此方法只在view已经显示出来以后调用才有效。
739
+ *
740
+ * @param position
741
+ */
742
+ public void setTargetChildPosition(int position) {
743
+ this.setSelectChildPosition(position, true);
744
+ }
745
+
746
+ /**
747
+ * 设置选中的子view,注意此方法只在view已经显示出来以后调用才有效。
748
+ *
749
+ * @param position
750
+ */
751
+ public void setSelectChildPosition(int position, boolean changeTargetFocusChild) {
752
+ Log.d(TAG, "setSelectChildPosition position:" + position + " ,changeTargetFocusChild:" + changeTargetFocusChild);
753
+ final View selectedChild = findSelectedChild();
754
+ if (selectedChild != null && selectedChild.isSelected()) {
755
+ selectedChild.setSelected(false);
756
+ }
757
+ if (changeTargetFocusChild) {
758
+ setTargetFocusChildPosition(position);
759
+ }
760
+ this.defaultSectionPosition = position;
761
+ if (!hasFocus() || !enableSelectOnFocus) {
762
+ final View next = findViewByPosition(position);
763
+ changeSelectState(next, true);
764
+ }
765
+ }
766
+
767
+ private int layoutTriggerTargetPosition = -1;
768
+
769
+ public void setLayoutTriggerTargetPosition(int position) {
770
+ this.layoutTriggerTargetPosition = position;
771
+ }
772
+
773
+
774
+ public void setScrollOffset(int mScrollOffset) {
775
+ this.mScrollOffset = mScrollOffset;
776
+ if (singleLineLayoutManager != null) {
777
+ singleLineLayoutManager.childOnScreenScroller.setScrollOffset(mScrollOffset);
778
+ }
779
+ }
780
+
781
+
782
+ @Override
783
+ protected LinearLayoutManager onCreateLayoutManager(Context context, int orientation, boolean reverseLayout) {
784
+ singleLineLayoutManager = new SingleLineLayoutManager(this, orientation);
785
+ singleLineLayoutManager.setFocusEventListener(mFocusListener);
786
+ //onAddDefaultItemDecoration();
787
+ return singleLineLayoutManager;
788
+ }
789
+
790
+
791
+ protected boolean isSelectedChildValid(View child) {
792
+ boolean b = child != null;
793
+ if (b) {
794
+ b &= child.getVisibility() == View.VISIBLE;
795
+ if (DEBUG) {
796
+ Log.d(TAG, "isSelectedChildValid Visibility():" + b);
797
+ }
798
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
799
+ b &= child.isAttachedToWindow();
800
+ if (DEBUG) {
801
+ Log.d(TAG, "isSelectedChildValid isAttachedToWindow:" + b);
802
+ }
803
+ }
804
+ b &= TVViewUtil.isViewDescendantOf(child, this);
805
+ if (DEBUG) {
806
+ Log.d(TAG, "isSelectedChildValid isViewDescendantOf:" + b);
807
+ }
808
+ final int visibility = child.getWindowVisibility();
809
+ if (DEBUG) {
810
+ Log.d(TAG, "isSelectedChildValid child visibility:" + visibility);
811
+ }
812
+ }
813
+ return b;
814
+ }
815
+
816
+ protected void onAddDefaultItemDecoration() {
817
+ addItemDecoration(new ItemDecorations.ListEndBlank(orientation));
818
+ }
819
+
820
+ public SingleLineLayoutManager getSingleLineLayoutManager() {
821
+ return singleLineLayoutManager;
822
+ }
823
+
824
+
825
+ private ArrayList mTempList;
826
+
827
+ @Override
828
+ public void addFocusables(ArrayList<View> views, int direction, int focusableMode) {
829
+ LogUtils.d(FocusDispatchView.TAG, "addFocusables start inTVRecyclerView " + ",childCount:" + getChildCount());
830
+ if (mFocusSearchTargets != null) {
831
+ for (View v : mFocusSearchTargets) {
832
+ v.addFocusables(views, direction, focusableMode);
833
+ }
834
+ if (LogUtils.isDebug()) {
835
+ LogUtils.d("SingleLineRecyclerView", "addFocusables In Target:" + mFocusSearchTargets + " views size:" + views.size());
836
+ }
837
+ return;
838
+ }
839
+
840
+ if (!hasFocus() && enableFocusMemory) {
841
+
842
+ View target = null;
843
+ if (mTargetFocusChildPosition > -1) {
844
+ target = getSingleLineLayoutManager().findViewByPosition(mTargetFocusChildPosition);
845
+ }
846
+ if (!isSelectedChildValid(target)) {
847
+ target = null;
848
+ }
849
+ if (target != null) {
850
+ //没有View被选中
851
+ target.addFocusables(views, direction, focusableMode);
852
+ if (LogUtils.isDebug()) {
853
+ Log.d("SingleLineRecyclerView", "addFocusables on mTargetFocusChildPosition:" + mTargetFocusChildPosition);
854
+ }
855
+ return;
856
+ }
857
+
858
+ View mSelectedChild = findSelectedChild();
859
+
860
+ if (!isSelectedChildValid(findSelectedChild())) {
861
+ mSelectedChild = null;
862
+ }
863
+ final int childCount = getChildCount();
864
+ if (childCount > 0) {
865
+ if (mSelectedChild == null) {
866
+ //没有View被选中
867
+ final View v = getChildAt(0);
868
+ if (v != null && v.getVisibility() == View.VISIBLE) {
869
+ if (LogUtils.isDebug()) {
870
+ Log.d("SingleLineRecyclerView", "没有过焦点的列表,焦点给第一个view:" + v);
871
+ }
872
+ if (mTempList == null) {
873
+ mTempList = new ArrayList();
874
+ } else {
875
+ mTempList.clear();
876
+ }
877
+ v.addFocusables(mTempList, direction, focusableMode);
878
+ if (mTempList.size() > 0) {
879
+ views.addAll(mTempList);
880
+ } else {
881
+ if (LogUtils.isDebug()) {
882
+ Log.e(TAG, "RecyclerView add addFocusables empty,call super.addFocusables(), first child:" + v);
883
+ }
884
+ super.addFocusables(views, direction, focusableMode);
885
+ }
886
+ mTempList.clear();
887
+ } else {
888
+ super.addFocusables(views, direction, focusableMode);
889
+ }
890
+ } else {
891
+ if (LogUtils.isDebug()) {
892
+ Log.d("SingleLineRecyclerView", "有过焦点的列表,焦点给曾经有过焦点的View:mLastFocusedChild:");
893
+ }
894
+ mSelectedChild.addFocusables(views, direction, focusableMode);
895
+ }
896
+ }
897
+ } else {
898
+ super.addFocusables(views, direction, focusableMode);
899
+ if (LogUtils.isDebug()) {
900
+ LogUtils.d("SingleLineRecyclerView", "addFocusables by super views size:" + views.size());
901
+ }
902
+ }
903
+ if (LogUtils.isDebug()) {
904
+ LogUtils.d(FocusDispatchView.TAG, "addFocusables end inTVRecyclerView " + ",resultCount:" + views.size());
905
+ }
906
+ }
907
+
908
+
909
+ @Override
910
+ protected void onDetachedFromWindow() {
911
+ if (LogUtils.isDebug()) {
912
+ Log.d("SingleLineRecyclerView", "onDetachedFromWindow");
913
+ }
914
+ super.onDetachedFromWindow();
915
+ stopListenGlobalFocusChange();
916
+
917
+ }
918
+
919
+
920
+ public void setFocusEventListener(FocusEventListener mFocusListener) {
921
+ this.mFocusListener = mFocusListener;
922
+ if (singleLineLayoutManager != null) {
923
+ singleLineLayoutManager.setFocusEventListener(mFocusListener);
924
+ }
925
+
926
+
927
+ }
928
+
929
+
930
+ @Override
931
+ protected void dispatchDraw(Canvas canvas) {
932
+ if (singleLineLayoutManager.isInReFocus()) {
933
+ // Log.e("zhaopeng","dispatchDraw inReFocus return!!");
934
+ return;
935
+ }
936
+ super.dispatchDraw(canvas);
937
+ }
938
+
939
+ @Override
940
+ public void draw(Canvas c) {
941
+ if (singleLineLayoutManager.isInReFocus()) {
942
+ // Log.e("zhaopeng","draw inReFocus return!!");
943
+ return;
944
+ }
945
+ super.draw(c);
946
+ }
947
+
948
+ void requestFocusSearchInChild(View[] targets, View focused, int direction) {
949
+ mFocusSearchTargets = targets;
950
+ }
951
+
952
+ void removeSearchInChildRequest() {
953
+ this.mFocusSearchTargets = null;
954
+ }
955
+
956
+ View searchInTargets(View[] targets, View focused, int direction) {
957
+ requestFocusSearchInChild(targets, focused, direction);
958
+ View result = null;
959
+ try {
960
+ //这里需要从瀑布流内部寻找,不能只在组件内寻找,否则焦点只能在第一个位置出现
961
+ result = FocusFinder.getInstance().findNextFocus(this, focused, direction);
962
+ } catch (Throwable t) {
963
+ result = null;
964
+ }
965
+ removeSearchInChildRequest();
966
+ return result;
967
+ }
968
+
969
+ @Override
970
+ public View focusSearch(View focused, int direction) {
971
+ View v = super.focusSearch(focused, direction);
972
+ // if (v != null) {
973
+ // currentFocusView = v;
974
+ // }
975
+ //wanglei add : ul添加焦点抖动
976
+ if ((focused == v || v == null) && listShakeSelf) {
977
+ singleLineLayoutManager.shakeSelf(focused, direction);
978
+ }
979
+ //修改触底回弹为焦点抖动
980
+ singleLineLayoutManager.shakeEndIfNeed(focused, v, direction);
981
+ return v;
982
+ }
983
+
984
+ @Override
985
+ public boolean dispatchKeyEvent(KeyEvent event) {
986
+ return super.dispatchKeyEvent(event);
987
+ }
988
+
989
+ public static class FocusEventListener {
990
+
991
+ public View onFocusSearchFailedAtEnd(@NonNull View focused, int direction) {
992
+ return focused;
993
+ }
994
+
995
+ public View onInterceptFocusSearch(@NonNull View focused, int direction) {
996
+ return null;
997
+ }
998
+
999
+ public View onFocusSearchFailed(View focused, int focusDirection, Recycler recycler, State state) {
1000
+ return null;
1001
+ }
1002
+
1003
+ }
1004
+
1005
+ protected View onFocusSearchFailedAtEnd(@NonNull View focused, int direction) {
1006
+ return null;
1007
+ }
1008
+
1009
+
1010
+ @Override
1011
+ public void smoothScrollBy(int dx, int dy, boolean careSpringBackMaxDistance, boolean forceScroll) {
1012
+ super.smoothScrollBy(dx, dy, careSpringBackMaxDistance, forceScroll);
1013
+ if(LogUtils.isDebug()) {
1014
+ Log.i(AutoFocusManager.TAG, " ul smoothScrollBy dx:" + dx + ",dy:" + dy + ",hasFocus:" + hasFocus() + ",initFocusPositionAfterLayout" + initFocusPositionAfterLayout);
1015
+ }
1016
+
1017
+ }
1018
+
1019
+ private class CenterSmoothScroller extends LinearSmoothScroller {
1020
+
1021
+ public CenterSmoothScroller(Context context) {
1022
+ super(context);
1023
+ }
1024
+
1025
+ @Override
1026
+ public PointF computeScrollVectorForPosition(int targetPosition) {
1027
+ return getSingleLineLayoutManager().computeScrollVectorForPosition(targetPosition);
1028
+ }
1029
+
1030
+ @Override
1031
+ public int calculateDtToFit(int viewStart, int viewEnd, int boxStart, int boxEnd, int snapPreference) {
1032
+ return super.calculateDtToFit(viewStart, viewEnd, boxStart, boxEnd, snapPreference);
1033
+ }
1034
+ }
1035
+
1036
+ int shakePreCheckNumber = 2;
1037
+
1038
+ public void setShakePreCheckNumber(int shakePreCheckNumber) {
1039
+ this.shakePreCheckNumber = shakePreCheckNumber;
1040
+ }
1041
+
1042
+
1043
+ public static class SingleLineLayoutManager extends LinearLayoutManager {
1044
+
1045
+ private final int orientation;
1046
+
1047
+ final ChildOnScreenScroller.Default childOnScreenScroller;
1048
+ private FocusEventListener mFocusListener;
1049
+ private final TVRecyclerView mRecyclerView;
1050
+ private int mCurrentDirection = -1;
1051
+ private ReFocus mReFocus;
1052
+
1053
+ @Override
1054
+ public boolean requestChildRectangleOnScreen(RecyclerViewBase parent, View child, Rect rect, boolean immediate) {
1055
+ final ChildOnScreenScroller scroller = mRecyclerView.mCustomChildOnScreenScroller != null ? mRecyclerView.mCustomChildOnScreenScroller : childOnScreenScroller;
1056
+ if (scroller != null && scroller.requestChildRectangleOnScreen(parent, child, rect, immediate, mCurrentDirection)) {
1057
+ return true;
1058
+ }
1059
+ return super.requestChildRectangleOnScreen(parent, child, rect, immediate);
1060
+ }
1061
+
1062
+
1063
+ @Override
1064
+ public void smoothScrollToPosition(RecyclerViewBase recyclerView, State state, int position) {
1065
+
1066
+
1067
+ final ChildOnScreenScroller scroller = mRecyclerView.mCustomChildOnScreenScroller != null ? mRecyclerView.mCustomChildOnScreenScroller : childOnScreenScroller;
1068
+ if (scroller != null && scroller.smoothScrollToPosition(recyclerView, state, position)) {
1069
+ } else {
1070
+ super.smoothScrollToPosition(recyclerView, state, position);
1071
+ }
1072
+ }
1073
+
1074
+
1075
+ public SingleLineLayoutManager(final TVRecyclerView mRecyclerView, int orientation) {
1076
+ super(mRecyclerView.getContext(), orientation, false);
1077
+ this.mRecyclerView = mRecyclerView;
1078
+ childOnScreenScroller = new ChildOnScreenScroller.Default(orientation);
1079
+ childOnScreenScroller.setScrollOffset(mRecyclerView.mScrollOffset);
1080
+ this.orientation = orientation;
1081
+ }
1082
+
1083
+ boolean isInReFocus() {
1084
+ // return mReFocus != null && mReFocus.inReFocus;
1085
+ return false;
1086
+ }
1087
+
1088
+ public void setFocusEventListener(FocusEventListener mFocusListener) {
1089
+ this.mFocusListener = mFocusListener;
1090
+ }
1091
+
1092
+
1093
+ @Override
1094
+ public void onAdapterChanged(@Nullable Adapter oldAdapter, @Nullable Adapter newAdapter) {
1095
+ super.onAdapterChanged(oldAdapter, newAdapter);
1096
+ mRecyclerView.defaultSectionPosition = -1;
1097
+ mRecyclerView.resetScrollY();
1098
+ }
1099
+
1100
+
1101
+ @Override
1102
+ public void scrollToPosition(int position) {
1103
+ super.scrollToPosition(position);
1104
+ }
1105
+
1106
+
1107
+ @Override
1108
+ public boolean onRequestChildFocus(RecyclerViewBase parent, View child, View focused) {
1109
+ return super.onRequestChildFocus(parent, child, focused);
1110
+ }
1111
+
1112
+
1113
+ private HippyViewEvent mFocusSearchFailEvent;
1114
+
1115
+ private HippyViewEvent getFocusSearchFailEvent() {
1116
+ if (mFocusSearchFailEvent == null) {
1117
+ mFocusSearchFailEvent = new HippyViewEvent(InternalExtendViewUtil.LIST_FOCUS_SEARCH_FAIL_EVENT_NAME);
1118
+ }
1119
+ return mFocusSearchFailEvent;
1120
+ }
1121
+
1122
+ private void eatReFocus() {
1123
+ mReFocus = null;
1124
+ }
1125
+
1126
+ @Override
1127
+ public void handleFocusBeforeLayout(Recycler recycler, State state, boolean dataChanged) {
1128
+ if (LogUtils.isDebug()) {
1129
+ LogUtils.d("ReFocus", "+++handleFocusBeforeLayout state:" + state + " ,hasFocus:" + hasFocus() + ",dataChanged: " + dataChanged + ",id:" + mRecyclerView.getId());
1130
+ }
1131
+ boolean forPendingWork = mRecyclerView.mInitParams != null && mRecyclerView.mInitParams.targetFocusPosition > -1;
1132
+ if (forPendingWork) {
1133
+ if (LogUtils.isDebug()) {
1134
+ LogUtils.d("ReFocus", "+++handleFocusBeforeLayout forPendingWork ignore ReFocus");
1135
+ }
1136
+ return;
1137
+ }
1138
+ if (dataChanged) {
1139
+ //zhaopeng 如果数据没有改变而记住焦点,会造成scrollToIndex时无法回收导致的绘制残留
1140
+ if (mRecyclerView.initFocusPositionAfterLayout > -1) {
1141
+ if (LogUtils.isDebug()) {
1142
+ LogUtils.d("ReFocus", "handleFocusBeforeLayout initFocusPositionAfterLayout:" + mRecyclerView.initFocusPositionAfterLayout);
1143
+ }
1144
+ mReFocus = new ReFocus(mRecyclerView.initFocusPositionAfterLayout, null, null);
1145
+ mRecyclerView.initFocusPositionAfterLayout = -1;
1146
+ } else {
1147
+ final View child = mRecyclerView.getFocusedChild();
1148
+ if (hasFocus() && child != null) {
1149
+ final View focused = child.findFocus();
1150
+ final int oldPos = getPosition(mRecyclerView.getFocusedChild());
1151
+ InternalExtendViewUtil.blockRootFocus(mRecyclerView);
1152
+ mReFocus = new ReFocus(oldPos, focused, child);
1153
+ if (LogUtils.isDebug()) {
1154
+ LogUtils.d("ReFocus", "+++handleFocusBeforeLayout mReFocus:" + mReFocus);
1155
+ }
1156
+ } else {
1157
+ mReFocus = null;
1158
+ }
1159
+ }
1160
+ }
1161
+ if (LogUtils.isDebug()) {
1162
+ Log.d(FocusDispatchView.TAG, "+++++handleFocusBeforeLayout mReFocus:" + mReFocus);
1163
+ }
1164
+ }
1165
+
1166
+ boolean requestTargetChildFocus(int position, String name) {
1167
+ final View targetChild = findViewByPosition(position);
1168
+ boolean b = false;
1169
+ final int itemCount = getItemCount();
1170
+ final int lastVisible = findLastVisibleItemPosition();
1171
+ if (name == null) {
1172
+ if (targetChild instanceof RecyclerViewItem && targetChild.getVisibility() == View.VISIBLE) {
1173
+ ((RecyclerViewItem) targetChild).requestContentFocus();
1174
+ b = true;
1175
+ if (LogUtils.isDebug()) {
1176
+ Log.e("PendingFocus", "requestTargetChildFocus targetChild:" + targetChild + ",pos:" + position + ",itemCount:" + itemCount + ",lastVisible:" + lastVisible + ",id:" + mRecyclerView.getId());
1177
+ }
1178
+ } else if (targetChild != null && targetChild.getVisibility() == View.VISIBLE) {
1179
+ if (LogUtils.isDebug()) {
1180
+ Log.e("PendingFocus", "requestTargetChildFocus targetChild:" + targetChild + ",pos:" + position + ",itemCount:" + itemCount + ",lastVisible:" + lastVisible + ",id:" + mRecyclerView.getId());
1181
+ }
1182
+ targetChild.requestFocus();
1183
+ b = true;
1184
+ }
1185
+ } else {
1186
+ View view = ControllerManager.findViewByName(mRecyclerView, name);
1187
+ if (view != null && view.getVisibility() == View.VISIBLE) {
1188
+ view.requestFocus();
1189
+ b = true;
1190
+ } else {
1191
+ if (LogUtils.isDebug()) {
1192
+ Log.e("PendingFocus", "requestTargetChildFocus error: targetView is null");
1193
+ }
1194
+ }
1195
+ }
1196
+ return b;
1197
+ }
1198
+
1199
+ View findTargetChildFocus(int position, String name) {
1200
+ final View targetChild = findViewByPosition(position);
1201
+
1202
+ View result;
1203
+ if (name == null) {
1204
+ if (targetChild instanceof RecyclerViewItem) {
1205
+ result = ((RecyclerViewItem) targetChild).getContentView();
1206
+ } else {
1207
+ if (LogUtils.isDebug()) {
1208
+ Log.e("PendingFocus", "requestTargetChildFocus targetChild:" + targetChild);
1209
+ }
1210
+ result = targetChild;
1211
+ }
1212
+ } else {
1213
+ result = ControllerManager.findViewByName(mRecyclerView, name);
1214
+ }
1215
+ return result;
1216
+ }
1217
+
1218
+
1219
+ void consumePendingWork() {
1220
+ final InitParams pf = mRecyclerView.mInitParams;
1221
+ final View targetChild = findViewByPosition(pf.targetFocusPosition);
1222
+ if (targetChild != null) {
1223
+ if (LogUtils.isDebug()) {
1224
+ LogUtils.d("PendingFocus", "handleFocusAfterLayout targetChild:" + targetChild + ",PendingFocus:" + pf);
1225
+ }
1226
+ //child 已经显示出来
1227
+ if (pf.blockOthers) {
1228
+ if (LogUtils.isDebug()) {
1229
+ Log.e("PendingFocus", "handleFocusAfterLayout PendingFocus unBlockRootFocus");
1230
+ }
1231
+ if (LogUtils.isDebug()) {
1232
+ LogUtils.e(FocusDispatchView.TAG, "unBlockRootFocus 3");
1233
+ }
1234
+ InternalExtendViewUtil.unBlockRootFocus(mRecyclerView);
1235
+ }
1236
+ boolean b;
1237
+ callNotifyInReFocus(targetChild, true);
1238
+ if (pf.delay > 0) {
1239
+ mRecyclerView.getRootView().postDelayed(new Runnable() {
1240
+ @Override
1241
+ public void run() {
1242
+ final boolean requested = requestTargetChildFocus(pf.targetFocusPosition, null);
1243
+ if (requested) {
1244
+ mRecyclerView.clearInitFocusPosition();
1245
+ if (LogUtils.isDebug()) {
1246
+ Log.e("PendingFocus", "handleFocusAfterLayout PendingFocus one-shot clear");
1247
+ }
1248
+ }
1249
+ callNotifyInReFocus(targetChild, false);
1250
+ }
1251
+ }, pf.delay);
1252
+ } else {
1253
+ b = requestTargetChildFocus(pf.targetFocusPosition, pf.targetName);
1254
+ callNotifyInReFocus(targetChild, false);
1255
+
1256
+ if (b) {
1257
+ mRecyclerView.clearInitFocusPosition();
1258
+ if (LogUtils.isDebug()) {
1259
+ Log.e("PendingFocus", "handleFocusAfterLayout PendingFocus one-shot clear");
1260
+ }
1261
+ }
1262
+ }
1263
+
1264
+ }
1265
+ }
1266
+
1267
+ @Override
1268
+ public void handleFocusAfterLayout(Recycler recycler, State state, boolean dataChanged) {
1269
+ if (LogUtils.isDebug()) {
1270
+ LogUtils.d("ReFocus", "---handleFocusAfterLayout state:" + state + " ,hasFocus:" + hasFocus() + ",dataChanged:" + dataChanged + "mReFocus:" + mReFocus + ",id:" + mRecyclerView.getId());
1271
+ }
1272
+ if (LogUtils.isDebug()) {
1273
+ Log.e(FocusDispatchView.TAG, "-----handleFocusAfterLayout mReFocus:" + mReFocus);
1274
+ }
1275
+ doReFocus(dataChanged);
1276
+ }
1277
+
1278
+ void doReFocus(boolean dataChanged) {
1279
+ if (mRecyclerView.mInitParams != null && mRecyclerView.mInitParams.targetFocusPosition > -1) {
1280
+ consumePendingWork();
1281
+ } else {
1282
+ if (mReFocus != null && mReFocus.valid && !isInReFocus() && dataChanged) {
1283
+ //1. 尝试找到上次
1284
+ mReFocus.inReFocus = true;
1285
+
1286
+ final int oldPos = mReFocus.oldPosition;
1287
+
1288
+ final View f = findViewByPosition(oldPos);
1289
+ if (f != null && !f.isFocused()) {
1290
+
1291
+
1292
+ final View oldFocused = mReFocus.oldFocus;
1293
+ View target = f;
1294
+
1295
+ if (f instanceof ViewGroup) {
1296
+ if (TVViewUtil.isViewDescendantOf(oldFocused, (ViewGroup) f) && oldFocused != f) {
1297
+ if (LogUtils.isDebug()) {
1298
+ LogUtils.d("ReFocus", "focus isViewDescendantOf child true");
1299
+ }
1300
+ target = oldFocused;
1301
+ }
1302
+ }
1303
+ InternalExtendViewUtil.unBlockRootFocus(mRecyclerView);
1304
+ if (target != null) {
1305
+ if (LogUtils.isDebug()) {
1306
+ LogUtils.e(FocusDispatchView.TAG, "unBlockRootFocus 4");
1307
+ }
1308
+ callNotifyInReFocus(f, true);
1309
+ target.requestFocus();
1310
+ callNotifyInReFocus(f, false);
1311
+ } else {
1312
+ if (LogUtils.isDebug()) {
1313
+ LogUtils.e(FocusDispatchView.TAG, "postReFocus 4");
1314
+ }
1315
+ // postReFocus();
1316
+ }
1317
+ if (LogUtils.isDebug()) {
1318
+ LogUtils.d("ReFocus", "---handleFocusAfterLayout exeRequestFocus oldFocusPos:" + oldPos + " target:" + target);
1319
+ LogUtils.d("PendingFocus", "---handleFocusAfterLayout exeRequestFocus oldFocusPos:" + oldPos + " target:" + target);
1320
+ }
1321
+ } else {
1322
+ if (LogUtils.isDebug()) {
1323
+ LogUtils.d("ReFocus", "cant find oldFocus unBlockFocus");
1324
+ LogUtils.e(FocusDispatchView.TAG, "unBlockRootFocus 5 ");
1325
+ }
1326
+ if (mReFocus != null && mReFocus.valid) {
1327
+ if (LogUtils.isDebug()) {
1328
+ Log.d(FocusDispatchView.TAG, "postReFocus 5," + mReFocus);
1329
+ }
1330
+ // postReFocus();
1331
+ InternalExtendViewUtil.unBlockRootFocus(mRecyclerView);
1332
+ } else {
1333
+ InternalExtendViewUtil.unBlockRootFocus(mRecyclerView);
1334
+ }
1335
+
1336
+ }
1337
+ }
1338
+ eatReFocus();
1339
+ }
1340
+ }
1341
+
1342
+ Runnable reFocusTask;
1343
+
1344
+ void postReFocus() {
1345
+
1346
+ if (mRecyclerView != null) {
1347
+ mRecyclerView.removeCallbacks(reFocusTask);
1348
+ }
1349
+ reFocusTask = new Runnable() {
1350
+ @Override
1351
+ public void run() {
1352
+ if (LogUtils.isDebug()) {
1353
+ Log.e(FocusDispatchView.TAG, "exe doReFocus on postReFocus !!! Refoucs:" + mReFocus);
1354
+ }
1355
+ doReFocus(true);
1356
+ eatReFocus();
1357
+ }
1358
+ };
1359
+ mRecyclerView.postDelayed(reFocusTask, 100);
1360
+ }
1361
+
1362
+ void callNotifyInReFocus(View child, boolean inFocus) {
1363
+ if (child instanceof ITVView) {
1364
+ ((ITVView) child).notifyInReFocus(inFocus);
1365
+ } else if (child instanceof RecyclerViewItem) {
1366
+ ((RecyclerViewItem) child).notifyInReFocus(inFocus);
1367
+ }
1368
+ }
1369
+
1370
+ private int getVectorByDirection(int direction) {
1371
+ int vector = 0;
1372
+ boolean vertical = orientation == RecyclerViewBase.VERTICAL;
1373
+ if (vertical) {
1374
+ if (direction == FOCUS_UP) {
1375
+ vector = -1;
1376
+ } else if (direction == FOCUS_DOWN) {
1377
+ vector = 1;
1378
+ }
1379
+ } else {
1380
+ if (direction == FOCUS_LEFT) {
1381
+ vector = -1;
1382
+ } else if (direction == FOCUS_RIGHT) {
1383
+ vector = 1;
1384
+ }
1385
+ }
1386
+ return vector;
1387
+ }
1388
+
1389
+ // @Nullable
1390
+ @Override
1391
+ public View onInterceptFocusSearch(@NonNull View focused, int direction) {
1392
+ mCurrentDirection = direction;
1393
+ if (InternalExtendViewUtil.isContainBlockDirection(direction, mRecyclerView.mBlockFocus)) {
1394
+ LogUtils.e(FocusDispatchView.TAG, "onInterceptFocusSearch ul: containBlockDirection is true return focused ,direction:" + direction);
1395
+ return focused;
1396
+ }
1397
+ if (!mRecyclerView.useAdvancedFocusSearch) {
1398
+ return super.onInterceptFocusSearch(focused, direction);
1399
+ }
1400
+ View result = null;
1401
+ if (mFocusListener != null) {
1402
+ result = mFocusListener.onInterceptFocusSearch(focused, direction);
1403
+ }
1404
+ if (result == null) {
1405
+ int vector = getVectorByDirection(direction);
1406
+ final int focusPosition = mRecyclerView.mFocusChildPosition;
1407
+
1408
+ if (result == null && vector != 0) {
1409
+ int targetPosition = focusPosition + vector;
1410
+ final int itemCount = getItemCount();
1411
+ if (focusPosition > -1 && focusPosition < itemCount - 1) {
1412
+ View current = findViewByPosition(focusPosition);
1413
+ View next = findViewByPosition(targetPosition);
1414
+ if (current != null) {
1415
+ View[] targets = new View[next == null ? 1 : 2];
1416
+ targets[0] = current;
1417
+ if (next != null) {
1418
+ targets[1] = next;
1419
+ }
1420
+ result = mRecyclerView.searchInTargets(targets, focused, direction);
1421
+ LogUtils.d(FocusDispatchView.TAG, "onInterceptFocusSearch result:" + result);
1422
+
1423
+ }
1424
+ }
1425
+ }
1426
+ }
1427
+ return result;
1428
+ }
1429
+
1430
+ @Override
1431
+ protected View findNextFocusAfterFill(View focused, int focusDirection, Recycler recycler, State state) {
1432
+ int vector = getVectorByDirection(focusDirection);
1433
+ final int focusPosition = mRecyclerView.mFocusChildPosition;
1434
+
1435
+ View result = null;
1436
+ if (vector != 0) {
1437
+ int targetPosition = focusPosition + vector;
1438
+ final int itemCount = getItemCount();
1439
+ if (focusPosition > -1 && focusPosition < itemCount - 1) {
1440
+ View current = findViewByPosition(focusPosition);
1441
+ View next = findViewByPosition(targetPosition);
1442
+ if (current != null) {
1443
+ View[] targets = new View[next == null ? 1 : 2];
1444
+ targets[0] = current;
1445
+ if (next != null) {
1446
+ targets[1] = next;
1447
+ }
1448
+ result = mRecyclerView.searchInTargets(targets, focused, focusDirection);
1449
+ LogUtils.d(TAG, "findNextFocusAfterFill result:" + result);
1450
+ }
1451
+ }
1452
+ }
1453
+ if (result == null) {
1454
+ LogUtils.e(TAG, "findNextFocusAfterFill return null");
1455
+ return super.findNextFocusAfterFill(focused, focusDirection, recycler, state);
1456
+ } else {
1457
+ return result;
1458
+ }
1459
+ }
1460
+
1461
+ @Override
1462
+ public View onFocusSearchFailed(View focused, int focusDirection, Recycler recycler, State state) {
1463
+ final View resultFromParent = super.onFocusSearchFailed(focused, focusDirection, recycler, state);
1464
+
1465
+ if(mRecyclerView.mListenFocusSearchOnFail && resultFromParent == null){
1466
+ InternalExtendViewUtil.sendEventOnListFocusSearchFailed(mRecyclerView,mRecyclerView.getFocusedChild(),focused,focusDirection,getFocusSearchFailEvent());
1467
+ if(LogUtils.isDebug()) {
1468
+ LogUtils.e(FocusDispatchView.TAG, "ul: mListenFocusSearchOnFail == true , return focused direction:" + focusDirection);
1469
+ }
1470
+ return focused;
1471
+ }
1472
+ if(InternalExtendViewUtil.isContainBlockDirection(focusDirection,mRecyclerView.mBlockFocusOnFail)){
1473
+ if(resultFromParent == null || mRecyclerView.forceBlockFocusOnFail) {
1474
+ if(LogUtils.isDebug()) {
1475
+ LogUtils.e(FocusDispatchView.TAG, "ul: containBlockDirection is true return focused ,direction:" + focusDirection);
1476
+ }
1477
+ return focused;
1478
+ }else{
1479
+ if(LogUtils.isDebug()) {
1480
+ LogUtils.d(FocusDispatchView.TAG, "ul: containBlockDirection is true resultFromParent !null ,direction:" + focusDirection);
1481
+ }
1482
+ return resultFromParent;
1483
+ }
1484
+ }
1485
+ if(mFocusListener != null && resultFromParent == null){
1486
+ final View v = mFocusListener.onFocusSearchFailed(focused,focusDirection,recycler,state);
1487
+ if(v != null){
1488
+ return v;
1489
+ }
1490
+ }
1491
+ if(LogUtils.isDebug()) {
1492
+ LogUtils.d("SingleList", "onFocusSearchFailed return super result:" + resultFromParent);
1493
+ }
1494
+ return resultFromParent;
1495
+
1496
+ }
1497
+
1498
+ void shakeEndIfNeed(View focused, View result, int focusDirection) {
1499
+ if (mRecyclerView.mShakeEndEnable) {
1500
+ final View focusedChild = mRecyclerView.getFocusedChild();
1501
+ boolean isDirectionRight;
1502
+ if (orientation == HORIZONTAL) {
1503
+ isDirectionRight = focusDirection == FOCUS_RIGHT;
1504
+ } else {
1505
+ isDirectionRight = focusDirection == FOCUS_DOWN;
1506
+ }
1507
+ if (focusedChild != null && isDirectionRight) {
1508
+ final int pos = getPosition(focusedChild);
1509
+ final int itemCount = getItemCount();
1510
+ final boolean shake = pos > itemCount - mRecyclerView.shakePreCheckNumber && (focused == result || result == null);
1511
+ if (LogUtils.isDebug()) {
1512
+ LogUtils.d(TAG, "shakeEndIfNeed pos:" + pos + " ,itemCount:" + itemCount + " focused == result:" + (focused == result) + ",result:" + result);
1513
+ }
1514
+ if (shake) {
1515
+ // mRecyclerView.exeShakeRecycleView();
1516
+ mRecyclerView.exeShakeSelf(focused, focusDirection);
1517
+ }
1518
+ }
1519
+ }
1520
+ }
1521
+
1522
+ private boolean animRunning = false;
1523
+
1524
+ private void shakeSelf(View view, int direction) {
1525
+ if (!animRunning) {
1526
+ animRunning = true;
1527
+ ObjectAnimator shakeSelfAnim;//抖动幅度0到5
1528
+ if (direction == View.FOCUS_DOWN || direction == View.FOCUS_UP) {
1529
+ shakeSelfAnim = ObjectAnimator.ofFloat(view, View.TRANSLATION_Y.getName(), 0, 5f);
1530
+ } else {
1531
+ shakeSelfAnim = ObjectAnimator.ofFloat(view, View.TRANSLATION_X.getName(), 0, 5f);
1532
+ }
1533
+ shakeSelfAnim.setDuration(250);//持续时间
1534
+ shakeSelfAnim.setInterpolator(new CycleInterpolator(2));//抖动次数
1535
+ shakeSelfAnim.addListener(new AnimatorListenerAdapter() {
1536
+ @Override
1537
+ public void onAnimationCancel(Animator animation) {
1538
+ animRunning = false;
1539
+ }
1540
+
1541
+ @Override
1542
+ public void onAnimationEnd(Animator animation) {
1543
+ animRunning = false;
1544
+ }
1545
+ });
1546
+ shakeSelfAnim.start();//开始动画
1547
+ }
1548
+ }
1549
+
1550
+ @Override
1551
+ public void onLayoutChildren(Recycler recycler, State state) {
1552
+ super.onLayoutChildren(recycler, state);
1553
+ }
1554
+
1555
+ @Override
1556
+ public void layoutDecorated(View child, int left, int top, int right, int bottom) {
1557
+ super.layoutDecorated(child, left, top, right, bottom);
1558
+ final int pos = getPosition(child);
1559
+ if (LogUtils.isDebug()) {
1560
+ LogUtils.d(TAG, "layoutDecorated pos:" + pos + ",defaultSectionPosition:" + mRecyclerView.defaultSectionPosition);
1561
+ }
1562
+
1563
+
1564
+ if (mRecyclerView.defaultSectionPosition == pos && pos > -1) {
1565
+ mRecyclerView.changeSelectState(child, true);
1566
+ } else {
1567
+ mRecyclerView.changeSelectState(child, false);
1568
+ }
1569
+ if (mRecyclerView.layoutTriggerTargetPosition > -1) {
1570
+ if (mRecyclerView.layoutTriggerTargetPosition == pos) {
1571
+ TriggerTaskManagerModule.dispatchTriggerTask(mRecyclerView, "onTargetChildLayout");
1572
+ }
1573
+ }
1574
+
1575
+ if (LogUtils.isDebug()) {
1576
+ Log.d(FocusDispatchView.TAG, "layoutDecorated pos:" + pos + "view:" + child.getId() + ",parenID:" + mRecyclerView.getId());
1577
+ }
1578
+
1579
+ }
1580
+ }
1581
+
1582
+ private static final class ReFocus {
1583
+ final int oldPosition;
1584
+ final View oldFocus;
1585
+ final View oldChild;
1586
+ boolean valid = true;
1587
+ boolean inReFocus = false;
1588
+
1589
+ private ReFocus(int oldPosition, View oldFocus, View oldChild) {
1590
+ this.oldPosition = oldPosition;
1591
+ this.oldFocus = oldFocus;
1592
+ this.oldChild = oldChild;
1593
+ }
1594
+
1595
+ @Override
1596
+ public String toString() {
1597
+ return "ReFocus{" +
1598
+ "oldPosition=" + oldPosition +
1599
+ ", oldFocus=" + oldFocus +
1600
+ ", oldChild=" + oldChild +
1601
+ ", valid=" + valid +
1602
+ '}';
1603
+ }
1604
+ }
1605
+
1606
+ private static final class InitParams {
1607
+ int customFocusPosition;
1608
+ int targetFocusPosition;
1609
+ int scrollToPosition;
1610
+ int scrollOffset;
1611
+ String targetName;
1612
+ boolean valid = true;
1613
+ final boolean blockOthers;
1614
+ int delay;
1615
+
1616
+ private InitParams(int targetFocusPosition, int scrollToPosition, int scrollOffset, String targetName, boolean blockOthers, int delay) {
1617
+ this.targetFocusPosition = targetFocusPosition;
1618
+ this.customFocusPosition = targetFocusPosition;
1619
+ this.scrollToPosition = scrollToPosition;
1620
+ this.scrollOffset = scrollOffset;
1621
+ this.targetName = targetName;
1622
+ this.blockOthers = blockOthers;
1623
+ this.delay = delay;
1624
+ }
1625
+
1626
+ @Override
1627
+ public String toString() {
1628
+ return "PendingFocus{" +
1629
+ "targetPosition=" + targetFocusPosition +
1630
+ ",customFocusPosition=" + customFocusPosition +
1631
+ ",scrollToPosition=" + scrollToPosition +
1632
+ ",scrollOffset=" + scrollOffset +
1633
+ ", targetName='" + targetName + '\'' +
1634
+ ", valid=" + valid +
1635
+ ", blockOthers=" + blockOthers +
1636
+ ", delay=" + delay +
1637
+ '}';
1638
+ }
1639
+ }
1640
+
1641
+
1642
+ private void stopListenGlobalFocusChange() {
1643
+ if (mOnGlobalFocusChangeListener != null) {
1644
+ getViewTreeObserver().removeOnGlobalFocusChangeListener(mOnGlobalFocusChangeListener);
1645
+ }
1646
+ }
1647
+
1648
+ private void listenGlobalFocusChangeIfNeed() {
1649
+ stopListenGlobalFocusChange();
1650
+ if (forceListenGlobalFocusChange) {
1651
+ mOnGlobalFocusChangeListener = new ViewTreeObserver.OnGlobalFocusChangeListener() {
1652
+ @Override
1653
+ public void onGlobalFocusChanged(View oldFocus, View newFocus) {
1654
+ if (LogUtils.isDebug()) {
1655
+ Log.d(TAG, "onGlobalFocusChanged hasFocus : " + hasFocus() + " this :" + this);
1656
+ }
1657
+ if (hasFocus()) {
1658
+ if (oldFocus == null) {
1659
+ //首次获得焦点
1660
+ notifyRecyclerViewFocusChanged(true, false, null, newFocus, false);
1661
+ } else {
1662
+ //焦点在内部,但上一个view不属于内部
1663
+ final boolean isOldFocusDescendantOf = TVViewUtil.isViewDescendantOf(oldFocus, TVRecyclerView.this);
1664
+ if (!isOldFocusDescendantOf) {
1665
+ notifyRecyclerViewFocusChanged(true, false, oldFocus, newFocus, false);
1666
+ }
1667
+ }
1668
+ } else {
1669
+ final boolean isNewFocusDescendantOf = TVViewUtil.isViewDescendantOf(newFocus, TVRecyclerView.this);
1670
+ if (LogUtils.isDebug()) {
1671
+ Log.d(TAG, "onGlobalFocusChanged hasFocus : " + hasFocus() + " isNewFocusDescendantOf : " + isNewFocusDescendantOf);
1672
+ }
1673
+ if (!isNewFocusDescendantOf) {
1674
+ //焦点丢失
1675
+ final boolean isOldFocusDescendantOf = TVViewUtil.isViewDescendantOf(oldFocus, TVRecyclerView.this);
1676
+
1677
+ if (isOldFocusDescendantOf) {
1678
+ notifyRecyclerViewFocusChanged(false, true, oldFocus, newFocus, true);
1679
+ }
1680
+ }
1681
+ }
1682
+ }
1683
+ };
1684
+ getViewTreeObserver().addOnGlobalFocusChangeListener(mOnGlobalFocusChangeListener);
1685
+ }
1686
+ }
1687
+
1688
+ protected boolean forceListenGlobalFocusChange = true;
1689
+ private ViewTreeObserver.OnGlobalFocusChangeListener mOnGlobalFocusChangeListener;
1690
+
1691
+ boolean lastFocusState = false;
1692
+
1693
+ private void notifyRecyclerViewFocusChanged(boolean hasFocus, boolean isOldFocusDescendantOf, View oldFocus, View focused, boolean loseFocus) {
1694
+ //
1695
+ if (LogUtils.isDebug()) {
1696
+ Log.d(TAG, "notifyRecyclerViewFocusChanged lastFocusState != hasFocus:" + (lastFocusState != hasFocus) + " ,enableSelectOnFocus:" + enableSelectOnFocus + ",loseFocus:" + loseFocus + ",isOldFocusDescendantOf:" + isOldFocusDescendantOf);
1697
+ }
1698
+
1699
+ if (lastFocusState != hasFocus) {
1700
+ onRecyclerViewFocusChanged(hasFocus, focused);
1701
+ }
1702
+ if (lastFocusState != hasFocus && (enableSelectOnFocus || loseFocus)) {
1703
+ final View selectedChild = findSelectedChild();
1704
+ if (!hasFocus && isOldFocusDescendantOf) {
1705
+ if (selectedChild != null) {
1706
+ if (focused != selectedChild) {
1707
+ changeSelectState(selectedChild, true);
1708
+ }
1709
+ if (LogUtils.isDebug()) {
1710
+ LogUtils.v("hippyState", "+++setState true child:" + selectedChild);
1711
+ }
1712
+ callItemStateChangeIfNeed(selectedChild, StateListPresenter.STATE_SELECTED);
1713
+ }
1714
+ }
1715
+ lastFocusState = hasFocus;
1716
+ }
1717
+ }
1718
+
1719
+ protected void onRecyclerViewFocusChanged(boolean hasFocus, View focused) {
1720
+ //
1721
+ if (LogUtils.isDebug()) {
1722
+ Log.d(TAG, "onRecyclerViewFocusChanged hasFocus : " + hasFocus + " this :" + this);
1723
+ }
1724
+ if (LogUtils.isDebug()) {
1725
+ LogUtils.d(TAG, "onRecyclerViewFocusChanged context:" + getHippyContext());
1726
+ }
1727
+ if (getHippyContext() != null) {
1728
+ if (hasFocus) {
1729
+ TriggerTaskManagerModule.dispatchTriggerTask(this, "onFocusAcquired");
1730
+ } else {
1731
+ TriggerTaskManagerModule.dispatchTriggerTask(this, "onFocusLost");
1732
+ }
1733
+ }
1734
+ }
1735
+
1736
+
1737
+ /****edit by zhaopeng 20201117 TV端取消滚动*/
1738
+ @Override
1739
+ public void setOverScrollEnabled(boolean up, boolean down) {
1740
+ super.setOverScrollEnabled(false, false);
1741
+ }
1742
+
1743
+ @Override
1744
+ public void setOverScrollEnabled(boolean enable) {
1745
+ super.setOverScrollEnabled(false);
1746
+ }
1747
+
1748
+
1749
+ private RecycleViewFlinger mFlinger;
1750
+
1751
+ @Override
1752
+ public boolean dispatchKeyEventPreIme(KeyEvent event) {
1753
+ if (mFlinger == null) {
1754
+ mFlinger = new NegativeLongKeyFlinger(this);
1755
+ mFlinger.setVertical(this.orientation == BaseLayoutManager.VERTICAL);
1756
+ }
1757
+ //接收事件
1758
+ return mFlinger != null && mFlinger.dispatchKeyEventPreIme(event) || super.dispatchKeyEventPreIme(event);
1759
+ }
1760
+
1761
+ //zhaopeng add
1762
+ private boolean mEnableChildFocusEvent = false;
1763
+ private boolean mEnableScrollOffsetEvent = false;
1764
+
1765
+ public void setEnableScrollOffsetEvent(boolean mEnableScrollOffsetEvent) {
1766
+ this.mEnableScrollOffsetEvent = mEnableScrollOffsetEvent;
1767
+ }
1768
+
1769
+ private HippyViewEvent mChildFocusEvent;
1770
+
1771
+ @Override
1772
+ public void setDispatchChildFocusEvent(boolean enable) {
1773
+ //
1774
+ this.mEnableChildFocusEvent = enable;
1775
+ }
1776
+
1777
+ @Override
1778
+ public View getHostView() {
1779
+ return this;
1780
+ }
1781
+
1782
+
1783
+ @Override
1784
+ protected HippyMap generateScrollEvent() {
1785
+
1786
+ return super.generateScrollEvent();
1787
+ }
1788
+
1789
+ @Override
1790
+ protected void dispatchLayout() {
1791
+ super.dispatchLayout();
1792
+ handleScrollValue();
1793
+ }
1794
+
1795
+ @Override
1796
+ protected void handleFocusAfterLayout(Recycler recycler, State state, boolean dataChanged) {
1797
+ super.handleFocusAfterLayout(recycler, state, dataChanged);
1798
+ handleScrollValue();
1799
+ }
1800
+
1801
+ private void handleScrollValue() {
1802
+ handleScrollValue(false);
1803
+ }
1804
+
1805
+
1806
+ protected void onScrollYChange(int scrollY) {
1807
+ if (mEnableScrollOffsetEvent) {
1808
+ getOnScrollYOffsetChanged().send(this, generateScrollOffsetEvent(scrollY));
1809
+ }
1810
+ }
1811
+
1812
+ HippyViewEvent mOnScrollYChanged;
1813
+
1814
+ protected HippyViewEvent getOnScrollYOffsetChanged() {
1815
+ if (mOnScrollYChanged == null) {
1816
+ mOnScrollYChanged = new HippyViewEvent("onScrollOffset");
1817
+ }
1818
+ return mOnScrollYChanged;
1819
+ }
1820
+
1821
+ protected HippyMap generateScrollOffsetEvent(int offsetY) {
1822
+ HippyMap event = new HippyMap();
1823
+ event.pushDouble("y", offsetY);
1824
+ return event;
1825
+ }
1826
+
1827
+
1828
+ @Override
1829
+ public void onScrolled(int x, int y) {
1830
+ super.onScrolled(x, y);
1831
+ handleScrollValue();
1832
+ }
1833
+
1834
+ @Override
1835
+ protected void onSendScrollEvent() {
1836
+ super.onSendScrollEvent();
1837
+ onScrollYChange(mOffsetY);
1838
+ }
1839
+
1840
+ private int lastOffsetY = 0;
1841
+
1842
+ private void handleScrollValue(boolean force) {
1843
+ final int sy = mOffsetY;
1844
+ final int delta = sy - lastOffsetY;
1845
+ lastOffsetY = sy;
1846
+ int vector = 0;
1847
+ if (delta > 0) {
1848
+ vector = 1;
1849
+ }
1850
+ if (delta < 0) {
1851
+ vector = -1;
1852
+ }
1853
+ if (LogUtils.isDebug()) {
1854
+ LogUtils.d("ScrollLog", "handleScrollValue vector" + vector + ",force:" + force);
1855
+ }
1856
+ if (scrollYGreaterReferenceValue > -1 && vector > 0) {
1857
+ if (LogUtils.isDebug()) {
1858
+ LogUtils.v("ScrollLog", "scrollYGreaterCheckPoint:" + scrollYGreaterCheckPoint + ",offsetY:" + sy + ",scrollYGreaterReferenceValue:" + scrollYGreaterReferenceValue);
1859
+ }
1860
+ if (sy >= scrollYGreaterReferenceValue && (force || (scrollYGreaterCheckPoint <= scrollYGreaterReferenceValue))) {
1861
+ //第一次触发
1862
+ scrollYGreaterCheckPoint = sy;
1863
+ scrollYLesserCheckPoint = sy;
1864
+ if (LogUtils.isDebug()) {
1865
+ LogUtils.d("ScrollLog", "++++onScrollValueGreater sy:" + sy + ",force:" + force);
1866
+ }
1867
+ TriggerTaskManagerModule.dispatchTriggerTask(this, "onScrollYGreater");
1868
+ new HippyViewEvent("onScrollYGreaterReference").send(this, null);
1869
+ } else {
1870
+ if (LogUtils.isDebug()) {
1871
+ LogUtils.d("ScrollLog", "scrollYGreaterCheckPoint fail sy:" + sy + ",force:" + force + ",scrollYGreaterCheckPoint:" + scrollYGreaterCheckPoint);
1872
+ }
1873
+ }
1874
+ }
1875
+
1876
+ if (scrollYLesserReferenceValue > -1 && vector < 0) {
1877
+ if (LogUtils.isDebug()) {
1878
+ LogUtils.v("ScrollLog", "scrollYLesserCheckPoint:" + scrollYLesserCheckPoint + ",offsetY:" + sy + ",scrollYLesserReferenceValue:" + scrollYLesserReferenceValue);
1879
+ }
1880
+ if (sy <= scrollYLesserReferenceValue && (force || (scrollYLesserCheckPoint >= scrollYLesserReferenceValue))) {
1881
+ if (LogUtils.isDebug()) {
1882
+ LogUtils.d("ScrollLog", "---onScrollValueLesser sy:" + sy + ",force:" + force);
1883
+ }
1884
+ scrollYLesserCheckPoint = sy;
1885
+ scrollYGreaterCheckPoint = sy;
1886
+ TriggerTaskManagerModule.dispatchTriggerTask(this, "onScrollYLesser");
1887
+ new HippyViewEvent("onScrollYLesserReference").send(this, null);
1888
+ } else {
1889
+ if (LogUtils.isDebug()) {
1890
+ LogUtils.d("ScrollLog", "scrollYLesserCheckPoint fail sy:" + sy + ",force:" + force + ",scrollYLesserCheckPoint:" + scrollYLesserCheckPoint);
1891
+ }
1892
+ }
1893
+
1894
+ }
1895
+ }
1896
+
1897
+ public void setCheckScrollOffsetOnStateChanged(boolean b) {
1898
+ this.checkScrollOffsetOnStateChanged = b;
1899
+ }
1900
+
1901
+ private boolean checkScrollOffsetOnStateChanged = false;
1902
+
1903
+ @Override
1904
+ public void onScrollStateChanged(int oldState, int newState) {
1905
+ super.onScrollStateChanged(oldState, newState);
1906
+ if (checkScrollOffsetOnStateChanged && newState == SCROLL_STATE_IDLE) {
1907
+ LogUtils.d("ScrollLog", "onScrollState Changed handleScrollValue offsetY:" + mOffsetY + ",oldState:" + oldState);
1908
+ handleScrollValue(true);
1909
+ }
1910
+ }
1911
+
1912
+ void resetScrollY() {
1913
+ LogUtils.w("ScrollLog", "resetScrollY");
1914
+ scrollYGreaterCheckPoint = -1;
1915
+ scrollYLesserCheckPoint = -1;
1916
+ }
1917
+
1918
+
1919
+ private int scrollYGreaterCheckPoint = 0;
1920
+ private int scrollYLesserCheckPoint = 0;
1921
+
1922
+
1923
+ private int scrollYLesserReferenceValue = -1;
1924
+ private int scrollYGreaterReferenceValue = -1;
1925
+
1926
+ public void setScrollYLesserReferenceValue(int scrollYLesserReferenceValue) {
1927
+ this.scrollYLesserReferenceValue = scrollYLesserReferenceValue;
1928
+ }
1929
+
1930
+ public void setScrollYGreaterReferenceValue(int scrollYGreaterReferenceValue) {
1931
+ this.scrollYGreaterReferenceValue = scrollYGreaterReferenceValue;
1932
+ }
1933
+
1934
+ /**
1935
+ * zhaopeng add
1936
+ */
1937
+ private boolean isPageHidden = false;
1938
+
1939
+ protected void onPageHiddenChanged(boolean hidden) {
1940
+ this.isPageHidden = hidden;
1941
+ if (hidden) {
1942
+ stopListenGlobalFocusChange();
1943
+ } else {
1944
+ listenGlobalFocusChangeIfNeed();
1945
+ }
1946
+ }
1947
+
1948
+ @Override
1949
+ public boolean isPageHidden() {
1950
+ return isPageHidden;
1951
+ }
1952
+
1953
+ @Override
1954
+ public void changePageHidden(boolean hidden) {
1955
+ onPageHiddenChanged(hidden);
1956
+ for (int i = 0; i < getChildCount(); i++) {
1957
+ final View v = getChildAt(i);
1958
+ if (v instanceof ExtendViewGroup) {
1959
+ ((ExtendViewGroup) v).changePageHidden(hidden);
1960
+ }
1961
+ }
1962
+ }
1963
+
1964
+ @Override
1965
+ public void onRequestAutofocus(View child, View target, int type) {
1966
+ if(this.getVisibility() != View.VISIBLE){
1967
+ Log.e(AutoFocusManager.TAG,"onRequestAutofocus return on parent visibility != View.VISIBLE,"+ExtendUtil.debugView(this)+",target:"+ExtendUtil.debugView(target));
1968
+ return;
1969
+ }
1970
+ if (getParent() instanceof ExtendViewGroup) {
1971
+ ExtendViewGroup parent = (ExtendViewGroup) getParent();
1972
+ parent.onRequestAutofocus(this, target,type);
1973
+ } else {
1974
+ Log.i(AutoFocusManager.TAG, "onRequestAutofocus parent is not a instance of ExtendViewGroup parent: " + getParent());
1975
+ //AutoFocusManager.globalRequestFocus(target);
1976
+ final AutoFocusManager af = AutoFocusManager.findAutoFocusManagerFromRoot(this);
1977
+ if (af != null) {
1978
+ af.requestGlobalRequestFocus(this,target,type);
1979
+ }else{
1980
+ Log.e(AutoFocusManager.TAG, "onRequestAutofocus requestFocus on PageRoot af is null");
1981
+ }
1982
+ }
1983
+ }
1984
+
1985
+ private boolean skipRequestFocus = false;
1986
+
1987
+ @Override
1988
+ public void setSkipRequestFocus(boolean b) {
1989
+ this.skipRequestFocus = b;
1990
+ }
1991
+
1992
+ @Override
1993
+ public boolean requestFocus(int direction, Rect previouslyFocusedRect) {
1994
+ if(skipRequestFocus){
1995
+ Log.e(AutoFocusManager.TAG,"requestFocus return false on skipRequestFocus this:"+this);
1996
+ return false;
1997
+ }
1998
+ return super.requestFocus(direction, previouslyFocusedRect);
1999
+ }
2000
+
2001
+ private ListViewControlProp listViewControlProp;
2002
+
2003
+ @Override
2004
+ public ListViewControlProp getControlProps() {
2005
+ if (listViewControlProp == null) {
2006
+ listViewControlProp = new ListViewControlProp();
2007
+ }
2008
+ return listViewControlProp;
2009
+ }
2010
+
2011
+ public void setAutoscrollPosition(int position,boolean force,int offset){
2012
+ Log.i(AutoFocusManager.TAG, ">list setAutoscrollPosition :" + position+",focusChildPos:"+mFocusChildPosition);
2013
+ if(getControlProps().autoScrollToPosition != position || force){
2014
+ getControlProps().autoScrollToPosition = position;
2015
+ getControlProps().scrollOffset = offset;
2016
+ if(getControlProps().autofocusPosition == position && hasFocus()){
2017
+ Log.e(AutoFocusManager.TAG, ">list setAutoscrollPosition return on autofocusPosition == position :" + position);
2018
+ return;
2019
+ }
2020
+ if (getControlProps().autoScrollToPosition == -1) {
2021
+ return;
2022
+ }
2023
+ final int focusChildPos = mFocusChildPosition;
2024
+ if(focusChildPos == position && hasFocus()){
2025
+ Log.e(AutoFocusManager.TAG, ">list setAutoscrollPosition return on focusChildPos == position :" + position);
2026
+ return;
2027
+ }
2028
+ // HippyMap hippyMap = new HippyMap();setAutoscrollPosition
2029
+ // hippyMap.pushInt("scrollToPosition",position);
2030
+ // hippyMap.pushBoolean("alignCenter",true);
2031
+ // setInitPositionInfo(hippyMap);
2032
+ if(!hasFocus() || getChildCount() < 1) {
2033
+ setTargetFocusChildPosition(position);
2034
+ // int diffScroll = Math.abs(getControlProps().currentScrollToPosition - position);
2035
+ boolean anim = false;
2036
+ // final View view = findViewByPosition(position);
2037
+ // if (view != null) {
2038
+ // anim = true;
2039
+ // }
2040
+ scrollToPosition4Autoscroll(position, anim);
2041
+ // HippyMap hippyMap = new HippyMap();
2042
+ // hippyMap.pushInt("scrollToPosition",position);
2043
+ // hippyMap.pushBoolean("alignCenter",true);
2044
+ // setInitPositionInfo(hippyMap);
2045
+ }else{
2046
+ Log.e(AutoFocusManager.TAG, ">list setAutoscrollPosition return on hasFocus position :" + position);
2047
+ }
2048
+ //scrollToPosition(position);
2049
+ }else{
2050
+ Log.e(AutoFocusManager.TAG, ">list setAutoscrollPosition return on autoScrollToPosition == position :" + position);
2051
+ }
2052
+ }
2053
+
2054
+ public void scrollToPosition4Autoscroll(int pos, boolean anim){
2055
+ if(getSingleLineLayoutManager().childOnScreenScroller.type == TVRecyclerView.REQUEST_CHILD_ON_SCREEN_TYPE_CENTER){
2056
+ getControlProps().pendingScrollToPosition = pos;
2057
+ }
2058
+ int offset = getControlProps().scrollOffset;
2059
+ if(LogUtils.isDebug()) {
2060
+ Log.i(AutoFocusManager.TAG, "handleAutoscroll scrollToPositionWithAlignCenter pos:" + pos + ",offset:" + offset + ",getControlProps().pendingScrollToPosition:" + getControlProps().pendingScrollToPosition);
2061
+ }
2062
+ //setupInitScrollWork(-1,pos,offset,null,false,0,false);
2063
+ this.scrollToPosition(pos,offset);
2064
+ // this.updateList(anim);
2065
+ // RenderUtil.req
2066
+ // RenderUtil.requestNodeLayout(this);
2067
+ }
2068
+ /** zhaopeng add*/
2069
+
2070
+ }