@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,2042 @@
1
+ /* Tencent is pleased to support the open source community by making Hippy available.
2
+ * Copyright (C) 2018 THL A29 Limited, a Tencent company. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ package com.tencent.mtt.hippy.views.view;
17
+
18
+ import android.animation.Animator;
19
+ import android.animation.AnimatorListenerAdapter;
20
+ import android.animation.ObjectAnimator;
21
+ import android.animation.ValueAnimator;
22
+ import android.annotation.SuppressLint;
23
+ import android.content.Context;
24
+ import android.graphics.Canvas;
25
+ import android.graphics.Color;
26
+ import android.graphics.Path;
27
+ import android.graphics.Rect;
28
+ import android.graphics.RectF;
29
+ import android.graphics.drawable.GradientDrawable;
30
+ import android.os.Build;
31
+ import android.support.annotation.NonNull;
32
+ import android.text.TextUtils;
33
+ import android.util.Log;
34
+ import android.view.InputDevice;
35
+ import android.view.KeyEvent;
36
+ import android.view.MotionEvent;
37
+ import android.view.View;
38
+ import android.view.ViewConfiguration;
39
+ import android.view.ViewGroup;
40
+ import android.view.ViewParent;
41
+ import android.view.ViewTreeObserver;
42
+ import android.view.animation.CycleInterpolator;
43
+
44
+ import com.tencent.extend.AutoFocusManager;
45
+ import com.tencent.extend.FocusManagerModule;
46
+ import com.tencent.extend.FocusUtils;
47
+ import com.tencent.extend.RenderUtil;
48
+ import com.tencent.extend.TVFocusScaleExcuter;
49
+ import com.tencent.extend.TVViewUtil;
50
+ import com.tencent.extend.TriggerTaskHost;
51
+ import com.tencent.extend.TriggerTaskManagerModule;
52
+ import com.tencent.extend.views.EngineRootView;
53
+ import com.tencent.extend.views.FocusSearchHelper;
54
+ import com.tencent.extend.views.fastlist.Utils;
55
+ import com.tencent.mtt.hippy.FocusDispatchView;
56
+ import com.tencent.mtt.hippy.HippyEngineContext;
57
+ import com.tencent.mtt.hippy.HippyInstanceContext;
58
+ import com.tencent.mtt.hippy.R;
59
+ import com.tencent.mtt.hippy.common.HippyArray;
60
+ import com.tencent.mtt.hippy.common.HippyMap;
61
+ import com.tencent.mtt.hippy.dom.node.NodeProps;
62
+ import com.tencent.mtt.hippy.uimanager.ControllerManager;
63
+ import com.tencent.mtt.hippy.uimanager.ExtendViewGroup;
64
+ import com.tencent.mtt.hippy.uimanager.HippyViewEvent;
65
+ import com.tencent.mtt.hippy.uimanager.IHippyZIndexViewGroup;
66
+ import com.tencent.mtt.hippy.uimanager.InternalExtendViewUtil;
67
+ import com.tencent.mtt.hippy.uimanager.ViewGroupDrawingOrderHelper;
68
+ import com.tencent.mtt.hippy.utils.ExtendUtil;
69
+ import com.tencent.mtt.hippy.utils.LogAdapterUtils;
70
+ import com.tencent.mtt.hippy.utils.LogUtils;
71
+ import com.tencent.mtt.hippy.utils.PixelUtil;
72
+ import com.tencent.mtt.hippy.views.image.HippyImageView;
73
+
74
+ import java.util.ArrayList;
75
+
76
+ @SuppressWarnings({"unused"})
77
+ public class HippyViewGroup extends HippyImageView implements IHippyZIndexViewGroup, TriggerTaskHost, ExtendViewGroup, CustomLayoutView {
78
+
79
+ private static final int LAYER_TYPE_NOT_SET = -1;
80
+ private final ViewGroupDrawingOrderHelper mDrawingOrderHelper;
81
+ float mDownX = 0;
82
+ float mDownY = 0;
83
+ boolean isHandlePullUp = false;
84
+ // private CommonBackgroundDrawable mBGDrawable;
85
+ // private NativeGestureDispatcher mGestureDispatcher;
86
+ private String mOverflow;
87
+ private Path mOverflowPath;
88
+ private RectF mOverflowRect;
89
+ private int mOldLayerType;
90
+ private ViewConfiguration mViewConfiguration;
91
+
92
+ // Scroller mScroller;
93
+
94
+ //zhaopeng add
95
+ private int overFlowViewIndex = -1;
96
+ private boolean mBringToFrontOnFocus = false;
97
+
98
+ private boolean useAdvancedFocusSearch = false;
99
+
100
+
101
+ private GradientDrawable mBackDrawable;
102
+
103
+ private View mSpecialFocusSearchRequest;
104
+
105
+ public static final String TAG = "DIV_LOG";
106
+ //在tvList焦点滚动时是否以此为目标
107
+ private boolean isFocusScrollTarget = false;
108
+ private final HippyEngineContext hippyEngineContext;
109
+ //焦点抖动开关
110
+ protected boolean shakeSelf;
111
+ private boolean interceptKeyEvent = false;
112
+ private HippyArray interceptKeyEvents = null;
113
+ private HippyViewEvent interceptKeyJSEvent = null;
114
+ //Focus memory
115
+ protected View memoryFocused = null;
116
+ private boolean focusMemoryEnable = false;
117
+
118
+ private boolean enableOverScrollX = false;
119
+ private boolean enableOverScrollY = false;
120
+ private FocusSearchHelper mFocusSearchHelper;
121
+ // protected boolean overScrollImmediately = true;
122
+
123
+
124
+ public void setEnableOverScrollX(boolean enableOverScrollX) {
125
+ this.enableOverScrollX = enableOverScrollX;
126
+ }
127
+
128
+ public void setEnableOverScrollY(boolean enableOverScrollY) {
129
+ this.enableOverScrollY = enableOverScrollY;
130
+ }
131
+
132
+ public boolean isEnableOverScrollX() {
133
+ return enableOverScrollX;
134
+ }
135
+
136
+ public boolean isEnableOverScrollY() {
137
+ return enableOverScrollY;
138
+ }
139
+
140
+ public void setInterceptKeyEvent(boolean b){
141
+ Log.i(TAG,"setInterceptKeyEvent :"+b +",this:"+this);
142
+ this.interceptKeyEvent = b;
143
+ }
144
+
145
+ public void setInterceptKeyEvents(HippyArray array) {
146
+ Log.i(TAG,"setInterceptKeyEvents :"+array+",this:"+this);
147
+ this.interceptKeyEvents = array;
148
+ }
149
+
150
+ public HippyViewGroup(Context context) {
151
+ super(context);
152
+
153
+
154
+ // setBackgroundResource(R.drawable.selector_item_bg);
155
+ mDrawingOrderHelper = new ViewGroupDrawingOrderHelper(this);
156
+ mOldLayerType = LAYER_TYPE_NOT_SET;
157
+ setScaleType(ScaleType.ORIGIN);
158
+ /*zhaopeng add 默认false*/
159
+ // setClipChildren(false);
160
+ //初始化焦点抖动配置
161
+ hippyEngineContext = ((HippyInstanceContext) context).getEngineContext();
162
+ if (hippyEngineContext != null) {
163
+ shakeSelf = hippyEngineContext.getGlobalConfigs().getEsBaseConfigManager().IsShakeSelf();
164
+ }
165
+ mFocusSearchHelper = new FocusSearchHelper(this);
166
+ }
167
+
168
+ @Override
169
+ public void onViewRemoved(View child) {
170
+ super.onViewRemoved(child);
171
+ if (defaultSectionPosition > -1 && defaultSectionPosition == searchChildIndex(child)) {
172
+ defaultSectionPosition = -1;
173
+ }
174
+ }
175
+
176
+ @Override
177
+ public void onViewAdded(View child) {
178
+ super.onViewAdded(child);
179
+ if (defaultSectionPosition > -1 && defaultSectionPosition == searchChildIndex(child)) {
180
+ changeSelectState(defaultSectionPosition,true);
181
+ }
182
+
183
+ }
184
+
185
+ // @Override
186
+ // protected void onLayout(boolean changed, int l, int t, int r, int b)
187
+ // {
188
+ //
189
+ // }
190
+
191
+ // @Override
192
+ // public void requestLayout()
193
+ // {
194
+ // //super.requestLayout();
195
+ // }
196
+
197
+ @SuppressWarnings("SuspiciousNameCombination")
198
+ @Override
199
+ protected void dispatchDraw(Canvas canvas) {
200
+ if (mOverflow != null) {
201
+ switch (mOverflow) {
202
+ case "visible":
203
+ if (mOverflowPath != null) {
204
+ mOverflowPath.rewind();
205
+ }
206
+ restoreLayerType();
207
+ break;
208
+ case "hidden":
209
+ if (mBGDrawable != null) {
210
+ float left = 0f;
211
+ float top = 0f;
212
+ float right = getWidth();
213
+ float bottom = getHeight();
214
+ float borderWidth;
215
+ if (mBGDrawable.getBorderWidthArray() != null
216
+ && mBGDrawable.getBorderWidthArray()[0] != 0f) {
217
+ borderWidth = mBGDrawable.getBorderWidthArray()[0];
218
+ left += borderWidth;
219
+ top += borderWidth;
220
+ right -= borderWidth;
221
+ bottom -= borderWidth;
222
+ }
223
+ float radius =
224
+ mBGDrawable.getBorderRadiusArray() != null ? mBGDrawable.getBorderRadiusArray()[0]
225
+ : 0f;
226
+
227
+ if (radius > 0f) {
228
+ if (mOverflowPath == null) {
229
+ mOverflowPath = new Path();
230
+ }
231
+ mOverflowPath.rewind();
232
+ if (mOverflowRect == null) {
233
+ mOverflowRect = new RectF();
234
+ }
235
+ mOverflowRect.set(left, top, right, bottom);
236
+ mOverflowPath.addRoundRect(mOverflowRect, radius, radius, Path.Direction.CW);
237
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
238
+ if (mOldLayerType == LAYER_TYPE_NOT_SET) {
239
+ mOldLayerType = this.getLayerType();
240
+ }
241
+ this.setLayerType(LAYER_TYPE_SOFTWARE, null);
242
+ }
243
+ try {
244
+ canvas.clipPath(mOverflowPath);
245
+ } catch (Throwable throwable) {
246
+ restoreLayerType();
247
+ }
248
+ }
249
+ }
250
+ break;
251
+ default:
252
+ restoreLayerType();
253
+ break;
254
+ }
255
+ }
256
+
257
+ super.dispatchDraw(canvas);
258
+
259
+ //zhaopeng add
260
+ if (mBringToFrontOnFocus && getFocusedChild() != null) {
261
+ super.drawChild(canvas, getFocusedChild(), getDrawingTime());
262
+ }
263
+ // if (mScroller != null) {
264
+ // mScroller.computeScrollOffset();
265
+ // int cx = getScrollX();
266
+ // int cy = getScrollY();
267
+ // if(cx != mScroller.getCurrX() || cy != mScroller.getCurrY()){
268
+ // postInvalidateDelayed(16);
269
+ // scrollTo(mScroller.getCurrX(), mScroller.getCurrY());
270
+ // }
271
+ // }
272
+
273
+ if (overFlowViewIndex > -1 && overFlowViewIndex < getChildCount()) {
274
+ final View v = getChildAt(overFlowViewIndex);
275
+ if (v != null) {
276
+ super.drawChild(canvas, v, getDrawingTime());
277
+ }
278
+ }
279
+ // String testString = "View ID:" + this.getId();
280
+ // Paint mPaint = new Paint();
281
+ // mPaint.setStrokeWidth(3);
282
+ // mPaint.setTextSize(40);
283
+ // mPaint.setColor(Color.RED);
284
+ // mPaint.setTextAlign(Paint.Align.LEFT);
285
+ // Rect bounds = new Rect();
286
+ // mPaint.getTextBounds(testString, 0, testString.length(), bounds);
287
+ // Paint.FontMetricsInt fontMetrics = mPaint.getFontMetricsInt();
288
+ // int baseline = (getMeasuredHeight() - fontMetrics.bottom + fontMetrics.top) / 2 - fontMetrics.top;
289
+ // canvas.drawText(testString, getMeasuredWidth() / 2 - bounds.width() / 2, baseline, mPaint);
290
+
291
+ if (needLayoutFromCustom) {
292
+ onMeasureCustom();
293
+ needLayoutFromCustom = false;
294
+ }
295
+
296
+ }
297
+
298
+ int[] preferSize = new int[4];
299
+
300
+ protected void onMeasureCustom() {
301
+ if (LogUtils.isDebug()) {
302
+ Log.e(CustomLayoutView.TAG, "layoutCustom on DispatchDraw view:" + this);
303
+ }
304
+ for (int i = 0; i < getChildCount(); i++) {
305
+ final View child = getChildAt(i);
306
+ if (child instanceof CustomNodeView) {
307
+ ((CustomNodeView) child).getNodeSize(preferSize);
308
+ if (preferSize[2] > -1 || preferSize[3] > -1) {
309
+ RenderUtil.reLayoutView(child, preferSize[0], preferSize[1], preferSize[2], preferSize[3]);
310
+ }
311
+ } else if (child != null) {
312
+ RenderUtil.requestNodeLayout2(getContext(), child.getId());
313
+ }
314
+ }
315
+ }
316
+
317
+
318
+ private void restoreLayerType() {
319
+ if (mOldLayerType > LAYER_TYPE_NOT_SET) {
320
+ this.setLayerType(mOldLayerType, null);
321
+ }
322
+ }
323
+
324
+
325
+
326
+ // public void setBorderRadius(float radius, int position)
327
+ // {
328
+ // getBackGround().setBorderRadius(radius, position);
329
+ // }
330
+ //
331
+ // public void setBorderWidth(float width, int position)
332
+ // {
333
+ // getBackGround().setBorderWidth(width, position);
334
+ // }
335
+ //
336
+ // public void setBorderColor(int color, int position)
337
+ // {
338
+ // getBackGround().setBorderColor(color, position);
339
+ // }
340
+ //
341
+ // private CommonBackgroundDrawable getBackGround()
342
+ // {
343
+ // if (mBGDrawable == null)
344
+ // {
345
+ // mBGDrawable = new CommonBackgroundDrawable();
346
+ // Drawable currBGDrawable = getBackground();
347
+ // super.setBackgroundDrawable(null);
348
+ // if (currBGDrawable == null)
349
+ // {
350
+ // super.setBackgroundDrawable(mBGDrawable);
351
+ // }
352
+ // else
353
+ // {
354
+ // LayerDrawable layerDrawable = new LayerDrawable(new Drawable[] { mBGDrawable, currBGDrawable });
355
+ // super.setBackgroundDrawable(layerDrawable);
356
+ // }
357
+ // }
358
+ // return mBGDrawable;
359
+ // }
360
+
361
+ public void smoothScrollBy(int x,int y){
362
+ //Fixme 这里初步实现了无动画的滚动,后续支持动画
363
+ // if (mScroller == null) {
364
+ // mScroller = new Scroller(getContext());
365
+ // }
366
+ // mScroller.startScroll(getScrollX(),getScrollY(),x,y,200);
367
+ //// scrollBy(x,y);
368
+ // postInvalidateDelayed(16);
369
+ }
370
+
371
+
372
+
373
+ public void setOverflow(String overflow) {
374
+ mOverflow = overflow;
375
+ //robinsli Android 支持 overflow: visible,超出容器之外的属性节点也可以正常显示
376
+ if (!TextUtils.isEmpty(mOverflow)) {
377
+ switch (mOverflow) {
378
+ case "visible":
379
+ setClipChildren(false); //可以超出父亲区域
380
+ break;
381
+ case "hidden": {
382
+ setClipChildren(true); //默认值是false
383
+ break;
384
+ }
385
+ }
386
+ }
387
+ invalidate();
388
+ }
389
+
390
+ // @Override
391
+ // public void setBackgroundColor(int color)
392
+ // {
393
+ // getBackGround().setBackgroundColor(color);
394
+ // }
395
+
396
+ // @Override
397
+ // public boolean onTouchEvent(MotionEvent event)
398
+ // {
399
+ // boolean result = super.onTouchEvent(event);
400
+ // if (mGestureDispatcher != null)
401
+ // {
402
+ // result |= mGestureDispatcher.handleTouchEvent(event);
403
+ // }
404
+ // return result;
405
+ // }
406
+
407
+ @Override
408
+ public boolean onInterceptTouchEvent(MotionEvent ev) {
409
+ int action = ev.getAction() & MotionEvent.ACTION_MASK;
410
+ if (action == MotionEvent.ACTION_DOWN) {
411
+ mDownX = ev.getX();
412
+ mDownY = ev.getY();
413
+ isHandlePullUp = false;
414
+ }
415
+
416
+ boolean result = super.onInterceptTouchEvent(ev);
417
+
418
+ if (mGestureDispatcher != null) {
419
+ result |= mGestureDispatcher.needHandle(NodeProps.ON_INTERCEPT_TOUCH_EVENT);
420
+ }
421
+
422
+ if (!result && mGestureDispatcher != null && mGestureDispatcher
423
+ .needHandle(NodeProps.ON_INTERCEPT_PULL_UP_EVENT)) {
424
+ //noinspection SwitchStatementWithTooFewBranches
425
+ switch (action) {
426
+ case MotionEvent.ACTION_MOVE: {
427
+ if (isHandlePullUp) {
428
+ break;
429
+ }
430
+ if (mViewConfiguration == null) {
431
+ //noinspection deprecation
432
+ mViewConfiguration = new ViewConfiguration();
433
+ }
434
+ float dx = ev.getX() - mDownX;
435
+ float dy = ev.getY() - mDownY;
436
+ if (dy < 0 && Math.abs(dx) < Math.abs(dy) && Math.abs(dy) > mViewConfiguration
437
+ .getScaledTouchSlop()) {
438
+ mGestureDispatcher.handle(NodeProps.ON_TOUCH_DOWN, mDownX, mDownY);
439
+ isHandlePullUp = true;
440
+ }
441
+ break;
442
+ }
443
+ }
444
+ result = isHandlePullUp;
445
+ }
446
+ return result;
447
+ }
448
+
449
+ // @Override
450
+ // public NativeGestureDispatcher getGestureDispatcher()
451
+ // {
452
+ // return mGestureDispatcher;
453
+ // }
454
+
455
+ // @Override
456
+ // public void setGestureDispatcher(NativeGestureDispatcher dispatcher)
457
+ // {
458
+ // mGestureDispatcher = dispatcher;
459
+ // }
460
+
461
+ @Override
462
+ protected int getChildDrawingOrder(int childCount, int index) {
463
+ return mDrawingOrderHelper.getChildDrawingOrder(childCount, index);
464
+ }
465
+
466
+ @Override
467
+ public int getZIndexMappedChildIndex(int index) {
468
+ if (mDrawingOrderHelper.shouldEnableCustomDrawingOrder()) {
469
+ return mDrawingOrderHelper.getChildDrawingOrder(getChildCount(), index);
470
+ } else {
471
+ return index;
472
+ }
473
+ }
474
+
475
+ @Override
476
+ public void updateDrawingOrder() {
477
+ mDrawingOrderHelper.update();
478
+ setChildrenDrawingOrderEnabled(mDrawingOrderHelper.shouldEnableCustomDrawingOrder());
479
+ invalidate();
480
+ }
481
+
482
+ @Override
483
+ public void addView(View child, int index) {
484
+ super.addView(child, index);
485
+ mDrawingOrderHelper.handleAddView(child);
486
+ setChildrenDrawingOrderEnabled(mDrawingOrderHelper.shouldEnableCustomDrawingOrder());
487
+ }
488
+
489
+ @Override
490
+ public void removeView(View view) {
491
+ super.removeView(view);
492
+ mDrawingOrderHelper.handleRemoveView(view);
493
+ setChildrenDrawingOrderEnabled(mDrawingOrderHelper.shouldEnableCustomDrawingOrder());
494
+ }
495
+
496
+ @Override
497
+ public void onResetBeforeCache() {
498
+ super.onResetBeforeCache();
499
+ memoryFocused = null;
500
+ }
501
+
502
+ @Override
503
+ public void resetProps() {
504
+ // HippyViewController.resetTransform(this);
505
+
506
+ HippyViewGroupController.removeViewZIndex(this);
507
+
508
+ // mBGDrawable = null;
509
+ // super.setBackgroundDrawable(null);
510
+ mOverflow = null;
511
+ memoryFocused = null;
512
+ // if(enableOverScrollY || enableOverScrollX) {
513
+ // overScrollImmediately = true;
514
+ // scrollTo(0, 0);
515
+ // setEnableOverScrollX(false);
516
+ // setEnableOverScrollY(false);
517
+ // }
518
+ setClipChildren(true); //默认值是false
519
+ // setAlpha(1.0f);
520
+ }
521
+
522
+ // @Override
523
+ // public void clear()
524
+ // {
525
+ //
526
+ // }
527
+
528
+ public void setUseAdvancedFocusSearch(boolean useAdvancedFocusSearch) {
529
+ this.useAdvancedFocusSearch = useAdvancedFocusSearch;
530
+ LogUtils.d(TAG, "setUseAdvancedFocusSearch :" + useAdvancedFocusSearch + ",this:" + this);
531
+ }
532
+
533
+ @Override
534
+ protected void onSizeChanged(int w, int h, int oldw, int oldh) {
535
+ super.onSizeChanged(w, h, oldw, oldh);
536
+
537
+ // if (oldw == 0 || oldh == 0) {
538
+ // overScrollImmediately = true;
539
+ // }
540
+ if (mBackDrawable != null) {
541
+ mBackDrawable.setBounds(0, 0, w, h);
542
+ }
543
+
544
+ }
545
+
546
+ @Override
547
+ protected void onChangeShowOnState() {
548
+ super.onChangeShowOnState();
549
+ }
550
+
551
+ @Override
552
+ public void onDraw(Canvas canvas) {
553
+ super.onDraw(canvas);
554
+ }
555
+
556
+
557
+ @Override
558
+ public void draw(Canvas canvas) {
559
+ if (mBackDrawable != null) {
560
+ if (mBackDrawable.getBounds().isEmpty()) {
561
+ if (getBackgroundDrawable().getBounds().isEmpty()) {
562
+ mBackDrawable.setBounds(new Rect(0, 0, getWidth(), getHeight()));
563
+ } else {
564
+ mBackDrawable.setBounds(getBackgroundDrawable().getBounds());
565
+ }
566
+ }
567
+ mBackDrawable.draw(canvas);
568
+ }
569
+ super.draw(canvas);
570
+ // Log.v("zhaopeng","draw called isFocused:"+isFocused());
571
+ }
572
+
573
+ public void setBringFocusChildToFront(boolean mBringToFrontOnFocus) {
574
+ this.mBringToFrontOnFocus = mBringToFrontOnFocus;
575
+ if(LogUtils.isDebug()){
576
+ Log.i(TAG,"setBringFocusChildToFront this:"+this+",b : "+mBringToFrontOnFocus);
577
+ }
578
+ postInvalidateDelayed(16);
579
+ }
580
+
581
+ @Override
582
+ public View focusSearch(View focused, int direction) {
583
+ final View result = useAdvancedFocusSearch ? advanceFocusSearch(focused, direction) : super.focusSearch(focused, direction);
584
+ final int nextId = InternalExtendViewUtil.findInterceptViewID(this, direction);
585
+ if(LogUtils.isDebug()) {
586
+ Log.i(FocusDispatchView.TAG, "focusSearch nextId :" + nextId + ",result:" + ExtendUtil.debugViewLite(result) + ",this:" + ExtendUtil.debugFocusInfo(this));
587
+ }
588
+ if (nextId > -1) {
589
+ final boolean nextInGroup = TVViewUtil.isViewDescendantOf(result, this);
590
+ if (!nextInGroup || result == null) {
591
+ //
592
+ if (shakeSelf) {
593
+ shakeSelf(focused, direction);
594
+ }
595
+ return InternalExtendViewUtil.interceptViewGroupIfNeed(this,nextId, focused, result);
596
+ // return null;
597
+ }
598
+ }
599
+ return result;
600
+ }
601
+
602
+
603
+
604
+ private void markSpecifiedFocusSearch(View specialTarget) {
605
+ // Log.d(TAG, "+mark SpecifiedFocusSearch target : "+specialTarget)
606
+ mSpecialFocusSearchRequest = specialTarget;
607
+ }
608
+
609
+ private void consumeSpecifiedFocusSearchRequest() {
610
+ if (mSpecialFocusSearchRequest != null) {
611
+ // Log.d(TAG, "-consume SpecifiedFocusSearchRequest")
612
+ mSpecialFocusSearchRequest = null;
613
+ }
614
+ }
615
+
616
+ private boolean isSpecifiedFocusSearch() {
617
+ return mSpecialFocusSearchRequest != null;
618
+ }
619
+
620
+ private ArrayList<View> mTempFocusList = new ArrayList<>();
621
+
622
+ protected View advanceFocusSearch(View focused, int direction) {
623
+ return this.advanceFocusSearch(focused, direction, false);
624
+ }
625
+
626
+ protected View advanceFocusSearch(View focused, int direction, boolean justSpecial) {
627
+ if (LogUtils.isDebug()) {
628
+ Log.d(TAG, "-----------------begin : focusSearch with focused : $focused direction : $direction -------------");
629
+ Log.d(FocusDispatchView.TAG, "-----------------begin : advanceFocusSearch in div with focused : $focused direction : $direction -------------");
630
+ }
631
+ //return super.focusSearch(focused, direction)
632
+
633
+ //寻找结果
634
+ View found = null;
635
+ //用户自定义的目标view
636
+ View userSpecifiedTarget = null;
637
+ //用户自定义的目标viewID
638
+ String userSpecifiedTargetName = null;
639
+ String userSpecifiedTargetSID = null;
640
+ //当前焦点的parent
641
+ ViewGroup focusedParent = null;
642
+
643
+ try {
644
+
645
+ FocusUtils.FocusParams fp = null;
646
+ //1, find user specified
647
+ if (focused != null) {
648
+ //发现用户指定targetView,则直接调用此view的addFocusables方法
649
+ fp = ExtendUtil.findUserSpecifiedNextFocusViewIdTraverse(this, focused, direction,this);
650
+ if (LogUtils.isDebug()) {
651
+ Log.i(FocusDispatchView.TAG,"div advance focus search fp :"+fp+",focused:"+ExtendUtil.debugViewLite(focused)+",this:"+ExtendUtil.debugViewLite(this));
652
+ }
653
+ userSpecifiedTargetName = fp.specifiedTargetViewName;
654
+ userSpecifiedTargetSID = fp.specifiedTargetSID;
655
+ if(userSpecifiedTargetSID != null && userSpecifiedTargetSID.equals(ExtendUtil.getViewSID(focused))) {
656
+ //Log.d(FocusDispatchView.TAG, "0 : find focused self " + ExtendUtil.debugViewLite(userSpecifiedTarget));
657
+ userSpecifiedTarget = focused;
658
+ }else if(userSpecifiedTargetName != null && userSpecifiedTargetName.equals(ExtendUtil.getViewName(focused))) {
659
+ userSpecifiedTarget = focused;
660
+ }
661
+ //2025.07.22 新增nextFocus设成自己时,阻拦逻辑
662
+ if(userSpecifiedTarget != null && ExtendUtil.isPureFocusView(userSpecifiedTarget)) {
663
+ if(LogUtils.isDebug()) {
664
+ Log.i(FocusDispatchView.TAG, "0 : find nextFocused is self " + ExtendUtil.debugViewLite(userSpecifiedTarget));
665
+ }
666
+ return focused;
667
+ }
668
+ userSpecifiedTarget = ExtendUtil.findViewByNameOrSID(focused,fp, this);
669
+ if(LogUtils.isDebug()){
670
+ Log.d(FocusDispatchView.TAG,"1 : pre find userSpecifiedTarget "+ExtendUtil.debugViewLite(userSpecifiedTarget));
671
+ }
672
+ if(userSpecifiedTarget != null){
673
+ if(!userSpecifiedTarget.isFocusable()){
674
+ if(Utils.isParentItemRootView(userSpecifiedTarget)){
675
+ userSpecifiedTarget = Utils.getPlaceholderContainer(userSpecifiedTarget);
676
+ }
677
+ }
678
+ if (LogUtils.isDebug()) {
679
+ Log.e(FocusDispatchView.TAG, "advanceFocusSearch in div return userSpecifiedTarget FocusParams:" + fp + ",result:" + ExtendUtil.debugViewLite(userSpecifiedTarget));
680
+ }
681
+ if(userSpecifiedTarget != null && userSpecifiedTarget.getVisibility() != View.VISIBLE){
682
+ userSpecifiedTarget = null;
683
+ }
684
+ }
685
+ if (LogUtils.isDebug()) {
686
+ Log.d(FocusDispatchView.TAG, "1 : find specifiedTargetViewName is " +
687
+ "$userSpecifiedTargetName specifiedView is $userSpecifiedTarget name:" + userSpecifiedTargetName + ",userSpecifiedTargetSID:" + userSpecifiedTargetSID+",userSpecifiedTarget:"+ExtendUtil.debugViewLite(userSpecifiedTarget));
688
+ if(userSpecifiedTarget instanceof ViewGroup) {
689
+ Log.d(FocusDispatchView.TAG, "1 : userSpecifiedTarget visible :" + userSpecifiedTarget.getVisibility() + ",alpha :" + userSpecifiedTarget.getAlpha()
690
+ + ",descendantFocusability isBlock:" + (((ViewGroup) userSpecifiedTarget).getDescendantFocusability() == ViewGroup.FOCUS_BLOCK_DESCENDANTS) + ",focusable :" + userSpecifiedTarget.isFocusable());
691
+ }
692
+ }
693
+ if (focused.getParent() instanceof ViewGroup)
694
+ focusedParent = (ViewGroup) focused.getParent();
695
+ }
696
+
697
+ //2 , find focus
698
+ if (userSpecifiedTarget != null && userSpecifiedTarget.getVisibility() == View.VISIBLE) {
699
+
700
+ if (fp.isPureSpecifiedTarget && ExtendUtil.isPureFocusView(userSpecifiedTarget)) {
701
+ found = userSpecifiedTarget;
702
+ if (LogUtils.isDebug()) {
703
+ Log.d(FocusDispatchView.TAG, "2-0 : find userSpecifiedTarget is pure specified target $found :" + ExtendUtil.debugViewLite(found));
704
+ }
705
+ }
706
+
707
+ markSpecifiedFocusSearch(userSpecifiedTarget);
708
+ // it.addFocusables(views,direction,focusableMode)
709
+ //这里要区分出来userSpecifiedTarget是一个focusable的View,还是一个ViewGroup
710
+
711
+ //1,优先在当前parent中寻找,以保证优先搜索比较近的view
712
+ if (found == null) {
713
+ if (focusedParent != userSpecifiedTarget && focusedParent != userSpecifiedTarget.getParent()) { //确保俩个parent不是同一个
714
+ if (focusedParent != null)
715
+ focusedParent.addFocusables(mTempFocusList, direction);
716
+ //zhaopeng 20190327 由于这里focused不是focusedParent的子view时,会发生崩溃,所以这里try catch
717
+ if(mTempFocusList.size() > 0) {
718
+ found = ExtendUtil.executeFindNextFocus(focusedParent, focused, direction);
719
+ }
720
+ if (LogUtils.isDebug()) {
721
+ Log.d(FocusDispatchView.TAG, "2-1: find from focusedParent found : $found :" + ExtendUtil.debugViewLite(found));
722
+ }
723
+ }
724
+ }
725
+ //2, 从IFocusGroup中寻找
726
+
727
+ //3, userSpecifiedTarget中寻找
728
+ if (found == null) {
729
+ mTempFocusList.clear();
730
+ userSpecifiedTarget.addFocusables(mTempFocusList, direction);
731
+ // for(int i = 0; i < mTempFocusList.size(); i++){
732
+ // View v = mTempFocusList.get(i);
733
+ // Log.i(FocusDispatchView.TAG,"2-3 : addFocusables view :"+ExtendUtil.debugView(v));
734
+ // }
735
+ if(mTempFocusList.size() > 0){
736
+ found = ExtendUtil.executeFindNextFocus(this, focused, direction);
737
+ }
738
+ if (LogUtils.isDebug()) {
739
+ Log.d(FocusDispatchView.TAG, "2-3 : find from userSpecifiedTarget $found : " + ExtendUtil.debugViewLite(found));
740
+ }
741
+ }
742
+
743
+
744
+ //4 这里处理用户是否拦截了焦点
745
+ if (found == null) {
746
+ if (focused != null) {
747
+ // if(getParent() instanceof ViewGroup && getParent().id == userSpecifiedTargetId){
748
+ if (ExtendUtil.sameDescend(this, focused, userSpecifiedTargetName,userSpecifiedTargetSID)) {
749
+ // 这种情况下,用户将nextXXID 设置成本身,所以将focused返回
750
+ if (LogUtils.isDebug()) {
751
+ Log.d(FocusDispatchView.TAG, "2-4 : find from : sameDescend return focused "+ExtendUtil.debugViewLite(focused)+", userSpecifiedTargetName is "+userSpecifiedTargetName);
752
+ }
753
+ // if(userSpecifiedTargetName != null && userSpecifiedTargetName.equals(ExtendUtil.getViewName(focused))){
754
+ // //found = focused;
755
+ // //name设置成自身如果是name
756
+ // }
757
+ found = focused;
758
+ }
759
+ }
760
+ }
761
+
762
+ //5 这里只有一种情况,用户设置的焦点不太符合物理逻辑,所以不再考虑focused位置的情况下再次搜索
763
+ if (found == null) {
764
+ // Log.i(FocusDispatchView.TAG,"2-5 : mTempFocusList size :"+mTempFocusList.size());
765
+ // for(int i = 0; i < mTempFocusList.size(); i++){
766
+ // View v = mTempFocusList.get(i);
767
+ // Log.i(FocusDispatchView.TAG,"2-5 : addFocusables view :"+ExtendUtil.debugView(v));
768
+ // }
769
+ if(mTempFocusList == null || mTempFocusList.size() < 1 && (userSpecifiedTarget != null && !userSpecifiedTarget.isFocusable())){
770
+ Log.e(FocusDispatchView.TAG,"2-5 : mTempFocusList is null or size is 0 skip search next focus");
771
+ }else {
772
+ mTempFocusList.clear();
773
+ if (userSpecifiedTarget != null) {
774
+ userSpecifiedTarget.addFocusables(mTempFocusList, direction);
775
+ found = ExtendUtil.executeFindNextFocus(this, null, direction);
776
+ if (LogUtils.isDebug()) {
777
+ Log.d(FocusDispatchView.TAG, "2-5 : find without focused found is $found:" + ExtendUtil.debugViewLite(found));
778
+ }
779
+ }
780
+ }
781
+ }
782
+
783
+ } else {
784
+ if (LogUtils.isDebug()) {
785
+ Log.d(FocusDispatchView.TAG, "2 : ** userSpecifiedTarget is NULL find from Root");
786
+ }
787
+ //2 为空时用户没有设定,从root中寻找
788
+ if (!justSpecial) {
789
+ super.addFocusables(mTempFocusList, direction);
790
+ //3 find nextFocus from root
791
+ // 注意: 此方法会调用this.addFocusables()
792
+ found = ExtendUtil.executeFindNextFocus(this, focused, direction);
793
+ }
794
+ if (LogUtils.isDebug()) {
795
+ Log.d(FocusDispatchView.TAG, "3 : FocusFinder search from Root result is $found " + found + ",justSpecial" + justSpecial);
796
+ }
797
+ }
798
+ } finally {
799
+ mTempFocusList.clear();
800
+ }
801
+ consumeSpecifiedFocusSearchRequest();
802
+ if (LogUtils.isDebug()) {
803
+ Log.d(FocusDispatchView.TAG, "-----------------end : focusSearch searched : $found-----------------");
804
+ }
805
+ if (justSpecial) {
806
+ if (LogUtils.isDebug()) {
807
+ Log.e(FocusDispatchView.TAG, "-----------------end : justSpecial focusSearch return -----------------" + found);
808
+ }
809
+ return found;
810
+ }
811
+ if (found != null) {
812
+ // Log.d(TAG, "-----------------end : focusSearch found!=null shakeSelf:" + shakeSelf);
813
+ if ((found == focused || (userSpecifiedTargetName != null && userSpecifiedTarget == null)
814
+ || (userSpecifiedTargetSID != null && userSpecifiedTarget == null)) && shakeSelf) {//todo 有bug
815
+ if (LogUtils.isDebug()) {
816
+ Log.e(FocusDispatchView.TAG, "-----------------end found = focused: shakeSelf-----------------");
817
+ }
818
+ shakeSelf(focused, direction);
819
+ }
820
+ return found;
821
+ } else {
822
+ View view = super.focusSearch(focused, direction);
823
+ // Log.d(TAG, "-----------------end : focusSearch found==null shakeSelf:" + shakeSelf);
824
+ if (view == null && shakeSelf) {
825
+ if (LogUtils.isDebug()) {
826
+ Log.e(FocusDispatchView.TAG, "-----------------end found = null: shakeSelf-----------------");
827
+ }
828
+ shakeSelf(focused, direction);
829
+ }
830
+ return view;
831
+ }
832
+ // return found != null ? found : super.focusSearch(focused,direction);
833
+ }
834
+
835
+ private boolean animRunning = false;
836
+
837
+ private void shakeSelf(View view, int direction) {
838
+ if (direction == View.FOCUS_DOWN || direction == View.FOCUS_UP) {
839
+ if (!animRunning) {
840
+ animRunning = true;
841
+ ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(view, View.TRANSLATION_Y.getName(), 0, 5f);//抖动幅度0到5
842
+ objectAnimator.setDuration(250);//持续时间
843
+ objectAnimator.setInterpolator(new CycleInterpolator(2));//抖动次数
844
+ objectAnimator.addListener(new AnimatorListenerAdapter() {
845
+ @Override
846
+ public void onAnimationCancel(Animator animation) {
847
+ animRunning = false;
848
+ }
849
+
850
+ @Override
851
+ public void onAnimationEnd(Animator animation) {
852
+ animRunning = false;
853
+ }
854
+ });
855
+ objectAnimator.start();//开始动画
856
+ }
857
+ } else {
858
+ if (!animRunning) {
859
+ animRunning = true;
860
+ ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(view, View.TRANSLATION_X.getName(), 0, 5f);//抖动幅度0到5
861
+ objectAnimator.setDuration(250);//持续时间
862
+ objectAnimator.setInterpolator(new CycleInterpolator(2));//抖动次数
863
+ objectAnimator.addListener(new AnimatorListenerAdapter() {
864
+ @Override
865
+ public void onAnimationCancel(Animator animation) {
866
+ animRunning = false;
867
+ }
868
+
869
+ @Override
870
+ public void onAnimationEnd(Animator animation) {
871
+ animRunning = false;
872
+ }
873
+ });
874
+ objectAnimator.start();//开始动画
875
+ }
876
+ }
877
+ }
878
+
879
+
880
+ private String firstFocusTargetName = null;
881
+
882
+ public void setFirstFocusTargetName(String name) {
883
+ this.firstFocusTargetName = name;
884
+ }
885
+
886
+ public HippyMap focusSearchTarget;
887
+
888
+ public void setFocusSearchTarget(HippyMap map) {
889
+ this.focusSearchTarget = map;
890
+ }
891
+
892
+ public static String getDirectionName(int direction) {
893
+ return ExtendUtil.getDirectionName(direction);
894
+ }
895
+
896
+ public View findFocusTargetName(int direction) {
897
+ if (focusSearchTarget != null) {
898
+ final String key = getDirectionName(direction);
899
+ if (key != null) {
900
+ final String target = focusSearchTarget.getString(key);
901
+ return ControllerManager.findViewByName(this, target);
902
+ } else {
903
+ if (LogUtils.isDebug()) {
904
+ LogUtils.e(TAG, "div: +addFocusables findFocusTargetName key is null :" + focusSearchTarget);
905
+ }
906
+ }
907
+ }
908
+ return null;
909
+ }
910
+
911
+ public View findNextSpecialFocusView(View focused, int direction) {
912
+ return advanceFocusSearch(focused, direction, true);
913
+ }
914
+
915
+ @Override
916
+ public void addFocusables(ArrayList<View> views, int direction, int focusableMode) {
917
+ if(mFocusSearchHelper.addFocusables(views,direction)){
918
+ return;
919
+ }
920
+ if (!hasFocus() && focusSearchTarget != null) {
921
+ final View view = findFocusTargetName(direction);
922
+ if (view != null) {
923
+ if (LogUtils.isDebug()) {
924
+ LogUtils.d(TAG, "div: +addFocusables by focusSearchTarget : " + direction + ",view :" + view.getId() + ",focusSearchTarget:" + focusSearchTarget);
925
+ }
926
+ view.addFocusables(views, direction, focusableMode);
927
+ return;
928
+ } else {
929
+ if (LogUtils.isDebug()) {
930
+ LogUtils.d(TAG, "div: +addFocusables by focusSearchTarget : " + direction + ",view :" + null);
931
+ }
932
+ }
933
+ }
934
+
935
+ // Log.i(FocusDispatchView.TAG,"addFocusables hasFocus: "+hasFocus()+",this:"+ExtendUtil.debugView(this));
936
+ if(!hasFocus() && focusMemoryEnable && memoryFocused != null){
937
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
938
+ if(memoryFocused.getVisibility() == View.VISIBLE && memoryFocused.isAttachedToWindow()){
939
+ if (LogUtils.isDebug()) {
940
+ LogUtils.d(TAG, "div: +addFocusables on memoryFocused : " + direction + ",view :" + ExtendUtil.debugView(memoryFocused));
941
+ }
942
+ memoryFocused.addFocusables(views,direction,focusableMode);
943
+ return;
944
+ }
945
+ }
946
+ }
947
+
948
+ if (!hasFocus() && firstFocusTargetName != null) {
949
+ final View view = ControllerManager.findViewByName(this, firstFocusTargetName);
950
+ if (view != null) {
951
+ LogUtils.d(TAG, "div: +addFocusables by firstTargetName : " + firstFocusTargetName + ",view :" + view.getId());
952
+ view.addFocusables(views, direction, focusableMode);
953
+ return;
954
+ }
955
+ }
956
+ if (useAdvancedFocusSearch && mTempFocusList != null && mTempFocusList.size() > 0) {
957
+ if (LogUtils.isDebug()) Log.d(TAG, "+addFocusables views : $mTempFocusList");
958
+ if (views != null) views.addAll(mTempFocusList);
959
+ } else {
960
+ super.addFocusables(views, direction, focusableMode);
961
+ }
962
+
963
+ }
964
+
965
+ @Override
966
+ public void addFocusables(ArrayList<View> views, int direction) {
967
+ if (!hasFocus() && focusSearchTarget != null) {
968
+ final View view = findFocusTargetName(direction);
969
+ if (view != null) {
970
+ LogUtils.d(TAG, "div: +addFocusables by focusSearchTarget : " + direction + ",view :" + view.getId());
971
+ view.addFocusables(views, direction);
972
+ return;
973
+ } else {
974
+ LogUtils.d(TAG, "div: +addFocusables by focusSearchTarget : " + direction + ",view :" + null);
975
+ }
976
+ }
977
+
978
+ if (!hasFocus() && firstFocusTargetName != null) {
979
+ final View view = ControllerManager.findViewByName(this, firstFocusTargetName);
980
+ if (view != null) {
981
+ LogUtils.d(TAG, "div: +addFocusables by firstTargetName : " + firstFocusTargetName + ",view :" + view.getId());
982
+ view.addFocusables(views, direction);
983
+ return;
984
+ }
985
+ }
986
+ if (useAdvancedFocusSearch && mTempFocusList != null && mTempFocusList.size() > 0) {
987
+ if (LogUtils.isDebug()) Log.d(TAG, "+addFocusables views : $mTempFocusList");
988
+ if (views != null) views.addAll(mTempFocusList);
989
+ } else {
990
+ super.addFocusables(views, direction);
991
+ }
992
+ }
993
+
994
+ private void postFocusChange(final boolean gainFocus, final int direction, final Rect previouslyFocusedRect) {
995
+ // Log.d("zhaopeng","onFocusChange gainFocus:"+gainFocus+",view:"+this+"");
996
+
997
+ if (mPostFocusTask != null) {
998
+ removeCallbacks(mPostFocusTask);
999
+ }
1000
+
1001
+ if (isInReFocus()) {
1002
+ handleFocusScaleImmediately(gainFocus, direction, previouslyFocusedRect);
1003
+ } else {
1004
+ onHandleFocusScale(gainFocus, direction, previouslyFocusedRect);
1005
+ }
1006
+
1007
+ }
1008
+
1009
+
1010
+ @Override
1011
+ protected void onDetachedFromWindow() {
1012
+ // Log.v("zhaopeng","------onDetachedFromWindow focused:"+isFocused());
1013
+ super.onDetachedFromWindow();
1014
+ if (isFocusable()) {
1015
+ TVFocusScaleExcuter.changeFocusScaleDirectly(this, 1, 1);
1016
+ }
1017
+ if (isSelected()) {
1018
+ setSelected(false);
1019
+ }
1020
+ memoryFocused = null;
1021
+
1022
+ stopListenGlobalFocusChange();
1023
+
1024
+ }
1025
+
1026
+
1027
+
1028
+ @Override
1029
+ protected void onAttachedToWindow() {
1030
+ super.onAttachedToWindow();
1031
+ // Log.v("zhaopeng","+++++++onAttachedToWindow focused:"+isFocused());
1032
+
1033
+ listenGlobalFocusChangeIfNeed();
1034
+ }
1035
+
1036
+
1037
+ private Runnable mPostFocusTask;
1038
+
1039
+ @Override
1040
+ protected void onFocusChanged(final boolean gainFocus, int direction, Rect previouslyFocusedRect) {
1041
+ super.onFocusChanged(gainFocus, direction, previouslyFocusedRect);
1042
+ //border
1043
+ // if(isPostTaskEnabled()){
1044
+ // if(gainFocus) {
1045
+ // mPostHandlerView.postTask(TVListView.PostContentHolder.POST_TASK_CATEGORY_DIV_FOCUS_CHANGE, 1,
1046
+ // () -> postFocusChange(true, direction, previouslyFocusedRect), 300);
1047
+ // }else{
1048
+ // mPostHandlerView.clearTask(TVListView.PostContentHolder.POST_TASK_CATEGORY_DIV_FOCUS_CHANGE, 1);
1049
+ // postFocusChange(false, direction, previouslyFocusedRect);
1050
+ // }
1051
+ // }else{
1052
+ postFocusChange(gainFocus, direction, previouslyFocusedRect);
1053
+ // }
1054
+ }
1055
+
1056
+ /**
1057
+ * zhaopeng add
1058
+ */
1059
+ public void setOverFlowViewIndex(int overFlowViewIndex) {
1060
+ this.overFlowViewIndex = overFlowViewIndex;
1061
+ postInvalidateDelayed(16);
1062
+ }
1063
+
1064
+ private HippyMap scrollOverride;
1065
+ public void setScrollOverride(HippyMap map){
1066
+ //Log.i("ChildOnScreenScroller","setScrollOverride map:"+map+",this:"+this);
1067
+ this.scrollOverride = map;
1068
+ }
1069
+
1070
+ public HippyMap getScrollOverride() {
1071
+ return scrollOverride;
1072
+ }
1073
+
1074
+ public void setGradientDrawable(HippyMap map) {
1075
+
1076
+ if (map == null) {
1077
+ mBackDrawable = null;
1078
+ } else {
1079
+ this.mBackDrawable = createGradientDrawable(this, map);
1080
+
1081
+ }
1082
+
1083
+ invalidate();
1084
+ }
1085
+
1086
+
1087
+ public static GradientDrawable createGradientDrawable(View view, HippyMap map) {
1088
+ int type = GradientDrawable.LINEAR_GRADIENT;
1089
+ if (map.containsKey("type")) {
1090
+ type = map.getInt("type");
1091
+ }
1092
+ int shape = GradientDrawable.RECTANGLE;
1093
+ if (map.containsKey("shape")) {
1094
+ shape = map.getInt("shape");
1095
+ }
1096
+ GradientDrawable.Orientation orientation = GradientDrawable.Orientation.TOP_BOTTOM;
1097
+
1098
+ if (map.containsKey("orientation")) {
1099
+ int orientationValue = map.getInt("orientation");
1100
+ switch (orientationValue) {
1101
+ case 1:
1102
+ orientation = GradientDrawable.Orientation.TR_BL;
1103
+ break;
1104
+ case 2:
1105
+ orientation = GradientDrawable.Orientation.RIGHT_LEFT;
1106
+ break;
1107
+ case 3:
1108
+ orientation = GradientDrawable.Orientation.BR_TL;
1109
+ break;
1110
+ case 4:
1111
+ orientation = GradientDrawable.Orientation.BOTTOM_TOP;
1112
+ break;
1113
+ case 5:
1114
+ orientation = GradientDrawable.Orientation.BL_TR;
1115
+ break;
1116
+ case 6:
1117
+ orientation = GradientDrawable.Orientation.LEFT_RIGHT;
1118
+ break;
1119
+ case 7:
1120
+ orientation = GradientDrawable.Orientation.TL_BR;
1121
+ break;
1122
+ }
1123
+ }
1124
+
1125
+ HippyArray colorArray = map.getArray("colors");
1126
+ if (colorArray == null) {
1127
+ return null;
1128
+ }
1129
+ int[] colors = new int[colorArray.size()];
1130
+
1131
+ try {
1132
+ for (int i = 0; i < colors.length; i++) {
1133
+ final String colorStr = colorArray.getString(i);
1134
+ colors[i] = Color.parseColor(colorStr);
1135
+ if (LogUtils.isDebug()) {
1136
+ // Log.d(TAG, "createGradientDrawable colorStr :" + colorStr + ",this:" + view.getId());
1137
+ }
1138
+ }
1139
+ } catch (Exception e) {
1140
+ if(LogUtils.isDebug()) {
1141
+ Log.e("hippy", "color parse fail createGradientDrawable return !");
1142
+ }
1143
+ return null;
1144
+ }
1145
+
1146
+ final GradientDrawable g = new GradientDrawable(orientation, colors);
1147
+ g.setShape(shape);
1148
+ g.setGradientType(type);
1149
+ if (map.containsKey("gradientRadius")) {
1150
+ g.setGradientRadius(PixelUtil.dp2px(map.getInt("gradientRadius")));
1151
+ }
1152
+ if (map.containsKey("cornerRadius")) {
1153
+ g.setCornerRadius(PixelUtil.dp2px((float) map.getDouble("cornerRadius")));
1154
+ }
1155
+ if (map.containsKey("cornerRadii4")) {
1156
+ HippyArray array = map.getArray("cornerRadii4");
1157
+ if (array.size() != 4) {
1158
+ throw new IllegalArgumentException("cornerRadii4 size need 8");
1159
+ }
1160
+ g.setCornerRadii(new float[]{
1161
+ PixelUtil.dp2px((float) array.getDouble(0)), PixelUtil.dp2px((float) array.getDouble(0)),
1162
+ PixelUtil.dp2px((float) array.getDouble(1)), PixelUtil.dp2px((float) array.getDouble(1)),
1163
+ PixelUtil.dp2px((float) array.getDouble(2)), PixelUtil.dp2px((float) array.getDouble(2)),
1164
+ PixelUtil.dp2px((float) array.getDouble(3)), PixelUtil.dp2px((float) array.getDouble(3)),
1165
+ });
1166
+ }
1167
+ if (map.containsKey("cornerRadii8")) {
1168
+ HippyArray array = map.getArray("cornerRadii8");
1169
+ if (array.size() != 8) {
1170
+ throw new IllegalArgumentException("cornerRadii8 size need 8");
1171
+ }
1172
+ float[] radii = new float[array.size()];
1173
+ for (int i = 0; i < radii.length; i++) {
1174
+ radii[i] = PixelUtil.dp2px((float) (array.getDouble(i)));
1175
+ }
1176
+ g.setCornerRadii(radii);
1177
+ }
1178
+ return g;
1179
+ }
1180
+
1181
+ @Override
1182
+ public boolean drawChild(Canvas canvas, View child, long drawingTime) {
1183
+ if (mBringToFrontOnFocus && child == getFocusedChild()) {
1184
+ return true;
1185
+ }
1186
+ if (overFlowViewIndex > -1 && overFlowViewIndex < getChildCount()) {
1187
+ final View v = getChildAt(overFlowViewIndex);
1188
+ if (child == v) {
1189
+ return true;
1190
+ }
1191
+ }
1192
+ return super.drawChild(canvas, child, drawingTime);
1193
+ }
1194
+
1195
+ //zhaopeng add
1196
+ private boolean mEnableChildFocusEvent = false;
1197
+ private HippyViewEvent mChildFocusEvent;
1198
+
1199
+ @Override
1200
+ public void setDispatchChildFocusEvent(boolean enable) {
1201
+ //
1202
+ this.mEnableChildFocusEvent = enable;
1203
+ }
1204
+
1205
+ // ChildOnScreenScroller childOnScreenScroller;
1206
+ int[] tempOut = new int[2];
1207
+
1208
+
1209
+
1210
+ @Override
1211
+ public boolean requestChildRectangleOnScreen(View child, Rect rectangle, boolean immediate) {
1212
+ //return super.requestChildRectangleOnScreen(child, rectangle, immediate);
1213
+ //int scroll = ChildOnScreenScroller.getScrollToPositionOffset(-1,this,child, RecyclerView.VERTICAL,getChildCount(), TVRecyclerView.REQUEST_CHILD_ON_SCREEN_TYPE_ANDROID,0);
1214
+ if(enableOverScrollY || enableOverScrollX){
1215
+ getChildRectangleOnScreenScrollAmount(this,child,rectangle,immediate,tempOut);
1216
+ int sy = enableOverScrollY ? tempOut[1] : 0;
1217
+ int sx = enableOverScrollX ? tempOut[0] : 0;
1218
+ Log.i(TAG,"requestChildRectangleOnScreen child:"+ExtendUtil.debugViewLite(child)+",sy:"+sy+",sx:"+sx+",immediate:"+immediate);
1219
+ if(sy != 0 || sx != 0){
1220
+ if(!immediate) {
1221
+ smoothScrollBy(sx, sy);
1222
+ }else{
1223
+ scrollBy(sx,sy);
1224
+ }
1225
+ return true;
1226
+ }else{
1227
+ return false;
1228
+ }
1229
+ }
1230
+ return super.requestChildRectangleOnScreen(child, rectangle, immediate);
1231
+ }
1232
+
1233
+ static int[] getChildRectangleOnScreenScrollAmount(View parent, View child, Rect rect, boolean immediate,int[] out) {
1234
+ // int[] out = new int[2];
1235
+ int parentLeft = parent.getPaddingLeft();
1236
+ int parentTop = parent.getPaddingTop();
1237
+ int parentRight = parent.getWidth() - parent.getPaddingRight();
1238
+ int parentBottom = parent.getHeight() - parent.getPaddingBottom();
1239
+ int childLeft = child.getLeft() + rect.left - child.getScrollX();
1240
+ int childTop = child.getTop() + rect.top - child.getScrollY();
1241
+ int childRight = childLeft + rect.width();
1242
+ int childBottom = childTop + rect.height();
1243
+ int offScreenLeft = Math.min(0, childLeft - parentLeft - parent.getScrollX());
1244
+ int offScreenTop = Math.min(0, childTop - parentTop - parent.getScrollY());
1245
+ int offScreenRight = Math.max(0, childRight - parentRight - parent.getScrollX());
1246
+ int offScreenBottom = Math.max(0, childBottom - parentBottom - parent.getScrollY());
1247
+ int dx;
1248
+ // if (this.getLayoutDirection() == 1) {
1249
+ // dx = offScreenRight != 0 ? offScreenRight : Math.max(offScreenLeft, childRight - parentRight);
1250
+ // } else {
1251
+ dx = offScreenLeft != 0 ? offScreenLeft : Math.min(childLeft - parentLeft, offScreenRight);
1252
+ // }
1253
+
1254
+ int dy = offScreenTop != 0 ? offScreenTop : Math.min(childTop - parentTop, offScreenBottom);
1255
+
1256
+ Log.d(HippyViewGroup.TAG,"childTop:"+child.getTop()+",rect:"+rect.top+",childScrollY:"+child.getScrollY()+",parentScrollY:"+parent.getScrollY());
1257
+ Log.d(HippyViewGroup.TAG,"getChildRectangleOnScreenScrollAmount dx : "+dx+",dy : "+dy+",offScreenLeft : "+offScreenLeft+",offScreenTop : "+offScreenTop+",offScreenRight : "+offScreenRight+",offScreenBottom : "+offScreenBottom+",childLeft : "+childLeft+",childTop : "+childTop+",childRight : "+childRight+",childBottom : "+childBottom+",parentLeft : "+parentLeft+",parentTop : "+parentTop+",parentRight : "+parentRight+",parentBottom : "+parentBottom);
1258
+ out[0] = dx;
1259
+ out[1] = dy;
1260
+ return out;
1261
+ }
1262
+
1263
+ @Override
1264
+ public void clearFocus() {
1265
+ super.clearFocus();
1266
+ if(LogUtils.isDebug()){
1267
+ Log.i(FocusDispatchView.TAG,"clearFocus this:"+ExtendUtil.debugViewLite(this));
1268
+ }
1269
+ }
1270
+
1271
+ @Override
1272
+ public void requestChildFocus(View child, View focused) {
1273
+ super.requestChildFocus(child, focused);
1274
+ if (mEnableChildFocusEvent) {
1275
+ if (mChildFocusEvent == null) {
1276
+ mChildFocusEvent = new HippyViewEvent(InternalExtendViewUtil.CHILD_FOCUS_EVENT_NAME);
1277
+ }
1278
+ InternalExtendViewUtil.sendEventOnRequestChildFocus(this, child, focused, mChildFocusEvent);
1279
+ }
1280
+ if(getDescendantFocusability() == FOCUS_BLOCK_DESCENDANTS) {
1281
+ LogAdapterUtils.log(getContext(), FocusDispatchView.TAG, "focus-> fail on BLOCK => " + ExtendUtil.debugViewLite(focused));
1282
+ }else{
1283
+ LogAdapterUtils.log(getContext(), FocusDispatchView.TAG, "focus-> " + ExtendUtil.debugViewLite(focused));
1284
+ }
1285
+ if (ExtendViewGroup.ROOT_TAG.equals(getTag(R.id.page_root_view))) {
1286
+ if(getDescendantFocusability() == FOCUS_BLOCK_DESCENDANTS){
1287
+ if(LogUtils.isDebug()) {
1288
+ Log.e(FocusDispatchView.TAG, "GLOBAL_FOCUS TO VIEW fail on root view FOCUS_BLOCK_DESCENDANTS:" + ExtendUtil.debugView(focused));
1289
+ }
1290
+ if (focused != null) {
1291
+ //fixme 20250729 这里当root被block后,会导致焦点请求失败,但是isFocused状态被记录,导致后续再也请求不了,所以这里clear一下
1292
+ focused.clearFocus();
1293
+ }
1294
+ return;
1295
+ }else{
1296
+ if(LogUtils.isDebug()) {
1297
+ Log.i(FocusDispatchView.TAG, "GLOBAL_FOCUS TO VIEW:" + ExtendUtil.debugView(focused));
1298
+ }
1299
+ }
1300
+ }
1301
+ // ExtendUtil.logView(FocusDispatchView.TAG,focused);
1302
+ if (focusMemoryEnable) {
1303
+ memoryFocused = focused;
1304
+ }
1305
+ if(isPageRoot() && mAutoFocusManager != null){
1306
+ mAutoFocusManager.onRequestChildFocus(child, focused);
1307
+ }
1308
+ //Log.d("DebugDivSelect", "requestChildFocus enableSelectOnFocus:"+enableSelectOnFocus+",requestChildFocus this :"+ExtendUtil.debugViewLite(this));
1309
+ if (enableSelectOnFocus) {
1310
+ changeSelectState(defaultSectionPosition, false);
1311
+ defaultSectionPosition = searchChildIndex(child);
1312
+ //Log.d("DebugDivSelect","searchChildIndex:"+child+",defaultSectionPosition:"+defaultSectionPosition);
1313
+ changeSelectState(defaultSectionPosition, true);
1314
+ }
1315
+ // getchild
1316
+
1317
+ postInvalidateDelayed(16);
1318
+ if(enableOverScrollY) {
1319
+ // Log.i(TAG, "enableOverScrollY : " + true + ",this:" + ExtendUtil.debugViewLite(this));
1320
+ }
1321
+ if(enableOverScrollX || enableOverScrollY) {
1322
+ View rectView = focused == null ? child : focused;
1323
+ this.mTempRect.set(0, 0, rectView.getWidth(), rectView.getHeight());
1324
+ requestChildRectangleOnScreen(rectView, this.mTempRect, true);
1325
+ }
1326
+ }
1327
+
1328
+ public int searchChildIndex(View child){
1329
+ if (child.getParent() != this) {
1330
+ return -1;
1331
+ }
1332
+ for(int i = 0; i < getChildCount();i ++){
1333
+ if(getChildAt(i)== child){
1334
+ return i;
1335
+ }
1336
+ }
1337
+ return -1;
1338
+ }
1339
+
1340
+ private Rect mTempRect = new Rect();
1341
+
1342
+
1343
+ @Override
1344
+ public View getHostView() {
1345
+ return this;
1346
+ }
1347
+
1348
+ @Override
1349
+ public void setVisibility(int visibility) {
1350
+ super.setVisibility(visibility);
1351
+ }
1352
+
1353
+
1354
+ private void stopListenGlobalFocusChange() {
1355
+ if (mOnGlobalFocusChangeListener != null) {
1356
+ getViewTreeObserver().removeOnGlobalFocusChangeListener(mOnGlobalFocusChangeListener);
1357
+ mOnGlobalFocusChangeListener = null;
1358
+ }
1359
+ }
1360
+
1361
+ public void setListenGlobalFocusChange(boolean listenGlobalFocusChange) {
1362
+ isListenGlobalFocusChange = listenGlobalFocusChange;
1363
+ }
1364
+
1365
+ private void listenGlobalFocusChangeIfNeed() {
1366
+ stopListenGlobalFocusChange();
1367
+ if (isListenGlobalFocusChange) {
1368
+ mOnGlobalFocusChangeListener = new ViewTreeObserver.OnGlobalFocusChangeListener() {
1369
+ @Override
1370
+ public void onGlobalFocusChanged(View oldFocus, View newFocus) {
1371
+ if (LogUtils.isDebug()) {
1372
+ Log.d(TAG, "onGlobalFocusChanged hasFocus : " + hasFocus() + " this :" + this);
1373
+ }
1374
+ if (hasFocus()) {
1375
+ if (oldFocus == null) {
1376
+ //首次获得焦点
1377
+ notifyViewFocusChanged(true, false, null, newFocus, false);
1378
+ } else {
1379
+ //焦点在内部,但上一个view不属于内部
1380
+ final boolean isOldFocusDescendantOf = TVViewUtil.isViewDescendantOf(oldFocus, HippyViewGroup.this);
1381
+ if (!isOldFocusDescendantOf) {
1382
+ notifyViewFocusChanged(true, false, oldFocus, newFocus, false);
1383
+ }
1384
+ }
1385
+ } else {
1386
+ final boolean isNewFocusDescendantOf = TVViewUtil.isViewDescendantOf(newFocus, HippyViewGroup.this);
1387
+ if (LogUtils.isDebug()) {
1388
+ Log.d(TAG, "onGlobalFocusChanged hasFocus : " + hasFocus() + " isNewFocusDescendantOf : " + isNewFocusDescendantOf);
1389
+ }
1390
+ if (!isNewFocusDescendantOf) {
1391
+ //焦点丢失
1392
+ final boolean isOldFocusDescendantOf = TVViewUtil.isViewDescendantOf(oldFocus, HippyViewGroup.this);
1393
+
1394
+ if (isOldFocusDescendantOf) {
1395
+ notifyViewFocusChanged(false, true, oldFocus, newFocus, true);
1396
+ }
1397
+ }
1398
+ }
1399
+ }
1400
+ };
1401
+ getViewTreeObserver().addOnGlobalFocusChangeListener(mOnGlobalFocusChangeListener);
1402
+ }
1403
+ }
1404
+
1405
+ private boolean isListenGlobalFocusChange = false;
1406
+ private ViewTreeObserver.OnGlobalFocusChangeListener mOnGlobalFocusChangeListener;
1407
+
1408
+ boolean lastFocusState = false;
1409
+
1410
+ private void notifyViewFocusChanged(boolean hasFocus, boolean isOldFocusDescendantOf, View oldFocus, View focused, boolean loseFocus) {
1411
+ //
1412
+ Log.d(TAG, "notifyViewGroupFocusChanged lastFocusState != hasFocus:" + (lastFocusState != hasFocus) + ",loseFocus:" + loseFocus + ",isOldFocusDescendantOf:" + isOldFocusDescendantOf);
1413
+
1414
+ if (lastFocusState != hasFocus) {
1415
+ onViewFocusChanged(hasFocus, focused);
1416
+ lastFocusState = hasFocus;
1417
+ }
1418
+
1419
+
1420
+ }
1421
+
1422
+
1423
+
1424
+
1425
+ protected void onViewFocusChanged(boolean hasFocus, View focused) {
1426
+ //
1427
+ if (LogUtils.isDebug()) {
1428
+ Log.d(TAG, "onViewGroupFocusChanged hasFocus : " + hasFocus + " this :" + this);
1429
+ }
1430
+ LogUtils.d(TAG, "onViewGroupFocusChanged context:" + getHippyContext());
1431
+ if (getHippyContext() != null) {
1432
+ if (hasFocus) {
1433
+ TriggerTaskManagerModule.dispatchTriggerTask(this, "onFocusAcquired");
1434
+ } else {
1435
+ TriggerTaskManagerModule.dispatchTriggerTask(this, "onFocusLost");
1436
+ }
1437
+ }
1438
+ }
1439
+
1440
+
1441
+ private int triggerKeyEventCode = -1;
1442
+
1443
+ public void setTriggerKeyEvent(int keyCode) {
1444
+ this.triggerKeyEventCode = keyCode;
1445
+ }
1446
+
1447
+
1448
+ private void sendInterceptKeyJSEvent(KeyEvent event){
1449
+ if(interceptKeyJSEvent == null){
1450
+ interceptKeyJSEvent = new HippyViewEvent("onInterceptKeyEvent");
1451
+ }
1452
+ HippyMap map = new HippyMap();
1453
+ map.pushInt("keyCode",event.getKeyCode());
1454
+ map.pushInt("action",event.getAction());
1455
+ interceptKeyJSEvent.send(this,map);
1456
+ }
1457
+
1458
+ @Override
1459
+ public boolean dispatchKeyEvent(KeyEvent event) {
1460
+ if(interceptKeyEvent){
1461
+ Log.e(TAG,"dispatchKeyEventPreIme return on interceptKeyEvent this:"+this);
1462
+ sendInterceptKeyJSEvent(event);
1463
+ return true;
1464
+ }
1465
+ if(interceptKeyEvents != null){
1466
+ for(int i = 0; i < interceptKeyEvents.size(); i ++){
1467
+ int key = interceptKeyEvents.getInt(i);
1468
+ if(event.getKeyCode() == key){
1469
+ sendInterceptKeyJSEvent(event);
1470
+ Log.e(TAG,"dispatchKeyEventPreIme return on interceptKeyEvent keyCode:"+key+",this:"+this);
1471
+ return true;
1472
+ }
1473
+ }
1474
+ }
1475
+ if (triggerKeyEventCode == event.getKeyCode()) {
1476
+ if (TriggerTaskManagerModule.dispatchTriggerTask(this, "onDispatchKeyEvent")) {
1477
+ return true;
1478
+ }
1479
+ }
1480
+ return super.dispatchKeyEvent(event);
1481
+ }
1482
+
1483
+ private Rect clipOutset;
1484
+
1485
+ public void setClipOutset(int left, int top, int right, int bottom) {
1486
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
1487
+ if (clipOutset == null) {
1488
+ clipOutset = new Rect();
1489
+ }
1490
+ clipOutset.set(left, top, right, bottom);
1491
+ requestLayout();
1492
+ setClipChildren(false);
1493
+ }
1494
+ }
1495
+
1496
+
1497
+
1498
+
1499
+ Rect temp;
1500
+
1501
+ @Override
1502
+ protected void onLayout(boolean changed, int l, int t, int r, int b) {
1503
+ if (LogUtils.isDebug()) {
1504
+ Log.d(CustomLayoutView.TAG, "onLayout id: " + getId() + ",width:" + getWidth() + ",height:" + getHeight() + ",this:" + this + ",l:" + l + ",t:" + t);
1505
+ }
1506
+ super.onLayout(changed, l, t, r, b);
1507
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
1508
+ if (clipOutset != null) {
1509
+ if (temp == null) {
1510
+ temp = new Rect();
1511
+ }
1512
+ temp.set(-clipOutset.left, -clipOutset.top, getWidth() + clipOutset.right, getHeight() + clipOutset.bottom);
1513
+
1514
+ setClipBounds(temp);
1515
+ }
1516
+ }
1517
+ if(isPageRoot()){
1518
+ //fixme 临时适配非16:9适配
1519
+ final int tx = EngineRootView.getScreenTranslateX();
1520
+ final int ty = EngineRootView.getScreenTranslateY();
1521
+ if(tx != 0 || ty != 0) {
1522
+ for (int i = 0; i < getChildCount(); i++) {
1523
+ final View v = getChildAt(i);
1524
+ v.layout(l + tx, t + ty, r + tx, b + ty);
1525
+ }
1526
+ }
1527
+ }
1528
+ else if(changed){
1529
+ //Log.i(CustomLayoutView.TAG,"onLayout changed this:"+this);
1530
+ for(int i = 0; i < getChildCount(); i ++){
1531
+ final View v = getChildAt(i);
1532
+ if(v instanceof HippyViewGroup){
1533
+ final HippyViewGroup cv = (HippyViewGroup) v;
1534
+ if(cv.isFillParentEnabled){
1535
+ Log.e(CustomLayoutView.TAG,"onLayout changed child isFillParentEnabled true:"+cv);
1536
+ cv.layout(l,t,r,b);
1537
+ }
1538
+ }
1539
+ }
1540
+ }
1541
+ }
1542
+
1543
+
1544
+
1545
+
1546
+ @Override
1547
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
1548
+ // if (LogUtils.isDebug()) {
1549
+ // Log.d(CustomLayoutView.TAG, "requestLayout id: " + getId() + ",MeasureWidth:" + getMeasuredWidth() + ",MeasureHeight:" + getMeasuredHeight() + ",this:" + this);
1550
+ // }
1551
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec);
1552
+ }
1553
+
1554
+ @Override
1555
+ public void requestLayout() {
1556
+ // if(needLayoutFromCustom && getParent() instanceof CustomLayoutView){
1557
+ // ((CustomLayoutView) getParent()).setLayoutRequestFromCustom(true);
1558
+ // }
1559
+ // if (LogUtils.isDebug() && getId() != -1) {
1560
+ // Log.d(CustomLayoutView.TAG, "requestLayout id: " + getId() + ",this:" + this);
1561
+ // }
1562
+ // requestLayoutCustom();
1563
+ super.requestLayout();
1564
+ // if(needLayoutFromCustom) {
1565
+ // RenderUtil.addUpdateLayout(this);
1566
+ // }
1567
+ }
1568
+
1569
+
1570
+ protected void onLayoutCustom() {
1571
+
1572
+ }
1573
+
1574
+ public void requestLayoutCustom() {
1575
+ needLayoutFromCustom = true;
1576
+ }
1577
+
1578
+
1579
+ private boolean needLayoutFromCustom = false;
1580
+
1581
+
1582
+ @Override
1583
+ public boolean isLayoutRequested() {
1584
+ boolean b = super.isLayoutRequested();
1585
+ // if (LogUtils.isDebug() && getId() != -1) {
1586
+ // Log.v(CustomLayoutView.TAG, "isLayoutRequested id: " + getId() + ",super return:" + b + ",isLayoutRequestFromCustom:" + needLayoutFromCustom);
1587
+ // }
1588
+ if (isLayoutRequestFromCustom()) {
1589
+ return false;
1590
+ }
1591
+ return b;
1592
+ }
1593
+
1594
+ @Override
1595
+ public void setLayoutRequestFromCustom(boolean b) {
1596
+ needLayoutFromCustom = b;
1597
+ }
1598
+
1599
+ @Override
1600
+ public boolean isLayoutRequestFromCustom() {
1601
+ return needLayoutFromCustom;
1602
+ }
1603
+
1604
+ @Override
1605
+ protected void drawableStateChanged() {
1606
+ super.drawableStateChanged();
1607
+ }
1608
+
1609
+
1610
+ /**
1611
+ * zhaopeng add
1612
+ */
1613
+
1614
+ public void setFocusScrollTarget(boolean enable) {
1615
+ this.isFocusScrollTarget = enable;
1616
+ }
1617
+
1618
+ public boolean isFocusScrollTarget() {
1619
+ return isFocusScrollTarget;
1620
+ }
1621
+
1622
+ private boolean isPageHidden = false;
1623
+
1624
+
1625
+ private boolean isFillParentEnabled = false;
1626
+
1627
+ public void setFillParentEnabled(boolean fillParentEnabled) {
1628
+ isFillParentEnabled = fillParentEnabled;
1629
+ }
1630
+
1631
+ protected void onPageHiddenChanged(boolean hidden) {
1632
+ this.isPageHidden = hidden;
1633
+ if (hidden) {
1634
+ stopListenGlobalFocusChange();
1635
+ } else {
1636
+ listenGlobalFocusChangeIfNeed();
1637
+ }
1638
+ }
1639
+
1640
+ @Override
1641
+ public boolean isPageHidden() {
1642
+ return isPageHidden;
1643
+ }
1644
+
1645
+ @Override
1646
+ public void changePageHidden(boolean hidden) {
1647
+ Log.i(TAG,"changePageHidden hidden:"+hidden+",this:"+ExtendUtil.debugViewLite(this));
1648
+ onPageHiddenChanged(hidden);
1649
+ for (int i = 0; i < getChildCount(); i++) {
1650
+ final View v = getChildAt(i);
1651
+ if (v instanceof ExtendViewGroup) {
1652
+ ((ExtendViewGroup) v).changePageHidden(hidden);
1653
+ }
1654
+ }
1655
+ }
1656
+
1657
+ @Override
1658
+ public void setId(int id) {
1659
+ super.setId(id);
1660
+ if( ExtendViewGroup.ROOT_TAG.equals(getTag(R.id.page_root_view))) {
1661
+ //在Context注册
1662
+ if(getContext() instanceof HippyInstanceContext){
1663
+ ((HippyInstanceContext) getContext()).registerPageRoot(id);
1664
+ }
1665
+ if(LogUtils.isDebug()) {
1666
+ Log.i(TAG, "setId :" + this + ",context:" + getContext());
1667
+ Log.e(AutoFocusManager.TAG, "rootView setId :" + this + ",context:" + getContext());
1668
+ }
1669
+ }
1670
+ }
1671
+
1672
+ protected void setAsRootView() {
1673
+ if(LogUtils.isDebug()) {
1674
+ Log.i(TAG, "setAsRootView :" + this + ",context:" + getContext());
1675
+ }
1676
+ setTag(R.id.page_root_view, ExtendViewGroup.ROOT_TAG);
1677
+ // setEnableMouse(true);
1678
+ }
1679
+
1680
+
1681
+ /**
1682
+ * 从View的Context(必须是HippyInstanceContext)中寻找RootView
1683
+ * @param context
1684
+ * @return
1685
+ */
1686
+ public static View findPageRootViewFromContext(Context context){
1687
+ return ExtendUtil.findPageRootViewFromContext(context);
1688
+ }
1689
+
1690
+ @SuppressLint("ResourceType")
1691
+ @Deprecated
1692
+ public static View findPageRootView(View v) {
1693
+ return ExtendUtil.findPageRootView(v);
1694
+ }
1695
+
1696
+ @Deprecated()
1697
+ public static View findRootViewFromParent(View v){
1698
+ return ExtendUtil.searchRootViewTraverse(v);
1699
+ }
1700
+
1701
+ @Override
1702
+ public void getState(@NonNull HippyMap map) {
1703
+ super.getState(map);
1704
+
1705
+ int focusIndex = -1;
1706
+ if (getFocusedChild() != null && getChildCount() > 0) {
1707
+ focusIndex = indexOfChild(getFocusedChild());
1708
+ }
1709
+ map.pushInt("focusChildIndex", focusIndex);
1710
+ map.pushInt("childCount", getChildCount());
1711
+ }
1712
+
1713
+ /**
1714
+ * zhaopeng add
1715
+ */
1716
+
1717
+ public void setShakeSelf(boolean shakeSelf) {
1718
+ this.shakeSelf = shakeSelf;
1719
+ }
1720
+
1721
+ //自动获取焦点的逻辑
1722
+ private AutoFocusManager mAutoFocusManager;
1723
+ public AutoFocusManager getAutoFocusManager(){
1724
+ if (mAutoFocusManager == null) {
1725
+ mAutoFocusManager = new AutoFocusManager(this);
1726
+ }
1727
+ return mAutoFocusManager;
1728
+ }
1729
+
1730
+ boolean isPageRoot(){
1731
+ return ExtendViewGroup.ROOT_TAG.equals(getTag(R.id.page_root_view));
1732
+ }
1733
+
1734
+ @Override
1735
+ public void onRequestAutofocus(View child, View target,int type) {
1736
+ if(LogUtils.isDebug()) {
1737
+ Log.d(AutoFocusManager.TAG, "--onRequestAutofocus child:" + child + ",target:" + ExtendUtil.debugView(target)+",blockFocus is :"+(getDescendantFocusability() == FOCUS_BLOCK_DESCENDANTS));
1738
+ }
1739
+ if(this.getVisibility() != View.VISIBLE){
1740
+ Log.e(AutoFocusManager.TAG,"onRequestAutofocus return on parent visibility != View.VISIBLE,"+ExtendUtil.debugView(this)+",target:"+ExtendUtil.debugView(target));
1741
+ return;
1742
+ }
1743
+ // if(getWidth() < 1 || getHeight() < 1){
1744
+ // Log.e(AutoFocusManager.TAG,"onRequestAutofocus return on parent size invalid "+ExtendUtil.debugView(this)+",target:"+ExtendUtil.debugView(target));
1745
+ // return;
1746
+ // }
1747
+
1748
+
1749
+
1750
+ if(isPageRoot()){
1751
+ if(LogUtils.isDebug()) {
1752
+ Log.e(AutoFocusManager.TAG, "onRequestAutofocus requestFocus on PageRoot");
1753
+ }
1754
+ //AutoFocusManager.globalRequestFocus(target);
1755
+ final AutoFocusManager af = AutoFocusManager.findAutoFocusManagerFromRoot(this);
1756
+ if (af != null) {
1757
+ af.requestGlobalRequestFocus(this,target,type);
1758
+ }else{
1759
+ Log.e(AutoFocusManager.TAG, "onRequestAutofocus requestFocus on PageRoot af is null");
1760
+ }
1761
+ }else {
1762
+ if (getParent() instanceof ExtendViewGroup) {
1763
+ ExtendViewGroup parent = (ExtendViewGroup) getParent();
1764
+ parent.onRequestAutofocus(this, target,type);
1765
+ } else {
1766
+ if(LogUtils.isDebug()) {
1767
+ Log.i(AutoFocusManager.TAG, "onRequestAutofocus parent is not a instance of ExtendViewGroup parent: " + getParent());
1768
+ }
1769
+ final AutoFocusManager af = AutoFocusManager.findAutoFocusManagerFromRoot(this);
1770
+ if (af != null) {
1771
+ af.requestGlobalRequestFocus(this,target,type);
1772
+ }else{
1773
+ Log.e(AutoFocusManager.TAG, "onRequestAutofocus requestFocus on PageRoot af is null");
1774
+ }
1775
+ }
1776
+ }
1777
+ }
1778
+
1779
+ public void enableFocusMemory(boolean enable) {
1780
+ // Log.i(TAG,"enableFocusMemory enable:"+enable+",this:"+ExtendUtil.debugView(this));
1781
+ this.focusMemoryEnable = enable;
1782
+ if (!enable) {
1783
+ memoryFocused = null;
1784
+ }
1785
+ }
1786
+
1787
+ public void notifyDialogDivVisibleChange(HippyViewGroup dialogDiv,boolean isShow){
1788
+
1789
+ }
1790
+
1791
+ public void beforeDialogDivVisibleChange(HippyViewGroup dialogDiv,boolean isShow){
1792
+
1793
+ }
1794
+
1795
+
1796
+ public void clearMemoryFocused(){
1797
+ memoryFocused = null;
1798
+ }
1799
+
1800
+ public FocusSearchHelper getFirstFocusHelper() {
1801
+ return mFocusSearchHelper;
1802
+ }
1803
+
1804
+
1805
+ @Override
1806
+ public void setDescendantFocusability(int focusability) {
1807
+ final int last = getDescendantFocusability();
1808
+ super.setDescendantFocusability(focusability);
1809
+ if(LogUtils.isDebug()) {
1810
+ if(focusability == FOCUS_BLOCK_DESCENDANTS) {
1811
+ Log.e(FocusDispatchView.TAG, "block Focus , this:" + ExtendUtil.debugViewLite(this));
1812
+ }else if(last == FOCUS_BLOCK_DESCENDANTS){
1813
+ Log.i(FocusDispatchView.TAG, "release block , this:" + ExtendUtil.debugViewLite(this));
1814
+ }
1815
+ }
1816
+ }
1817
+
1818
+ @Override
1819
+ public boolean requestFocus(int direction, Rect previouslyFocusedRect) {
1820
+ boolean b = false;
1821
+ View view = getFirstFocusHelper().findFirstFocusChildByDirection(direction);
1822
+ if (view != null) {
1823
+ b = view.requestFocus();
1824
+ if(LogUtils.isDebug()) {
1825
+ Log.i(FocusDispatchView.TAG, "!!!!!! div requestFocus by firstFocusHelper view " + ExtendUtil.debugViewLite(view) + ",this:" + ExtendUtil.debugViewLite(this));
1826
+ }
1827
+ }
1828
+ if(!b) {
1829
+ b = super.requestFocus(direction, previouslyFocusedRect);
1830
+ if(!b && LogUtils.isDebug()){
1831
+ final ViewParent blockedView = FocusUtils.findFocusBlockedParent(getParent());
1832
+ if(LogUtils.isDebug()) {
1833
+ Log.w(FocusDispatchView.TAG, "!!!!!! div requestFocus return " + false + ",this:" + ExtendUtil.debugViewLite(this));
1834
+ if (blockedView instanceof View) {
1835
+ Log.e(FocusDispatchView.TAG, "!!!!!! div requestFocus return by blockedView " + ExtendUtil.debugViewLite((View) blockedView));
1836
+ }
1837
+ }
1838
+ }
1839
+ }
1840
+ return b;
1841
+ }
1842
+
1843
+ @Override
1844
+ public boolean onHoverEvent(MotionEvent event) {
1845
+ return super.onHoverEvent(event);
1846
+ }
1847
+
1848
+ private int defaultSectionPosition = -1;
1849
+ /**
1850
+ * 设置选中的子view,注意此方法只在view已经显示出来以后调用才有效。
1851
+ *
1852
+ * @param position
1853
+ */
1854
+ public void setSelectChildPosition(int position, boolean changeTargetFocusChild) {
1855
+ //Log.i(TAG, "setSelectChildPosition position:" + position + " ,changeTargetFocusChild:" + changeTargetFocusChild + ",hasCode:" + hashCode() + ",enableSelectOnFocus:" + enableSelectOnFocus);
1856
+ final View selectedChild = findSelectedChild();
1857
+ if (selectedChild != null && selectedChild.isSelected()) {
1858
+ selectedChild.setSelected(false);
1859
+ }
1860
+ // if (changeTargetFocusChild) {
1861
+ // setTargetFocusChildPosition(position);
1862
+ // }
1863
+ this.defaultSectionPosition = position;
1864
+ if (!hasFocus() || !enableSelectOnFocus) {
1865
+ final View next = findViewByPosition(position);
1866
+ changeSelectState(next, true);
1867
+ }
1868
+ }
1869
+
1870
+ private View findViewByPosition(int position) {
1871
+ if (getChildCount() > position && position > -1) {
1872
+ return getChildAt(position);
1873
+ }
1874
+ return null;
1875
+ }
1876
+
1877
+ private boolean enableSelectOnFocus = false;
1878
+ // protected boolean enableFocusMemory = true;
1879
+
1880
+ public void setEnableSelectOnFocus(boolean enableSelectOnFocus) {
1881
+ this.enableSelectOnFocus = enableSelectOnFocus;
1882
+ Log.d("DebugDivSelect","setEnableSelectOnFocus flag:"+enableSelectOnFocus+",this:"+ExtendUtil.debugViewLite(this));
1883
+ }
1884
+
1885
+ public void clearSelectChild(){
1886
+ final View selectedChild = findSelectedChild() == null ? findViewByPosition(defaultSectionPosition) : findSelectedChild();
1887
+ // Log.i("CustomState","clearSelectChild selectedChild:"+ExtendUtil.debugViewLite(selectedChild)+" defaultSectionPosition:"+defaultSectionPosition+",singleSelectPosition:"+getControlProps().singleSelectPosition);
1888
+ if (selectedChild != null) {
1889
+ selectedChild.setSelected(false);
1890
+ }
1891
+ defaultSectionPosition = -1;
1892
+ }
1893
+
1894
+ public View findSelectedChild() {
1895
+ return findViewByPosition(defaultSectionPosition);
1896
+ }
1897
+
1898
+ //获取当前selection状态
1899
+ public int getSelectChildPosition() {
1900
+ return defaultSectionPosition;
1901
+ }
1902
+
1903
+
1904
+ void changeSelectState(final int position, boolean select) {
1905
+ final View child = findViewByPosition(position);
1906
+ //Log.i("DebugDivSelect","changeSelectState position:"+position+",select:"+select);
1907
+ if (child != null) {
1908
+ changeSelectState(child, select);
1909
+ }
1910
+ }
1911
+
1912
+ void changeSelectState(View child, boolean select) {
1913
+ // if(child != null && child != getFocusedChild()){
1914
+ if (child != null) {
1915
+ if (select) {
1916
+ if (child.isSelected()) {
1917
+ child.setSelected(false);
1918
+ }
1919
+ child.setSelected(true);
1920
+ } else {
1921
+ child.setSelected(false);
1922
+ }
1923
+ }
1924
+ }
1925
+
1926
+ @Override
1927
+ protected float getLeftFadingEdgeStrength() {
1928
+ return enableCustomFade ? mFadeRect.left : super.getLeftFadingEdgeStrength();
1929
+ }
1930
+
1931
+ @Override
1932
+ protected float getRightFadingEdgeStrength() {
1933
+ return enableCustomFade ? mFadeRect.right : super.getRightFadingEdgeStrength();
1934
+ }
1935
+
1936
+ @Override
1937
+ protected float getTopFadingEdgeStrength() {
1938
+ return enableCustomFade ? mFadeRect.top : super.getTopFadingEdgeStrength();
1939
+ }
1940
+
1941
+ @Override
1942
+ protected float getBottomFadingEdgeStrength() {
1943
+ return enableCustomFade ? mFadeRect.bottom : super.getBottomFadingEdgeStrength();
1944
+ }
1945
+
1946
+ private final RectF mFadeRect = new RectF(); //[left,right,top,bottom ]
1947
+ private boolean enableCustomFade = false;
1948
+ private ValueAnimator mFadeStartAnimator,mFadeEndAnimator;
1949
+
1950
+
1951
+ /**
1952
+ *
1953
+ * @param length 渐变长度
1954
+ * @param vertical 纵向或者横向
1955
+ * @param startOrEnd 开始位置或者是结束位置
1956
+ * @param duration 时间
1957
+ * @param showOrDismiss true表示显示,false表示隐藏
1958
+ */
1959
+ public void smoothShowFade(int length,boolean vertical,boolean startOrEnd,int duration,boolean showOrDismiss){
1960
+ enableCustomFade = true;
1961
+ // if(showOrDismiss){
1962
+ // Log.i("DebugFade", "+++smoothShow length:" + length + ",vertical:" + vertical + ",startOrEnd:" + startOrEnd + ",duration:" + duration );
1963
+ // }else {
1964
+ // Log.i("DebugFade", "---smoothDismiss length:" + length + ",vertical:" + vertical + ",startOrEnd:" + startOrEnd + ",duration:" + duration );
1965
+ // }
1966
+ setFadingEdgeLength(length);
1967
+ if(vertical){
1968
+ setVerticalFadingEdgeEnabled(length > 0);
1969
+ }else{
1970
+ setHorizontalFadingEdgeEnabled(length > 0);
1971
+ }
1972
+ float current = 0;
1973
+ if(startOrEnd) {
1974
+ current = vertical ? mFadeRect.top : mFadeRect.left;
1975
+ }else{
1976
+ current = vertical ? mFadeRect.bottom : mFadeRect.right;
1977
+ }
1978
+ float target = showOrDismiss ? 1f : 0f;
1979
+ if (current == target) {
1980
+ return;
1981
+ }
1982
+ ValueAnimator animator = showOrDismiss ? ValueAnimator.ofFloat(current, 1f) : ValueAnimator.ofFloat(current, 0f);
1983
+ animator.setDuration(duration);
1984
+ if(startOrEnd){
1985
+ if(mFadeStartAnimator != null){
1986
+ mFadeStartAnimator.cancel();
1987
+ }
1988
+ mFadeStartAnimator = animator;
1989
+ }else{
1990
+ if(mFadeEndAnimator != null){
1991
+ mFadeEndAnimator.cancel();
1992
+ }
1993
+ mFadeEndAnimator = animator;
1994
+ }
1995
+ animator.addUpdateListener(animation -> {
1996
+ float value = (float) animation.getAnimatedValue();
1997
+ // Log.v("DebugFade","smoothShow value:" + value);
1998
+ if (vertical) {
1999
+ //setTranslationY(startOrEnd ? -length * value : length * value);
2000
+ if(startOrEnd){
2001
+ mFadeRect.top = value;
2002
+ }else{
2003
+ mFadeRect.bottom = value;
2004
+ }
2005
+ } else {
2006
+ if(startOrEnd){
2007
+ mFadeRect.left = value;
2008
+ }else{
2009
+ mFadeRect.right = value;
2010
+ }
2011
+ }
2012
+ postInvalidate();
2013
+ });
2014
+ animator.start();
2015
+ invalidate();
2016
+ }
2017
+
2018
+ @Override
2019
+ public boolean dispatchTouchEvent(MotionEvent ev) {
2020
+ if(isPageRoot() ){
2021
+ // if(LogUtils.isDebug()){
2022
+ // Log.i("DebugClick","dispatchTouchEvent hasFocus:"+hasFocus()+",ev.getDevice().getSources():"+ev.getDevice().getSources()+",this:"+ExtendUtil.debugViewLite(this));
2023
+ // }
2024
+ if (hasFocus()) {
2025
+ InputDevice device = ev.getDevice();
2026
+ if (device != null) {
2027
+ if ((device.getSources() & InputDevice.SOURCE_TOUCHSCREEN) == InputDevice.SOURCE_TOUCHSCREEN) {
2028
+ if (!FocusManagerModule.findGlobalFocusConfig(getContext()).enableFocusableTouchMode) {
2029
+ // if(LogUtils.isDebug()){
2030
+ // Log.i("DebugClick","clear Focus on Touch");
2031
+ // }
2032
+ clearFocus();
2033
+ }
2034
+ }
2035
+ }
2036
+
2037
+ }
2038
+ }
2039
+ return super.dispatchTouchEvent(ev);
2040
+ }
2041
+ }
2042
+