gitextract_ewo3zqa2/ ├── .gitignore ├── .gitmodules ├── .travis.yml ├── DanmakuFlameMaster/ │ ├── build.gradle │ ├── gradle.properties │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── tv/ │ │ └── cjump/ │ │ └── jni/ │ │ └── NativeBitmapFactoryTest.java │ └── main/ │ ├── .classpath │ ├── .project │ ├── .settings/ │ │ ├── org.eclipse.jdt.core.prefs │ │ └── org.eclipse.jdt.ui.prefs │ ├── AndroidManifest.xml │ ├── build.xml │ ├── java/ │ │ ├── master/ │ │ │ └── flame/ │ │ │ └── danmaku/ │ │ │ ├── controller/ │ │ │ │ ├── CacheManagingDrawTask.java │ │ │ │ ├── DanmakuFilters.java │ │ │ │ ├── DrawHandler.java │ │ │ │ ├── DrawHelper.java │ │ │ │ ├── DrawTask.java │ │ │ │ ├── IDanmakuView.java │ │ │ │ ├── IDanmakuViewController.java │ │ │ │ ├── IDrawTask.java │ │ │ │ └── UpdateThread.java │ │ │ ├── danmaku/ │ │ │ │ ├── loader/ │ │ │ │ │ ├── ILoader.java │ │ │ │ │ ├── IllegalDataException.java │ │ │ │ │ └── android/ │ │ │ │ │ ├── AcFunDanmakuLoader.java │ │ │ │ │ ├── BiliDanmakuLoader.java │ │ │ │ │ └── DanmakuLoaderFactory.java │ │ │ │ ├── model/ │ │ │ │ │ ├── AbsDanmakuSync.java │ │ │ │ │ ├── AbsDisplayer.java │ │ │ │ │ ├── AlphaValue.java │ │ │ │ │ ├── BaseDanmaku.java │ │ │ │ │ ├── Danmaku.java │ │ │ │ │ ├── DanmakuTimer.java │ │ │ │ │ ├── Duration.java │ │ │ │ │ ├── FBDanmaku.java │ │ │ │ │ ├── FTDanmaku.java │ │ │ │ │ ├── GlobalFlagValues.java │ │ │ │ │ ├── ICacheManager.java │ │ │ │ │ ├── IDanmakuIterator.java │ │ │ │ │ ├── IDanmakus.java │ │ │ │ │ ├── IDisplayer.java │ │ │ │ │ ├── IDrawingCache.java │ │ │ │ │ ├── L2RDanmaku.java │ │ │ │ │ ├── R2LDanmaku.java │ │ │ │ │ ├── SpecialDanmaku.java │ │ │ │ │ ├── android/ │ │ │ │ │ │ ├── AndroidDisplayer.java │ │ │ │ │ │ ├── BaseCacheStuffer.java │ │ │ │ │ │ ├── CachingPolicy.java │ │ │ │ │ │ ├── DanmakuContext.java │ │ │ │ │ │ ├── DanmakuFactory.java │ │ │ │ │ │ ├── Danmakus.java │ │ │ │ │ │ ├── DrawingCache.java │ │ │ │ │ │ ├── DrawingCacheHolder.java │ │ │ │ │ │ ├── DrawingCachePoolManager.java │ │ │ │ │ │ ├── SimpleTextCacheStuffer.java │ │ │ │ │ │ ├── SpannedCacheStuffer.java │ │ │ │ │ │ └── ViewCacheStuffer.java │ │ │ │ │ └── objectpool/ │ │ │ │ │ ├── FinitePool.java │ │ │ │ │ ├── Pool.java │ │ │ │ │ ├── Poolable.java │ │ │ │ │ ├── PoolableManager.java │ │ │ │ │ ├── Pools.java │ │ │ │ │ └── SynchronizedPool.java │ │ │ │ ├── parser/ │ │ │ │ │ ├── BaseDanmakuParser.java │ │ │ │ │ ├── IDataSource.java │ │ │ │ │ └── android/ │ │ │ │ │ ├── AndroidFileSource.java │ │ │ │ │ └── JSONSource.java │ │ │ │ ├── renderer/ │ │ │ │ │ ├── IRenderer.java │ │ │ │ │ ├── Renderer.java │ │ │ │ │ └── android/ │ │ │ │ │ ├── DanmakuRenderer.java │ │ │ │ │ └── DanmakusRetainer.java │ │ │ │ └── util/ │ │ │ │ ├── DanmakuUtils.java │ │ │ │ ├── IOUtils.java │ │ │ │ └── SystemClock.java │ │ │ └── ui/ │ │ │ └── widget/ │ │ │ ├── DanmakuSurfaceView.java │ │ │ ├── DanmakuTextureView.java │ │ │ ├── DanmakuTouchHelper.java │ │ │ ├── DanmakuView.java │ │ │ └── FakeDanmakuView.java │ │ └── tv/ │ │ └── cjump/ │ │ └── jni/ │ │ ├── DeviceUtils.java │ │ └── NativeBitmapFactory.java │ ├── lint.xml │ ├── proguard-project.txt │ └── project.properties ├── LICENSE ├── README.md ├── Sample/ │ ├── build.gradle │ └── src/ │ └── main/ │ ├── .classpath │ ├── .project │ ├── .settings/ │ │ └── org.eclipse.jdt.core.prefs │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ └── sample/ │ │ ├── BiliDanmukuParser.java │ │ ├── MainActivity.java │ │ └── UglyViewCacheStufferSampleActivity.java │ ├── project.properties │ └── res/ │ ├── layout/ │ │ ├── activity_main.xml │ │ ├── layout_view_cache.xml │ │ └── media_controller.xml │ ├── menu/ │ │ └── main.xml │ ├── raw/ │ │ └── comments.xml │ └── values/ │ ├── dimens.xml │ ├── strings.xml │ └── styles.xml ├── build.gradle ├── gradle/ │ ├── gradle-bintray-upload.gradle │ ├── gradle-mvn-push.gradle │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── ndkbitmap-armv5/ │ ├── .gitignore │ ├── build.gradle │ ├── gradle.properties │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── tv/ │ │ └── cjump/ │ │ └── ndkbitmap_armv5/ │ │ └── ApplicationTest.java │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── tv/ │ │ └── cjump/ │ │ └── ndkbitmap_armv5/ │ │ └── Pragma.java │ └── res/ │ └── values/ │ └── strings.xml ├── ndkbitmap-armv7a/ │ ├── .gitignore │ ├── build.gradle │ ├── gradle.properties │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── tv/ │ │ └── cjump/ │ │ └── ndkbitmap_armv7a/ │ │ └── ApplicationTest.java │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── tv/ │ │ └── cjump/ │ │ └── ndkbitmap_armv7a/ │ │ └── Pragma.java │ └── res/ │ └── values/ │ └── strings.xml ├── ndkbitmap-x86/ │ ├── .gitignore │ ├── build.gradle │ ├── gradle.properties │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── tv/ │ │ └── cjump/ │ │ └── ndkbitmap_x86/ │ │ └── ApplicationTest.java │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── tv/ │ │ └── cjump/ │ │ └── ndkbitmap_x86/ │ │ └── Pragma.java │ └── res/ │ └── values/ │ └── strings.xml └── settings.gradle