jenly1314/ZXingLite
58.4
Adequate · 28 September 2026
1.7k
lines of production code
Kotlin
primary language
2
measurements over time
What this system is
This system is an Android library and sample application for barcode scanning, built on the zxing-lite core and modern AndroidX components like CameraX. It provides a Kotlin-native framework for integrating camera-based scanning and code generation into apps, featuring configurable decoding behaviors and simplified integration classes. The project has been significantly refactored to remove legacy Java implementations and bundled camera logic, relying instead on external dependencies and modern build tooling.
Removals
Removal of Java-based demo application components
The Java source files for the demo application (CodeActivity, CustomCaptureActivity, EasyCaptureActivity, MainActivity, and StatusBarUtils) have been deleted from the app module. This change removes the legacy Java implementation of the sample app, which is consistent with the broader migration of the project's Java sources to Kotlin.
app/src/main/java · high confidence
Removal of legacy CaptureActivity and core scanning components
The library has removed the legacy \CaptureActivity\ and its associated core components, including \AmbientLightManager\, \BeepManager\, \CaptureActivityHandler\, \DecodeThread\, and \InactivityTimer\. This change eliminates the default camera scanning implementation and its related features, such as automatic front-light toggling, beep/vibration feedback, and inactivity-based session timeouts, effectively stripping the \lib/src/main\ area of its primary scanning logic.
lib/src/main · high confidence
Behavioural changes
Release build metadata updated to v3.5.0 with baseline profiles
The release build configuration has been updated to version 3.5.0 (version code 46). The build output metadata now uses the new \output-metadata.json\ format, replacing the legacy \output.json\, and includes baseline profile configurations for Android 11+ (API 30+) and Android 12+ (API 31+). Additionally, the \.gitignore\ file was corrected to properly exclude the \/build\ directory, and \proguard-rules.pro\ comments were reformatted.
app/release · high confidence
Sample app activities migrated to Kotlin
The sample application's UI layer in app/src/main/kotlin has been rewritten from Java to Kotlin. This migration covers the main entry point (MainActivity), the code generation screen (CodeActivity), and the various scanning modes (MultiFormatScanActivity, QRCodeScanActivity, FullScreenQRCodeScanActivity). The Kotlin implementation preserves the original scanning and code-generation behaviors while adopting modern Android patterns such as Kotlin coroutines for background tasks and the Activity Result API for launching scans and picking photos.
app/src/main/kotlin · high confidence
zxing-lite library restructured and migrated to Kotlin
The zxing-lite module has been reorganized under a new directory structure and its entire codebase has been migrated from Java to Kotlin. This update introduces new base classes for barcode scanning, including BarcodeCameraScanActivity and BarcodeCameraScanFragment, which simplify the integration of camera-based scanning into Android apps. The library now provides a comprehensive DecodeConfig class for customizing scanning behavior, such as enabling multi-format decoding, supporting vertical barcodes, and handling inverted luminance. Additionally, a new DecodeFormatManager object offers pre-configured hint sets for common barcode types like QR codes and Code 128, streamlining the setup process for developers.
zxing-lite · high confidence
Test coverage
Migrated instrumentation and unit tests from Java to Kotlin; Removed legacy placeholder unit and instrumented tests.
Dependencies
Gradle wrapper upgraded to version 8.13
The project's Gradle wrapper has been updated from version 4.4 to 8.13. This upgrade ensures that builds use a modern, supported version of the Gradle build tool, which may bring performance improvements, new features, and better compatibility with current Android development practices.
gradle · high confidence
Migrate to Kotlin DSL and Version Catalogs
The build system has been migrated from the legacy Groovy DSL to Kotlin DSL (build.gradle.kts) and now uses a Version Catalog (gradle/libs.versions.toml) to manage dependencies and plugins. This change centralizes version management for libraries such as AndroidX components, ZXing, CameraX, and testing frameworks, while also updating the Android Gradle Plugin to 8.13.0 and Kotlin to 1.9.20. The migration includes removing the old Bintray publishing script in favor of the maven-publish plugin and updating the minimum SDK to 23.
(dependencies) · high confidence
Housekeeping
Project initialization and documentation overhaul
The repository has been initialized with a comprehensive documentation structure, including a new CHANGELOG.md detailing version history from v1.0.0 to v3.5.0, and a mkdocs.yml configuration for generating static site documentation. The README.md has been significantly updated to reflect the modern 3.x architecture, which relies on external libraries (CameraScan, ViewfinderView) rather than bundled code, and specifies higher SDK requirements (compileSdk ≥ 33/35). Additionally, an .editorconfig file has been added to enforce coding standards (4-space indentation for Kotlin/Java, 2-space for YAML), and CI configurations (Travis, GitHub Actions badges) have been updated to reflect current build environments.
(repo-wide) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 58 → 58 (+0.0)
- Rubric changed (rubric-2026.09.8 → rubric-2026.09.16) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 100 → 100 (+0.0)
- Maturity 57 → 57 (+0.0)
- Readiness 45 → 45 (+0.0)
- Security 70 → 70 (+0.0)
New (3)
- Documentation: no contributor guidance (README.md)
- Documentation: no project overview (README.md)
- No ADRs found
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
jenly1314/ZXingLite was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 28 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit e55a60a8bd483c7a6d70621008f504d41a659501 — the exact code this score is about.
- Scored under rubric-2026.09.16 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-2d9048c36d26.