googlesamples/mlkit
49.6
Weak · 25 September 2026
38.5k
lines of production code
Kotlin
with Java, Objective-C, Swift
4
measurements over time
What this system is
This repository serves as a comprehensive collection of reference implementations and quickstart samples for Google ML Kit, covering both Android and iOS platforms. It provides runnable applications demonstrating a wide range of on-device machine learning capabilities, including computer vision tasks like object detection, pose estimation, and document scanning, as well as natural language processing features such as entity extraction, translation, and smart replies. The system also includes samples for emerging GenAI and speech recognition APIs, alongside tutorials for custom model integration, acting as a practical guide for developers integrating ML Kit into their applications.
How it got here
2020 — ML Kit sample modernization and expansion
37 changes.
This period focused on modernizing existing Android and iOS ML Kit quickstart applications by migrating to newer SDKs, adopting AndroidX and CameraX, and improving UI consistency with system colors and accessibility features. It also introduced new sample apps for emerging capabilities such as Digital Ink Recognition, Entity Extraction, and GenAI, while adding tutorials for model creation with Model Maker.
2022–2026 — ML Kit demo app expansion
4 changes.
This period focused on expanding the project's sample applications by introducing new demo apps for Google Code Scanner, ML Kit Document Scanner, and ML Kit GenAI Speech. It also involved rewriting the existing ML Kit GenAI demo in Kotlin to support structured outputs and advanced generation configurations.
Features
Add Digital Ink Recognition quickstart samples for iOS
This change introduces the project configuration for the Digital Ink Recognition quickstart, providing both Swift and Objective-C example applications. The Xcode project file defines the build targets, source files (including ViewControllers, AppDelegates, and SceneDelegates), and dependencies (via CocoaPods) required to run these samples, allowing developers to explore digital ink recognition capabilities on iOS.
ios/quickstarts/digitalinkrecognition/DigitalInkRecognitionExample.xcodeproj · high confidence
Add Google Code Scanner API demo app
A new sample application demonstrating the Google Code Scanner API has been added to the Android/codescanner directory. The app provides Java and Kotlin implementations that allow users to scan barcodes and includes UI options to enable manual input and auto-zoom features.
android/codescanner · high confidence
Add ML Kit Document Scanner sample app
A new sample application demonstrating the ML Kit Document Scanner API has been added to the Android documentscanner module. The app provides implementations in both Java and Kotlin, allowing users to scan documents without requesting camera permissions by leveraging the document\_ui dependency. It features a UI for selecting scanner modes (Full, Base, Base with Filter), enabling gallery import, and setting page limits, while displaying the first scanned page and offering PDF export via a FileProvider.
android/documentscanner · high confidence
Add ML Kit Entity Extraction quickstart app
The android/entityextraction directory now contains a complete sample application demonstrating the ML Kit Entity Extraction API. The app provides parallel implementations in Java and Kotlin, allowing users to input text and detect structured entities such as addresses, dates, emails, phone numbers, and payment cards. It includes a model management screen where users can download, view, or delete specific language models required for extraction, and displays the detected entities with detailed metadata in the UI.
android/entityextraction · high confidence
Add pose classification training data and license file
The vision quickstart app now includes a CSV dataset of fitness pose samples (specifically push-ups) in the assets directory, enabling the kNN-based pose classification feature to function with real-world training data. Additionally, the Apache 2.0 license file has been added to the project root to clarify usage rights.
android/vision-quickstart · high confidence
Added ML Kit GenAI Speech demo app
A new demo application for the ML Kit GenAI Speech API has been added to the android/speech module. The app provides a user interface to select the locale, recognition mode (Advanced or Basic), and audio source (Microphone or FileDescriptor). It includes a download button to check feature availability and a recording button to perform real-time speech recognition, displaying partial and final transcriptions in the UI.
android/speech · high confidence
Initial UI layout for the Entity Extraction quickstart
The Entity Extraction quickstart app now includes its primary interface files, providing a tab-based layout with an 'Entities' tab for inputting text and selecting languages, and a 'Models' tab for model management. This change introduces the visual structure for the feature, including the text views, language picker, and tab bar navigation, establishing the baseline user experience for the demo.
ios/quickstarts/entityextraction/EntityExtractionExample/Base.lproj · high confidence
ML Kit demo apps reorganized under nl package and expanded with GenAI and segmentation features
The Smart Reply and Translate demo apps have been restructured, moving their Java and Kotlin source files from the \samples\ namespace to \samples.nl\ to align with the Natural Language product grouping. The Smart Reply app also refactors its ViewModel to use AndroidViewModel and adds an on-failure listener for inference. Additionally, new demo capabilities are introduced: the ML Kit GenAI demo app is added with a Kotlin-based UI for features like summarization, proofreading, and open-prompt inference with prefix caching; the Object Detection demo in the AutoML app is enhanced to display confidence scores and tracking IDs; and the Vision Quickstart app adds Subject Segmentation and background segmentation visualization components.
app · high confidence
New Entity Extraction quickstart app for iOS
The Entity Extraction quickstart sample app is now available for iOS, allowing users to demonstrate entity extraction capabilities using ML Kit. The app includes a main view controller for inputting text and viewing extracted entities, a model management screen to download and delete language models, and support for dark mode on iOS 13+. It also provides a low-cost implementation for downloading and deleting language models on devices running iOS 12 and below, ensuring broader compatibility.
ios/quickstarts/entityextraction/EntityExtractionExample · high confidence
New ML Kit Digital Ink Recognition sample app
Added a new quickstart sample application for ML Kit Digital Ink Recognition, available in both Java and Kotlin. The app demonstrates how to capture handwritten strokes on a canvas, download and manage remote recognition models for various languages and non-text types (such as Autodraw, Emoji, and Shapes), and display the recognized text overlaid on the drawing. It includes a language selection spinner, model download/delete controls, and a status bar to guide users through the recognition workflow.
android/digitalink · high confidence
New ML Kit GenAI demo app with structured output and generation config
The ML Kit GenAI demo app has been rewritten in Kotlin and now includes a Generation Config dialog that lets users adjust model parameters such as temperature, top-k, seed, max output tokens, candidate count, and thinking mode. The app also introduces structured output support, using a GenerableProvider service loader to generate JSON schemas for typed responses, and adds ProGuard keep rules to prevent NoSuchMethodError crashes on kotlinx.coroutines SendChannel and to preserve generable classes in release builds.
android/genai · high confidence
New Objective-C Entity Extraction quickstart app
Adds a new iOS quickstart application in Objective-C that demonstrates Google ML Kit's Entity Extraction capabilities. The app includes an EntityViewController for inputting text and viewing extracted entities (such as addresses, dates, and payment cards) with language selection, and a ModelManagementViewController that allows users to download or delete language models directly from the device. This provides a complete, runnable example for integrating entity extraction into iOS apps.
ios/quickstarts/entityextraction/EntityExtractionExampleObjC · high confidence
New iOS Digital Ink Recognition quickstart samples
Added new iOS quickstart samples for Digital Ink Recognition in both Swift and Objective-C. These demo apps allow users to draw ink on the screen, select a recognition language, download the required ML Kit recognition model, and trigger recognition to see the handwritten text converted to digital text.
ios/quickstarts/digitalinkrecognition/DigitalInkRecognitionExample, ios/quickstarts/digitalinkrecognition/DigitalInkRecognitionExampleObjC · high confidence
New tutorial for creating ML Kit image labeling models with Model Maker
Added a new Colab notebook tutorial that demonstrates how to use the TFLite Model Maker library to adapt and convert a TensorFlow neural-network model for on-device ML applications using ML Kit's custom Image Labeling features. The tutorial includes a README entry linking to the notebook and guides users through installing the Model Maker package, importing required libraries, and setting up TensorFlow behavior for ML Kit compatibility.
tutorials · high confidence
Vision Quickstart adds pose, segmentation, and multi-language text detectors
The iOS Vision Quickstart app now supports three new detection capabilities: pose detection (standard and accurate modes), selfie segmentation with a customizable color mask overlay, and text recognition for Chinese, Devanagari, Japanese, and Korean scripts. To support these features, the app has migrated from the legacy \VisionImage\ API to \MLImage\ for pose and segmentation processing, and updated the barcode scanner to display the more user-friendly \displayValue\ instead of the raw barcode string. Additionally, UI utilities have been enhanced to support accessibility identifiers and line segment rendering for pose visualization.
ios/quickstarts/vision/VisionExample · high confidence
iOS Entity Extraction quickstart project configuration
The EntityExtractionExample Xcode project has been added, providing a sample application for entity extraction on iOS. The project includes both Swift and Objective-C implementations (EntityExtractionExample and EntityExtractionExampleObjC), featuring view controllers for entity extraction and model management, along with necessary assets and storyboards. It links against libc++ and is configured for iOS deployment.
ios/quickstarts/entityextraction/EntityExtractionExample.xcodeproj · high confidence
Behavioural changes
Adds test resources and renames Objective-C target to VisionExampleObjC
The VisionExample project now includes test assets for text recognition in Chinese, Japanese, Korean, and Devanagari scripts (both standard and sparse variants), enabling users to verify detection accuracy for these languages. Additionally, the Objective-C sample target has been renamed from VisionExampleObjc to VisionExampleObjC, and obsolete build configurations and proxy references have been cleaned up to streamline the project structure.
ios/quickstarts/vision/VisionExample.xcodeproj · high confidence
AutoML demo app adds custom object detection and refactors camera handling
The AutoML demo app now supports custom object detection in addition to image labeling, with new options added to the settings and live preview activities. The app's camera implementation has been refactored to support CameraX, including a new CameraXLivePreviewActivity and ViewModel, while maintaining backward compatibility by hiding CameraX activities on devices with API level \< 21. Code style and structure improvements include converting classes to final, using modern Java syntax, and updating imports to use AndroidX and CameraX libraries.
android/automl/app/src/main/java · high confidence
AutoML quickstart now supports multiple detector types and fixes notification observer leaks
The iOS AutoML quickstart apps (ObjC and Swift) have been expanded from a single image-labeling demo to support five detector modes: image labeling, single-object detection (with and without classification), and multiple-object detection (with and without classification). The code now uses the generic MLKit \CustomRemoteModel\ and \CustomImageLabelerOptions\/\CustomObjectDetectorOptions\ APIs instead of the legacy \AutoMLImageLabeler\-specific classes. Additionally, the view controllers now explicitly register and unregister for \MLKModelDownloadDidSucceedNotification\ and \MLKModelDownloadDidFailNotification\ in \viewDidAppear\/\viewDidDisappear\ (or \viewWillAppear\/\viewWillDisappear\), preventing duplicate observer registrations and memory leaks. The Swift side also adds \weak self\ captures in async completion blocks to avoid retain cycles.
ios/quickstarts/automl/AutoMLExampleObjC · high confidence
AutoML quickstart project cleanup and configuration updates
The AutoMLExample Xcode project has been updated to remove obsolete build schemes (AutoMLExample.xcscheme and AutoMLExampleObjc.xcscheme) and clean up internal references, including the removal of duplicate build file entries for GoogleService-Info.plist and obsolete test target proxies. The project configuration has been upgraded to reflect modern tooling standards, specifically updating the LastSwiftUpdateCheck to 1340 and renaming the AutoMLExampleObjc target to AutoMLExampleObjC for consistency.
ios/quickstarts/automl/AutoMLExample.xcodeproj · high confidence
Gradle wrapper upgraded to version 7.3.3
The Android Snippets project now uses Gradle 7.3.3 instead of 5.4.1. This update ensures compatibility with newer Android build tools and improves build performance and stability for developers working with the code snippets.
android/android-snippets · high confidence
Improved resource management and code cleanup in translation utilities
The translation showcase app now includes a ScopedExecutor utility that allows for controlled shutdown of background tasks, ensuring ML Kit detector handles are properly closed when fragments are destroyed to prevent resource leaks. Additionally, a minor code cleanup was applied to the Language utility class to simplify the string representation logic.
android/translate-showcase/app/src/main/java/com/google/mlkit/showcase/translate/util · high confidence
Improved text detection accuracy and resource management in the Translate Showcase
The text analyzer now dynamically adjusts image cropping based on the actual camera aspect ratio, preventing excessive cropping when the preview differs from the requested ratio. Additionally, ML Kit detectors (text recognition and language identification) and translators are now configured with custom executors and properly closed when the fragment is destroyed or the view model is cleared, ensuring better performance and preventing resource leaks.
android/translate-showcase/app/src/main/java/com/google/mlkit/showcase/translate/analyzer · high confidence
Improved text input behavior and accessibility in Language ID examples
The iOS Language ID example apps (Swift and Objective-C) now automatically select all existing text when the input field is tapped, allowing users to easily replace the default placeholder without manual deletion. Additionally, the input and output text views are now assigned specific accessibility identifiers to support automated testing, and the Objective-C version dismisses the keyboard when the return key is pressed.
ios/quickstarts/languageid/LanguageIDExample · high confidence
Internal chooser UI code formatting and cleanup
The internal chooser implementation in the \android/internal/chooserx\ module has been refactored to improve code style and maintainability. This includes standardizing indentation and brace placement across \BaseEntryChoiceActivity\, \ChoiceAdapter\, and \Choice\, as well as removing the Apache 2.0 license header from the AndroidManifest.xml. These changes do not alter the functional behavior of the chooser UI but clean up the source code structure.
android/internal/chooserx, chooserx · medium confidence
ML Kit Language ID sample app refreshed with improved UX and model auto-download
The Android Language ID sample app has been updated to provide a smoother user experience and easier setup. The interface now hides the keyboard when identification buttons are tapped, preserves the input text after identification (with a new 'Clear Text' button to reset it), and displays detailed error messages including the cause if identification fails. The app also automatically downloads the ML model upon installation via a new manifest metadata entry, and the UI layout has been simplified with a new app icon and text fields that correctly preserve state during screen rotations.
android/langid · high confidence
ML Kit Showcase App: Removal of Kotlin-specific layouts and Java package migration
The ML Kit Showcase app has removed the Kotlin-specific layout files (e.g., \activity\_live\_barcode\_kotlin.xml\) and updated the corresponding Activities to use the standard layout resources. Additionally, the app migrated internal camera and product search components from the \com.google.mlkit.md.java\ package to \com.google.mlkit.md\, and updated barcode detection imports to use the \common\ subpackage. The Travis CI configuration and build scripts have been removed, and the README has been updated to reflect the current state of the visual search functionality.
android/material-showcase · high confidence
ML Kit Smart Reply sample app restructured and modernized
The Smart Reply sample app has been reorganized under the \com.google.mlkit.samples.nl.smartreply\ package, with Java and Kotlin entry points renamed to \MainActivityJava\ and \MainActivityKotlin\ respectively. The app now uses a custom vector logo (\logo\_mlkit\) instead of the default adaptive icon, and the main layout has been renamed to \main\_smartreply\_activity\. Code quality has been improved by replacing the deprecated \ViewModelProviders\ API with \ViewModelProvider\, switching from \CircleImageView\ to standard \ImageView\, and updating the \Message\ drawable tinting logic to use \DrawableCompat.setTint\ on API 21+. Additionally, the app manifest now declares the \smart\_reply\ ML model dependency for automatic download and sets \AppCompatDelegate.setCompatVectorFromResourcesEnabled(true)\ to ensure vector drawables render correctly on older Android versions.
android/smartreply/app/src · high confidence
ML Kit Translate sample app restructured with language choice and UI updates
The Translate sample app has been reorganized under a new package path (com.google.mlkit.samples.nl.translate) and now presents an EntryChoiceActivity on launch, allowing users to select between the Java or Kotlin implementation. The app icon has been updated to the ML Kit logo, and the UI includes a new source text hint. Additionally, the Java implementation's switch-language button now correctly updates the source text field when languages are swapped, and vector drawables have been updated to suppress NewApi warnings.
android/translate/app/src · high confidence
Removes UI tests and updates valid architectures
The LanguageIDExample iOS project no longer includes the UI test target (LanguageIDExampleUITests) or its associated SmokeTest, simplifying the build configuration. Additionally, the project explicitly sets VALID\_ARCHS to x86\_64, arm64, and arm64e for both Debug and Release configurations, ensuring compatibility with modern simulator and device architectures.
ios/quickstarts/languageid/LanguageIDExample.xcodeproj · high confidence
Smart Reply quickstart fixes dark mode and iOS 15 navigation bar styling
The Swift and Objective-C Smart Reply example apps now properly support dark mode on iOS 13 and later by using system colors (e.g., systemBackground, label) for the input container, cell text, and navigation bar. The navigation bar appearance is updated to use standardAppearance and scrollEdgeAppearance to prevent unwanted transparent backgrounds on iOS 15. Additionally, placeholder text resizing is triggered on layout changes, and collection view layouts are invalidated after data updates to ensure correct UI rendering. Accessibility identifiers have been added to the input box and smart reply suggestions. The project structure was also cleaned up by removing obsolete test targets and renaming the Objective-C app to SmartReplyExampleObjC to avoid naming conflicts.
ios/quickstarts/smartreply · high confidence
Translate quickstart: removes test targets, updates UI, and fixes memory management
The Translate quickstart sample app has removed its unit and UI test targets (TranslateExampleObjCTests, TranslateExampleObjCUITests, TranslateExampleTests, TranslateExampleUITests) and their associated Info.plist files. The user interface has been updated to use modern iOS system colors (systemBackgroundColor, labelColor) and the download/delete buttons are now hidden when English is selected as the source or target language. Additionally, the code now uses weak/strong self patterns in asynchronous blocks to prevent retain cycles, and text views automatically select all content when editing begins.
ios/quickstarts/translate · high confidence
Updated Android Smart Reply quickstart documentation and project structure
The Android Smart Reply quickstart sample has been updated with a revised README that clarifies usage instructions, such as running the app on a device or emulator and extending the code for new features. The project structure was also adjusted by removing the local .gitignore file and adding the Apache 2.0 LICENSE file, while minor fixes were applied to the UI overlap and screenshot consistency.
android/smartreply · medium confidence
Updated AutoMLExample storyboard to use system colors and added Detectors button
The AutoMLExample storyboard has been updated to use modern system colors (systemBackgroundColor) instead of hardcoded white values for the main view, camera view, image view, and picker view backgrounds, ensuring better compatibility with iOS appearance settings. Additionally, a new 'Detectors' bar button item has been added to the navigation bar, wired to a 'selectDetector:' action, enabling users to choose between different detection models.
ios/quickstarts/automl/AutoMLExample/Base.lproj · high confidence
Updated ML Kit code snippets for API compatibility and new features
The Android code snippets have been updated to reflect recent changes in the ML Kit library. A new Object Detection activity has been added for both Java and Kotlin, demonstrating how to configure default and custom object detectors for live tracking and static image analysis. Several existing activities have been updated to use the latest API patterns: Text Recognition now requires explicit options via TextRecognizerOptions.DEFAULT\_OPTIONS and exposes symbol-level data; Face Detection has migrated from the deprecated setClassificationMode to setPerformanceMode; and Image Labeling snippets now show the use of default options. Additionally, the camera rotation compensation logic in MLKitVisionImage has been corrected to properly handle front-facing cameras and accurate sensor orientations, and Barcode Scanning imports have been updated to use the common Barcode class.
android/android-snippets/app/src · high confidence
Updated main activity layout reference
The Translate Showcase app's main activity now inflates the layout resource \main\_translateshowcase\_activity\ instead of the previous \main\_activity\. This change updates the UI structure used when the app starts, ensuring the correct layout is displayed for the translation showcase interface.
android/translate-showcase/app/src/main/java/com/google/mlkit/showcase/translate · high confidence
Fixes
Fixes thumbnail image alpha fading in the Vision Showcase app
The Vision Showcase app now correctly handles the thumbnail image transparency when the description panel expands to cover more than half of the screen. This change refactors the bottom sheet layout logic to use a target Y-offset instead of a target height, ensuring the image fade-out effect remains smooth and visually consistent during the transition.
ios/showcase · high confidence
Test coverage
Removed iOS UI test suite for language identification quickstart; Updated lint test expectations for InvalidImportDetector.
Dependencies
Add new ML Kit sample apps and update existing samples to latest SDKs
This release introduces new sample applications for Code Scanner, Document Scanner, Digital Ink Recognition, Entity Extraction, GenAI, and Speech Recognition, providing reference implementations for these ML Kit features. Existing samples, including Android Snippets, AutoML, Language ID, and Material Showcase, have been updated to use the latest ML Kit SDK versions (e.g., barcode-scanning 17.0.2, object-detection 17.0.0) and modernized build configurations, such as upgrading to Android Gradle Plugin 7.x/8.x, increasing compile/target SDK versions to 31/34, and migrating to AndroidX.
(dependencies) · high confidence
Upgrade Gradle wrapper to version 7.5
The Android Vision Quickstart project now uses Gradle 7.5 for builds, upgrading from version 5.6.4. This change updates the build tooling to a newer release, which may affect build performance and compatibility with existing plugins or dependencies.
android/vision-quickstart/gradle · 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
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 39 → 50 (+10.6)
- Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 97 → 96 (-0.8)
- Architecture 94 → 98 (+4.3)
- Maturity 39 → 51 (+12.4)
- Readiness 17 → 27 (+9.7)
- Security 65 → 83 (+17.9)
Resolved (35)
- Coverage not measured — test suite did not build
- Dimension evaluation failed
- Duplicated block (14 lines × 2) (android/langid/app/src/main/java/com/google/mlkit/samples/nl/languageid/kotlin/MainActivityKotlin.kt)
- Duplicated block (16 lines × 2) (android/genai/app/src/main/java/com/google/mlkit/genai/demo/kotlin/OpenPromptActivity.kt)
- Duplicated block (17 lines × 2) (android/vision-quickstart/app/src/main/java/com/google/mlkit/vision/demo/kotlin/posedetector/PoseDetectorProcessor.kt)
- LLM evaluation failed
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- …and 15 more
New (50)
- CameraSource.selectSizePair (cognitive 17) (android/material-showcase/app/src/main/java/com/google/mlkit/md/camera/CameraSource.kt)
- CameraViewController.addContours (cognitive 39) (ios/quickstarts/vision/VisionExample/CameraViewController.swift)
- CameraViewController.addContours (cyclomatic 27) (ios/quickstarts/vision/VisionExample/CameraViewController.swift)
- Date.timeAgo (cognitive 21) (ios/quickstarts/smartreply/SmartReplyExample/DateExtension.swift)
- Date.timeAgo (cyclomatic 17) (ios/quickstarts/smartreply/SmartReplyExample/DateExtension.swift)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no architecture or design documentation (android/android-snippets/README.md)
- Documentation: no installation or build instructions (README.md)
- Documentation: no installation or build instructions (android/automl/README.md)
- Duplicated block (12 lines × 2) (android/translate-showcase/app/src/main/java/com/google/mlkit/showcase/translate/util/Language.kt)
- Duplicated block (13 lines × 2) (android/material-showcase/app/src/main/java/com/google/mlkit/md/CustomModelObjectDetectionActivity.kt)
- Duplicated block (16 lines × 2) (android/langid/app/src/main/java/com/google/mlkit/samples/nl/languageid/kotlin/MainActivityKotlin.kt)
- Duplicated block (17 lines × 2) (android/vision-quickstart/app/src/main/java/com/google/mlkit/vision/demo/kotlin/posedetector/PoseDetectorProcessor.kt)
- Duplicated block (17 lines × 3) (android/vision-quickstart/app/src/main/java/com/google/mlkit/vision/demo/kotlin/CameraXLivePreviewActivity.kt)
- Duplicated block (19 lines × 2) (android/material-showcase/app/src/main/java/com/google/mlkit/md/CustomModelObjectDetectionActivity.kt)
- Duplicated block (19–21 lines × 2) (android/vision-quickstart/app/src/main/java/com/google/mlkit/vision/demo/kotlin/CameraXLivePreviewActivity.kt)
- Duplicated block (22 lines × 2) (android/material-showcase/app/src/main/java/com/google/mlkit/md/CustomModelObjectDetectionActivity.kt)
- Duplicated block (23 lines × 2) (android/material-showcase/app/src/main/java/com/google/mlkit/md/CustomModelObjectDetectionActivity.kt)
- Duplicated block (25 lines × 2) (android/genai/app/src/main/java/com/google/mlkit/genai/demo/kotlin/OpenPromptActivity.kt)
- Duplicated block (30 lines × 2) (android/material-showcase/app/src/main/java/com/google/mlkit/md/TaskExt.kt)
- …and 30 more
Architecture
- Containers 0 added · 0 removed · contexts 2 added · 0 removed · edges 0 added · 0 removed
Added bounded contexts (2)
- app
- chooserx
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
googlesamples/mlkit 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 25 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 f1047837fe1e02d58063bfc30b830fad23ffbc35 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-dd72cc24c749.