gitextract_zx_2a8bu/ ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── README_CN.md ├── blockcanary-analyzer/ │ ├── .gitignore │ ├── build.gradle │ ├── gradle-mvn-push.gradle │ ├── gradle.properties │ ├── proguard-rules.pro │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ └── github/ │ │ └── moduth/ │ │ └── blockcanary/ │ │ ├── AbstractSampler.java │ │ ├── BlockCanaryContext.java │ │ ├── BlockCanaryInternals.java │ │ ├── BlockInterceptor.java │ │ ├── CpuSampler.java │ │ ├── HandlerThreadFactory.java │ │ ├── LogWriter.java │ │ ├── LooperMonitor.java │ │ ├── StackSampler.java │ │ └── internal/ │ │ ├── BlockInfo.java │ │ ├── PerformanceUtils.java │ │ └── ProcessUtils.java │ └── res/ │ └── values/ │ └── int.xml ├── blockcanary-android/ │ ├── .gitignore │ ├── build.gradle │ ├── gradle-mvn-push.gradle │ ├── gradle.properties │ ├── proguard-rules.pro │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ └── github/ │ │ └── moduth/ │ │ └── blockcanary/ │ │ ├── BlockCanary.java │ │ ├── DisplayService.java │ │ ├── SingleThreadFactory.java │ │ ├── Uploader.java │ │ └── ui/ │ │ ├── BlockCanaryUi.java │ │ ├── BlockCanaryUtils.java │ │ ├── BlockInfoCorruptException.java │ │ ├── BlockInfoEx.java │ │ ├── DetailAdapter.java │ │ ├── DisplayActivity.java │ │ ├── DisplayConnectorView.java │ │ └── MoreDetailsView.java │ └── res/ │ ├── layout/ │ │ ├── block_canary_block_row.xml │ │ ├── block_canary_display_leak.xml │ │ ├── block_canary_ref_row.xml │ │ └── block_canary_ref_top_row.xml │ ├── values/ │ │ ├── strings.xml │ │ └── themes.xml │ ├── values-v14/ │ │ └── themes.xml │ └── values-v21/ │ └── themes.xml ├── blockcanary-android-no-op/ │ ├── .gitignore │ ├── build.gradle │ ├── gradle-mvn-push.gradle │ ├── gradle.properties │ ├── proguard-rules.pro │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ └── java/ │ └── com/ │ └── github/ │ └── moduth/ │ └── blockcanary/ │ ├── BlockCanary.java │ ├── BlockCanaryContext.java │ └── internal/ │ └── BlockInfo.java ├── blockcanary-sample/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ └── example/ │ │ └── blockcanary/ │ │ ├── AppContext.java │ │ ├── DemoActivity.java │ │ ├── DemoApplication.java │ │ └── DemoFragment.java │ └── res/ │ ├── drawable/ │ │ ├── background_splash.xml │ │ ├── btn_nor.xml │ │ ├── btn_pre.xml │ │ └── btn_select.xml │ ├── layout/ │ │ ├── activity_demo.xml │ │ └── activity_main.xml │ ├── menu/ │ │ └── menu_demo.xml │ ├── values/ │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── values-zh/ │ └── strings.xml ├── build.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat └── settings.gradle