@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.
- package/package.json +1 -1
- package/rules/.clinerules +1 -0
- package/rules/.cursorrules +1 -0
- package/rules/.github/copilot-instructions.md +1 -0
- package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/SampleApplication.java +1 -0
- package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/base/BaseActivity.java +1 -0
- package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/base/BaseApplication.java +1 -0
- package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/Test2Module.java +1 -0
- package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestALastpolloInit.java +1 -0
- package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestApolloInit.java +1 -0
- package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestCacheInit.java +1 -0
- package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestComponent.java +1 -0
- package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestKotlinInit.kt +1 -0
- package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestModule.java +1 -0
- package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestModule2.kt +1 -0
- package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestModule3.java +1 -0
- package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestViewController.java +25 -0
- package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/test_reg/TestViewGroupController.java +24 -0
- package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/ui/EsAppActivity.java +1 -0
- package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/ui/FocusButton.java +1 -0
- package/rules/.source/sdk/app/src/main/java/com/quicktvui/sample/ui/MainActivity.java +1 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/Constants.java +13 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsCallback.java +6 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsEmptyCallback.java +9 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsEventPacket.java +19 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsException.java +55 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsNativeEventCallback.java +8 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsPromise.java +15 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsProvider.java +8 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsSimplePromise.java +27 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/EsSingleCallback.java +9 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/IDiskCacheManager.java +19 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/IEsAutoInit.java +1 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/IEsInfo.java +18 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/IEsRemoteEventCallback.java +11 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/IEsTraceable.java +7 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/ISoManager.java +31 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/ITakeOverKeyEventListener.java +17 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/PromiseHolder.java +66 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/args/EsArray.java +215 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/args/EsMap.java +287 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/component/EsComponent.java +14 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/component/EsComponentAttribute.java +15 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/component/IEsComponent.java +21 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/component/IEsComponentView.java +8 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/core/EsProxy.java +313 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/core/IEsProxy.java +243 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/cover/IEsCoverView.java +26 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/display/IDisplayManager.java +19 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/image/IEsImageLoader.java +17 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/model/LocalCacheInfo.java +88 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/model/ScreenInfo.java +12 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/model/ThirdEvent.java +13 -0
- package/rules/.source/sdk/base/sdk-base/src/main/java/com/quicktvui/sdk/base/module/IEsModule.java +15 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsAPIProvider.java +32 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsAppContext.java +13 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsData.java +597 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsKitInitCallback.java +15 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsKitInitCallbackProxy.java +41 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsKitStatus.java +14 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsManager.java +26 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/EsStartParam.java +17 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/IEsManager.java +83 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/InitConfig.java +287 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/DefaultHippyLogAdapter.java +27 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/DefaultRpkLoaderAdapter.java +1 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/EsApiAdapter.java +22 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/EsEngineExceptionHandlerAdapter.java +31 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/EsImageLoaderAdapter.java +141 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/EsSoLoaderAdapter.java +22 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/HttpsAdapter.java +1 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/adapter/ProxyHttpAdapter.java +36 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/assets/AssetBundleManager.java +347 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/assets/AssetData.java +39 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/assets/AssetLoadCallback.java +33 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/callback/EsAppLifeCallback.java +19 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/callback/EsAppLifeCallbackImpl.java +60 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/callback/EsAppLifeCallbackImplProxy.java +74 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardBean.java +35 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardCache.java +40 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardCallBack.java +40 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardCallBackAdapter.java +53 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardCallBackImpl.java +50 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardGroupController.java +187 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardGroupView.java +102 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardManager.java +102 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardView.java +716 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/ESCardViewComponent.java +190 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/card/WebFrameView.java +125 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/component/BaseHippyViewController.java +30 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/component/CommonViewController.java +290 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/component/EsCommonComponent.java +129 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/component/IOverrideMethods.java +60 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/db/EsDBHelper.java +119 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/db/Migration1_2.java +31 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/db/entity/RpkEntity.java +141 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/display/ESDisplayManager.java +41 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/engine/ESEvents.java +42 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/engine/ESInstanceContext.java +16 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/engine/EsEngine.java +212 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/engine/EsEnginePool.java +262 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/engine/RuntimeManager.java +94 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/entity/DeviceInfo.java +62 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/entity/InfoEntity.java +13 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ext/loadproxy/IEsRpkLoadProxy.java +43 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ext/log/ILogCallback.java +10 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ext/log/LogAdapterFactory.java +14 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ext/package.info +0 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/fragment/EsBaseFragment.java +11 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/fragment/EsFragment.java +181 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/fragment/EsFragmentManager.java +227 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/fragment/EsPageFragment.java +75 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/fragment/IEsFragmentMgr.java +41 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/interceptor/EsDefaultInterceptor.java +8 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/interceptor/IEsInterceptor.java +41 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/interceptor/LaunchEsPageInterceptor.java +15 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/AbsEsImageLoader.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/ApiProviderProxy.java +32 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/BaseHandlerThread.java +76 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/Constants.java +394 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsAppLoadHandlerImpl.java +221 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsAppLoadHandlerImplV2.java +326 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsComponentManager.java +347 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsConfigManager.java +81 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsContainerTaskV2.java +714 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsContentProvider.java +166 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsContext.java +354 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsContextFinder.java +61 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsDiskCacheManager.java +266 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsManagerInner.java +463 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsPromiseProxy.java +49 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsProxyImpl.java +474 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsViewManager.java +838 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/EsViewRecord.java +63 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/IEsAppLoadCallback.java +38 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/IEsAppLoadHandler.java +36 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/IEsViewer.java +32 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/SampleAnimatorListener.java +28 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/AbstractLoader.java +135 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/ApiRpkLoader.java +1 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/AssetsRpkLoader.java +79 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/DebugRpkLoader.java +43 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/FileRpkLoader.java +63 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/HttpRpkLoader.java +61 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/IRpkLoader.java +65 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/NexusRpkLoader.java +175 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/RecordInfo.java +37 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/RpkInfo.java +136 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/RpkLoaderFactory.java +60 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/RpkVersion.java +54 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/internal/loader/TaskEntity.java +57 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/JsSlotView.java +353 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/JsSlotViewManager.java +363 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/RecyclerViewHandlerImpl.java +60 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/SlotModule.java +1 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/chutil/GenericMotionUtil.java +26 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/chutil/MouseUtil.java +107 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/slot/SlotRootView.java +39 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/slot/SlotRootViewController.java +50 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/slot/SlotView.java +89 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/jsview/slot/SlotViewController.java +84 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mdns/NsdRegisterHelper.java +56 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/BaseMediaSessionPlayerService.java +104 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/EsMediaController.java +111 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/EsMediaPlayerService.java +39 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/callback/EsCommonMediaSessionCallback.java +374 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/manager/IServiceManager.java +16 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/manager/ServiceManagerFactory.java +21 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/manager/impl/MCommonServiceImpl.java +95 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/mediasession/module/EsMediaSessionModule.java +61 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/module/AppUsageModule.java +170 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/module/CommonModule.java +27 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/module/CommonModuleInfo.java +96 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/module/EsNativeModule.java +878 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/EsPageController.java +49 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/EsPageView.java +202 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/EsRouterController.java +63 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/EsRouterView.java +113 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/IEsPageView.java +20 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/InnerProvider.java +37 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/pm/PageModule.java +37 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/protocol/EsProtocolDispatcher.java +114 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/protocol/EsStartTarget.java +37 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/protocol/Protocol_1.java +78 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/protocol/Protocol_2.java +345 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/sf/UsageManager.java +98 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/sf/db/UsageDbHelper.java +97 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/sf/db/dao/UsageRecordDao.java +34 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/sf/db/entity/UsageRecord.java +96 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/sf/strategy/DefaultStrategyImpl.java +100 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/sf/strategy/IUsageStrategy.java +23 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/tookit/DefaultWindowManager.java +46 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/tookit/ESToolkitManager.java +182 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/tookit/IESToolkit.java +22 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/tookit/ToolkitUseCase.java +22 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/udp/AbstractUdpServer.java +102 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/udp/EsUdpServer.java +177 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/udp/UdpServerConfig.java +28 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/BrowserBaseActivity.java +224 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/BrowserBaseFullActivity.java +118 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/BrowserProxyActivity.java +122 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/BrowserStandardActivity.java +14 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/BrowserStandardNoThemeActivity.java +14 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/BrowserStandardTransparentActivity.java +14 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/IHippyManager.java +36 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/instance/BrowserSingleInstanceActivity0.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/instance/BrowserSingleInstanceActivity1.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/instance/BrowserSingleInstanceActivity2.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/instance/BrowserSingleInstanceActivity3.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/instance/BrowserSingleInstanceActivity4.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/task/BrowserSingleTaskActivity0.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/task/BrowserSingleTaskActivity1.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/task/BrowserSingleTaskActivity2.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/task/BrowserSingleTaskActivity3.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/task/BrowserSingleTaskActivity4.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/top/BrowserSingleTopActivity0.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/top/BrowserSingleTopActivity1.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/top/BrowserSingleTopActivity2.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/top/BrowserSingleTopActivity3.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/normal/single/top/BrowserSingleTopActivity4.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/instance/BrowserSingleInstanceActivity0.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/instance/BrowserSingleInstanceActivity1.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/instance/BrowserSingleInstanceActivity2.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/instance/BrowserSingleInstanceActivity3.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/instance/BrowserSingleInstanceActivity4.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/task/BrowserSingleTaskActivity0.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/task/BrowserSingleTaskActivity1.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/task/BrowserSingleTaskActivity2.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/task/BrowserSingleTaskActivity3.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/task/BrowserSingleTaskActivity4.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/top/BrowserSingleTopActivity0.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/top/BrowserSingleTopActivity1.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/top/BrowserSingleTopActivity2.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/top/BrowserSingleTopActivity3.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/notheme/single/top/BrowserSingleTopActivity4.java +9 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/pg/BasePageLoader.java +20 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/pg/FragmentPageLoader.java +273 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/pg/IPageLoader.java +44 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/pg/RootFragmentView.java +499 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/pg/SubFragmentView.java +85 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/result/PermissionActivityResultHandler.java +132 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/ui/wm/AbstractWindowManager.java +120 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/Am.java +397 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/AutoUtils.java +1 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/CommonUtils.java +150 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/CpuAbiUtils.java +280 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/CrashHandler.java +40 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/DebugLog.java +28 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/DefaultLifecycleObserver.java +35 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/DexUtil.java +75 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/ESExecutors.java +73 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/EsDataFactory.java +76 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/EsDecode.java +37 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/EsIntent.java +40 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/EsNativeEvent.java +63 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/EskitLazyInitHelper.java +20 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/FullScreenUtils.java +73 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/HomeKeyReceiver.java +52 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/HttpRequestUtils.java +30 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/KeyEventUtil.java +71 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/MapperUtils.java +491 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/NetworkSpeedMonitor.java +68 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/NexusRepo.java +70 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/ObjectUtils.java +49 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/ParameterizedTypeImpl.java +23 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/PathHelper.java +23 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/PermissionRequestHelper.java +81 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/PluginUtils.java +71 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/ReflectExecutor.java +77 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/SlotUtils.java +97 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/SpUtils.java +184 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/TaskProgressManager.java +104 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/TimeCheckUtil.java +45 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/UcDeviceUtils.java +95 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/utils/UploadLogKeyDispatcher.java +33 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/DebugFocusHelper.java +90 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/DebugFocusRoot.java +195 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/DebugFocusView.java +65 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/EsDefaultCoverView.java +726 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/EsGrayFrameLayout.java +65 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/EsProgressLoadingView.java +103 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/LoadingDrawable.java +1 -0
- package/rules/.source/sdk/core/sdk-core/src/main/java/com/quicktvui/sdk/core/views/MyButton.java +55 -0
- package/rules/.source/sdk/plugin/compiler/src/main/java/com/quicktvui/sdk/compiler/AnnotationProcessor.java +46 -0
- package/rules/.source/sdk/plugin/compiler/src/main/java/com/quicktvui/sdk/compiler/processor/AbstractProcessor.java +1 -0
- package/rules/.source/sdk/plugin/compiler/src/main/java/com/quicktvui/sdk/compiler/processor/ESKitAutoInitProcessor.java +1 -0
- package/rules/.source/sdk/plugin/compiler/src/main/java/com/quicktvui/sdk/compiler/processor/ESKitAutoRegisterProcessor.java +217 -0
- package/rules/.source/sdk/plugin/compiler/src/main/java/com/quicktvui/sdk/compiler/processor/IProcessor.java +12 -0
- package/rules/.source/sdk/plugin/compiler/src/main/java/com/quicktvui/sdk/compiler/utils/Utils.java +78 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/media/audio/mp3/AndroidMP3Encoder.java +19 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/media/audio/mp3/AudioRecorderHandler.java +128 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/media/audio/mp3/AudioRecorderMp3.java +267 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/media/audio/mp3/AudioRecorderMp3Manager.java +140 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/media/audio/mp3/EncodeBuffer.java +27 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/ESAudioRecordModule.java +231 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/assist/QueueProcessingType.java +8 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/assist/deque/BlockingDeque.java +617 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/assist/deque/Deque.java +550 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/assist/deque/LIFOLinkedBlockingDeque.java +42 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/assist/deque/LinkedBlockingDeque.java +1190 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/AudioRecordConfiguration.java +168 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/AudioRecorderListener.java +11 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/AudioRecorderStatus.java +49 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/AudioRecorderStatusEnum.java +14 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/AudioRecorderType.java +35 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/BaseAudioRecorderManager.java +90 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/DefaultConfigurationFactory.java +80 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/IAudioRecorder.java +23 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/naming/FileNameGenerator.java +9 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/naming/HashCodeFileNameGenerator.java +11 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/naming/Md5FileNameGenerator.java +32 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/core/naming/NoOpFileNameGenerator.java +14 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/pcm/PCMFormat.java +32 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/utils/Preconditions.java +442 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/utils/StorageUtils.java +162 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/AudioRecordListener.java +11 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/AudioRecordStreamListener.java +5 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/AudioRecorder.java +360 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/FileUtil.java +122 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/PCMToWAVTask.java +63 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/PcmToWav.java +193 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/RecordTask.java +103 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/com/quicktvui/support/record/wav/WaveHeader.java +66 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/AndroidMP3Encoder.cpp +57 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/AndroidMP3Encoder.h +20 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/CMakeLists.txt +18 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lame-3.100.tar.gz +0 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/VbrTag.c +1050 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/VbrTag.h +82 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/bitstream.c +1073 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/bitstream.h +44 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/encoder.c +555 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/encoder.h +153 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/fft.c +331 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/fft.h +35 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/gain_analysis.c +468 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/gain_analysis.h +113 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/id3tag.c +1839 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/id3tag.h +65 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/l3side.h +95 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/lame-analysis.h +95 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/lame.c +2602 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/lame.h +1400 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/lame_global_flags.h +186 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/lameerror.h +26 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/machine.h +196 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/mpglib_interface.c +477 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/newmdct.c +1073 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/newmdct.h +27 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/presets.c +390 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/psymodel.c +2111 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/psymodel.h +64 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/quantize.c +1974 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/quantize.h +38 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/quantize_pvt.c +1047 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/quantize_pvt.h +127 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/reservoir.c +289 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/reservoir.h +34 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/set_get.c +2181 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/set_get.h +119 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/tables.c +558 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/tables.h +95 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/takehiro.c +1322 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/util.c +968 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/util.h +635 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/vbrquantize.c +1525 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/vbrquantize.h +28 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/version.c +245 -0
- package/rules/.source/sdk/support/audio-record/src/main/java/cpp/lamemp3/version.h +68 -0
- package/rules/.source/sdk/support/brightness/src/main/java/com/quicktvui/support/brightness/ESBrightnessModule.java +133 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/Action.java +18 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasActionHandler.java +285 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasContext.java +184 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasImageLoadRenderAction.java +53 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasManager.java +468 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasNode.java +28 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasRenderAction.java +39 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasRenderActionProcessor.java +62 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasSyncRenderAction.java +23 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasView.java +19 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasViewContainer.java +49 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/CanvasWaitChannel.java +59 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/Constants.java +9 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/ESCanvasController.java +370 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/annotation/CanvasField.java +16 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/annotation/CanvasMethod.java +16 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/annotation/Extension.java +59 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/ActivityStateListener.java +21 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/ApplicationContext.java +118 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/Callback.java +37 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/IPage.java +13 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/RenderEventCallback.java +76 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/Response.java +191 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/bridge/SimpleActivityStateListener.java +32 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/CSSFont.java +246 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/CanvasContextRendering2D.java +1462 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/CanvasContextState.java +243 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/CanvasGradient.java +101 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/CanvasPath.java +196 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/CanvasView2D.java +186 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/Circle.java +65 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/LinearGradient.java +40 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/Parser.java +1564 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/canvas2d/RadialGradient.java +167 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/constants/Attributes.java +682 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/ConcurrentExecutor.java +59 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/DelayedExecutor.java +10 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/Executor.java +14 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/Executors.java +99 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/Future.java +17 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/FutureImpl.java +32 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/ScheduledExecutor.java +15 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/ScheduledExecutorImpl.java +49 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/executors/UiExecutor.java +102 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/image/CanvasBitmap.java +123 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/image/CanvasImage.java +109 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/image/CanvasImageCache.java +119 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/image/CanvasImageHelper.java +665 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/image/CanvasImageLoader.java +132 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/image/ImageData.java +12 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/render/DocAnimator.java +166 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/runtime/HapEngine.java +101 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/BitmapUtils.java +242 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/CardThemeUtils.java +79 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/ColorUtil.java +542 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/DigestUtils.java +27 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/DisplayUtil.java +157 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/FloatUtil.java +54 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/IntegerUtil.java +23 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/StringUtils.java +21 -0
- package/rules/.source/sdk/support/canvas/src/main/java/com/quicktvui/support/canvas/utils/ThreadUtils.java +47 -0
- package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/BarChartView.java +170 -0
- package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/ESBarChartViewComponent.java +162 -0
- package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/ESLineChartViewComponent.java +209 -0
- package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/LineChartView.java +160 -0
- package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/BarChart.java +470 -0
- package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/BaseBarChart.java +382 -0
- package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/BaseLineChart.java +156 -0
- package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/LinesChart.java +465 -0
- package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/anim/AngleEvaluator.java +22 -0
- package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/bean/BarBean.java +26 -0
- package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/bean/DataPoint.java +49 -0
- package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/bean/FocusInfo.java +35 -0
- package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/utils/DensityUtil.java +60 -0
- package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/utils/FontUtil.java +40 -0
- package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/utils/LogUtil.java +85 -0
- package/rules/.source/sdk/support/chart/src/main/java/com/quicktvui/support/chart/chart/utils/NumberFormatUtil.java +60 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/AutoInit.java +1 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/animation/AnimationValueType.java +7 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/animation/AnimationView.java +1322 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/animation/AnimationViewComponent.java +1000 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/es/ESView.java +30 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/es/ESViewComponent.java +49 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/image/TransitionImageComponent.java +95 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/image/TransitionImageView.java +261 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/loading/LoadingDrawable.java +253 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/loading/LoadingView.java +13 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/loading/LoadingViewComponent.java +58 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/progress/ESProgressWheelComponent.java +422 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/progress/ProgressWheel.java +625 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/progressbar/ESProgressBarViewComponent.java +254 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/progressbar/TVProgressBarView.java +12 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/progressbar/TVProgressBarViewComponent.java +206 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/qr/QrCodeComponent.java +186 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/qr/QrCodeFactory.java +180 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/ESHorizontalSeekBarViewComponent.java +1424 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/ESVerticalSeekBarViewComponent.java +122 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/OnRangeChangedListener.java +9 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/OnRangeFocusListener.java +6 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/RangeSeekBar.java +1462 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/SavedState.java +49 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/SeekBar.java +833 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/SeekBarState.java +13 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/Utils.java +182 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/VerticalRangeSeekBar.java +267 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/rangeseekbar/VerticalSeekBar.java +139 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/seekbar/ESSeekBarViewComponent.java +374 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/seekbar/TVSeekBarView.java +49 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/seekbar/TVSeekBarViewComponent.java +229 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/surfaceview/ESSurfaceView.java +13 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/component/surfaceview/ESSurfaceViewComponent.java +31 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/DeviceIdGenerator.java +135 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/DeviceIdManager.java +61 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/DeviceTypeGenerator.java +19 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/DeviceTypeManager.java +63 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/ESRuntimeSPConstants.java +8 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/IDeviceGenerator.java +10 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/device/RuntimeDeviceModule.java +70 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/activity/AndroidActivityModule.java +46 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/audio/AndroidAudioModule.java +190 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/broadcast/ESBroadcastModule.java +369 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/develop/AndroidDevelopManager.java +62 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/develop/AndroidDevelopModule.java +103 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/develop/Develop.java +85 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/device/AndroidDevice.java +410 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/device/AndroidDeviceManager.java +166 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/device/AndroidDeviceModule.java +313 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/device/DeviceModule.java +75 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/es/ESModule.java +289 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/file/AndroidFileModule.java +622 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/log/ESLogModule.java +59 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/mmap/AndroidMMapModule.java +219 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/mmap/MMapManager.java +350 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/mmap/MMapMode.java +8 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/mmap/MMapSharedData.java +44 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/mmap/MMapSharedDataType.java +15 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/network/AndroidNetworkManager.java +168 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/network/AndroidNetworkModule.java +162 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/network/AndroidNetworkReceiver.java +52 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/permission/AndroidPermissionModule.java +224 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/power/AndroidPowerManager.java +48 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/power/AndroidPowerModule.java +61 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/sp/AndroidSharedPreferencesManager.java +119 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/sp/AndroidSharedPreferencesModule.java +197 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/sqlite/EsSqliteModule.java +380 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/storage/AndroidStorageManager.java +68 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/storage/AndroidStorageModule.java +252 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/toast/ESToastModule.java +62 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/toast/ToastModule.java +385 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/usb/AndroidUsbDeviceManager.java +233 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/usb/AndroidUsbDeviceModule.java +230 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/module/usb/AndroidUsbDeviceReceiver.java +31 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/BaseChangeObserver.java +54 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/BatteryChangeObserver.java +177 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/BluetoothChangeObserver.java +83 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/NativeEventReceiverManager.java +107 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/NetworkChangeObserver.java +134 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/TimeChangeObserver.java +46 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/nativeevent/UsbChangeObserver.java +168 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/utils/BundleMapper.java +215 -0
- package/rules/.source/sdk/support/core/src/main/java/com/quicktvui/support/core/utils/GradientDrawableUtils.java +105 -0
- package/rules/.source/sdk/support/data-group/src/main/java/com/quicktvui/support/data/group/ESGroupData.java +49 -0
- package/rules/.source/sdk/support/data-group/src/main/java/com/quicktvui/support/data/group/ESGroupDataModule.java +291 -0
- package/rules/.source/sdk/support/data-group/src/main/java/com/quicktvui/support/data/group/ESGroupDataType.java +15 -0
- package/rules/.source/sdk/support/data-group/src/main/java/com/quicktvui/support/data/group/ESGroupMode.java +8 -0
- package/rules/.source/sdk/support/data-group/src/main/java/com/quicktvui/support/data/group/ESSharedDataManager.java +526 -0
- package/rules/.source/sdk/support/data-shared/src/main/java/com/quicktvui/support/data/shared/ESSharedData.java +44 -0
- package/rules/.source/sdk/support/data-shared/src/main/java/com/quicktvui/support/data/shared/ESSharedDataManager.java +388 -0
- package/rules/.source/sdk/support/data-shared/src/main/java/com/quicktvui/support/data/shared/ESSharedDataModule.java +218 -0
- package/rules/.source/sdk/support/data-shared/src/main/java/com/quicktvui/support/data/shared/ESSharedDataType.java +15 -0
- package/rules/.source/sdk/support/data-shared/src/main/java/com/quicktvui/support/data/shared/ESSharedMode.java +8 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/ESDeviceInfoModule.java +988 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/SysInfo.java +24128 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/SysInfoSingleTon.java +98 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/ApplicationBean.java +93 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/CpuBean.java +41 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/InputBean.java +69 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/PartitionsBean.java +124 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/SimBean.java +91 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/StorageBean.java +180 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/USBBean.java +48 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/beans/XposedHookBean.java +98 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/AppInfo.java +50 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/AppListInfo.java +42 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/BatteryInfo.java +26 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/BluetoothInfo.java +50 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/BuildInfo.java +35 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/CameraInfo.java +1327 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/DebugInfo.java +25 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/DeviceInfo.java +26 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/EmulatorInfo.java +57 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/HardwareInfo.java +32 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/HookInfo.java +26 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/InputInfo.java +170 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/MapsInfo.java +49 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/MediaCodecInfo.java +29 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/NetWorkInfo.java +150 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/OthersInfo.java +75 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/PartitionsInfo.java +93 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/RootInfo.java +25 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/SOCInfo.java +101 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/StoreInfo.java +31 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/SystemInfo.java +57 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/ThermalInfo.java +54 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/USBInfo.java +146 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/VirtualAppInfo.java +145 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/model/info/WifiInfo.java +52 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/ApplicationUtils.java +18 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/BatteryUtils.java +190 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/CommandUtils.java +173 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/Constants.java +12 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/DebugUtils.java +117 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/DecimalUtils.java +94 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/DensityUtils.java +427 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/DeviceUtils.java +315 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/EmulatorUtils.java +422 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/FileUtils.java +69 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/FormatTools.java +29 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/GatewayUtils.java +380 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/HashUtils.java +61 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/HexUtils.java +43 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/HookUtils.java +147 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/LogUtils.java +274 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/MemoryUtils.java +93 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/NetWorkUtils.java +579 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/OaidUtils.java +48 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/RootUtils.java +219 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/SdUtils.java +298 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/SocUtils.java +287 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/SystemConfigUtils.java +53 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/ThreadPoolUtils.java +89 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/TimeUtils.java +20 -0
- package/rules/.source/sdk/support/device-info/src/main/java/com/quicktvui/support/device/info/utils/XposedHookUtils.java +138 -0
- package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DefaultConfigurationFactory.java +56 -0
- package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/Download.java +111 -0
- package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadConfiguration.java +74 -0
- package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadError.java +9 -0
- package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadListener.java +7 -0
- package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadManager.java +201 -0
- package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadMessage.java +34 -0
- package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadParams.java +24 -0
- package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadProgress.java +34 -0
- package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadState.java +15 -0
- package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadStatus.java +46 -0
- package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/DownloadTask.java +370 -0
- package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/ESDownloadModule.java +376 -0
- package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/FileDigest.java +47 -0
- package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/HttpRequest.java +3201 -0
- package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/IDownloadTask.java +16 -0
- package/rules/.source/sdk/support/download/src/main/java/com/quicktvui/support/download/StorageUtils.java +162 -0
- package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/giflibrary/GifDecoder.java +32 -0
- package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/giflibrary/GifDrawableTranscoder.java +22 -0
- package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/giflibrary/GifImageLoader.java +22 -0
- package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/giflibrary/GifModule.java +28 -0
- package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/giflibrary/GifSoftwareLayerSetter.java +45 -0
- package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/rastermill/FrameSequence.java +148 -0
- package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/rastermill/FrameSequenceDrawable.java +381 -0
- package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/support/gif/ESGifViewComponent.java +49 -0
- package/rules/.source/sdk/support/gif-view/src/main/java/com/quicktvui/support/gif/GifView.java +24 -0
- package/rules/.source/sdk/support/install-manager/src/main/java/com/quicktvui/support/install/manager/ESInstallManagerModule.java +143 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/ESLog.java +1029 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/LogConfiguration.java +662 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/LogItem.java +72 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/LogLevel.java +168 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/LogUtils.java +173 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/Logger.java +1331 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/flattener/ClassicFlattener.java +36 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/flattener/DefaultFlattener.java +40 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/flattener/Flattener.java +37 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/flattener/Flattener2.java +37 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/flattener/PatternFlattener.java +372 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/FormatException.java +78 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/Formatter.java +34 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/border/BorderFormatter.java +36 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/border/DefaultBorderFormatter.java +99 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/json/DefaultJsonFormatter.java +55 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/json/JsonFormatter.java +25 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/object/BundleFormatter.java +40 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/object/IntentFormatter.java +40 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/object/ObjectFormatter.java +28 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/throwable/DefaultThrowableFormatter.java +31 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/throwable/ThrowableFormatter.java +25 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/xml/DefaultXmlFormatter.java +63 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/message/xml/XmlFormatter.java +25 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/stacktrace/DefaultStackTraceFormatter.java +50 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/stacktrace/StackTraceFormatter.java +25 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/thread/DefaultThreadFormatter.java +29 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/formatter/thread/ThreadFormatter.java +25 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/interceptor/AbstractFilterInterceptor.java +51 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/interceptor/BlacklistTagsFilterInterceptor.java +71 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/interceptor/Interceptor.java +46 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/interceptor/WhitelistTagsFilterInterceptor.java +71 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/DefaultsFactory.java +157 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/Platform.java +114 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/SystemCompat.java +28 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/printer/file/backup/BackupStrategyWrapper.java +50 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/printer/file/backup/BackupUtil.java +77 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/util/ObjectToStringUtil.java +238 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/internal/util/StackTraceUtil.java +120 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/module/ESLoggerModule.java +332 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/AndroidPrinter.java +145 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/ConsolePrinter.java +55 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/Printer.java +41 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/PrinterSet.java +42 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/RemotePrinter.java +32 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/SystemPrinter.java +24 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/FilePrinter.java +399 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/backup/AbstractBackupStrategy.java +33 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/backup/BackupStrategy.java +33 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/backup/BackupStrategy2.java +69 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/backup/FileSizeBackupStrategy.java +45 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/backup/FileSizeBackupStrategy2.java +52 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/backup/NeverBackupStrategy.java +32 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/clean/CleanStrategy.java +19 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/clean/FileLastModifiedCleanStrategy.java +29 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/clean/NeverCleanStrategy.java +16 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/naming/ChangelessFileNameGenerator.java +44 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/naming/DateFileNameGenerator.java +51 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/naming/FileNameGenerator.java +39 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/naming/LevelFileNameGenerator.java +38 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/writer/SimpleWriter.java +137 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/file/writer/Writer.java +72 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/flattener/DefaultLogFlattener.java +26 -0
- package/rules/.source/sdk/support/log/src/main/java/com/quicktvui/support/log/printer/flattener/LogFlattener.java +26 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/ESLongImageViewComponent.java +732 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/CompatDecoderFactory.java +49 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/DecoderFactory.java +23 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/ImageDecoder.java +31 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/ImageRegionDecoder.java +62 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/ImageSource.java +262 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/ImageViewState.java +42 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/SkiaImageDecoder.java +107 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/SkiaImageRegionDecoder.java +171 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/decoder/SkiaPooledImageRegionDecoder.java +476 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/LongImageEventUtils.java +34 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/LongImageLoader.java +180 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/Checker.java +196 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/CompressionPredicate.java +19 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/Engine.java +90 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/InputStreamAdapter.java +34 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/InputStreamProvider.java +18 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/Luban.java +388 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/OnCompressListener.java +21 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/utils/luban/OnRenameListener.java +22 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/view/ESLongImageView.java +306 -0
- package/rules/.source/sdk/support/long-image/src/main/java/com/quicktvui/support/longimage/view/SubsamplingScaleImageView.java +3245 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/AsyncUpdates.java +54 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/Cancellable.java +6 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/FontAssetDelegate.java +40 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/ImageAssetDelegate.java +14 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/L.java +123 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/Lottie.java +26 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieAnimationView.java +1447 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieComposition.java +385 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieCompositionFactory.java +716 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieConfig.java +135 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieDrawable.java +1740 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieImageAsset.java +79 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieListener.java +8 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieLogger.java +17 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieOnCompositionLoadedListener.java +5 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieProperty.java +223 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieResult.java +55 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieTask.java +185 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/LottieTaskIdleListener.java +11 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/OnCompositionLoadedListener.java +15 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/PerformanceTracker.java +97 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/RenderMode.java +41 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/SimpleColorFilter.java +20 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/TextDelegate.java +116 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/AnimatorLister.java +35 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/LPaint.java +60 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/BaseStrokeContent.java +412 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/CompoundTrimPathContent.java +22 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/Content.java +9 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/ContentGroup.java +269 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/DrawingContent.java +11 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/EllipseContent.java +134 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/FillContent.java +194 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/GradientFillContent.java +316 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/GradientStrokeContent.java +181 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/GreedyContent.java +19 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/KeyPathElementContent.java +6 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/MergePathsContent.java +123 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/ModifierContent.java +4 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/PathContent.java +7 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/PolystarContent.java +332 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/RectangleContent.java +180 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/RepeaterContent.java +155 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/RoundedCornersContent.java +225 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/ShapeContent.java +98 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/ShapeModifierContent.java +7 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/StrokeContent.java +77 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/TrimPathContent.java +75 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/content/package-info.java +6 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/BaseKeyframeAnimation.java +356 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/ColorKeyframeAnimation.java +46 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/DropShadowKeyframeAnimation.java +100 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/FloatKeyframeAnimation.java +45 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/GradientColorKeyframeAnimation.java +22 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/IntegerKeyframeAnimation.java +46 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/KeyframeAnimation.java +11 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/MaskKeyframeAnimation.java +40 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/PathKeyframe.java +40 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/PathKeyframeAnimation.java +46 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/PointKeyframeAnimation.java +41 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/ScaleKeyframeAnimation.java +40 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/ShapeKeyframeAnimation.java +42 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/SplitDimensionPathKeyframeAnimation.java +105 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/TextKeyframeAnimation.java +47 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/TransformKeyframeAnimation.java +336 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/ValueCallbackKeyframeAnimation.java +49 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/keyframe/package-info.java +6 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/animation/package-info.java +6 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/manager/FontAssetManager.java +129 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/manager/ImageAssetManager.java +151 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/manager/package-info.java +6 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/CubicCurveData.java +91 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/DocumentData.java +76 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/Font.java +52 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/FontCharacter.java +49 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/KeyPath.java +243 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/KeyPathElement.java +41 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/LottieCompositionCache.java +50 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/Marker.java +37 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/MutablePair.java +57 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableColorValue.java +18 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableFloatValue.java +19 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableGradientColorValue.java +55 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableIntegerValue.java +18 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatablePathValue.java +36 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatablePointValue.java +20 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableScaleValue.java +24 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableShapeValue.java +21 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableSplitDimensionPathValue.java +37 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableTextFrame.java +18 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableTextProperties.java +20 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableTransform.java +111 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/AnimatableValue.java +15 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/BaseAnimatableValue.java +39 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/animatable/package-info.java +6 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/BlurEffect.java +16 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/CircleShape.java +52 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ContentModel.java +14 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/GradientColor.java +70 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/GradientFill.java +84 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/GradientStroke.java +110 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/GradientType.java +6 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/Mask.java +42 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/MergePaths.java +74 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/PolystarShape.java +111 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/RectangleShape.java +58 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/Repeater.java +52 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/RoundedCorners.java +32 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ShapeData.java +110 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ShapeFill.java +63 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ShapeGroup.java +42 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ShapePath.java +45 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ShapeStroke.java +125 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/ShapeTrimPath.java +76 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/content/package-info.java +6 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/BaseLayer.java +693 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/CompositionLayer.java +236 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/ImageLayer.java +112 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/Layer.java +227 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/NullLayer.java +22 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/ShapeLayer.java +66 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/SolidLayer.java +93 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/TextLayer.java +619 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/model/layer/package-info.java +6 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/DefaultLottieFetchResult.java +73 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/DefaultLottieNetworkFetcher.java +21 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/FileExtension.java +27 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/LottieFetchResult.java +36 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/LottieNetworkCacheProvider.java +21 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/LottieNetworkFetcher.java +20 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/NetworkCache.java +200 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/network/NetworkFetcher.java +152 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/AnimatablePathValueParser.java +96 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/AnimatableTextPropertiesParser.java +78 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/AnimatableTransformParser.java +167 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/AnimatableValueParser.java +88 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/BlurEffectParser.java +69 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/CircleShapeParser.java +60 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ColorParser.java +47 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ContentModelParser.java +109 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/DocumentDataParser.java +110 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/DropShadowEffect.java +42 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/DropShadowEffectParser.java +88 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/FloatParser.java +17 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/FontCharacterParser.java +81 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/FontParser.java +49 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/GradientColorParser.java +267 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/GradientFillParser.java +100 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/GradientStrokeParser.java +163 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/IntegerParser.java +16 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/JsonUtils.java +121 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/KeyframeParser.java +373 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/KeyframesParser.java +84 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/LayerParser.java +292 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/LottieCompositionMoshiParser.java +270 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/MaskParser.java +68 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/MergePathsParser.java +42 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/PathKeyframeParser.java +27 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/PathParser.java +18 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/PointFParser.java +35 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/PolystarShapeParser.java +91 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/RectangleShapeParser.java +59 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/RepeaterParser.java +57 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/RoundedCornersParser.java +47 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ScaleXYParser.java +31 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ShapeDataParser.java +103 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ShapeFillParser.java +69 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ShapeGroupParser.java +55 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ShapePathParser.java +52 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ShapeStrokeParser.java +130 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ShapeTrimPathParser.java +61 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/ValueParser.java +10 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/JsonDataException.java +39 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/JsonEncodingException.java +30 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/JsonReader.java +493 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/JsonScope.java +99 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/JsonUtf8Reader.java +1046 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/LinkedHashTreeMap.java +868 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/moshi/package-info.java +6 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/parser/package-info.java +6 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/BaseLottieAnimator.java +117 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/GammaEvaluator.java +64 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/LogcatLogger.java +52 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/Logger.java +36 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/LottieThreadFactory.java +27 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/LottieTrace.java +42 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/LottieValueAnimator.java +330 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/MeanCalculator.java +26 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/MiscUtils.java +113 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/Utils.java +321 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/utils/package-info.java +6 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/Keyframe.java +199 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieFrameInfo.java +65 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieInterpolatedFloatValue.java +22 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieInterpolatedIntegerValue.java +22 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieInterpolatedPointValue.java +27 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieInterpolatedValue.java +28 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieRelativeFloatValueCallback.java +39 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieRelativeIntegerValueCallback.java +32 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieRelativePointValueCallback.java +52 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/LottieValueCallback.java +90 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/ScaleXY.java +36 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottie/value/SimpleLottieValueCallback.java +10 -0
- package/rules/.source/sdk/support/lottie-view/src/main/java/quicktvui/support/lottieview/ESLottieViewComponent.java +373 -0
- package/rules/.source/sdk/support/network-speed/src/main/java/com/quicktvui/support/network/speed/ESNetworkSpeedModule.java +134 -0
- package/rules/.source/sdk/support/network-speed/src/main/java/com/quicktvui/support/network/speed/util/FormatTools.java +29 -0
- package/rules/.source/sdk/support/player-async/src/main/java/com/quicktvui/support/asyncplayer/ESAsyncPlayerModule.java +96 -0
- package/rules/.source/sdk/support/player-audio-android/src/main/java/com/quicktvui/support/player/audio/android/ESAndroidAudioPlayer.java +484 -0
- package/rules/.source/sdk/support/player-audio-android/src/main/java/com/quicktvui/support/player/audio/android/ESAndroidAudioPlayerModule.java +346 -0
- package/rules/.source/sdk/support/player-audio-android/src/main/java/com/quicktvui/support/player/audio/android/ESAndroidAudioPlayerServiceModule.java +638 -0
- package/rules/.source/sdk/support/player-audio-android/src/main/java/com/quicktvui/support/player/audio/android/ESAudioPlayerService.java +470 -0
- package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/bean/PlayInfoBean.java +48 -0
- package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/ijk/ESAudioPlayerService.java +528 -0
- package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/ijk/ESIJKAudioPlayer.java +827 -0
- package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/ijk/ESIJKAudioPlayerModule.java +438 -0
- package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/ijk/ESIJKAudioPlayerModule2.java +498 -0
- package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/ijk/ESIJKAudioPlayerServiceModule.java +655 -0
- package/rules/.source/sdk/support/player-audio-ijk/src/main/java/com/quicktvui/support/player/audio/utils/Settings.java +28 -0
- package/rules/.source/sdk/support/player-audio-soundpool/src/main/java/com/quicktvui/support/player/audio/soundpool/ESSoundPoolAudioPlayerModule.java +191 -0
- package/rules/.source/sdk/support/player-audio-soundpool/src/main/java/com/quicktvui/support/player/audio/soundpool/Sound.java +52 -0
- package/rules/.source/sdk/support/player-audio-soundpool/src/main/java/com/quicktvui/support/player/audio/soundpool/SoundCache.java +125 -0
- package/rules/.source/sdk/support/player-audio-soundpool/src/main/java/com/quicktvui/support/player/audio/soundpool/SoundPoolManager.java +567 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/aspect/IJKAspectRatioMapper.java +78 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/component/ADPlayerComponent.java +46 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/component/IJKPlayerComponent.java +323 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/module/ESPlayerIJKModule.java +96 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/module/VideoModule.java +181 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/AssetDataSource.java +67 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/FileMediaDataSource.java +56 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/IRenderView.java +97 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/IjkLibManager.java +215 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/IjkMediaOption.java +64 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/IjkVideoPlayer.java +1487 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/IjkVideoView.java +1796 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/MeasureHelper.java +420 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/MediaPlayerCompat.java +66 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/RawDataSourceProvider.java +66 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/SurfaceRenderView.java +308 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/player/TextureRenderView.java +364 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/service/MediaPlayerService.java +67 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/setting/Settings.java +162 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/AudioChannelType.java +24 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/CommonUtils.java +53 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/DeviceUtil.java +98 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/DisplayAndDecodeTools.java +166 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/FFConcatUtils.java +102 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/FormatTools.java +32 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/MetadataUtils.java +150 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/PlayerThreadTools.java +97 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/StorageUtils.java +159 -0
- package/rules/.source/sdk/support/player-ijk/src/main/java/com/quicktvui/support/player/ijk/utils/TimedHelper.java +233 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/Constants.java +6 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/aspect/AspectRatio.java +46 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/aspect/AspectRatioManager.java +105 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/aspect/AspectRatioSettingMapper.java +44 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/base/ESBaseFrameLayout.java +82 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/base/IPlayerRootView.java +10 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/base/PlayerBaseView.java +750 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/callback/CallbackNotifier.java +277 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/component/PlayerBaseComponent.java +1150 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/decode/Decode.java +45 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/definition/Definition.java +48 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/log/PLog.java +497 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/log/PLogDefaultLoggingDelegate.java +149 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/log/PLoggingDelegate.java +161 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/log/logging.pro +5 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/log/package-info.java +11 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/manager/PlayerConfiguration.java +494 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/model/ADPositionType.java +32 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/model/IPlayerDimension.java +25 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/model/IVideoUrl.java +51 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/model/PlayerDimensionModel.java +166 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/model/VideoUrlModel.java +113 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/IPlayer.java +308 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/IPlayerCallback.java +127 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerConstant.java +30 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerError.java +85 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerInfo.java +70 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerStatus.java +56 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerStatusEnum.java +54 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerStatusParams.java +21 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/player/PlayerType.java +15 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/setting/PlayerSetting.java +146 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/utils/Preconditions.java +442 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/utils/ScreenUtils.java +121 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/volume/IPlayerVolume.java +12 -0
- package/rules/.source/sdk/support/player-manager/src/main/java/com/quicktvui/support/player/manager/volume/PlayerVolumeModel.java +69 -0
- package/rules/.source/sdk/support/rippleview/src/main/java/com/quicktvui/support/rippleview/ESRippleViewComponent.java +40 -0
- package/rules/.source/sdk/support/rippleview/src/main/java/com/quicktvui/support/rippleview/RippleView.java +208 -0
- package/rules/.source/sdk/support/socket-io/src/main/java/com/quicktvui/support/socketio/IEsSocketIOModule.java +24 -0
- package/rules/.source/sdk/support/socket-io/src/main/java/com/quicktvui/support/socketio/SocketIOClientImpl.java +165 -0
- package/rules/.source/sdk/support/socket-io/src/main/java/com/quicktvui/support/socketio/SocketIoModule.java +161 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ESSubtitleModule.java +567 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/FileUtils.java +1259 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/IOClass.java +134 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ISubtitleControl.java +64 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/SubtitleClickListener.java +16 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/Caption.java +27 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FatalParsingException.java +25 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FormatASS.java +613 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FormatSCC.java +1063 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FormatSRT.java +209 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FormatSTL.java +654 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FormatTTML.java +539 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/FormatVTT.java +227 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/Region.java +5 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/Style.java +161 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/SubtitleResult.java +16 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/SubtitleText.java +42 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/Time.java +209 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/TimedTextFileFormat.java +65 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/subtitleFile/TimedTextObject.java +161 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ui/ESSubtitleView.java +152 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ui/ESSubtitleViewComponent.java +189 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ui/ESSubtitleViewController.java +172 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ui/StrokeTextView.java +116 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ui/SubtitleTextView.java +70 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/ui/SubtitleView.java +299 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/CharsetListener.java +51 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/Constants.java +74 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/EncodingDetectorInputStream.java +118 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/EncodingDetectorOutputStream.java +82 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/FileCharsetConverter.java +30 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/ReaderFactory.java +144 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/UnicodeBOMInputStream.java +297 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/UniversalDetector.java +394 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/Big5Prober.java +137 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/CharsetProber.java +181 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/EUCJPProber.java +145 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/EUCKRProber.java +135 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/EUCTWProber.java +136 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/EscCharsetProber.java +136 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/GB18030Prober.java +135 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/HebrewProber.java +212 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/Latin1Prober.java +201 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/MBCSGroupProber.java +173 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/SBCSGroupProber.java +185 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/SJISProber.java +144 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/SingleByteCharsetProber.java +187 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/UTF8Prober.java +133 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/contextanalysis/EUCJPContextAnalysis.java +97 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/contextanalysis/JapaneseContextAnalysis.java +255 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/contextanalysis/SJISContextAnalysis.java +93 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/Big5DistributionAnalysis.java +962 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/CharDistributionAnalysis.java +116 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/EUCJPDistributionAnalysis.java +67 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/EUCKRDistributionAnalysis.java +630 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/EUCTWDistributionAnalysis.java +459 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/GB2312DistributionAnalysis.java +508 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/JISDistributionAnalysis.java +585 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/distributionanalysis/SJISDistributionAnalysis.java +79 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/BulgarianModel.java +193 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/CyrillicModel.java +194 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/GreekModel.java +194 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/HebrewModel.java +217 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Ibm855Model.java +73 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Ibm866Model.java +73 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Koi8rModel.java +73 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Latin5BulgarianModel.java +72 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Latin5Model.java +73 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Latin7Model.java +73 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/MacCyrillicModel.java +73 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/SequenceModel.java +95 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/ThaiModel.java +239 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Win1251BulgarianModel.java +73 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Win1251Model.java +72 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/sequence/Win1253Model.java +72 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/Big5SMModel.java +111 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/CodingStateMachine.java +75 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/EUCJPSMModel.java +115 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/EUCKRSMModel.java +111 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/EUCTWSMModel.java +115 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/GB18030SMModel.java +114 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/HZSMModel.java +113 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/ISO2022CNSMModel.java +116 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/ISO2022JPSMModel.java +118 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/ISO2022KRSMModel.java +117 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/PkgInt.java +117 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/SJISSMModel.java +114 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/SMModel.java +93 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/UCS2BESMModel.java +120 -0
- package/rules/.source/sdk/support/subtitle-converter/src/main/java/com/quicktvui/support/subtitle/converter/universalchardet/prober/statemachine/UTF8SMModel.java +141 -0
- package/rules/.source/sdk/support/swiper-view/src/main/java/com/quicktvui/support/swiper/ESSwiperSlideViewComponent.java +46 -0
- package/rules/.source/sdk/support/swiper-view/src/main/java/com/quicktvui/support/swiper/SwiperView.java +48 -0
- package/rules/.source/sdk/support/ui/icon-view/src/main/java/quicktvui/support/ui/icon/ESAppIconView.java +42 -0
- package/rules/.source/sdk/support/ui/icon-view/src/main/java/quicktvui/support/ui/icon/ESAppIconViewComponent.java +112 -0
- package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/canvas/ESCanvasParamsUtils.java +117 -0
- package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/canvas/ESPaint.java +60 -0
- package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/canvas/ESPaintAction.java +7 -0
- package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/canvas/ESPath.java +109 -0
- package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/canvas/ESPathAction.java +10 -0
- package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/canvas/PorterDuffUtils.java +49 -0
- package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/crop/ESCroppedImageView.java +285 -0
- package/rules/.source/sdk/support/ui/image/src/main/java/com/quicktvui/support/ui/image/crop/ESCroppedImageViewComponent.java +102 -0
- package/rules/.source/sdk/support/ui/playmarkview/src/main/java/com/quicktvui/support/ui/playmarkview/ESPlayMarkViewComponent.java +104 -0
- package/rules/.source/sdk/support/ui/playmarkview/src/main/java/com/quicktvui/support/ui/playmarkview/PlayMarkView.java +319 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/DensityUtils.java +57 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/ScreenAdapt.java +33 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/ScreenUtils.java +112 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/ViewUtil.java +17 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/HippyBaseFrameLayout.java +97 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/HomeItemView.java +1564 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/ItemFrame.java +188 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/ItemFrameComponent.java +58 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/ItemViewComponent.java +157 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/RippleView.java +257 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/RippleViewComponent.java +91 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/TitleFocusComponent.java +42 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/TitleNormalComponent.java +46 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/TitleView.java +522 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/item/TitleViewFocus.java +370 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/AdvanceCenterScroller.java +132 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/EasyListView.java +420 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/EventSender.java +89 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/FocusWatcher.java +66 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/GroupItem.java +40 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/GroupItemPresenter.kt +90 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/ItemView.java +218 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/LargeListComponent.java +115 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/LargeListViewGroup.java +1383 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/LazyDataItem.java +10 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/LoadingItem.java +8 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/LoadingPresenter.java +59 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/MyTemplateHelper.kt +35 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/NumberEpisodeItemPresenter.java +160 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/PendingItemView.java +7 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/StandItemViewPresenter.java +108 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/Template.java +44 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TemplateBean.java +6 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TemplateHelper.kt +128 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TemplateItem.kt +83 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TemplateItemPresenterSelector.java +36 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TemplatePresenter.java +13 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TemplateUtil.java +339 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/largelist/TextEpisodeItemHostView.java +128 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/ESSelectSeriesController.java +156 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/EventSender.java +89 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/SelectSeriesViewGroup.java +1024 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/bean/LazyDataItem.java +10 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/bean/MyData.java +33 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/bean/PageData.java +5 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/bean/Param.java +192 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/bean/TemplateItem.kt +31 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/components/GroupListView.java +49 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/components/LargeListView.java +402 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/presenters/CustomItemViewPresenter.java +133 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/presenters/GroupItemPresenter.kt +123 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/utils/MyCustomHelper.java +468 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/utils/MyTemplateHelper.kt +18 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/utils/TemplateHelper.kt +88 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/selectseries/utils/TemplateUtil.java +415 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/swiftlist/SwiftListComponent.java +104 -0
- package/rules/.source/sdk/support/ui/src/main/java/com/quicktvui/support/ui/swiftlist/SwiftListView.java +563 -0
- package/rules/.source/sdk/support/upload/src/main/java/quicktvui/support/upload/ESUploadModule.java +307 -0
- package/rules/.source/sdk/support/upload/src/main/java/quicktvui/support/upload/UploadManager.java +136 -0
- package/rules/.source/sdk/support/websocket/src/main/java/quicktvui/support/websocket/IEsWebSocketModule.java +24 -0
- package/rules/.source/sdk/support/websocket/src/main/java/quicktvui/support/websocket/WebSocketClient.java +63 -0
- package/rules/.source/sdk/support/websocket/src/main/java/quicktvui/support/websocket/WebSocketImpl.java +55 -0
- package/rules/.source/sdk/support/websocket/src/main/java/quicktvui/support/websocket/WebSocketModule.java +114 -0
- package/rules/.source/sdk/support/webview/src/main/java/com/quicktvui/support/webview/ESWebView.java +235 -0
- package/rules/.source/sdk/support/webview/src/main/java/com/quicktvui/support/webview/ESWebViewComponent.java +1181 -0
- package/rules/.source/sdk/support/x5webview/src/main/java/com/quicktvui/support/x5webview/ESX5WebView.java +352 -0
- package/rules/.source/sdk/support/x5webview/src/main/java/com/quicktvui/support/x5webview/ESX5WebViewComponent.java +1190 -0
- package/rules/.windsurfrules +1 -0
- package/rules/AGENTS.md +1 -0
- package/rules/CLAUDE.md +1 -0
- 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
|
+
}
|