@quicktvui/ai 1.0.8 → 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 (1183) hide show
  1. package/package.json +1 -1
  2. package/rules/.clinerules +1 -0
  3. package/rules/.cursorrules +1 -0
  4. package/rules/.github/copilot-instructions.md +1 -0
  5. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/SampleApplication.java +1 -0
  6. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/base/BaseActivity.java +1 -0
  7. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/base/BaseApplication.java +1 -0
  8. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/Test2Module.java +1 -0
  9. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestALastpolloInit.java +1 -0
  10. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestApolloInit.java +1 -0
  11. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestCacheInit.java +1 -0
  12. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestComponent.java +1 -0
  13. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestKotlinInit.kt +1 -0
  14. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestModule.java +1 -0
  15. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestModule2.kt +1 -0
  16. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestModule3.java +1 -0
  17. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestViewController.java +25 -0
  18. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestViewGroupController.java +24 -0
  19. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/ui/EsAppActivity.java +1 -0
  20. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/ui/FocusButton.java +1 -0
  21. package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/ui/MainActivity.java +1 -0
  22. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/Constants.java +13 -0
  23. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsCallback.java +6 -0
  24. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsEmptyCallback.java +9 -0
  25. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsEventPacket.java +19 -0
  26. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsException.java +55 -0
  27. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsNativeEventCallback.java +8 -0
  28. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsPromise.java +15 -0
  29. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsProvider.java +8 -0
  30. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsSimplePromise.java +27 -0
  31. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsSingleCallback.java +9 -0
  32. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/IDiskCacheManager.java +19 -0
  33. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/IEsAutoInit.java +1 -0
  34. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/IEsInfo.java +18 -0
  35. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/IEsRemoteEventCallback.java +11 -0
  36. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/IEsTraceable.java +7 -0
  37. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/ISoManager.java +31 -0
  38. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/ITakeOverKeyEventListener.java +17 -0
  39. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/PromiseHolder.java +66 -0
  40. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/args/EsArray.java +215 -0
  41. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/args/EsMap.java +287 -0
  42. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/component/EsComponent.java +14 -0
  43. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/component/EsComponentAttribute.java +15 -0
  44. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/component/IEsComponent.java +21 -0
  45. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/component/IEsComponentView.java +8 -0
  46. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/core/EsProxy.java +313 -0
  47. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/core/IEsProxy.java +243 -0
  48. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/cover/IEsCoverView.java +26 -0
  49. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/display/IDisplayManager.java +19 -0
  50. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/image/IEsImageLoader.java +17 -0
  51. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/model/LocalCacheInfo.java +88 -0
  52. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/model/ScreenInfo.java +12 -0
  53. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/model/ThirdEvent.java +13 -0
  54. package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/module/IEsModule.java +15 -0
  55. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsAPIProvider.java +32 -0
  56. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsAppContext.java +13 -0
  57. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsData.java +597 -0
  58. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsKitInitCallback.java +15 -0
  59. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsKitInitCallbackProxy.java +41 -0
  60. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsKitStatus.java +14 -0
  61. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsManager.java +26 -0
  62. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsStartParam.java +17 -0
  63. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/IEsManager.java +83 -0
  64. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/InitConfig.java +287 -0
  65. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/DefaultHippyLogAdapter.java +27 -0
  66. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/DefaultRpkLoaderAdapter.java +1 -0
  67. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/EsApiAdapter.java +22 -0
  68. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/EsEngineExceptionHandlerAdapter.java +31 -0
  69. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/EsImageLoaderAdapter.java +141 -0
  70. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/EsSoLoaderAdapter.java +22 -0
  71. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/HttpsAdapter.java +1 -0
  72. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/ProxyHttpAdapter.java +36 -0
  73. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/assets/AssetBundleManager.java +347 -0
  74. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/assets/AssetData.java +39 -0
  75. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/assets/AssetLoadCallback.java +33 -0
  76. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/callback/EsAppLifeCallback.java +19 -0
  77. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/callback/EsAppLifeCallbackImpl.java +60 -0
  78. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/callback/EsAppLifeCallbackImplProxy.java +74 -0
  79. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardBean.java +35 -0
  80. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardCache.java +40 -0
  81. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardCallBack.java +40 -0
  82. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardCallBackAdapter.java +53 -0
  83. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardCallBackImpl.java +50 -0
  84. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardGroupController.java +187 -0
  85. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardGroupView.java +102 -0
  86. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardManager.java +102 -0
  87. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardView.java +716 -0
  88. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardViewComponent.java +190 -0
  89. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/WebFrameView.java +125 -0
  90. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/component/BaseHippyViewController.java +30 -0
  91. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/component/CommonViewController.java +290 -0
  92. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/component/EsCommonComponent.java +129 -0
  93. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/component/IOverrideMethods.java +60 -0
  94. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/db/EsDBHelper.java +119 -0
  95. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/db/Migration1_2.java +31 -0
  96. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/db/entity/RpkEntity.java +141 -0
  97. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/display/ESDisplayManager.java +41 -0
  98. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/engine/ESEvents.java +42 -0
  99. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/engine/ESInstanceContext.java +16 -0
  100. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/engine/EsEngine.java +212 -0
  101. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/engine/EsEnginePool.java +262 -0
  102. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/engine/RuntimeManager.java +94 -0
  103. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/entity/DeviceInfo.java +62 -0
  104. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/entity/InfoEntity.java +13 -0
  105. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ext/loadproxy/IEsRpkLoadProxy.java +43 -0
  106. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ext/log/ILogCallback.java +10 -0
  107. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ext/log/LogAdapterFactory.java +14 -0
  108. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ext/package.info +0 -0
  109. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/fragment/EsBaseFragment.java +11 -0
  110. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/fragment/EsFragment.java +181 -0
  111. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/fragment/EsFragmentManager.java +227 -0
  112. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/fragment/EsPageFragment.java +75 -0
  113. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/fragment/IEsFragmentMgr.java +41 -0
  114. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/interceptor/EsDefaultInterceptor.java +8 -0
  115. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/interceptor/IEsInterceptor.java +41 -0
  116. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/interceptor/LaunchEsPageInterceptor.java +15 -0
  117. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/AbsEsImageLoader.java +9 -0
  118. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/ApiProviderProxy.java +32 -0
  119. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/BaseHandlerThread.java +76 -0
  120. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/Constants.java +394 -0
  121. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsAppLoadHandlerImpl.java +221 -0
  122. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsAppLoadHandlerImplV2.java +326 -0
  123. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsComponentManager.java +347 -0
  124. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsConfigManager.java +81 -0
  125. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsContainerTaskV2.java +714 -0
  126. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsContentProvider.java +166 -0
  127. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsContext.java +354 -0
  128. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsContextFinder.java +61 -0
  129. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsDiskCacheManager.java +266 -0
  130. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsManagerInner.java +463 -0
  131. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsPromiseProxy.java +49 -0
  132. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsProxyImpl.java +474 -0
  133. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsViewManager.java +838 -0
  134. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsViewRecord.java +63 -0
  135. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/IEsAppLoadCallback.java +38 -0
  136. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/IEsAppLoadHandler.java +36 -0
  137. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/IEsViewer.java +32 -0
  138. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/SampleAnimatorListener.java +28 -0
  139. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/AbstractLoader.java +135 -0
  140. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/ApiRpkLoader.java +1 -0
  141. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/AssetsRpkLoader.java +79 -0
  142. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/DebugRpkLoader.java +43 -0
  143. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/FileRpkLoader.java +63 -0
  144. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/HttpRpkLoader.java +61 -0
  145. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/IRpkLoader.java +65 -0
  146. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/NexusRpkLoader.java +175 -0
  147. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/RecordInfo.java +37 -0
  148. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/RpkInfo.java +136 -0
  149. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/RpkLoaderFactory.java +60 -0
  150. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/RpkVersion.java +54 -0
  151. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/TaskEntity.java +57 -0
  152. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/JsSlotView.java +353 -0
  153. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/JsSlotViewManager.java +363 -0
  154. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/RecyclerViewHandlerImpl.java +60 -0
  155. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/SlotModule.java +1 -0
  156. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/chutil/GenericMotionUtil.java +26 -0
  157. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/chutil/MouseUtil.java +107 -0
  158. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/slot/SlotRootView.java +39 -0
  159. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/slot/SlotRootViewController.java +50 -0
  160. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/slot/SlotView.java +89 -0
  161. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/slot/SlotViewController.java +84 -0
  162. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mdns/NsdRegisterHelper.java +56 -0
  163. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/BaseMediaSessionPlayerService.java +104 -0
  164. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/EsMediaController.java +111 -0
  165. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/EsMediaPlayerService.java +39 -0
  166. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/callback/EsCommonMediaSessionCallback.java +374 -0
  167. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/manager/IServiceManager.java +16 -0
  168. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/manager/ServiceManagerFactory.java +21 -0
  169. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/manager/impl/MCommonServiceImpl.java +95 -0
  170. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/module/EsMediaSessionModule.java +61 -0
  171. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/module/AppUsageModule.java +170 -0
  172. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/module/CommonModule.java +27 -0
  173. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/module/CommonModuleInfo.java +96 -0
  174. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/module/EsNativeModule.java +878 -0
  175. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/EsPageController.java +49 -0
  176. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/EsPageView.java +202 -0
  177. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/EsRouterController.java +63 -0
  178. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/EsRouterView.java +113 -0
  179. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/IEsPageView.java +20 -0
  180. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/InnerProvider.java +37 -0
  181. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/PageModule.java +37 -0
  182. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/protocol/EsProtocolDispatcher.java +114 -0
  183. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/protocol/EsStartTarget.java +37 -0
  184. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/protocol/Protocol_1.java +78 -0
  185. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/protocol/Protocol_2.java +345 -0
  186. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/sf/UsageManager.java +98 -0
  187. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/sf/db/UsageDbHelper.java +97 -0
  188. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/sf/db/dao/UsageRecordDao.java +34 -0
  189. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/sf/db/entity/UsageRecord.java +96 -0
  190. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/sf/strategy/DefaultStrategyImpl.java +100 -0
  191. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/sf/strategy/IUsageStrategy.java +23 -0
  192. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/tookit/DefaultWindowManager.java +46 -0
  193. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/tookit/ESToolkitManager.java +182 -0
  194. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/tookit/IESToolkit.java +22 -0
  195. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/tookit/ToolkitUseCase.java +22 -0
  196. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/udp/AbstractUdpServer.java +102 -0
  197. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/udp/EsUdpServer.java +177 -0
  198. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/udp/UdpServerConfig.java +28 -0
  199. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/BrowserBaseActivity.java +224 -0
  200. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/BrowserBaseFullActivity.java +118 -0
  201. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/BrowserProxyActivity.java +122 -0
  202. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/BrowserStandardActivity.java +14 -0
  203. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/BrowserStandardNoThemeActivity.java +14 -0
  204. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/BrowserStandardTransparentActivity.java +14 -0
  205. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/IHippyManager.java +36 -0
  206. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/instance/BrowserSingleInstanceActivity0.java +9 -0
  207. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/instance/BrowserSingleInstanceActivity1.java +9 -0
  208. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/instance/BrowserSingleInstanceActivity2.java +9 -0
  209. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/instance/BrowserSingleInstanceActivity3.java +9 -0
  210. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/instance/BrowserSingleInstanceActivity4.java +9 -0
  211. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/task/BrowserSingleTaskActivity0.java +9 -0
  212. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/task/BrowserSingleTaskActivity1.java +9 -0
  213. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/task/BrowserSingleTaskActivity2.java +9 -0
  214. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/task/BrowserSingleTaskActivity3.java +9 -0
  215. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/task/BrowserSingleTaskActivity4.java +9 -0
  216. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/top/BrowserSingleTopActivity0.java +9 -0
  217. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/top/BrowserSingleTopActivity1.java +9 -0
  218. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/top/BrowserSingleTopActivity2.java +9 -0
  219. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/top/BrowserSingleTopActivity3.java +9 -0
  220. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/top/BrowserSingleTopActivity4.java +9 -0
  221. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/instance/BrowserSingleInstanceActivity0.java +9 -0
  222. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/instance/BrowserSingleInstanceActivity1.java +9 -0
  223. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/instance/BrowserSingleInstanceActivity2.java +9 -0
  224. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/instance/BrowserSingleInstanceActivity3.java +9 -0
  225. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/instance/BrowserSingleInstanceActivity4.java +9 -0
  226. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/task/BrowserSingleTaskActivity0.java +9 -0
  227. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/task/BrowserSingleTaskActivity1.java +9 -0
  228. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/task/BrowserSingleTaskActivity2.java +9 -0
  229. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/task/BrowserSingleTaskActivity3.java +9 -0
  230. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/task/BrowserSingleTaskActivity4.java +9 -0
  231. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/top/BrowserSingleTopActivity0.java +9 -0
  232. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/top/BrowserSingleTopActivity1.java +9 -0
  233. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/top/BrowserSingleTopActivity2.java +9 -0
  234. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/top/BrowserSingleTopActivity3.java +9 -0
  235. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/top/BrowserSingleTopActivity4.java +9 -0
  236. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/pg/BasePageLoader.java +20 -0
  237. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/pg/FragmentPageLoader.java +273 -0
  238. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/pg/IPageLoader.java +44 -0
  239. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/pg/RootFragmentView.java +499 -0
  240. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/pg/SubFragmentView.java +85 -0
  241. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/result/PermissionActivityResultHandler.java +132 -0
  242. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/wm/AbstractWindowManager.java +120 -0
  243. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/Am.java +397 -0
  244. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/AutoUtils.java +1 -0
  245. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/CommonUtils.java +150 -0
  246. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/CpuAbiUtils.java +280 -0
  247. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/CrashHandler.java +40 -0
  248. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/DebugLog.java +28 -0
  249. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/DefaultLifecycleObserver.java +35 -0
  250. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/DexUtil.java +75 -0
  251. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/ESExecutors.java +73 -0
  252. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/EsDataFactory.java +76 -0
  253. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/EsDecode.java +37 -0
  254. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/EsIntent.java +40 -0
  255. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/EsNativeEvent.java +63 -0
  256. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/EskitLazyInitHelper.java +20 -0
  257. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/FullScreenUtils.java +73 -0
  258. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/HomeKeyReceiver.java +52 -0
  259. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/HttpRequestUtils.java +30 -0
  260. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/KeyEventUtil.java +71 -0
  261. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/MapperUtils.java +491 -0
  262. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/NetworkSpeedMonitor.java +68 -0
  263. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/NexusRepo.java +70 -0
  264. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/ObjectUtils.java +49 -0
  265. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/ParameterizedTypeImpl.java +23 -0
  266. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/PathHelper.java +23 -0
  267. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/PermissionRequestHelper.java +81 -0
  268. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/PluginUtils.java +71 -0
  269. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/ReflectExecutor.java +77 -0
  270. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/SlotUtils.java +97 -0
  271. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/SpUtils.java +184 -0
  272. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/TaskProgressManager.java +104 -0
  273. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/TimeCheckUtil.java +45 -0
  274. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/UcDeviceUtils.java +95 -0
  275. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/UploadLogKeyDispatcher.java +33 -0
  276. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/DebugFocusHelper.java +90 -0
  277. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/DebugFocusRoot.java +195 -0
  278. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/DebugFocusView.java +65 -0
  279. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/EsDefaultCoverView.java +726 -0
  280. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/EsGrayFrameLayout.java +65 -0
  281. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/EsProgressLoadingView.java +103 -0
  282. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/LoadingDrawable.java +1 -0
  283. package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/MyButton.java +55 -0
  284. package/rules/.source/sdk/plugin/compiler/src/main/java/com/quicktvui/sdk/compiler/AnnotationProcessor.java +46 -0
  285. package/rules/.source/sdk/plugin/compiler/src/main/java/com/quicktvui/sdk/compiler/processor/AbstractProcessor.java +1 -0
  286. package/rules/.source/sdk/plugin/compiler/src/main/java/com/quicktvui/sdk/compiler/processor/ESKitAutoInitProcessor.java +1 -0
  287. package/rules/.source/sdk/plugin/compiler/src/main/java/com/quicktvui/sdk/compiler/processor/ESKitAutoRegisterProcessor.java +217 -0
  288. package/rules/.source/sdk/plugin/compiler/src/main/java/com/quicktvui/sdk/compiler/processor/IProcessor.java +12 -0
  289. package/rules/.source/sdk/plugin/compiler/src/main/java/com/quicktvui/sdk/compiler/utils/Utils.java +78 -0
  290. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/media/audio/mp3/AndroidMP3Encoder.java +19 -0
  291. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/media/audio/mp3/AudioRecorderHandler.java +128 -0
  292. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/media/audio/mp3/AudioRecorderMp3.java +267 -0
  293. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/media/audio/mp3/AudioRecorderMp3Manager.java +140 -0
  294. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/media/audio/mp3/EncodeBuffer.java +27 -0
  295. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/ESAudioRecordModule.java +231 -0
  296. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/assist/QueueProcessingType.java +8 -0
  297. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/assist/deque/BlockingDeque.java +617 -0
  298. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/assist/deque/Deque.java +550 -0
  299. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/assist/deque/LIFOLinkedBlockingDeque.java +42 -0
  300. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/assist/deque/LinkedBlockingDeque.java +1190 -0
  301. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/AudioRecordConfiguration.java +168 -0
  302. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/AudioRecorderListener.java +11 -0
  303. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/AudioRecorderStatus.java +49 -0
  304. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/AudioRecorderStatusEnum.java +14 -0
  305. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/AudioRecorderType.java +35 -0
  306. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/BaseAudioRecorderManager.java +90 -0
  307. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/DefaultConfigurationFactory.java +80 -0
  308. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/IAudioRecorder.java +23 -0
  309. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/naming/FileNameGenerator.java +9 -0
  310. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/naming/HashCodeFileNameGenerator.java +11 -0
  311. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/naming/Md5FileNameGenerator.java +32 -0
  312. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/naming/NoOpFileNameGenerator.java +14 -0
  313. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/pcm/PCMFormat.java +32 -0
  314. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/utils/Preconditions.java +442 -0
  315. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/utils/StorageUtils.java +162 -0
  316. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/AudioRecordListener.java +11 -0
  317. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/AudioRecordStreamListener.java +5 -0
  318. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/AudioRecorder.java +360 -0
  319. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/FileUtil.java +122 -0
  320. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/PCMToWAVTask.java +63 -0
  321. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/PcmToWav.java +193 -0
  322. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/RecordTask.java +103 -0
  323. package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/WaveHeader.java +66 -0
  324. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/AndroidMP3Encoder.cpp +57 -0
  325. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/AndroidMP3Encoder.h +20 -0
  326. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/CMakeLists.txt +18 -0
  327. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lame-3.100.tar.gz +0 -0
  328. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/VbrTag.c +1050 -0
  329. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/VbrTag.h +82 -0
  330. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/bitstream.c +1073 -0
  331. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/bitstream.h +44 -0
  332. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/encoder.c +555 -0
  333. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/encoder.h +153 -0
  334. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/fft.c +331 -0
  335. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/fft.h +35 -0
  336. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/gain_analysis.c +468 -0
  337. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/gain_analysis.h +113 -0
  338. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/id3tag.c +1839 -0
  339. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/id3tag.h +65 -0
  340. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/l3side.h +95 -0
  341. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/lame-analysis.h +95 -0
  342. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/lame.c +2602 -0
  343. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/lame.h +1400 -0
  344. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/lame_global_flags.h +186 -0
  345. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/lameerror.h +26 -0
  346. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/machine.h +196 -0
  347. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/mpglib_interface.c +477 -0
  348. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/newmdct.c +1073 -0
  349. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/newmdct.h +27 -0
  350. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/presets.c +390 -0
  351. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/psymodel.c +2111 -0
  352. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/psymodel.h +64 -0
  353. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/quantize.c +1974 -0
  354. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/quantize.h +38 -0
  355. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/quantize_pvt.c +1047 -0
  356. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/quantize_pvt.h +127 -0
  357. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/reservoir.c +289 -0
  358. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/reservoir.h +34 -0
  359. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/set_get.c +2181 -0
  360. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/set_get.h +119 -0
  361. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/tables.c +558 -0
  362. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/tables.h +95 -0
  363. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/takehiro.c +1322 -0
  364. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/util.c +968 -0
  365. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/util.h +635 -0
  366. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/vbrquantize.c +1525 -0
  367. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/vbrquantize.h +28 -0
  368. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/version.c +245 -0
  369. package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/version.h +68 -0
  370. package/rules/.source/sdk/support/brightness/src/main/java/com/quicktvui/support/brightness/ESBrightnessModule.java +133 -0
  371. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/Action.java +18 -0
  372. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasActionHandler.java +285 -0
  373. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasContext.java +184 -0
  374. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasImageLoadRenderAction.java +53 -0
  375. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasManager.java +468 -0
  376. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasNode.java +28 -0
  377. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasRenderAction.java +39 -0
  378. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasRenderActionProcessor.java +62 -0
  379. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasSyncRenderAction.java +23 -0
  380. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasView.java +19 -0
  381. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasViewContainer.java +49 -0
  382. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasWaitChannel.java +59 -0
  383. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/Constants.java +9 -0
  384. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/ESCanvasController.java +370 -0
  385. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/annotation/CanvasField.java +16 -0
  386. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/annotation/CanvasMethod.java +16 -0
  387. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/annotation/Extension.java +59 -0
  388. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/ActivityStateListener.java +21 -0
  389. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/ApplicationContext.java +118 -0
  390. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/Callback.java +37 -0
  391. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/IPage.java +13 -0
  392. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/RenderEventCallback.java +76 -0
  393. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/Response.java +191 -0
  394. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/SimpleActivityStateListener.java +32 -0
  395. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/CSSFont.java +246 -0
  396. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/CanvasContextRendering2D.java +1462 -0
  397. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/CanvasContextState.java +243 -0
  398. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/CanvasGradient.java +101 -0
  399. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/CanvasPath.java +196 -0
  400. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/CanvasView2D.java +186 -0
  401. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/Circle.java +65 -0
  402. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/LinearGradient.java +40 -0
  403. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/Parser.java +1564 -0
  404. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/RadialGradient.java +167 -0
  405. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/constants/Attributes.java +682 -0
  406. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/ConcurrentExecutor.java +59 -0
  407. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/DelayedExecutor.java +10 -0
  408. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/Executor.java +14 -0
  409. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/Executors.java +99 -0
  410. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/Future.java +17 -0
  411. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/FutureImpl.java +32 -0
  412. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/ScheduledExecutor.java +15 -0
  413. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/ScheduledExecutorImpl.java +49 -0
  414. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/UiExecutor.java +102 -0
  415. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/image/CanvasBitmap.java +123 -0
  416. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/image/CanvasImage.java +109 -0
  417. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/image/CanvasImageCache.java +119 -0
  418. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/image/CanvasImageHelper.java +665 -0
  419. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/image/CanvasImageLoader.java +132 -0
  420. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/image/ImageData.java +12 -0
  421. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/render/DocAnimator.java +166 -0
  422. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/runtime/HapEngine.java +101 -0
  423. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/BitmapUtils.java +242 -0
  424. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/CardThemeUtils.java +79 -0
  425. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/ColorUtil.java +542 -0
  426. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/DigestUtils.java +27 -0
  427. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/DisplayUtil.java +157 -0
  428. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/FloatUtil.java +54 -0
  429. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/IntegerUtil.java +23 -0
  430. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/StringUtils.java +21 -0
  431. package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/ThreadUtils.java +47 -0
  432. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/BarChartView.java +170 -0
  433. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/ESBarChartViewComponent.java +162 -0
  434. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/ESLineChartViewComponent.java +209 -0
  435. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/LineChartView.java +160 -0
  436. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/BarChart.java +470 -0
  437. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/BaseBarChart.java +382 -0
  438. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/BaseLineChart.java +156 -0
  439. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/LinesChart.java +465 -0
  440. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/anim/AngleEvaluator.java +22 -0
  441. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/bean/BarBean.java +26 -0
  442. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/bean/DataPoint.java +49 -0
  443. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/bean/FocusInfo.java +35 -0
  444. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/utils/DensityUtil.java +60 -0
  445. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/utils/FontUtil.java +40 -0
  446. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/utils/LogUtil.java +85 -0
  447. package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/utils/NumberFormatUtil.java +60 -0
  448. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/AutoInit.java +1 -0
  449. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/animation/AnimationValueType.java +7 -0
  450. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/animation/AnimationView.java +1322 -0
  451. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/animation/AnimationViewComponent.java +1000 -0
  452. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/es/ESView.java +30 -0
  453. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/es/ESViewComponent.java +49 -0
  454. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/image/TransitionImageComponent.java +95 -0
  455. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/image/TransitionImageView.java +261 -0
  456. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/loading/LoadingDrawable.java +253 -0
  457. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/loading/LoadingView.java +13 -0
  458. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/loading/LoadingViewComponent.java +58 -0
  459. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/progress/ESProgressWheelComponent.java +422 -0
  460. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/progress/ProgressWheel.java +625 -0
  461. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/progressbar/ESProgressBarViewComponent.java +254 -0
  462. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/progressbar/TVProgressBarView.java +12 -0
  463. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/progressbar/TVProgressBarViewComponent.java +206 -0
  464. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/qr/QrCodeComponent.java +186 -0
  465. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/qr/QrCodeFactory.java +180 -0
  466. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/ESHorizontalSeekBarViewComponent.java +1424 -0
  467. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/ESVerticalSeekBarViewComponent.java +122 -0
  468. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/OnRangeChangedListener.java +9 -0
  469. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/OnRangeFocusListener.java +6 -0
  470. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/RangeSeekBar.java +1462 -0
  471. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/SavedState.java +49 -0
  472. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/SeekBar.java +833 -0
  473. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/SeekBarState.java +13 -0
  474. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/Utils.java +182 -0
  475. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/VerticalRangeSeekBar.java +267 -0
  476. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/VerticalSeekBar.java +139 -0
  477. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/seekbar/ESSeekBarViewComponent.java +374 -0
  478. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/seekbar/TVSeekBarView.java +49 -0
  479. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/seekbar/TVSeekBarViewComponent.java +229 -0
  480. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/surfaceview/ESSurfaceView.java +13 -0
  481. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/surfaceview/ESSurfaceViewComponent.java +31 -0
  482. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/DeviceIdGenerator.java +135 -0
  483. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/DeviceIdManager.java +61 -0
  484. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/DeviceTypeGenerator.java +19 -0
  485. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/DeviceTypeManager.java +63 -0
  486. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/ESRuntimeSPConstants.java +8 -0
  487. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/IDeviceGenerator.java +10 -0
  488. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/RuntimeDeviceModule.java +70 -0
  489. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/activity/AndroidActivityModule.java +46 -0
  490. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/audio/AndroidAudioModule.java +190 -0
  491. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/broadcast/ESBroadcastModule.java +369 -0
  492. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/develop/AndroidDevelopManager.java +62 -0
  493. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/develop/AndroidDevelopModule.java +103 -0
  494. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/develop/Develop.java +85 -0
  495. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/device/AndroidDevice.java +410 -0
  496. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/device/AndroidDeviceManager.java +166 -0
  497. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/device/AndroidDeviceModule.java +313 -0
  498. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/device/DeviceModule.java +75 -0
  499. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/es/ESModule.java +289 -0
  500. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/file/AndroidFileModule.java +622 -0
  501. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/log/ESLogModule.java +59 -0
  502. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/mmap/AndroidMMapModule.java +219 -0
  503. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/mmap/MMapManager.java +350 -0
  504. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/mmap/MMapMode.java +8 -0
  505. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/mmap/MMapSharedData.java +44 -0
  506. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/mmap/MMapSharedDataType.java +15 -0
  507. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/network/AndroidNetworkManager.java +168 -0
  508. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/network/AndroidNetworkModule.java +162 -0
  509. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/network/AndroidNetworkReceiver.java +52 -0
  510. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/permission/AndroidPermissionModule.java +224 -0
  511. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/power/AndroidPowerManager.java +48 -0
  512. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/power/AndroidPowerModule.java +61 -0
  513. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/sp/AndroidSharedPreferencesManager.java +119 -0
  514. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/sp/AndroidSharedPreferencesModule.java +197 -0
  515. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/sqlite/EsSqliteModule.java +380 -0
  516. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/storage/AndroidStorageManager.java +68 -0
  517. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/storage/AndroidStorageModule.java +252 -0
  518. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/toast/ESToastModule.java +62 -0
  519. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/toast/ToastModule.java +385 -0
  520. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/usb/AndroidUsbDeviceManager.java +233 -0
  521. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/usb/AndroidUsbDeviceModule.java +230 -0
  522. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/usb/AndroidUsbDeviceReceiver.java +31 -0
  523. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/BaseChangeObserver.java +54 -0
  524. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/BatteryChangeObserver.java +177 -0
  525. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/BluetoothChangeObserver.java +83 -0
  526. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/NativeEventReceiverManager.java +107 -0
  527. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/NetworkChangeObserver.java +134 -0
  528. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/TimeChangeObserver.java +46 -0
  529. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/UsbChangeObserver.java +168 -0
  530. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/utils/BundleMapper.java +215 -0
  531. package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/utils/GradientDrawableUtils.java +105 -0
  532. package/rules/.source/sdk/support/data-group/src/main/java/com/quicktvui/support/data/group/ESGroupData.java +49 -0
  533. package/rules/.source/sdk/support/data-group/src/main/java/com/quicktvui/support/data/group/ESGroupDataModule.java +291 -0
  534. package/rules/.source/sdk/support/data-group/src/main/java/com/quicktvui/support/data/group/ESGroupDataType.java +15 -0
  535. package/rules/.source/sdk/support/data-group/src/main/java/com/quicktvui/support/data/group/ESGroupMode.java +8 -0
  536. package/rules/.source/sdk/support/data-group/src/main/java/com/quicktvui/support/data/group/ESSharedDataManager.java +526 -0
  537. package/rules/.source/sdk/support/data-shared/src/main/java/com/quicktvui/support/data/shared/ESSharedData.java +44 -0
  538. package/rules/.source/sdk/support/data-shared/src/main/java/com/quicktvui/support/data/shared/ESSharedDataManager.java +388 -0
  539. package/rules/.source/sdk/support/data-shared/src/main/java/com/quicktvui/support/data/shared/ESSharedDataModule.java +218 -0
  540. package/rules/.source/sdk/support/data-shared/src/main/java/com/quicktvui/support/data/shared/ESSharedDataType.java +15 -0
  541. package/rules/.source/sdk/support/data-shared/src/main/java/com/quicktvui/support/data/shared/ESSharedMode.java +8 -0
  542. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/ESDeviceInfoModule.java +988 -0
  543. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/SysInfo.java +24128 -0
  544. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/SysInfoSingleTon.java +98 -0
  545. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/ApplicationBean.java +93 -0
  546. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/CpuBean.java +41 -0
  547. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/InputBean.java +69 -0
  548. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/PartitionsBean.java +124 -0
  549. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/SimBean.java +91 -0
  550. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/StorageBean.java +180 -0
  551. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/USBBean.java +48 -0
  552. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/XposedHookBean.java +98 -0
  553. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/AppInfo.java +50 -0
  554. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/AppListInfo.java +42 -0
  555. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/BatteryInfo.java +26 -0
  556. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/BluetoothInfo.java +50 -0
  557. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/BuildInfo.java +35 -0
  558. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/CameraInfo.java +1327 -0
  559. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/DebugInfo.java +25 -0
  560. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/DeviceInfo.java +26 -0
  561. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/EmulatorInfo.java +57 -0
  562. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/HardwareInfo.java +32 -0
  563. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/HookInfo.java +26 -0
  564. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/InputInfo.java +170 -0
  565. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/MapsInfo.java +49 -0
  566. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/MediaCodecInfo.java +29 -0
  567. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/NetWorkInfo.java +150 -0
  568. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/OthersInfo.java +75 -0
  569. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/PartitionsInfo.java +93 -0
  570. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/RootInfo.java +25 -0
  571. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/SOCInfo.java +101 -0
  572. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/StoreInfo.java +31 -0
  573. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/SystemInfo.java +57 -0
  574. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/ThermalInfo.java +54 -0
  575. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/USBInfo.java +146 -0
  576. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/VirtualAppInfo.java +145 -0
  577. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/WifiInfo.java +52 -0
  578. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/ApplicationUtils.java +18 -0
  579. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/BatteryUtils.java +190 -0
  580. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/CommandUtils.java +173 -0
  581. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/Constants.java +12 -0
  582. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/DebugUtils.java +117 -0
  583. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/DecimalUtils.java +94 -0
  584. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/DensityUtils.java +427 -0
  585. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/DeviceUtils.java +315 -0
  586. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/EmulatorUtils.java +422 -0
  587. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/FileUtils.java +69 -0
  588. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/FormatTools.java +29 -0
  589. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/GatewayUtils.java +380 -0
  590. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/HashUtils.java +61 -0
  591. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/HexUtils.java +43 -0
  592. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/HookUtils.java +147 -0
  593. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/LogUtils.java +274 -0
  594. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/MemoryUtils.java +93 -0
  595. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/NetWorkUtils.java +579 -0
  596. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/OaidUtils.java +48 -0
  597. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/RootUtils.java +219 -0
  598. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/SdUtils.java +298 -0
  599. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/SocUtils.java +287 -0
  600. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/SystemConfigUtils.java +53 -0
  601. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/ThreadPoolUtils.java +89 -0
  602. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/TimeUtils.java +20 -0
  603. package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/XposedHookUtils.java +138 -0
  604. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DefaultConfigurationFactory.java +56 -0
  605. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/Download.java +111 -0
  606. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadConfiguration.java +74 -0
  607. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadError.java +9 -0
  608. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadListener.java +7 -0
  609. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadManager.java +201 -0
  610. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadMessage.java +34 -0
  611. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadParams.java +24 -0
  612. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadProgress.java +34 -0
  613. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadState.java +15 -0
  614. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadStatus.java +46 -0
  615. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadTask.java +370 -0
  616. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/ESDownloadModule.java +376 -0
  617. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/FileDigest.java +47 -0
  618. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/HttpRequest.java +3201 -0
  619. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/IDownloadTask.java +16 -0
  620. package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/StorageUtils.java +162 -0
  621. package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/giflibrary/GifDecoder.java +32 -0
  622. package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/giflibrary/GifDrawableTranscoder.java +22 -0
  623. package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/giflibrary/GifImageLoader.java +22 -0
  624. package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/giflibrary/GifModule.java +28 -0
  625. package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/giflibrary/GifSoftwareLayerSetter.java +45 -0
  626. package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/rastermill/FrameSequence.java +148 -0
  627. package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/rastermill/FrameSequenceDrawable.java +381 -0
  628. package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/support/gif/ESGifViewComponent.java +49 -0
  629. package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/support/gif/GifView.java +24 -0
  630. package/rules/.source/sdk/support/install-manager/src/main/java/com/quicktvui/support/install/manager/ESInstallManagerModule.java +143 -0
  631. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/ESLog.java +1029 -0
  632. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/LogConfiguration.java +662 -0
  633. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/LogItem.java +72 -0
  634. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/LogLevel.java +168 -0
  635. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/LogUtils.java +173 -0
  636. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/Logger.java +1331 -0
  637. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/flattener/ClassicFlattener.java +36 -0
  638. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/flattener/DefaultFlattener.java +40 -0
  639. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/flattener/Flattener.java +37 -0
  640. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/flattener/Flattener2.java +37 -0
  641. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/flattener/PatternFlattener.java +372 -0
  642. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/FormatException.java +78 -0
  643. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/Formatter.java +34 -0
  644. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/border/BorderFormatter.java +36 -0
  645. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/border/DefaultBorderFormatter.java +99 -0
  646. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/json/DefaultJsonFormatter.java +55 -0
  647. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/json/JsonFormatter.java +25 -0
  648. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/object/BundleFormatter.java +40 -0
  649. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/object/IntentFormatter.java +40 -0
  650. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/object/ObjectFormatter.java +28 -0
  651. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/throwable/DefaultThrowableFormatter.java +31 -0
  652. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/throwable/ThrowableFormatter.java +25 -0
  653. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/xml/DefaultXmlFormatter.java +63 -0
  654. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/xml/XmlFormatter.java +25 -0
  655. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/stacktrace/DefaultStackTraceFormatter.java +50 -0
  656. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/stacktrace/StackTraceFormatter.java +25 -0
  657. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/thread/DefaultThreadFormatter.java +29 -0
  658. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/thread/ThreadFormatter.java +25 -0
  659. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/interceptor/AbstractFilterInterceptor.java +51 -0
  660. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/interceptor/BlacklistTagsFilterInterceptor.java +71 -0
  661. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/interceptor/Interceptor.java +46 -0
  662. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/interceptor/WhitelistTagsFilterInterceptor.java +71 -0
  663. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/DefaultsFactory.java +157 -0
  664. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/Platform.java +114 -0
  665. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/SystemCompat.java +28 -0
  666. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/printer/file/backup/BackupStrategyWrapper.java +50 -0
  667. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/printer/file/backup/BackupUtil.java +77 -0
  668. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/util/ObjectToStringUtil.java +238 -0
  669. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/util/StackTraceUtil.java +120 -0
  670. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/module/ESLoggerModule.java +332 -0
  671. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/AndroidPrinter.java +145 -0
  672. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/ConsolePrinter.java +55 -0
  673. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/Printer.java +41 -0
  674. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/PrinterSet.java +42 -0
  675. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/RemotePrinter.java +32 -0
  676. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/SystemPrinter.java +24 -0
  677. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/FilePrinter.java +399 -0
  678. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/backup/AbstractBackupStrategy.java +33 -0
  679. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/backup/BackupStrategy.java +33 -0
  680. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/backup/BackupStrategy2.java +69 -0
  681. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/backup/FileSizeBackupStrategy.java +45 -0
  682. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/backup/FileSizeBackupStrategy2.java +52 -0
  683. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/backup/NeverBackupStrategy.java +32 -0
  684. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/clean/CleanStrategy.java +19 -0
  685. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/clean/FileLastModifiedCleanStrategy.java +29 -0
  686. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/clean/NeverCleanStrategy.java +16 -0
  687. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/naming/ChangelessFileNameGenerator.java +44 -0
  688. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/naming/DateFileNameGenerator.java +51 -0
  689. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/naming/FileNameGenerator.java +39 -0
  690. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/naming/LevelFileNameGenerator.java +38 -0
  691. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/writer/SimpleWriter.java +137 -0
  692. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/writer/Writer.java +72 -0
  693. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/flattener/DefaultLogFlattener.java +26 -0
  694. package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/flattener/LogFlattener.java +26 -0
  695. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/ESLongImageViewComponent.java +732 -0
  696. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/CompatDecoderFactory.java +49 -0
  697. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/DecoderFactory.java +23 -0
  698. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/ImageDecoder.java +31 -0
  699. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/ImageRegionDecoder.java +62 -0
  700. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/ImageSource.java +262 -0
  701. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/ImageViewState.java +42 -0
  702. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/SkiaImageDecoder.java +107 -0
  703. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/SkiaImageRegionDecoder.java +171 -0
  704. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/SkiaPooledImageRegionDecoder.java +476 -0
  705. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/LongImageEventUtils.java +34 -0
  706. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/LongImageLoader.java +180 -0
  707. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/Checker.java +196 -0
  708. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/CompressionPredicate.java +19 -0
  709. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/Engine.java +90 -0
  710. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/InputStreamAdapter.java +34 -0
  711. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/InputStreamProvider.java +18 -0
  712. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/Luban.java +388 -0
  713. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/OnCompressListener.java +21 -0
  714. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/OnRenameListener.java +22 -0
  715. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/view/ESLongImageView.java +306 -0
  716. package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/view/SubsamplingScaleImageView.java +3245 -0
  717. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/AsyncUpdates.java +54 -0
  718. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/Cancellable.java +6 -0
  719. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/FontAssetDelegate.java +40 -0
  720. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/ImageAssetDelegate.java +14 -0
  721. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/L.java +123 -0
  722. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/Lottie.java +26 -0
  723. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieAnimationView.java +1447 -0
  724. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieComposition.java +385 -0
  725. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieCompositionFactory.java +716 -0
  726. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieConfig.java +135 -0
  727. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieDrawable.java +1740 -0
  728. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieImageAsset.java +79 -0
  729. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieListener.java +8 -0
  730. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieLogger.java +17 -0
  731. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieOnCompositionLoadedListener.java +5 -0
  732. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieProperty.java +223 -0
  733. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieResult.java +55 -0
  734. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieTask.java +185 -0
  735. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieTaskIdleListener.java +11 -0
  736. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/OnCompositionLoadedListener.java +15 -0
  737. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/PerformanceTracker.java +97 -0
  738. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/RenderMode.java +41 -0
  739. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/SimpleColorFilter.java +20 -0
  740. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/TextDelegate.java +116 -0
  741. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/AnimatorLister.java +35 -0
  742. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/LPaint.java +60 -0
  743. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/BaseStrokeContent.java +412 -0
  744. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/CompoundTrimPathContent.java +22 -0
  745. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/Content.java +9 -0
  746. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/ContentGroup.java +269 -0
  747. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/DrawingContent.java +11 -0
  748. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/EllipseContent.java +134 -0
  749. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/FillContent.java +194 -0
  750. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/GradientFillContent.java +316 -0
  751. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/GradientStrokeContent.java +181 -0
  752. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/GreedyContent.java +19 -0
  753. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/KeyPathElementContent.java +6 -0
  754. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/MergePathsContent.java +123 -0
  755. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/ModifierContent.java +4 -0
  756. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/PathContent.java +7 -0
  757. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/PolystarContent.java +332 -0
  758. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/RectangleContent.java +180 -0
  759. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/RepeaterContent.java +155 -0
  760. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/RoundedCornersContent.java +225 -0
  761. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/ShapeContent.java +98 -0
  762. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/ShapeModifierContent.java +7 -0
  763. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/StrokeContent.java +77 -0
  764. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/TrimPathContent.java +75 -0
  765. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/package-info.java +6 -0
  766. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/BaseKeyframeAnimation.java +356 -0
  767. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/ColorKeyframeAnimation.java +46 -0
  768. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/DropShadowKeyframeAnimation.java +100 -0
  769. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/FloatKeyframeAnimation.java +45 -0
  770. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/GradientColorKeyframeAnimation.java +22 -0
  771. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/IntegerKeyframeAnimation.java +46 -0
  772. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/KeyframeAnimation.java +11 -0
  773. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/MaskKeyframeAnimation.java +40 -0
  774. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/PathKeyframe.java +40 -0
  775. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/PathKeyframeAnimation.java +46 -0
  776. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/PointKeyframeAnimation.java +41 -0
  777. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/ScaleKeyframeAnimation.java +40 -0
  778. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/ShapeKeyframeAnimation.java +42 -0
  779. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/SplitDimensionPathKeyframeAnimation.java +105 -0
  780. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/TextKeyframeAnimation.java +47 -0
  781. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/TransformKeyframeAnimation.java +336 -0
  782. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/ValueCallbackKeyframeAnimation.java +49 -0
  783. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/package-info.java +6 -0
  784. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/package-info.java +6 -0
  785. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/manager/FontAssetManager.java +129 -0
  786. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/manager/ImageAssetManager.java +151 -0
  787. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/manager/package-info.java +6 -0
  788. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/CubicCurveData.java +91 -0
  789. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/DocumentData.java +76 -0
  790. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/Font.java +52 -0
  791. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/FontCharacter.java +49 -0
  792. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/KeyPath.java +243 -0
  793. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/KeyPathElement.java +41 -0
  794. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/LottieCompositionCache.java +50 -0
  795. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/Marker.java +37 -0
  796. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/MutablePair.java +57 -0
  797. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableColorValue.java +18 -0
  798. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableFloatValue.java +19 -0
  799. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableGradientColorValue.java +55 -0
  800. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableIntegerValue.java +18 -0
  801. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatablePathValue.java +36 -0
  802. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatablePointValue.java +20 -0
  803. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableScaleValue.java +24 -0
  804. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableShapeValue.java +21 -0
  805. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableSplitDimensionPathValue.java +37 -0
  806. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableTextFrame.java +18 -0
  807. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableTextProperties.java +20 -0
  808. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableTransform.java +111 -0
  809. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableValue.java +15 -0
  810. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/BaseAnimatableValue.java +39 -0
  811. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/package-info.java +6 -0
  812. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/BlurEffect.java +16 -0
  813. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/CircleShape.java +52 -0
  814. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ContentModel.java +14 -0
  815. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/GradientColor.java +70 -0
  816. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/GradientFill.java +84 -0
  817. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/GradientStroke.java +110 -0
  818. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/GradientType.java +6 -0
  819. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/Mask.java +42 -0
  820. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/MergePaths.java +74 -0
  821. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/PolystarShape.java +111 -0
  822. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/RectangleShape.java +58 -0
  823. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/Repeater.java +52 -0
  824. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/RoundedCorners.java +32 -0
  825. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ShapeData.java +110 -0
  826. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ShapeFill.java +63 -0
  827. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ShapeGroup.java +42 -0
  828. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ShapePath.java +45 -0
  829. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ShapeStroke.java +125 -0
  830. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ShapeTrimPath.java +76 -0
  831. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/package-info.java +6 -0
  832. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/BaseLayer.java +693 -0
  833. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/CompositionLayer.java +236 -0
  834. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/ImageLayer.java +112 -0
  835. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/Layer.java +227 -0
  836. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/NullLayer.java +22 -0
  837. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/ShapeLayer.java +66 -0
  838. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/SolidLayer.java +93 -0
  839. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/TextLayer.java +619 -0
  840. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/package-info.java +6 -0
  841. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/DefaultLottieFetchResult.java +73 -0
  842. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/DefaultLottieNetworkFetcher.java +21 -0
  843. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/FileExtension.java +27 -0
  844. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/LottieFetchResult.java +36 -0
  845. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/LottieNetworkCacheProvider.java +21 -0
  846. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/LottieNetworkFetcher.java +20 -0
  847. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/NetworkCache.java +200 -0
  848. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/NetworkFetcher.java +152 -0
  849. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/AnimatablePathValueParser.java +96 -0
  850. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/AnimatableTextPropertiesParser.java +78 -0
  851. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/AnimatableTransformParser.java +167 -0
  852. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/AnimatableValueParser.java +88 -0
  853. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/BlurEffectParser.java +69 -0
  854. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/CircleShapeParser.java +60 -0
  855. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ColorParser.java +47 -0
  856. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ContentModelParser.java +109 -0
  857. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/DocumentDataParser.java +110 -0
  858. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/DropShadowEffect.java +42 -0
  859. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/DropShadowEffectParser.java +88 -0
  860. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/FloatParser.java +17 -0
  861. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/FontCharacterParser.java +81 -0
  862. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/FontParser.java +49 -0
  863. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/GradientColorParser.java +267 -0
  864. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/GradientFillParser.java +100 -0
  865. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/GradientStrokeParser.java +163 -0
  866. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/IntegerParser.java +16 -0
  867. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/JsonUtils.java +121 -0
  868. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/KeyframeParser.java +373 -0
  869. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/KeyframesParser.java +84 -0
  870. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/LayerParser.java +292 -0
  871. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/LottieCompositionMoshiParser.java +270 -0
  872. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/MaskParser.java +68 -0
  873. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/MergePathsParser.java +42 -0
  874. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/PathKeyframeParser.java +27 -0
  875. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/PathParser.java +18 -0
  876. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/PointFParser.java +35 -0
  877. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/PolystarShapeParser.java +91 -0
  878. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/RectangleShapeParser.java +59 -0
  879. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/RepeaterParser.java +57 -0
  880. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/RoundedCornersParser.java +47 -0
  881. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ScaleXYParser.java +31 -0
  882. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ShapeDataParser.java +103 -0
  883. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ShapeFillParser.java +69 -0
  884. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ShapeGroupParser.java +55 -0
  885. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ShapePathParser.java +52 -0
  886. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ShapeStrokeParser.java +130 -0
  887. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ShapeTrimPathParser.java +61 -0
  888. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ValueParser.java +10 -0
  889. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/JsonDataException.java +39 -0
  890. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/JsonEncodingException.java +30 -0
  891. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/JsonReader.java +493 -0
  892. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/JsonScope.java +99 -0
  893. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/JsonUtf8Reader.java +1046 -0
  894. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/LinkedHashTreeMap.java +868 -0
  895. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/package-info.java +6 -0
  896. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/package-info.java +6 -0
  897. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/BaseLottieAnimator.java +117 -0
  898. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/GammaEvaluator.java +64 -0
  899. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/LogcatLogger.java +52 -0
  900. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/Logger.java +36 -0
  901. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/LottieThreadFactory.java +27 -0
  902. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/LottieTrace.java +42 -0
  903. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/LottieValueAnimator.java +330 -0
  904. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/MeanCalculator.java +26 -0
  905. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/MiscUtils.java +113 -0
  906. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/Utils.java +321 -0
  907. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/package-info.java +6 -0
  908. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/Keyframe.java +199 -0
  909. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieFrameInfo.java +65 -0
  910. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieInterpolatedFloatValue.java +22 -0
  911. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieInterpolatedIntegerValue.java +22 -0
  912. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieInterpolatedPointValue.java +27 -0
  913. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieInterpolatedValue.java +28 -0
  914. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieRelativeFloatValueCallback.java +39 -0
  915. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieRelativeIntegerValueCallback.java +32 -0
  916. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieRelativePointValueCallback.java +52 -0
  917. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieValueCallback.java +90 -0
  918. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/ScaleXY.java +36 -0
  919. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/SimpleLottieValueCallback.java +10 -0
  920. package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottieview/ESLottieViewComponent.java +373 -0
  921. package/rules/.source/sdk/support/network-speed/src/main/java/com/quicktvui/support/network/speed/ESNetworkSpeedModule.java +134 -0
  922. package/rules/.source/sdk/support/network-speed/src/main/java/com/quicktvui/support/network/speed/util/FormatTools.java +29 -0
  923. package/rules/.source/sdk/support/player-async/src/main/java/com/quicktvui/support/asyncplayer/ESAsyncPlayerModule.java +96 -0
  924. package/rules/.source/sdk/support/player-audio-android/src/main/java/com/quicktvui/support/player/audio/android/ESAndroidAudioPlayer.java +484 -0
  925. package/rules/.source/sdk/support/player-audio-android/src/main/java/com/quicktvui/support/player/audio/android/ESAndroidAudioPlayerModule.java +346 -0
  926. package/rules/.source/sdk/support/player-audio-android/src/main/java/com/quicktvui/support/player/audio/android/ESAndroidAudioPlayerServiceModule.java +638 -0
  927. package/rules/.source/sdk/support/player-audio-android/src/main/java/com/quicktvui/support/player/audio/android/ESAudioPlayerService.java +470 -0
  928. package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/bean/PlayInfoBean.java +48 -0
  929. package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/ijk/ESAudioPlayerService.java +528 -0
  930. package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/ijk/ESIJKAudioPlayer.java +827 -0
  931. package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/ijk/ESIJKAudioPlayerModule.java +438 -0
  932. package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/ijk/ESIJKAudioPlayerModule2.java +498 -0
  933. package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/ijk/ESIJKAudioPlayerServiceModule.java +655 -0
  934. package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/utils/Settings.java +28 -0
  935. package/rules/.source/sdk/support/player-audio-soundpool/src/main/java/com/quicktvui/support/player/audio/soundpool/ESSoundPoolAudioPlayerModule.java +191 -0
  936. package/rules/.source/sdk/support/player-audio-soundpool/src/main/java/com/quicktvui/support/player/audio/soundpool/Sound.java +52 -0
  937. package/rules/.source/sdk/support/player-audio-soundpool/src/main/java/com/quicktvui/support/player/audio/soundpool/SoundCache.java +125 -0
  938. package/rules/.source/sdk/support/player-audio-soundpool/src/main/java/com/quicktvui/support/player/audio/soundpool/SoundPoolManager.java +567 -0
  939. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/aspect/IJKAspectRatioMapper.java +78 -0
  940. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/component/ADPlayerComponent.java +46 -0
  941. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/component/IJKPlayerComponent.java +323 -0
  942. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/module/ESPlayerIJKModule.java +96 -0
  943. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/module/VideoModule.java +181 -0
  944. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/AssetDataSource.java +67 -0
  945. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/FileMediaDataSource.java +56 -0
  946. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/IRenderView.java +97 -0
  947. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/IjkLibManager.java +215 -0
  948. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/IjkMediaOption.java +64 -0
  949. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/IjkVideoPlayer.java +1487 -0
  950. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/IjkVideoView.java +1796 -0
  951. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/MeasureHelper.java +420 -0
  952. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/MediaPlayerCompat.java +66 -0
  953. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/RawDataSourceProvider.java +66 -0
  954. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/SurfaceRenderView.java +308 -0
  955. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/TextureRenderView.java +364 -0
  956. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/service/MediaPlayerService.java +67 -0
  957. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/setting/Settings.java +162 -0
  958. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/AudioChannelType.java +24 -0
  959. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/CommonUtils.java +53 -0
  960. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/DeviceUtil.java +98 -0
  961. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/DisplayAndDecodeTools.java +166 -0
  962. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/FFConcatUtils.java +102 -0
  963. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/FormatTools.java +32 -0
  964. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/MetadataUtils.java +150 -0
  965. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/PlayerThreadTools.java +97 -0
  966. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/StorageUtils.java +159 -0
  967. package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/TimedHelper.java +233 -0
  968. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/Constants.java +6 -0
  969. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/aspect/AspectRatio.java +46 -0
  970. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/aspect/AspectRatioManager.java +105 -0
  971. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/aspect/AspectRatioSettingMapper.java +44 -0
  972. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/base/ESBaseFrameLayout.java +82 -0
  973. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/base/IPlayerRootView.java +10 -0
  974. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/base/PlayerBaseView.java +750 -0
  975. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/callback/CallbackNotifier.java +277 -0
  976. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/component/PlayerBaseComponent.java +1150 -0
  977. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/decode/Decode.java +45 -0
  978. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/definition/Definition.java +48 -0
  979. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/log/PLog.java +497 -0
  980. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/log/PLogDefaultLoggingDelegate.java +149 -0
  981. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/log/PLoggingDelegate.java +161 -0
  982. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/log/logging.pro +5 -0
  983. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/log/package-info.java +11 -0
  984. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/manager/PlayerConfiguration.java +494 -0
  985. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/model/ADPositionType.java +32 -0
  986. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/model/IPlayerDimension.java +25 -0
  987. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/model/IVideoUrl.java +51 -0
  988. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/model/PlayerDimensionModel.java +166 -0
  989. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/model/VideoUrlModel.java +113 -0
  990. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/IPlayer.java +308 -0
  991. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/IPlayerCallback.java +127 -0
  992. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerConstant.java +30 -0
  993. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerError.java +85 -0
  994. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerInfo.java +70 -0
  995. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerStatus.java +56 -0
  996. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerStatusEnum.java +54 -0
  997. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerStatusParams.java +21 -0
  998. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerType.java +15 -0
  999. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/setting/PlayerSetting.java +146 -0
  1000. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/utils/Preconditions.java +442 -0
  1001. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/utils/ScreenUtils.java +121 -0
  1002. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/volume/IPlayerVolume.java +12 -0
  1003. package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/volume/PlayerVolumeModel.java +69 -0
  1004. package/rules/.source/sdk/support/rippleview/src/main/java/com/quicktvui/support/rippleview/ESRippleViewComponent.java +40 -0
  1005. package/rules/.source/sdk/support/rippleview/src/main/java/com/quicktvui/support/rippleview/RippleView.java +208 -0
  1006. package/rules/.source/sdk/support/socket-io/src/main/java/com/quicktvui/support/socketio/IEsSocketIOModule.java +24 -0
  1007. package/rules/.source/sdk/support/socket-io/src/main/java/com/quicktvui/support/socketio/SocketIOClientImpl.java +165 -0
  1008. package/rules/.source/sdk/support/socket-io/src/main/java/com/quicktvui/support/socketio/SocketIoModule.java +161 -0
  1009. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ESSubtitleModule.java +567 -0
  1010. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/FileUtils.java +1259 -0
  1011. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/IOClass.java +134 -0
  1012. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ISubtitleControl.java +64 -0
  1013. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/SubtitleClickListener.java +16 -0
  1014. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/Caption.java +27 -0
  1015. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FatalParsingException.java +25 -0
  1016. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FormatASS.java +613 -0
  1017. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FormatSCC.java +1063 -0
  1018. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FormatSRT.java +209 -0
  1019. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FormatSTL.java +654 -0
  1020. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FormatTTML.java +539 -0
  1021. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FormatVTT.java +227 -0
  1022. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/Region.java +5 -0
  1023. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/Style.java +161 -0
  1024. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/SubtitleResult.java +16 -0
  1025. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/SubtitleText.java +42 -0
  1026. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/Time.java +209 -0
  1027. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/TimedTextFileFormat.java +65 -0
  1028. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/TimedTextObject.java +161 -0
  1029. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ui/ESSubtitleView.java +152 -0
  1030. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ui/ESSubtitleViewComponent.java +189 -0
  1031. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ui/ESSubtitleViewController.java +172 -0
  1032. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ui/StrokeTextView.java +116 -0
  1033. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ui/SubtitleTextView.java +70 -0
  1034. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ui/SubtitleView.java +299 -0
  1035. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/CharsetListener.java +51 -0
  1036. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/Constants.java +74 -0
  1037. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/EncodingDetectorInputStream.java +118 -0
  1038. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/EncodingDetectorOutputStream.java +82 -0
  1039. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/FileCharsetConverter.java +30 -0
  1040. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/ReaderFactory.java +144 -0
  1041. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/UnicodeBOMInputStream.java +297 -0
  1042. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/UniversalDetector.java +394 -0
  1043. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/Big5Prober.java +137 -0
  1044. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/CharsetProber.java +181 -0
  1045. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/EUCJPProber.java +145 -0
  1046. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/EUCKRProber.java +135 -0
  1047. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/EUCTWProber.java +136 -0
  1048. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/EscCharsetProber.java +136 -0
  1049. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/GB18030Prober.java +135 -0
  1050. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/HebrewProber.java +212 -0
  1051. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/Latin1Prober.java +201 -0
  1052. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/MBCSGroupProber.java +173 -0
  1053. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/SBCSGroupProber.java +185 -0
  1054. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/SJISProber.java +144 -0
  1055. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/SingleByteCharsetProber.java +187 -0
  1056. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/UTF8Prober.java +133 -0
  1057. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/contextanalysis/EUCJPContextAnalysis.java +97 -0
  1058. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/contextanalysis/JapaneseContextAnalysis.java +255 -0
  1059. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/contextanalysis/SJISContextAnalysis.java +93 -0
  1060. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/Big5DistributionAnalysis.java +962 -0
  1061. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/CharDistributionAnalysis.java +116 -0
  1062. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/EUCJPDistributionAnalysis.java +67 -0
  1063. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/EUCKRDistributionAnalysis.java +630 -0
  1064. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/EUCTWDistributionAnalysis.java +459 -0
  1065. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/GB2312DistributionAnalysis.java +508 -0
  1066. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/JISDistributionAnalysis.java +585 -0
  1067. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/SJISDistributionAnalysis.java +79 -0
  1068. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/BulgarianModel.java +193 -0
  1069. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/CyrillicModel.java +194 -0
  1070. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/GreekModel.java +194 -0
  1071. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/HebrewModel.java +217 -0
  1072. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Ibm855Model.java +73 -0
  1073. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Ibm866Model.java +73 -0
  1074. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Koi8rModel.java +73 -0
  1075. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Latin5BulgarianModel.java +72 -0
  1076. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Latin5Model.java +73 -0
  1077. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Latin7Model.java +73 -0
  1078. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/MacCyrillicModel.java +73 -0
  1079. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/SequenceModel.java +95 -0
  1080. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/ThaiModel.java +239 -0
  1081. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Win1251BulgarianModel.java +73 -0
  1082. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Win1251Model.java +72 -0
  1083. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Win1253Model.java +72 -0
  1084. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/Big5SMModel.java +111 -0
  1085. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/CodingStateMachine.java +75 -0
  1086. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/EUCJPSMModel.java +115 -0
  1087. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/EUCKRSMModel.java +111 -0
  1088. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/EUCTWSMModel.java +115 -0
  1089. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/GB18030SMModel.java +114 -0
  1090. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/HZSMModel.java +113 -0
  1091. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/ISO2022CNSMModel.java +116 -0
  1092. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/ISO2022JPSMModel.java +118 -0
  1093. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/ISO2022KRSMModel.java +117 -0
  1094. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/PkgInt.java +117 -0
  1095. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/SJISSMModel.java +114 -0
  1096. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/SMModel.java +93 -0
  1097. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/UCS2BESMModel.java +120 -0
  1098. package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/UTF8SMModel.java +141 -0
  1099. package/rules/.source/sdk/support/swiper-view/src/main/java/com/quicktvui/support/swiper/ESSwiperSlideViewComponent.java +46 -0
  1100. package/rules/.source/sdk/support/swiper-view/src/main/java/com/quicktvui/support/swiper/SwiperView.java +48 -0
  1101. package/rules/.source/sdk/support/ui/icon-view/src/main/java/quicktvui/support/ui/icon/ESAppIconView.java +42 -0
  1102. package/rules/.source/sdk/support/ui/icon-view/src/main/java/quicktvui/support/ui/icon/ESAppIconViewComponent.java +112 -0
  1103. package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/canvas/ESCanvasParamsUtils.java +117 -0
  1104. package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/canvas/ESPaint.java +60 -0
  1105. package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/canvas/ESPaintAction.java +7 -0
  1106. package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/canvas/ESPath.java +109 -0
  1107. package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/canvas/ESPathAction.java +10 -0
  1108. package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/canvas/PorterDuffUtils.java +49 -0
  1109. package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/crop/ESCroppedImageView.java +285 -0
  1110. package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/crop/ESCroppedImageViewComponent.java +102 -0
  1111. package/rules/.source/sdk/support/ui/playmarkview/src/main/java/com/quicktvui/support/ui/playmarkview/ESPlayMarkViewComponent.java +104 -0
  1112. package/rules/.source/sdk/support/ui/playmarkview/src/main/java/com/quicktvui/support/ui/playmarkview/PlayMarkView.java +319 -0
  1113. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/DensityUtils.java +57 -0
  1114. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/ScreenAdapt.java +33 -0
  1115. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/ScreenUtils.java +112 -0
  1116. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/ViewUtil.java +17 -0
  1117. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/HippyBaseFrameLayout.java +97 -0
  1118. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/HomeItemView.java +1564 -0
  1119. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/ItemFrame.java +188 -0
  1120. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/ItemFrameComponent.java +58 -0
  1121. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/ItemViewComponent.java +157 -0
  1122. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/RippleView.java +257 -0
  1123. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/RippleViewComponent.java +91 -0
  1124. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/TitleFocusComponent.java +42 -0
  1125. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/TitleNormalComponent.java +46 -0
  1126. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/TitleView.java +522 -0
  1127. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/TitleViewFocus.java +370 -0
  1128. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/AdvanceCenterScroller.java +132 -0
  1129. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/EasyListView.java +420 -0
  1130. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/EventSender.java +89 -0
  1131. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/FocusWatcher.java +66 -0
  1132. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/GroupItem.java +40 -0
  1133. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/GroupItemPresenter.kt +90 -0
  1134. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/ItemView.java +218 -0
  1135. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/LargeListComponent.java +115 -0
  1136. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/LargeListViewGroup.java +1383 -0
  1137. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/LazyDataItem.java +10 -0
  1138. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/LoadingItem.java +8 -0
  1139. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/LoadingPresenter.java +59 -0
  1140. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/MyTemplateHelper.kt +35 -0
  1141. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/NumberEpisodeItemPresenter.java +160 -0
  1142. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/PendingItemView.java +7 -0
  1143. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/StandItemViewPresenter.java +108 -0
  1144. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/Template.java +44 -0
  1145. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TemplateBean.java +6 -0
  1146. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TemplateHelper.kt +128 -0
  1147. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TemplateItem.kt +83 -0
  1148. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TemplateItemPresenterSelector.java +36 -0
  1149. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TemplatePresenter.java +13 -0
  1150. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TemplateUtil.java +339 -0
  1151. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TextEpisodeItemHostView.java +128 -0
  1152. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/ESSelectSeriesController.java +156 -0
  1153. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/EventSender.java +89 -0
  1154. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/SelectSeriesViewGroup.java +1024 -0
  1155. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/bean/LazyDataItem.java +10 -0
  1156. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/bean/MyData.java +33 -0
  1157. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/bean/PageData.java +5 -0
  1158. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/bean/Param.java +192 -0
  1159. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/bean/TemplateItem.kt +31 -0
  1160. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/components/GroupListView.java +49 -0
  1161. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/components/LargeListView.java +402 -0
  1162. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/presenters/CustomItemViewPresenter.java +133 -0
  1163. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/presenters/GroupItemPresenter.kt +123 -0
  1164. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/utils/MyCustomHelper.java +468 -0
  1165. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/utils/MyTemplateHelper.kt +18 -0
  1166. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/utils/TemplateHelper.kt +88 -0
  1167. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/utils/TemplateUtil.java +415 -0
  1168. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/swiftlist/SwiftListComponent.java +104 -0
  1169. package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/swiftlist/SwiftListView.java +563 -0
  1170. package/rules/.source/sdk/support/upload/src/main/java/quicktvui/support/upload/ESUploadModule.java +307 -0
  1171. package/rules/.source/sdk/support/upload/src/main/java/quicktvui/support/upload/UploadManager.java +136 -0
  1172. package/rules/.source/sdk/support/websocket/src/main/java/quicktvui/support/websocket/IEsWebSocketModule.java +24 -0
  1173. package/rules/.source/sdk/support/websocket/src/main/java/quicktvui/support/websocket/WebSocketClient.java +63 -0
  1174. package/rules/.source/sdk/support/websocket/src/main/java/quicktvui/support/websocket/WebSocketImpl.java +55 -0
  1175. package/rules/.source/sdk/support/websocket/src/main/java/quicktvui/support/websocket/WebSocketModule.java +114 -0
  1176. package/rules/.source/sdk/support/webview/src/main/java/com/quicktvui/support/webview/ESWebView.java +235 -0
  1177. package/rules/.source/sdk/support/webview/src/main/java/com/quicktvui/support/webview/ESWebViewComponent.java +1181 -0
  1178. package/rules/.source/sdk/support/x5webview/src/main/java/com/quicktvui/support/x5webview/ESX5WebView.java +352 -0
  1179. package/rules/.source/sdk/support/x5webview/src/main/java/com/quicktvui/support/x5webview/ESX5WebViewComponent.java +1190 -0
  1180. package/rules/.windsurfrules +1 -0
  1181. package/rules/AGENTS.md +1 -0
  1182. package/rules/CLAUDE.md +1 -0
  1183. package/rules/GEMINI.md +1 -0
@@ -0,0 +1,1740 @@
1
+ package quicktvui.support.lottie;
2
+
3
+ import android.animation.Animator;
4
+ import android.animation.ValueAnimator;
5
+ import android.annotation.SuppressLint;
6
+ import android.content.Context;
7
+ import android.graphics.Bitmap;
8
+ import android.graphics.Canvas;
9
+ import android.graphics.ColorFilter;
10
+ import android.graphics.Matrix;
11
+ import android.graphics.Paint;
12
+ import android.graphics.PixelFormat;
13
+ import android.graphics.Rect;
14
+ import android.graphics.RectF;
15
+ import android.graphics.Typeface;
16
+ import android.graphics.drawable.Animatable;
17
+ import android.graphics.drawable.Drawable;
18
+ import android.os.Build;
19
+ import android.view.View;
20
+ import android.view.ViewGroup;
21
+ import android.view.ViewParent;
22
+ import android.widget.ImageView;
23
+
24
+ import android.support.annotation.FloatRange;
25
+ import android.support.annotation.IntDef;
26
+ import android.support.annotation.IntRange;
27
+ import android.support.annotation.MainThread;
28
+ import android.support.annotation.NonNull;
29
+ import android.support.annotation.Nullable;
30
+ import android.support.annotation.RequiresApi;
31
+ import android.support.annotation.RestrictTo;
32
+
33
+ import java.lang.annotation.Retention;
34
+ import java.lang.annotation.RetentionPolicy;
35
+ import java.util.ArrayList;
36
+ import java.util.Collections;
37
+ import java.util.Iterator;
38
+ import java.util.List;
39
+ import java.util.Map;
40
+ import java.util.concurrent.Executor;
41
+ import java.util.concurrent.LinkedBlockingQueue;
42
+ import java.util.concurrent.Semaphore;
43
+ import java.util.concurrent.ThreadPoolExecutor;
44
+ import java.util.concurrent.TimeUnit;
45
+
46
+ import quicktvui.support.lottie.animation.LPaint;
47
+ import quicktvui.support.lottie.manager.FontAssetManager;
48
+ import quicktvui.support.lottie.manager.ImageAssetManager;
49
+ import quicktvui.support.lottie.model.Font;
50
+ import quicktvui.support.lottie.model.KeyPath;
51
+ import quicktvui.support.lottie.model.Marker;
52
+ import quicktvui.support.lottie.model.layer.CompositionLayer;
53
+ import quicktvui.support.lottie.parser.LayerParser;
54
+ import quicktvui.support.lottie.utils.Logger;
55
+ import quicktvui.support.lottie.utils.LottieThreadFactory;
56
+ import quicktvui.support.lottie.utils.LottieValueAnimator;
57
+ import quicktvui.support.lottie.utils.MiscUtils;
58
+ import quicktvui.support.lottie.value.LottieFrameInfo;
59
+ import quicktvui.support.lottie.value.LottieValueCallback;
60
+ import quicktvui.support.lottie.value.SimpleLottieValueCallback;
61
+
62
+ /**
63
+ * This can be used to show an lottie animation in any place that would normally take a drawable.
64
+ *
65
+ * @see <a href="http://airbnb.io/lottie">Full Documentation</a>
66
+ */
67
+ @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
68
+ @SuppressWarnings({"WeakerAccess"})
69
+ public class LottieDrawable extends Drawable implements Drawable.Callback, Animatable {
70
+ private interface LazyCompositionTask {
71
+ void run(LottieComposition composition);
72
+ }
73
+
74
+ /**
75
+ * Internal record keeping of the desired play state when {@link #isVisible()} transitions to or is false.
76
+ * <p>
77
+ * If the animation was playing when it becomes invisible or play/pause is called on it while it is invisible, it will
78
+ * store the state and then take the appropriate action when the drawable becomes visible again.
79
+ */
80
+ private enum OnVisibleAction {
81
+ NONE,
82
+ PLAY,
83
+ RESUME,
84
+ }
85
+
86
+ private LottieComposition composition;
87
+ private final LottieValueAnimator animator = new LottieValueAnimator();
88
+
89
+ // Call animationsEnabled() instead of using these fields directly.
90
+ private boolean systemAnimationsEnabled = true;
91
+ private boolean ignoreSystemAnimationsDisabled = false;
92
+
93
+ private boolean safeMode = false;
94
+ private OnVisibleAction onVisibleAction = OnVisibleAction.NONE;
95
+
96
+ private final ArrayList<LazyCompositionTask> lazyCompositionTasks = new ArrayList<>();
97
+
98
+ /**
99
+ * ImageAssetManager created automatically by Lottie for views.
100
+ */
101
+ @Nullable
102
+ private ImageAssetManager imageAssetManager;
103
+ @Nullable
104
+ private String imageAssetsFolder;
105
+ @Nullable
106
+ private ImageAssetDelegate imageAssetDelegate;
107
+ @Nullable
108
+ private FontAssetManager fontAssetManager;
109
+ @Nullable
110
+ private Map<String, Typeface> fontMap;
111
+ /**
112
+ * Will be set if manually overridden by {@link #setDefaultFontFileExtension(String)}.
113
+ * This must be stored as a field in case it is set before the font asset delegate
114
+ * has been created.
115
+ */
116
+ @Nullable
117
+ String defaultFontFileExtension;
118
+ @Nullable
119
+ FontAssetDelegate fontAssetDelegate;
120
+ @Nullable
121
+ TextDelegate textDelegate;
122
+ private boolean enableMergePaths;
123
+ private boolean maintainOriginalImageBounds = false;
124
+ private boolean clipToCompositionBounds = true;
125
+ @Nullable
126
+ private CompositionLayer compositionLayer;
127
+ private int alpha = 255;
128
+ private boolean performanceTrackingEnabled;
129
+ private boolean outlineMasksAndMattes;
130
+ private boolean isApplyingOpacityToLayersEnabled;
131
+
132
+ private RenderMode renderMode = RenderMode.AUTOMATIC;
133
+ /**
134
+ * The actual render mode derived from {@link #renderMode}.
135
+ */
136
+ private boolean useSoftwareRendering = false;
137
+ private final Matrix renderingMatrix = new Matrix();
138
+ private Bitmap softwareRenderingBitmap;
139
+ private Canvas softwareRenderingCanvas;
140
+ private Rect canvasClipBounds;
141
+ private RectF canvasClipBoundsRectF;
142
+ private Paint softwareRenderingPaint;
143
+ private Rect softwareRenderingSrcBoundsRect;
144
+ private Rect softwareRenderingDstBoundsRect;
145
+ private RectF softwareRenderingDstBoundsRectF;
146
+ private RectF softwareRenderingTransformedBounds;
147
+ private Matrix softwareRenderingOriginalCanvasMatrix;
148
+ private Matrix softwareRenderingOriginalCanvasMatrixInverse;
149
+
150
+ private AsyncUpdates asyncUpdates = AsyncUpdates.AUTOMATIC;
151
+ private final ValueAnimator.AnimatorUpdateListener progressUpdateListener = animation -> {
152
+ if (getAsyncUpdatesEnabled()) {
153
+ // Render a new frame.
154
+ // If draw is called while lastDrawnProgress is still recent enough, it will
155
+ // draw straight away and then enqueue a background setProgress immediately after draw
156
+ // finishes.
157
+ invalidateSelf();
158
+ } else if (compositionLayer != null) {
159
+ compositionLayer.setProgress(animator.getAnimatedValueAbsolute());
160
+ }
161
+ };
162
+
163
+ /**
164
+ * Ensures that setProgress and draw will never happen at the same time on different threads.
165
+ * If that were to happen, parts of the animation may be on one frame while other parts would
166
+ * be on another.
167
+ */
168
+ private final Semaphore setProgressDrawLock = new Semaphore(1);
169
+ /**
170
+ * The executor that {@link AsyncUpdates} will be run on.
171
+ * <p/>
172
+ * Defaults to a core size of 0 so that when no animations are playing, there will be no
173
+ * idle cores consuming resources.
174
+ * <p/>
175
+ * Allows up to two active threads so that if there are many animations, they can all work in parallel.
176
+ * Two was arbitrarily chosen but should be sufficient for most uses cases. In the case of a single
177
+ * animation, this should never exceed one.
178
+ * <p/>
179
+ * Each thread will timeout after 35ms which gives it enough time to persist for one frame, one dropped frame
180
+ * and a few extra ms just in case.
181
+ */
182
+ private static final Executor setProgressExecutor = new ThreadPoolExecutor(0, 2, 35, TimeUnit.MILLISECONDS,
183
+ new LinkedBlockingQueue<>(), new LottieThreadFactory());
184
+ private final Runnable updateProgressRunnable = () -> {
185
+ CompositionLayer compositionLayer = this.compositionLayer;
186
+ if (compositionLayer == null) {
187
+ return;
188
+ }
189
+ try {
190
+ setProgressDrawLock.acquire();
191
+ compositionLayer.setProgress(animator.getAnimatedValueAbsolute());
192
+ } catch (InterruptedException e) {
193
+ // Do nothing.
194
+ } finally {
195
+ setProgressDrawLock.release();
196
+ }
197
+ };
198
+ private float lastDrawnProgress = -Float.MAX_VALUE;
199
+ private static final float MAX_DELTA_MS_ASYNC_SET_PROGRESS = 3 / 60f * 1000;
200
+
201
+ /**
202
+ * True if the drawable has not been drawn since the last invalidateSelf.
203
+ * We can do this to prevent things like bounds from getting recalculated
204
+ * many times.
205
+ */
206
+ private boolean isDirty = false;
207
+
208
+ @IntDef({RESTART, REVERSE})
209
+ @Retention(RetentionPolicy.SOURCE)
210
+ public @interface RepeatMode {
211
+ }
212
+
213
+ /**
214
+ * When the animation reaches the end and <code>repeatCount</code> is INFINITE
215
+ * or a positive value, the animation restarts from the beginning.
216
+ */
217
+ public static final int RESTART = ValueAnimator.RESTART;
218
+ /**
219
+ * When the animation reaches the end and <code>repeatCount</code> is INFINITE
220
+ * or a positive value, the animation reverses direction on every iteration.
221
+ */
222
+ public static final int REVERSE = ValueAnimator.REVERSE;
223
+ /**
224
+ * This value used used with the {@link #setRepeatCount(int)} property to repeat
225
+ * the animation indefinitely.
226
+ */
227
+ public static final int INFINITE = ValueAnimator.INFINITE;
228
+
229
+ public LottieDrawable() {
230
+ animator.addUpdateListener(progressUpdateListener);
231
+ }
232
+
233
+ /**
234
+ * Returns whether or not any layers in this composition has masks.
235
+ */
236
+ public boolean hasMasks() {
237
+ return compositionLayer != null && compositionLayer.hasMasks();
238
+ }
239
+
240
+ /**
241
+ * Returns whether or not any layers in this composition has a matte layer.
242
+ */
243
+ public boolean hasMatte() {
244
+ return compositionLayer != null && compositionLayer.hasMatte();
245
+ }
246
+
247
+ public boolean enableMergePathsForKitKatAndAbove() {
248
+ return enableMergePaths;
249
+ }
250
+
251
+ /**
252
+ * Enable this to get merge path support for devices running KitKat (19) and above.
253
+ * <p>
254
+ * Merge paths currently don't work if the the operand shape is entirely contained within the
255
+ * first shape. If you need to cut out one shape from another shape, use an even-odd fill type
256
+ * instead of using merge paths.
257
+ */
258
+ public void enableMergePathsForKitKatAndAbove(boolean enable) {
259
+ if (enableMergePaths == enable) {
260
+ return;
261
+ }
262
+
263
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
264
+ Logger.warning("Merge paths are not supported pre-Kit Kat.");
265
+ return;
266
+ }
267
+ enableMergePaths = enable;
268
+ if (composition != null) {
269
+ buildCompositionLayer();
270
+ }
271
+ }
272
+
273
+ public boolean isMergePathsEnabledForKitKatAndAbove() {
274
+ return enableMergePaths;
275
+ }
276
+
277
+ /**
278
+ * Sets whether or not Lottie should clip to the original animation composition bounds.
279
+ * <p>
280
+ * Defaults to true.
281
+ */
282
+ public void setClipToCompositionBounds(boolean clipToCompositionBounds) {
283
+ if (clipToCompositionBounds != this.clipToCompositionBounds) {
284
+ this.clipToCompositionBounds = clipToCompositionBounds;
285
+ CompositionLayer compositionLayer = this.compositionLayer;
286
+ if (compositionLayer != null) {
287
+ compositionLayer.setClipToCompositionBounds(clipToCompositionBounds);
288
+ }
289
+ invalidateSelf();
290
+ }
291
+ }
292
+
293
+ /**
294
+ * Gets whether or not Lottie should clip to the original animation composition bounds.
295
+ * <p>
296
+ * Defaults to true.
297
+ */
298
+ public boolean getClipToCompositionBounds() {
299
+ return clipToCompositionBounds;
300
+ }
301
+
302
+ /**
303
+ * If you use image assets, you must explicitly specify the folder in assets/ in which they are
304
+ * located because bodymovin uses the name filenames across all compositions (img_#).
305
+ * Do NOT rename the images themselves.
306
+ * <p>
307
+ * If your images are located in src/main/assets/airbnb_loader/ then call
308
+ * `setImageAssetsFolder("airbnb_loader/");`.
309
+ * <p>
310
+ * <p>
311
+ * Be wary if you are using many images, however. Lottie is designed to work with vector shapes
312
+ * from After Effects. If your images look like they could be represented with vector shapes,
313
+ * see if it is possible to convert them to shape layers and re-export your animation. Check
314
+ * the documentation at http://airbnb.io/lottie for more information about importing shapes from
315
+ * Sketch or Illustrator to avoid this.
316
+ */
317
+ public void setImagesAssetsFolder(@Nullable String imageAssetsFolder) {
318
+ this.imageAssetsFolder = imageAssetsFolder;
319
+ }
320
+
321
+ @Nullable
322
+ public String getImageAssetsFolder() {
323
+ return imageAssetsFolder;
324
+ }
325
+
326
+ /**
327
+ * When true, dynamically set bitmaps will be drawn with the exact bounds of the original animation, regardless of the bitmap size.
328
+ * When false, dynamically set bitmaps will be drawn at the top left of the original image but with its own bounds.
329
+ * <p>
330
+ * Defaults to false.
331
+ */
332
+ public void setMaintainOriginalImageBounds(boolean maintainOriginalImageBounds) {
333
+ this.maintainOriginalImageBounds = maintainOriginalImageBounds;
334
+ }
335
+
336
+ /**
337
+ * When true, dynamically set bitmaps will be drawn with the exact bounds of the original animation, regardless of the bitmap size.
338
+ * When false, dynamically set bitmaps will be drawn at the top left of the original image but with its own bounds.
339
+ * <p>
340
+ * Defaults to false.
341
+ */
342
+ public boolean getMaintainOriginalImageBounds() {
343
+ return maintainOriginalImageBounds;
344
+ }
345
+
346
+ /**
347
+ * Create a composition with {@link LottieCompositionFactory}
348
+ *
349
+ * @return True if the composition is different from the previously set composition, false otherwise.
350
+ */
351
+ public boolean setComposition(LottieComposition composition) {
352
+ if (this.composition == composition) {
353
+ return false;
354
+ }
355
+
356
+ isDirty = true;
357
+ clearComposition();
358
+ this.composition = composition;
359
+ buildCompositionLayer();
360
+ animator.setComposition(composition);
361
+ setProgress(animator.getAnimatedFraction());
362
+
363
+ // We copy the tasks to a new ArrayList so that if this method is called from multiple threads,
364
+ // then there won't be two iterators iterating and removing at the same time.
365
+ Iterator<LazyCompositionTask> it = new ArrayList<>(lazyCompositionTasks).iterator();
366
+ while (it.hasNext()) {
367
+ LazyCompositionTask t = it.next();
368
+ // The task should never be null but it appears to happen in rare cases. Maybe it's an oem-specific or ART bug.
369
+ // https://github.com/airbnb/lottie-android/issues/1702
370
+ if (t != null) {
371
+ t.run(composition);
372
+ }
373
+ it.remove();
374
+ }
375
+ lazyCompositionTasks.clear();
376
+
377
+ composition.setPerformanceTrackingEnabled(performanceTrackingEnabled);
378
+ computeRenderMode();
379
+
380
+ // Ensure that ImageView updates the drawable width/height so it can
381
+ // properly calculate its drawable matrix.
382
+ Callback callback = getCallback();
383
+ if (callback instanceof ImageView) {
384
+ ((ImageView) callback).setImageDrawable(null);
385
+ ((ImageView) callback).setImageDrawable(this);
386
+ }
387
+
388
+ return true;
389
+ }
390
+
391
+ /**
392
+ * Call this to set whether or not to render with hardware or software acceleration.
393
+ * Lottie defaults to Automatic which will use hardware acceleration unless:
394
+ * 1) There are dash paths and the device is pre-Pie.
395
+ * 2) There are more than 4 masks and mattes and the device is pre-Pie.
396
+ * Hardware acceleration is generally faster for those devices unless
397
+ * there are many large mattes and masks in which case there is a lot
398
+ * of GPU uploadTexture thrashing which makes it much slower.
399
+ * <p>
400
+ * In most cases, hardware rendering will be faster, even if you have mattes and masks.
401
+ * However, if you have multiple mattes and masks (especially large ones), you
402
+ * should test both render modes. You should also test on pre-Pie and Pie+ devices
403
+ * because the underlying rendering engine changed significantly.
404
+ *
405
+ * @see <a href="https://developer.android.com/guide/topics/graphics/hardware-accel#unsupported">Android Hardware Acceleration</a>
406
+ */
407
+ public void setRenderMode(RenderMode renderMode) {
408
+ this.renderMode = renderMode;
409
+ computeRenderMode();
410
+ }
411
+
412
+ /**
413
+ * Returns the current value of {@link AsyncUpdates}. Refer to the docs for {@link AsyncUpdates} for more info.
414
+ */
415
+ public AsyncUpdates getAsyncUpdates() {
416
+ return asyncUpdates;
417
+ }
418
+
419
+ /**
420
+ * Similar to {@link #getAsyncUpdates()} except it returns the actual
421
+ * boolean value for whether async updates are enabled or not.
422
+ * This is useful when the mode is automatic and you want to know
423
+ * whether automatic is defaulting to enabled or not.
424
+ */
425
+ public boolean getAsyncUpdatesEnabled() {
426
+ return asyncUpdates == AsyncUpdates.ENABLED;
427
+ }
428
+
429
+ /**
430
+ * **Note: this API is experimental and may changed.**
431
+ * <p/>
432
+ * Sets the current value for {@link AsyncUpdates}. Refer to the docs for {@link AsyncUpdates} for more info.
433
+ */
434
+ public void setAsyncUpdates(AsyncUpdates asyncUpdates) {
435
+ this.asyncUpdates = asyncUpdates;
436
+ }
437
+
438
+ /**
439
+ * Returns the actual render mode being used. It will always be {@link RenderMode#HARDWARE} or {@link RenderMode#SOFTWARE}.
440
+ * When the render mode is set to AUTOMATIC, the value will be derived from {@link RenderMode#useSoftwareRendering(int, boolean, int)}.
441
+ */
442
+ public RenderMode getRenderMode() {
443
+ return useSoftwareRendering ? RenderMode.SOFTWARE : RenderMode.HARDWARE;
444
+ }
445
+
446
+ private void computeRenderMode() {
447
+ LottieComposition composition = this.composition;
448
+ if (composition == null) {
449
+ return;
450
+ }
451
+ useSoftwareRendering = renderMode.useSoftwareRendering(
452
+ Build.VERSION.SDK_INT, composition.hasDashPattern(), composition.getMaskAndMatteCount());
453
+ }
454
+
455
+ public void setPerformanceTrackingEnabled(boolean enabled) {
456
+ performanceTrackingEnabled = enabled;
457
+ if (composition != null) {
458
+ composition.setPerformanceTrackingEnabled(enabled);
459
+ }
460
+ }
461
+
462
+ /**
463
+ * Enable this to debug slow animations by outlining masks and mattes. The performance overhead of the masks and mattes will
464
+ * be proportional to the surface area of all of the masks/mattes combined.
465
+ * <p>
466
+ * DO NOT leave this enabled in production.
467
+ */
468
+ public void setOutlineMasksAndMattes(boolean outline) {
469
+ if (outlineMasksAndMattes == outline) {
470
+ return;
471
+ }
472
+ outlineMasksAndMattes = outline;
473
+ if (compositionLayer != null) {
474
+ compositionLayer.setOutlineMasksAndMattes(outline);
475
+ }
476
+ }
477
+
478
+ @Nullable
479
+ public PerformanceTracker getPerformanceTracker() {
480
+ if (composition != null) {
481
+ return composition.getPerformanceTracker();
482
+ }
483
+ return null;
484
+ }
485
+
486
+ /**
487
+ * Sets whether to apply opacity to the each layer instead of shape.
488
+ * <p>
489
+ * Opacity is normally applied directly to a shape. In cases where translucent shapes overlap, applying opacity to a layer will be more accurate
490
+ * at the expense of performance.
491
+ * <p>
492
+ * The default value is false.
493
+ * <p>
494
+ * Note: This process is very expensive. The performance impact will be reduced when hardware acceleration is enabled.
495
+ *
496
+ * @see View#setLayerType(int, Paint)
497
+ * @see LottieAnimationView#setRenderMode(RenderMode)
498
+ */
499
+ public void setApplyingOpacityToLayersEnabled(boolean isApplyingOpacityToLayersEnabled) {
500
+ this.isApplyingOpacityToLayersEnabled = isApplyingOpacityToLayersEnabled;
501
+ }
502
+
503
+ /**
504
+ * This API no longer has any effect.
505
+ */
506
+ @Deprecated
507
+ public void disableExtraScaleModeInFitXY() {
508
+ }
509
+
510
+ public boolean isApplyingOpacityToLayersEnabled() {
511
+ return isApplyingOpacityToLayersEnabled;
512
+ }
513
+
514
+ private void buildCompositionLayer() {
515
+ LottieComposition composition = this.composition;
516
+ if (composition == null) {
517
+ return;
518
+ }
519
+ compositionLayer = new CompositionLayer(
520
+ this, LayerParser.parse(composition), composition.getLayers(), composition);
521
+ if (outlineMasksAndMattes) {
522
+ compositionLayer.setOutlineMasksAndMattes(true);
523
+ }
524
+ compositionLayer.setClipToCompositionBounds(clipToCompositionBounds);
525
+ }
526
+
527
+ public void clearComposition() {
528
+ if (animator.isRunning()) {
529
+ animator.cancel();
530
+ if (!isVisible()) {
531
+ onVisibleAction = OnVisibleAction.NONE;
532
+ }
533
+ }
534
+ composition = null;
535
+ compositionLayer = null;
536
+ imageAssetManager = null;
537
+ lastDrawnProgress = -Float.MAX_VALUE;
538
+ animator.clearComposition();
539
+ invalidateSelf();
540
+ }
541
+
542
+ /**
543
+ * If you are experiencing a device specific crash that happens during drawing, you can set this to true
544
+ * for those devices. If set to true, draw will be wrapped with a try/catch which will cause Lottie to
545
+ * render an empty frame rather than crash your app.
546
+ * <p>
547
+ * Ideally, you will never need this and the vast majority of apps and animations won't. However, you may use
548
+ * this for very specific cases if absolutely necessary.
549
+ */
550
+ public void setSafeMode(boolean safeMode) {
551
+ this.safeMode = safeMode;
552
+ }
553
+
554
+ @Override
555
+ public void invalidateSelf() {
556
+ if (isDirty) {
557
+ return;
558
+ }
559
+ isDirty = true;
560
+ final Callback callback = getCallback();
561
+ if (callback != null) {
562
+ callback.invalidateDrawable(this);
563
+ }
564
+ }
565
+
566
+ @Override
567
+ public void setAlpha(@IntRange(from = 0, to = 255) int alpha) {
568
+ this.alpha = alpha;
569
+ invalidateSelf();
570
+ }
571
+
572
+ @Override
573
+ public int getAlpha() {
574
+ return alpha;
575
+ }
576
+
577
+ @Override
578
+ public void setColorFilter(@Nullable ColorFilter colorFilter) {
579
+ Logger.warning("Use addColorFilter instead.");
580
+ }
581
+
582
+ @Override
583
+ public int getOpacity() {
584
+ return PixelFormat.TRANSLUCENT;
585
+ }
586
+
587
+ /**
588
+ * Helper for the async execution path to potentially call setProgress
589
+ * before drawing if the current progress has drifted sufficiently far
590
+ * from the last set progress.
591
+ *
592
+ * @see AsyncUpdates
593
+ * @see #setAsyncUpdates(AsyncUpdates)
594
+ */
595
+ private boolean shouldSetProgressBeforeDrawing() {
596
+ LottieComposition composition = this.composition;
597
+ if (composition == null) {
598
+ return false;
599
+ }
600
+ float lastDrawnProgress = this.lastDrawnProgress;
601
+ float currentProgress = animator.getAnimatedValueAbsolute();
602
+ this.lastDrawnProgress = currentProgress;
603
+
604
+ float duration = composition.getDuration();
605
+
606
+ float deltaProgress = Math.abs(currentProgress - lastDrawnProgress);
607
+ float deltaMs = deltaProgress * duration;
608
+ return deltaMs >= MAX_DELTA_MS_ASYNC_SET_PROGRESS;
609
+ }
610
+
611
+ @Override
612
+ public void draw(@NonNull Canvas canvas) {
613
+ CompositionLayer compositionLayer = this.compositionLayer;
614
+ if (compositionLayer == null) {
615
+ return;
616
+ }
617
+ boolean asyncUpdatesEnabled = getAsyncUpdatesEnabled();
618
+ try {
619
+ if (asyncUpdatesEnabled) {
620
+ setProgressDrawLock.acquire();
621
+ }
622
+ L.beginSection("Drawable#draw");
623
+
624
+ if (asyncUpdatesEnabled && shouldSetProgressBeforeDrawing()) {
625
+ setProgress(animator.getAnimatedValueAbsolute());
626
+ }
627
+
628
+ if (safeMode) {
629
+ try {
630
+ if (useSoftwareRendering) {
631
+ renderAndDrawAsBitmap(canvas, compositionLayer);
632
+ } else {
633
+ drawDirectlyToCanvas(canvas);
634
+ }
635
+ } catch (Throwable e) {
636
+ Logger.error("Lottie crashed in draw!", e);
637
+ }
638
+ } else {
639
+ if (useSoftwareRendering) {
640
+ renderAndDrawAsBitmap(canvas, compositionLayer);
641
+ } else {
642
+ drawDirectlyToCanvas(canvas);
643
+ }
644
+ }
645
+
646
+ isDirty = false;
647
+ } catch (InterruptedException e) {
648
+ // Do nothing.
649
+ } finally {
650
+ L.endSection("Drawable#draw");
651
+ if (asyncUpdatesEnabled) {
652
+ setProgressDrawLock.release();
653
+ if (compositionLayer.getProgress() != animator.getAnimatedValueAbsolute()) {
654
+ setProgressExecutor.execute(updateProgressRunnable);
655
+ }
656
+ }
657
+ }
658
+ }
659
+
660
+ /**
661
+ * To be used by lottie-compose only.
662
+ */
663
+ @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
664
+ public void draw(Canvas canvas, Matrix matrix) {
665
+ CompositionLayer compositionLayer = this.compositionLayer;
666
+ LottieComposition composition = this.composition;
667
+ if (compositionLayer == null || composition == null) {
668
+ return;
669
+ }
670
+ boolean asyncUpdatesEnabled = getAsyncUpdatesEnabled();
671
+ try {
672
+ if (asyncUpdatesEnabled) {
673
+ setProgressDrawLock.acquire();
674
+ if (shouldSetProgressBeforeDrawing()) {
675
+ setProgress(animator.getAnimatedValueAbsolute());
676
+ }
677
+ }
678
+
679
+ if (useSoftwareRendering) {
680
+ canvas.save();
681
+ canvas.concat(matrix);
682
+ renderAndDrawAsBitmap(canvas, compositionLayer);
683
+ canvas.restore();
684
+ } else {
685
+ compositionLayer.draw(canvas, matrix, alpha);
686
+ }
687
+ isDirty = false;
688
+ } catch (InterruptedException e) {
689
+ // Do nothing.
690
+ } finally {
691
+ if (asyncUpdatesEnabled) {
692
+ setProgressDrawLock.release();
693
+ if (compositionLayer.getProgress() != animator.getAnimatedValueAbsolute()) {
694
+ setProgressExecutor.execute(updateProgressRunnable);
695
+ }
696
+ }
697
+ }
698
+ }
699
+
700
+ // <editor-fold desc="animator">
701
+
702
+ @MainThread
703
+ @Override
704
+ public void start() {
705
+ Callback callback = getCallback();
706
+ if (callback instanceof View && ((View) callback).isInEditMode()) {
707
+ // Don't auto play when in edit mode.
708
+ return;
709
+ }
710
+ playAnimation();
711
+ }
712
+
713
+ @MainThread
714
+ @Override
715
+ public void stop() {
716
+ endAnimation();
717
+ }
718
+
719
+ @Override
720
+ public boolean isRunning() {
721
+ return isAnimating();
722
+ }
723
+
724
+ /**
725
+ * Plays the animation from the beginning. If speed is {@literal <} 0, it will start at the end
726
+ * and play towards the beginning
727
+ */
728
+ @MainThread
729
+ public void playAnimation() {
730
+ if (compositionLayer == null) {
731
+ lazyCompositionTasks.add(c -> playAnimation());
732
+ return;
733
+ }
734
+
735
+ computeRenderMode();
736
+ if (animationsEnabled() || getRepeatCount() == 0) {
737
+ if (isVisible()) {
738
+ animator.playAnimation();
739
+ onVisibleAction = OnVisibleAction.NONE;
740
+ } else {
741
+ onVisibleAction = OnVisibleAction.PLAY;
742
+ }
743
+ }
744
+ if (!animationsEnabled()) {
745
+ setFrame((int) (getSpeed() < 0 ? getMinFrame() : getMaxFrame()));
746
+ animator.endAnimation();
747
+ if (!isVisible()) {
748
+ onVisibleAction = OnVisibleAction.NONE;
749
+ }
750
+ }
751
+ }
752
+
753
+ @MainThread
754
+ public void endAnimation() {
755
+ lazyCompositionTasks.clear();
756
+ animator.endAnimation();
757
+ if (!isVisible()) {
758
+ onVisibleAction = OnVisibleAction.NONE;
759
+ }
760
+ }
761
+
762
+ /**
763
+ * Continues playing the animation from its current position. If speed {@literal <} 0, it will play backwards
764
+ * from the current position.
765
+ */
766
+ @MainThread
767
+ public void resumeAnimation() {
768
+ if (compositionLayer == null) {
769
+ lazyCompositionTasks.add(c -> resumeAnimation());
770
+ return;
771
+ }
772
+
773
+ computeRenderMode();
774
+ if (animationsEnabled() || getRepeatCount() == 0) {
775
+ if (isVisible()) {
776
+ animator.resumeAnimation();
777
+ onVisibleAction = OnVisibleAction.NONE;
778
+ } else {
779
+ onVisibleAction = OnVisibleAction.RESUME;
780
+ }
781
+ }
782
+ if (!animationsEnabled()) {
783
+ setFrame((int) (getSpeed() < 0 ? getMinFrame() : getMaxFrame()));
784
+ animator.endAnimation();
785
+ if (!isVisible()) {
786
+ onVisibleAction = OnVisibleAction.NONE;
787
+ }
788
+ }
789
+ }
790
+
791
+ /**
792
+ * Sets the minimum frame that the animation will start from when playing or looping.
793
+ */
794
+ public void setMinFrame(final int minFrame) {
795
+ if (composition == null) {
796
+ lazyCompositionTasks.add(c -> setMinFrame(minFrame));
797
+ return;
798
+ }
799
+ animator.setMinFrame(minFrame);
800
+ }
801
+
802
+ /**
803
+ * Returns the minimum frame set by {@link #setMinFrame(int)} or {@link #setMinProgress(float)}
804
+ */
805
+ public float getMinFrame() {
806
+ return animator.getMinFrame();
807
+ }
808
+
809
+ /**
810
+ * Sets the minimum progress that the animation will start from when playing or looping.
811
+ */
812
+ public void setMinProgress(final float minProgress) {
813
+ if (composition == null) {
814
+ lazyCompositionTasks.add(c -> setMinProgress(minProgress));
815
+ return;
816
+ }
817
+ setMinFrame((int) MiscUtils.lerp(composition.getStartFrame(), composition.getEndFrame(), minProgress));
818
+ }
819
+
820
+ /**
821
+ * Sets the maximum frame that the animation will end at when playing or looping.
822
+ * <p>
823
+ * The value will be clamped to the composition bounds. For example, setting Integer.MAX_VALUE would result in the same
824
+ * thing as composition.endFrame.
825
+ */
826
+ public void setMaxFrame(final int maxFrame) {
827
+ if (composition == null) {
828
+ lazyCompositionTasks.add(c -> setMaxFrame(maxFrame));
829
+ return;
830
+ }
831
+ animator.setMaxFrame(maxFrame + 0.99f);
832
+ }
833
+
834
+ /**
835
+ * Returns the maximum frame set by {@link #setMaxFrame(int)} or {@link #setMaxProgress(float)}
836
+ */
837
+ public float getMaxFrame() {
838
+ return animator.getMaxFrame();
839
+ }
840
+
841
+ /**
842
+ * Sets the maximum progress that the animation will end at when playing or looping.
843
+ */
844
+ public void setMaxProgress(@FloatRange(from = 0f, to = 1f) final float maxProgress) {
845
+ if (composition == null) {
846
+ lazyCompositionTasks.add(c -> setMaxProgress(maxProgress));
847
+ return;
848
+ }
849
+ animator.setMaxFrame(MiscUtils.lerp(composition.getStartFrame(), composition.getEndFrame(), maxProgress));
850
+ }
851
+
852
+ /**
853
+ * Sets the minimum frame to the start time of the specified marker.
854
+ *
855
+ * @throws IllegalArgumentException if the marker is not found.
856
+ */
857
+ public void setMinFrame(final String markerName) {
858
+ if (composition == null) {
859
+ lazyCompositionTasks.add(c -> setMinFrame(markerName));
860
+ return;
861
+ }
862
+ Marker marker = composition.getMarker(markerName);
863
+ if (marker == null) {
864
+ throw new IllegalArgumentException("Cannot find marker with name " + markerName + ".");
865
+ }
866
+ setMinFrame((int) marker.startFrame);
867
+ }
868
+
869
+ /**
870
+ * Sets the maximum frame to the start time + duration of the specified marker.
871
+ *
872
+ * @throws IllegalArgumentException if the marker is not found.
873
+ */
874
+ public void setMaxFrame(final String markerName) {
875
+ if (composition == null) {
876
+ lazyCompositionTasks.add(c -> setMaxFrame(markerName));
877
+ return;
878
+ }
879
+ Marker marker = composition.getMarker(markerName);
880
+ if (marker == null) {
881
+ throw new IllegalArgumentException("Cannot find marker with name " + markerName + ".");
882
+ }
883
+ setMaxFrame((int) (marker.startFrame + marker.durationFrames));
884
+ }
885
+
886
+ /**
887
+ * Sets the minimum and maximum frame to the start time and start time + duration
888
+ * of the specified marker.
889
+ *
890
+ * @throws IllegalArgumentException if the marker is not found.
891
+ */
892
+ public void setMinAndMaxFrame(final String markerName) {
893
+ if (composition == null) {
894
+ lazyCompositionTasks.add(c -> setMinAndMaxFrame(markerName));
895
+ return;
896
+ }
897
+ Marker marker = composition.getMarker(markerName);
898
+ if (marker == null) {
899
+ throw new IllegalArgumentException("Cannot find marker with name " + markerName + ".");
900
+ }
901
+ int startFrame = (int) marker.startFrame;
902
+ setMinAndMaxFrame(startFrame, startFrame + (int) marker.durationFrames);
903
+ }
904
+
905
+ /**
906
+ * Sets the minimum and maximum frame to the start marker start and the maximum frame to the end marker start.
907
+ * playEndMarkerStartFrame determines whether or not to play the frame that the end marker is on. If the end marker
908
+ * represents the end of the section that you want, it should be true. If the marker represents the beginning of the
909
+ * next section, it should be false.
910
+ *
911
+ * @throws IllegalArgumentException if either marker is not found.
912
+ */
913
+ public void setMinAndMaxFrame(final String startMarkerName, final String endMarkerName, final boolean playEndMarkerStartFrame) {
914
+ if (composition == null) {
915
+ lazyCompositionTasks.add(c -> setMinAndMaxFrame(startMarkerName, endMarkerName, playEndMarkerStartFrame));
916
+ return;
917
+ }
918
+ Marker startMarker = composition.getMarker(startMarkerName);
919
+ if (startMarker == null) {
920
+ throw new IllegalArgumentException("Cannot find marker with name " + startMarkerName + ".");
921
+ }
922
+ int startFrame = (int) startMarker.startFrame;
923
+
924
+ final Marker endMarker = composition.getMarker(endMarkerName);
925
+ if (endMarker == null) {
926
+ throw new IllegalArgumentException("Cannot find marker with name " + endMarkerName + ".");
927
+ }
928
+ int endFrame = (int) (endMarker.startFrame + (playEndMarkerStartFrame ? 1f : 0f));
929
+
930
+ setMinAndMaxFrame(startFrame, endFrame);
931
+ }
932
+
933
+ /**
934
+ * @see #setMinFrame(int)
935
+ * @see #setMaxFrame(int)
936
+ */
937
+ public void setMinAndMaxFrame(final int minFrame, final int maxFrame) {
938
+ if (composition == null) {
939
+ lazyCompositionTasks.add(c -> setMinAndMaxFrame(minFrame, maxFrame));
940
+ return;
941
+ }
942
+ // Adding 0.99 ensures that the maxFrame itself gets played.
943
+ animator.setMinAndMaxFrames(minFrame, maxFrame + 0.99f);
944
+ }
945
+
946
+ /**
947
+ * @see #setMinProgress(float)
948
+ * @see #setMaxProgress(float)
949
+ */
950
+ public void setMinAndMaxProgress(
951
+ @FloatRange(from = 0f, to = 1f) final float minProgress,
952
+ @FloatRange(from = 0f, to = 1f) final float maxProgress) {
953
+ if (composition == null) {
954
+ lazyCompositionTasks.add(c -> setMinAndMaxProgress(minProgress, maxProgress));
955
+ return;
956
+ }
957
+
958
+ setMinAndMaxFrame((int) MiscUtils.lerp(composition.getStartFrame(), composition.getEndFrame(), minProgress),
959
+ (int) MiscUtils.lerp(composition.getStartFrame(), composition.getEndFrame(), maxProgress));
960
+ }
961
+
962
+ /**
963
+ * Reverses the current animation speed. This does NOT play the animation.
964
+ *
965
+ * @see #setSpeed(float)
966
+ * @see #playAnimation()
967
+ * @see #resumeAnimation()
968
+ */
969
+ public void reverseAnimationSpeed() {
970
+ animator.reverseAnimationSpeed();
971
+ }
972
+
973
+ /**
974
+ * Sets the playback speed. If speed {@literal <} 0, the animation will play backwards.
975
+ */
976
+ public void setSpeed(float speed) {
977
+ animator.setSpeed(speed);
978
+ }
979
+
980
+ /**
981
+ * Returns the current playback speed. This will be {@literal <} 0 if the animation is playing backwards.
982
+ */
983
+ public float getSpeed() {
984
+ return animator.getSpeed();
985
+ }
986
+
987
+ public void addAnimatorUpdateListener(ValueAnimator.AnimatorUpdateListener updateListener) {
988
+ animator.addUpdateListener(updateListener);
989
+ }
990
+
991
+ public void removeAnimatorUpdateListener(ValueAnimator.AnimatorUpdateListener updateListener) {
992
+ animator.removeUpdateListener(updateListener);
993
+ }
994
+
995
+ public void removeAllUpdateListeners() {
996
+ animator.removeAllUpdateListeners();
997
+ animator.addUpdateListener(progressUpdateListener);
998
+ }
999
+
1000
+ public void addAnimatorListener(Animator.AnimatorListener listener) {
1001
+ animator.addListener(listener);
1002
+ }
1003
+
1004
+ public void removeAnimatorListener(Animator.AnimatorListener listener) {
1005
+ animator.removeListener(listener);
1006
+ }
1007
+
1008
+ public void removeAllAnimatorListeners() {
1009
+ animator.removeAllListeners();
1010
+ }
1011
+
1012
+ @RequiresApi(api = Build.VERSION_CODES.KITKAT)
1013
+ public void addAnimatorPauseListener(Animator.AnimatorPauseListener listener) {
1014
+ animator.addPauseListener(listener);
1015
+ }
1016
+
1017
+ @RequiresApi(api = Build.VERSION_CODES.KITKAT)
1018
+ public void removeAnimatorPauseListener(Animator.AnimatorPauseListener listener) {
1019
+ animator.removePauseListener(listener);
1020
+ }
1021
+
1022
+ /**
1023
+ * Sets the progress to the specified frame.
1024
+ * If the composition isn't set yet, the progress will be set to the frame when
1025
+ * it is.
1026
+ */
1027
+ public void setFrame(final int frame) {
1028
+ if (composition == null) {
1029
+ lazyCompositionTasks.add(c -> setFrame(frame));
1030
+ return;
1031
+ }
1032
+
1033
+ animator.setFrame(frame);
1034
+ }
1035
+
1036
+ /**
1037
+ * Get the currently rendered frame.
1038
+ */
1039
+ public int getFrame() {
1040
+ return (int) animator.getFrame();
1041
+ }
1042
+
1043
+ public void setProgress(@FloatRange(from = 0f, to = 1f) final float progress) {
1044
+ if (composition == null) {
1045
+ lazyCompositionTasks.add(c -> setProgress(progress));
1046
+ return;
1047
+ }
1048
+ L.beginSection("Drawable#setProgress");
1049
+ animator.setFrame(composition.getFrameForProgress(progress));
1050
+ L.endSection("Drawable#setProgress");
1051
+ }
1052
+
1053
+ /**
1054
+ * @see #setRepeatCount(int)
1055
+ */
1056
+ @Deprecated
1057
+ public void loop(boolean loop) {
1058
+ animator.setRepeatCount(loop ? ValueAnimator.INFINITE : 0);
1059
+ }
1060
+
1061
+ /**
1062
+ * Defines what this animation should do when it reaches the end. This
1063
+ * setting is applied only when the repeat count is either greater than
1064
+ * 0 or {@link #INFINITE}. Defaults to {@link #RESTART}.
1065
+ *
1066
+ * @param mode {@link #RESTART} or {@link #REVERSE}
1067
+ */
1068
+ public void setRepeatMode(@RepeatMode int mode) {
1069
+ animator.setRepeatMode(mode);
1070
+ }
1071
+
1072
+ /**
1073
+ * Defines what this animation should do when it reaches the end.
1074
+ *
1075
+ * @return either one of {@link #REVERSE} or {@link #RESTART}
1076
+ */
1077
+ @SuppressLint("WrongConstant")
1078
+ @RepeatMode
1079
+ public int getRepeatMode() {
1080
+ return animator.getRepeatMode();
1081
+ }
1082
+
1083
+ /**
1084
+ * Sets how many times the animation should be repeated. If the repeat
1085
+ * count is 0, the animation is never repeated. If the repeat count is
1086
+ * greater than 0 or {@link #INFINITE}, the repeat mode will be taken
1087
+ * into account. The repeat count is 0 by default.
1088
+ *
1089
+ * @param count the number of times the animation should be repeated
1090
+ */
1091
+ public void setRepeatCount(int count) {
1092
+ animator.setRepeatCount(count);
1093
+ }
1094
+
1095
+ /**
1096
+ * Defines how many times the animation should repeat. The default value
1097
+ * is 0.
1098
+ *
1099
+ * @return the number of times the animation should repeat, or {@link #INFINITE}
1100
+ */
1101
+ public int getRepeatCount() {
1102
+ return animator.getRepeatCount();
1103
+ }
1104
+
1105
+
1106
+ @SuppressWarnings("unused")
1107
+ public boolean isLooping() {
1108
+ return animator.getRepeatCount() == ValueAnimator.INFINITE;
1109
+ }
1110
+
1111
+ public boolean isAnimating() {
1112
+ // On some versions of Android, this is called from the LottieAnimationView constructor, before animator was created.
1113
+ // https://github.com/airbnb/lottie-android/issues/1430
1114
+ //noinspection ConstantConditions
1115
+ if (animator == null) {
1116
+ return false;
1117
+ }
1118
+ return animator.isRunning();
1119
+ }
1120
+
1121
+ boolean isAnimatingOrWillAnimateOnVisible() {
1122
+ if (isVisible()) {
1123
+ return animator.isRunning();
1124
+ } else {
1125
+ return onVisibleAction == OnVisibleAction.PLAY || onVisibleAction == OnVisibleAction.RESUME;
1126
+ }
1127
+ }
1128
+
1129
+ private boolean animationsEnabled() {
1130
+ return systemAnimationsEnabled || ignoreSystemAnimationsDisabled;
1131
+ }
1132
+
1133
+ /**
1134
+ * Tell Lottie that system animations are disabled. When using {@link LottieAnimationView} or Compose {@code LottieAnimation}, this is done
1135
+ * automatically. However, if you are using LottieDrawable on its own, you should set this to false when
1136
+ * {@link com.airbnb.lottie.utils.Utils#getAnimationScale(Context)} is 0.
1137
+ */
1138
+ public void setSystemAnimationsAreEnabled(Boolean areEnabled) {
1139
+ systemAnimationsEnabled = areEnabled;
1140
+ }
1141
+
1142
+ // </editor-fold>
1143
+
1144
+ /**
1145
+ * Allows ignoring system animations settings, therefore allowing animations to run even if they are disabled.
1146
+ * <p>
1147
+ * Defaults to false.
1148
+ *
1149
+ * @param ignore if true animations will run even when they are disabled in the system settings.
1150
+ */
1151
+ public void setIgnoreDisabledSystemAnimations(boolean ignore) {
1152
+ ignoreSystemAnimationsDisabled = ignore;
1153
+ }
1154
+
1155
+ /**
1156
+ * Lottie files can specify a target frame rate. By default, Lottie ignores it and re-renders
1157
+ * on every frame. If that behavior is undesirable, you can set this to true to use the composition
1158
+ * frame rate instead.
1159
+ * <p>
1160
+ * Note: composition frame rates are usually lower than display frame rates
1161
+ * so this will likely make your animation feel janky. However, it may be desirable
1162
+ * for specific situations such as pixel art that are intended to have low frame rates.
1163
+ */
1164
+ public void setUseCompositionFrameRate(boolean useCompositionFrameRate) {
1165
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {//大于16api才支持
1166
+ animator.setUseCompositionFrameRate(useCompositionFrameRate);
1167
+ }
1168
+ }
1169
+
1170
+ /**
1171
+ * Use this if you can't bundle images with your app. This may be useful if you download the
1172
+ * animations from the network or have the images saved to an SD Card. In that case, Lottie
1173
+ * will defer the loading of the bitmap to this delegate.
1174
+ * <p>
1175
+ * Be wary if you are using many images, however. Lottie is designed to work with vector shapes
1176
+ * from After Effects. If your images look like they could be represented with vector shapes,
1177
+ * see if it is possible to convert them to shape layers and re-export your animation. Check
1178
+ * the documentation at <a href="http://airbnb.io/lottie">http://airbnb.io/lottie</a> for more information about importing shapes from
1179
+ * Sketch or Illustrator to avoid this.
1180
+ */
1181
+ public void setImageAssetDelegate(ImageAssetDelegate assetDelegate) {
1182
+ this.imageAssetDelegate = assetDelegate;
1183
+ if (imageAssetManager != null) {
1184
+ imageAssetManager.setDelegate(assetDelegate);
1185
+ }
1186
+ }
1187
+
1188
+ /**
1189
+ * Use this to manually set fonts.
1190
+ */
1191
+ public void setFontAssetDelegate(FontAssetDelegate assetDelegate) {
1192
+ this.fontAssetDelegate = assetDelegate;
1193
+ if (fontAssetManager != null) {
1194
+ fontAssetManager.setDelegate(assetDelegate);
1195
+ }
1196
+ }
1197
+
1198
+ /**
1199
+ * Set a map from font name keys to Typefaces.
1200
+ * The keys can be in the form:
1201
+ * * fontFamily
1202
+ * * fontFamily-fontStyle
1203
+ * * fontName
1204
+ * All 3 are defined as fName, fFamily, and fStyle in the Lottie file.
1205
+ * <p>
1206
+ * If you change a value in fontMap, create a new map or call
1207
+ * {@link #invalidateSelf()}. Setting the same map again will noop.
1208
+ */
1209
+ public void setFontMap(@Nullable Map<String, Typeface> fontMap) {
1210
+ if (fontMap == this.fontMap) {
1211
+ return;
1212
+ }
1213
+ this.fontMap = fontMap;
1214
+ invalidateSelf();
1215
+ }
1216
+
1217
+ public void setTextDelegate(@SuppressWarnings("NullableProblems") TextDelegate textDelegate) {
1218
+ this.textDelegate = textDelegate;
1219
+ }
1220
+
1221
+ @Nullable
1222
+ public TextDelegate getTextDelegate() {
1223
+ return textDelegate;
1224
+ }
1225
+
1226
+ public boolean useTextGlyphs() {
1227
+ return fontMap == null && textDelegate == null && composition.getCharacters().size() > 0;
1228
+ }
1229
+
1230
+ public LottieComposition getComposition() {
1231
+ return composition;
1232
+ }
1233
+
1234
+ public void cancelAnimation() {
1235
+ lazyCompositionTasks.clear();
1236
+ animator.cancel();
1237
+ if (!isVisible()) {
1238
+ onVisibleAction = OnVisibleAction.NONE;
1239
+ }
1240
+ }
1241
+
1242
+ public void pauseAnimation() {
1243
+ lazyCompositionTasks.clear();
1244
+ animator.pauseAnimation();
1245
+ if (!isVisible()) {
1246
+ onVisibleAction = OnVisibleAction.NONE;
1247
+ }
1248
+ }
1249
+
1250
+ @FloatRange(from = 0f, to = 1f)
1251
+ public float getProgress() {
1252
+ return animator.getAnimatedValueAbsolute();
1253
+ }
1254
+
1255
+ @Override
1256
+ public int getIntrinsicWidth() {
1257
+ return composition == null ? -1 : composition.getBounds().width();
1258
+ }
1259
+
1260
+ @Override
1261
+ public int getIntrinsicHeight() {
1262
+ return composition == null ? -1 : composition.getBounds().height();
1263
+ }
1264
+
1265
+ /**
1266
+ * Takes a {@link KeyPath}, potentially with wildcards or globstars and resolve it to a list of
1267
+ * zero or more actual {@link KeyPath Keypaths} that exist in the current animation.
1268
+ * <p>
1269
+ * If you want to set value callbacks for any of these values, it is recommend to use the
1270
+ * returned {@link KeyPath} objects because they will be internally resolved to their content
1271
+ * and won't trigger a tree walk of the animation contents when applied.
1272
+ */
1273
+ public List<KeyPath> resolveKeyPath(KeyPath keyPath) {
1274
+ if (compositionLayer == null) {
1275
+ Logger.warning("Cannot resolve KeyPath. Composition is not set yet.");
1276
+ return Collections.emptyList();
1277
+ }
1278
+ List<KeyPath> keyPaths = new ArrayList<>();
1279
+ compositionLayer.resolveKeyPath(keyPath, 0, keyPaths, new KeyPath());
1280
+ return keyPaths;
1281
+ }
1282
+
1283
+ /**
1284
+ * Add an property callback for the specified {@link KeyPath}. This {@link KeyPath} can resolve
1285
+ * to multiple contents. In that case, the callback's value will apply to all of them.
1286
+ * <p>
1287
+ * Internally, this will check if the {@link KeyPath} has already been resolved with
1288
+ * {@link #resolveKeyPath(KeyPath)} and will resolve it if it hasn't.
1289
+ */
1290
+ public <T> void addValueCallback(
1291
+ final KeyPath keyPath, final T property, @Nullable final LottieValueCallback<T> callback) {
1292
+ if (compositionLayer == null) {
1293
+ lazyCompositionTasks.add(c -> addValueCallback(keyPath, property, callback));
1294
+ return;
1295
+ }
1296
+ boolean invalidate;
1297
+ if (keyPath == KeyPath.COMPOSITION) {
1298
+ compositionLayer.addValueCallback(property, callback);
1299
+ invalidate = true;
1300
+ } else if (keyPath.getResolvedElement() != null) {
1301
+ keyPath.getResolvedElement().addValueCallback(property, callback);
1302
+ invalidate = true;
1303
+ } else {
1304
+ List<KeyPath> elements = resolveKeyPath(keyPath);
1305
+
1306
+ for (int i = 0; i < elements.size(); i++) {
1307
+ //noinspection ConstantConditions
1308
+ elements.get(i).getResolvedElement().addValueCallback(property, callback);
1309
+ }
1310
+ invalidate = !elements.isEmpty();
1311
+ }
1312
+ if (invalidate) {
1313
+ invalidateSelf();
1314
+ if (property == LottieProperty.TIME_REMAP) {
1315
+ // Time remapping values are read in setProgress. In order for the new value
1316
+ // to apply, we have to re-set the progress with the current progress so that the
1317
+ // time remapping can be reapplied.
1318
+ setProgress(getProgress());
1319
+ }
1320
+ }
1321
+ }
1322
+
1323
+ /**
1324
+ * Overload of {@link #addValueCallback(KeyPath, Object, LottieValueCallback)} that takes an interface. This allows you to use a single abstract
1325
+ * method code block in Kotlin such as:
1326
+ * drawable.addValueCallback(yourKeyPath, LottieProperty.COLOR) { yourColor }
1327
+ */
1328
+ public <T> void addValueCallback(KeyPath keyPath, T property,
1329
+ final SimpleLottieValueCallback<T> callback) {
1330
+ addValueCallback(keyPath, property, new LottieValueCallback<T>() {
1331
+ @Override
1332
+ public T getValue(LottieFrameInfo<T> frameInfo) {
1333
+ return callback.getValue(frameInfo);
1334
+ }
1335
+ });
1336
+ }
1337
+
1338
+
1339
+ /**
1340
+ * Allows you to modify or clear a bitmap that was loaded for an image either automatically
1341
+ * through {@link #setImagesAssetsFolder(String)} or with an {@link ImageAssetDelegate}.
1342
+ *
1343
+ * @return the previous Bitmap or null.
1344
+ */
1345
+ @Nullable
1346
+ public Bitmap updateBitmap(String id, @Nullable Bitmap bitmap) {
1347
+ ImageAssetManager bm = getImageAssetManager();
1348
+ if (bm == null) {
1349
+ Logger.warning("Cannot update bitmap. Most likely the drawable is not added to a View " +
1350
+ "which prevents Lottie from getting a Context.");
1351
+ return null;
1352
+ }
1353
+ Bitmap ret = bm.updateBitmap(id, bitmap);
1354
+ invalidateSelf();
1355
+ return ret;
1356
+ }
1357
+
1358
+ /**
1359
+ * @deprecated use {@link #getBitmapForId(String)}.
1360
+ */
1361
+ @Nullable
1362
+ @Deprecated
1363
+ public Bitmap getImageAsset(String id) {
1364
+ ImageAssetManager bm = getImageAssetManager();
1365
+ if (bm != null) {
1366
+ return bm.bitmapForId(id);
1367
+ }
1368
+ LottieImageAsset imageAsset = composition == null ? null : composition.getImages().get(id);
1369
+ if (imageAsset != null) {
1370
+ return imageAsset.getBitmap();
1371
+ }
1372
+ return null;
1373
+ }
1374
+
1375
+ /**
1376
+ * Returns the bitmap that will be rendered for the given id in the Lottie animation file.
1377
+ * The id is the asset reference id stored in the "id" property of each object in the "assets" array.
1378
+ * <p>
1379
+ * The returned bitmap could be from:
1380
+ * * Embedded in the animation file as a base64 string.
1381
+ * * In the same directory as the animation file.
1382
+ * * In the same zip file as the animation file.
1383
+ * * Returned from an {@link ImageAssetDelegate}.
1384
+ * or null if the image doesn't exist from any of those places.
1385
+ */
1386
+ @Nullable
1387
+ public Bitmap getBitmapForId(String id) {
1388
+ ImageAssetManager assetManager = getImageAssetManager();
1389
+ if (assetManager != null) {
1390
+ return assetManager.bitmapForId(id);
1391
+ }
1392
+ return null;
1393
+ }
1394
+
1395
+ /**
1396
+ * Returns the {@link LottieImageAsset} that will be rendered for the given id in the Lottie animation file.
1397
+ * The id is the asset reference id stored in the "id" property of each object in the "assets" array.
1398
+ * <p>
1399
+ * The returned bitmap could be from:
1400
+ * * Embedded in the animation file as a base64 string.
1401
+ * * In the same directory as the animation file.
1402
+ * * In the same zip file as the animation file.
1403
+ * * Returned from an {@link ImageAssetDelegate}.
1404
+ * or null if the image doesn't exist from any of those places.
1405
+ */
1406
+ @Nullable
1407
+ public LottieImageAsset getLottieImageAssetForId(String id) {
1408
+ LottieComposition composition = this.composition;
1409
+ if (composition == null) {
1410
+ return null;
1411
+ }
1412
+ return composition.getImages().get(id);
1413
+ }
1414
+
1415
+ private ImageAssetManager getImageAssetManager() {
1416
+ if (imageAssetManager != null && !imageAssetManager.hasSameContext(getContext())) {
1417
+ imageAssetManager = null;
1418
+ }
1419
+
1420
+ if (imageAssetManager == null) {
1421
+ imageAssetManager = new ImageAssetManager(getCallback(),
1422
+ imageAssetsFolder, imageAssetDelegate, composition.getImages());
1423
+ }
1424
+
1425
+ return imageAssetManager;
1426
+ }
1427
+
1428
+ @Nullable
1429
+ @RestrictTo(RestrictTo.Scope.LIBRARY)
1430
+ public Typeface getTypeface(Font font) {
1431
+ Map<String, Typeface> fontMap = this.fontMap;
1432
+ if (fontMap != null) {
1433
+ String key = font.getFamily();
1434
+ if (fontMap.containsKey(key)) {
1435
+ return fontMap.get(key);
1436
+ }
1437
+ key = font.getName();
1438
+ if (fontMap.containsKey(key)) {
1439
+ return fontMap.get(key);
1440
+ }
1441
+ key = font.getFamily() + "-" + font.getStyle();
1442
+ if (fontMap.containsKey(key)) {
1443
+ return fontMap.get(key);
1444
+ }
1445
+ }
1446
+
1447
+ FontAssetManager assetManager = getFontAssetManager();
1448
+ if (assetManager != null) {
1449
+ return assetManager.getTypeface(font);
1450
+ }
1451
+ return null;
1452
+ }
1453
+
1454
+ private FontAssetManager getFontAssetManager() {
1455
+ if (getCallback() == null) {
1456
+ // We can't get a bitmap since we can't get a Context from the callback.
1457
+ return null;
1458
+ }
1459
+
1460
+ if (fontAssetManager == null) {
1461
+ fontAssetManager = new FontAssetManager(getCallback(), fontAssetDelegate);
1462
+ String defaultExtension = this.defaultFontFileExtension;
1463
+ if (defaultExtension != null) {
1464
+ fontAssetManager.setDefaultFontFileExtension(defaultFontFileExtension);
1465
+ }
1466
+ }
1467
+
1468
+ return fontAssetManager;
1469
+ }
1470
+
1471
+ /**
1472
+ * By default, Lottie will look in src/assets/fonts/FONT_NAME.ttf
1473
+ * where FONT_NAME is the fFamily specified in your Lottie file.
1474
+ * If your fonts have a different extension, you can override the
1475
+ * default here.
1476
+ * <p>
1477
+ * Alternatively, you can use {@link #setFontAssetDelegate(FontAssetDelegate)}
1478
+ * for more control.
1479
+ *
1480
+ * @see #setFontAssetDelegate(FontAssetDelegate)
1481
+ */
1482
+ public void setDefaultFontFileExtension(String extension) {
1483
+ defaultFontFileExtension = extension;
1484
+ FontAssetManager fam = getFontAssetManager();
1485
+ if (fam != null) {
1486
+ fam.setDefaultFontFileExtension(extension);
1487
+ }
1488
+ }
1489
+
1490
+ @Nullable
1491
+ private Context getContext() {
1492
+ Callback callback = getCallback();
1493
+ if (callback == null) {
1494
+ return null;
1495
+ }
1496
+
1497
+ if (callback instanceof View) {
1498
+ return ((View) callback).getContext();
1499
+ }
1500
+ return null;
1501
+ }
1502
+
1503
+ @Override
1504
+ public boolean setVisible(boolean visible, boolean restart) {
1505
+ // Sometimes, setVisible(false) gets called twice in a row. If we don't check wasNotVisibleAlready, we could
1506
+ // wind up clearing the onVisibleAction value for the second call.
1507
+ boolean wasNotVisibleAlready = !isVisible();
1508
+ boolean ret = super.setVisible(visible, restart);
1509
+
1510
+ if (visible) {
1511
+ if (onVisibleAction == OnVisibleAction.PLAY) {
1512
+ playAnimation();
1513
+ } else if (onVisibleAction == OnVisibleAction.RESUME) {
1514
+ resumeAnimation();
1515
+ }
1516
+ } else {
1517
+ if (animator.isRunning()) {
1518
+ pauseAnimation();
1519
+ onVisibleAction = OnVisibleAction.RESUME;
1520
+ } else if (!wasNotVisibleAlready) {
1521
+ onVisibleAction = OnVisibleAction.NONE;
1522
+ }
1523
+ }
1524
+ return ret;
1525
+ }
1526
+
1527
+ /**
1528
+ * These Drawable.Callback methods proxy the calls so that this is the drawable that is
1529
+ * actually invalidated, not a child one which will not pass the view's validateDrawable check.
1530
+ */
1531
+ @Override
1532
+ public void invalidateDrawable(@NonNull Drawable who) {
1533
+ Callback callback = getCallback();
1534
+ if (callback == null) {
1535
+ return;
1536
+ }
1537
+ callback.invalidateDrawable(this);
1538
+ }
1539
+
1540
+ @Override
1541
+ public void scheduleDrawable(@NonNull Drawable who, @NonNull Runnable what, long when) {
1542
+ Callback callback = getCallback();
1543
+ if (callback == null) {
1544
+ return;
1545
+ }
1546
+ callback.scheduleDrawable(this, what, when);
1547
+ }
1548
+
1549
+ @Override
1550
+ public void unscheduleDrawable(@NonNull Drawable who, @NonNull Runnable what) {
1551
+ Callback callback = getCallback();
1552
+ if (callback == null) {
1553
+ return;
1554
+ }
1555
+ callback.unscheduleDrawable(this, what);
1556
+ }
1557
+
1558
+ /**
1559
+ * Hardware accelerated render path.
1560
+ */
1561
+ private void drawDirectlyToCanvas(Canvas canvas) {
1562
+ CompositionLayer compositionLayer = this.compositionLayer;
1563
+ LottieComposition composition = this.composition;
1564
+ if (compositionLayer == null || composition == null) {
1565
+ return;
1566
+ }
1567
+
1568
+ renderingMatrix.reset();
1569
+ Rect bounds = getBounds();
1570
+ if (!bounds.isEmpty()) {
1571
+ // In fitXY mode, the scale doesn't take effect.
1572
+ float scaleX = bounds.width() / (float) composition.getBounds().width();
1573
+ float scaleY = bounds.height() / (float) composition.getBounds().height();
1574
+
1575
+ renderingMatrix.preScale(scaleX, scaleY);
1576
+ renderingMatrix.preTranslate(bounds.left, bounds.top);
1577
+ }
1578
+ compositionLayer.draw(canvas, renderingMatrix, alpha);
1579
+ }
1580
+
1581
+ /**
1582
+ * Software accelerated render path.
1583
+ * <p>
1584
+ * This draws the animation to an internally managed bitmap and then draws the bitmap to the original canvas.
1585
+ *
1586
+ * @see LottieAnimationView#setRenderMode(RenderMode)
1587
+ */
1588
+ private void renderAndDrawAsBitmap(Canvas originalCanvas, CompositionLayer compositionLayer) {
1589
+ if (composition == null || compositionLayer == null) {
1590
+ return;
1591
+ }
1592
+ ensureSoftwareRenderingObjectsInitialized();
1593
+
1594
+ //noinspection deprecation
1595
+ originalCanvas.getMatrix(softwareRenderingOriginalCanvasMatrix);
1596
+
1597
+ // Get the canvas clip bounds and map it to the coordinate space of canvas with it's current transform.
1598
+ originalCanvas.getClipBounds(canvasClipBounds);
1599
+ convertRect(canvasClipBounds, canvasClipBoundsRectF);
1600
+ softwareRenderingOriginalCanvasMatrix.mapRect(canvasClipBoundsRectF);
1601
+ convertRect(canvasClipBoundsRectF, canvasClipBounds);
1602
+
1603
+ if (clipToCompositionBounds) {
1604
+ // Start with the intrinsic bounds. This will later be unioned with the clip bounds to find the
1605
+ // smallest possible render area.
1606
+ softwareRenderingTransformedBounds.set(0f, 0f, getIntrinsicWidth(), getIntrinsicHeight());
1607
+ } else {
1608
+ // Calculate the full bounds of the animation.
1609
+ compositionLayer.getBounds(softwareRenderingTransformedBounds, null, false);
1610
+ }
1611
+ // Transform the animation bounds to the bounds that they will render to on the canvas.
1612
+ softwareRenderingOriginalCanvasMatrix.mapRect(softwareRenderingTransformedBounds);
1613
+
1614
+ // The bounds are usually intrinsicWidth x intrinsicHeight. If they are different, an external source is scaling this drawable.
1615
+ // This is how ImageView.ScaleType.FIT_XY works.
1616
+ Rect bounds = getBounds();
1617
+ float scaleX = bounds.width() / (float) getIntrinsicWidth();
1618
+ float scaleY = bounds.height() / (float) getIntrinsicHeight();
1619
+ scaleRect(softwareRenderingTransformedBounds, scaleX, scaleY);
1620
+
1621
+ if (!ignoreCanvasClipBounds()) {
1622
+ softwareRenderingTransformedBounds.intersect(canvasClipBounds.left, canvasClipBounds.top, canvasClipBounds.right, canvasClipBounds.bottom);
1623
+ }
1624
+
1625
+ int renderWidth = (int) Math.ceil(softwareRenderingTransformedBounds.width());
1626
+ int renderHeight = (int) Math.ceil(softwareRenderingTransformedBounds.height());
1627
+
1628
+ if (renderWidth == 0 || renderHeight == 0) {
1629
+ return;
1630
+ }
1631
+
1632
+ ensureSoftwareRenderingBitmap(renderWidth, renderHeight);
1633
+
1634
+ if (isDirty) {
1635
+ renderingMatrix.set(softwareRenderingOriginalCanvasMatrix);
1636
+ renderingMatrix.preScale(scaleX, scaleY);
1637
+ // We want to render the smallest bitmap possible. If the animation doesn't start at the top left, we translate the canvas and shrink the
1638
+ // bitmap to avoid allocating and copying the empty space on the left and top. renderWidth and renderHeight take this into account.
1639
+ renderingMatrix.postTranslate(-softwareRenderingTransformedBounds.left, -softwareRenderingTransformedBounds.top);
1640
+
1641
+ softwareRenderingBitmap.eraseColor(0);
1642
+ compositionLayer.draw(softwareRenderingCanvas, renderingMatrix, alpha);
1643
+
1644
+ // Calculate the dst bounds.
1645
+ // We need to map the rendered coordinates back to the canvas's coordinates. To do so, we need to invert the transform
1646
+ // of the original canvas.
1647
+ // Take the bounds of the rendered animation and map them to the canvas's coordinates.
1648
+ // This is similar to the src rect above but the src bound may have a left and top offset.
1649
+ softwareRenderingOriginalCanvasMatrix.invert(softwareRenderingOriginalCanvasMatrixInverse);
1650
+ softwareRenderingOriginalCanvasMatrixInverse.mapRect(softwareRenderingDstBoundsRectF, softwareRenderingTransformedBounds);
1651
+ convertRect(softwareRenderingDstBoundsRectF, softwareRenderingDstBoundsRect);
1652
+ }
1653
+
1654
+ softwareRenderingSrcBoundsRect.set(0, 0, renderWidth, renderHeight);
1655
+ originalCanvas.drawBitmap(softwareRenderingBitmap, softwareRenderingSrcBoundsRect, softwareRenderingDstBoundsRect, softwareRenderingPaint);
1656
+ }
1657
+
1658
+ private void ensureSoftwareRenderingObjectsInitialized() {
1659
+ if (softwareRenderingCanvas != null) {
1660
+ return;
1661
+ }
1662
+ softwareRenderingCanvas = new Canvas();
1663
+ softwareRenderingTransformedBounds = new RectF();
1664
+ softwareRenderingOriginalCanvasMatrix = new Matrix();
1665
+ softwareRenderingOriginalCanvasMatrixInverse = new Matrix();
1666
+ canvasClipBounds = new Rect();
1667
+ canvasClipBoundsRectF = new RectF();
1668
+ softwareRenderingPaint = new LPaint();
1669
+ softwareRenderingSrcBoundsRect = new Rect();
1670
+ softwareRenderingDstBoundsRect = new Rect();
1671
+ softwareRenderingDstBoundsRectF = new RectF();
1672
+ }
1673
+
1674
+ private void ensureSoftwareRenderingBitmap(int renderWidth, int renderHeight) {
1675
+ if (softwareRenderingBitmap == null ||
1676
+ softwareRenderingBitmap.getWidth() < renderWidth ||
1677
+ softwareRenderingBitmap.getHeight() < renderHeight) {
1678
+ // The bitmap is larger. We need to create a new one.
1679
+ softwareRenderingBitmap = Bitmap.createBitmap(renderWidth, renderHeight, Bitmap.Config.ARGB_8888);
1680
+ softwareRenderingCanvas.setBitmap(softwareRenderingBitmap);
1681
+ isDirty = true;
1682
+ } else if (softwareRenderingBitmap.getWidth() > renderWidth || softwareRenderingBitmap.getHeight() > renderHeight) {
1683
+ // The bitmap is smaller. Take subset of the original.
1684
+ softwareRenderingBitmap = Bitmap.createBitmap(softwareRenderingBitmap, 0, 0, renderWidth, renderHeight);
1685
+ softwareRenderingCanvas.setBitmap(softwareRenderingBitmap);
1686
+ isDirty = true;
1687
+ }
1688
+ }
1689
+
1690
+ /**
1691
+ * Convert a RectF to a Rect
1692
+ */
1693
+ private void convertRect(RectF src, Rect dst) {
1694
+ dst.set(
1695
+ (int) Math.floor(src.left),
1696
+ (int) Math.floor(src.top),
1697
+ (int) Math.ceil(src.right),
1698
+ (int) Math.ceil(src.bottom)
1699
+ );
1700
+ }
1701
+
1702
+ /**
1703
+ * Convert a Rect to a RectF
1704
+ */
1705
+ private void convertRect(Rect src, RectF dst) {
1706
+ dst.set(
1707
+ src.left,
1708
+ src.top,
1709
+ src.right,
1710
+ src.bottom);
1711
+ }
1712
+
1713
+ private void scaleRect(RectF rect, float scaleX, float scaleY) {
1714
+ rect.set(
1715
+ rect.left * scaleX,
1716
+ rect.top * scaleY,
1717
+ rect.right * scaleX,
1718
+ rect.bottom * scaleY
1719
+ );
1720
+ }
1721
+
1722
+ /**
1723
+ * When a View's parent has clipChildren set to false, it doesn't affect the clipBound
1724
+ * of its child canvases so we should explicitly check for it and draw the full animation
1725
+ * bounds instead.
1726
+ */
1727
+ private boolean ignoreCanvasClipBounds() {
1728
+ Callback callback = getCallback();
1729
+ if (!(callback instanceof View)) {
1730
+ // If the callback isn't a view then respect the canvas's clip bounds.
1731
+ return false;
1732
+ }
1733
+ ViewParent parent = ((View) callback).getParent();
1734
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2 && parent instanceof ViewGroup) {
1735
+ return !((ViewGroup) parent).getClipChildren();
1736
+ }
1737
+ // Unlikely to ever happen. If the callback is a View, its parent should be a ViewGroup.
1738
+ return false;
1739
+ }
1740
+ }