gitextract_e0cwqdyw/ ├── .github/ │ └── ISSUE_TEMPLATE/ │ ├── bug_report.md │ └── feature_request.md ├── .gitignore ├── LICENSE ├── README.md ├── android/ │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── android-snippets/ │ │ ├── README.md │ │ ├── app/ │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── google/ │ │ │ │ └── example/ │ │ │ │ └── mlkit/ │ │ │ │ ├── BarcodeScanningActivity.java │ │ │ │ ├── FaceDetectionActivity.java │ │ │ │ ├── ImageLabelingActivity.java │ │ │ │ ├── LanguageIdentificationActivity.java │ │ │ │ ├── MLKitVisionImage.java │ │ │ │ ├── MainActivity.java │ │ │ │ ├── ObjectDetectionActivity.java │ │ │ │ ├── TextRecognitionActivity.java │ │ │ │ └── kotlin/ │ │ │ │ ├── BarcodeScanningActivity.kt │ │ │ │ ├── FaceDetectionActivity.kt │ │ │ │ ├── ImageLabelingActivity.kt │ │ │ │ ├── LanguageIdentificationActivity.kt │ │ │ │ ├── MLKitVisionImage.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── ObjectDetectionActivity.kt │ │ │ │ └── TextRecognitionActivity.kt │ │ │ └── res/ │ │ │ ├── layout/ │ │ │ │ └── activity_main.xml │ │ │ ├── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── values-w820dp/ │ │ │ └── dimens.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ ├── automl/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── app/ │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── google/ │ │ │ │ └── mlkit/ │ │ │ │ └── vision/ │ │ │ │ └── automl/ │ │ │ │ └── demo/ │ │ │ │ ├── BitmapUtils.java │ │ │ │ ├── CameraImageGraphic.java │ │ │ │ ├── CameraSource.java │ │ │ │ ├── CameraSourcePreview.java │ │ │ │ ├── CameraXLivePreviewActivity.java │ │ │ │ ├── CameraXViewModel.java │ │ │ │ ├── ChooserActivity.java │ │ │ │ ├── FrameMetadata.java │ │ │ │ ├── GraphicOverlay.java │ │ │ │ ├── InferenceInfoGraphic.java │ │ │ │ ├── LivePreviewActivity.java │ │ │ │ ├── ScopedExecutor.java │ │ │ │ ├── StillImageActivity.java │ │ │ │ ├── VisionImageProcessor.java │ │ │ │ ├── VisionProcessorBase.java │ │ │ │ ├── automl/ │ │ │ │ │ ├── AutoMLImageLabelerProcessor.java │ │ │ │ │ └── LabelGraphic.java │ │ │ │ ├── object/ │ │ │ │ │ ├── ObjectDetectorProcessor.java │ │ │ │ │ └── ObjectGraphic.java │ │ │ │ └── preference/ │ │ │ │ ├── CameraXLivePreviewPreferenceFragment.java │ │ │ │ ├── LivePreviewPreferenceFragment.java │ │ │ │ ├── PreferenceUtils.java │ │ │ │ ├── SettingsActivity.java │ │ │ │ └── StillImagePreferenceFragment.java │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ └── logo_mlkit.xml │ │ │ ├── drawable-hdpi/ │ │ │ │ └── ic_switch_camera_white_48dp.xml │ │ │ ├── drawable-mdpi/ │ │ │ │ └── ic_switch_camera_white_48dp.xml │ │ │ ├── drawable-xhdpi/ │ │ │ │ └── ic_switch_camera_white_48dp.xml │ │ │ ├── drawable-xxhdpi/ │ │ │ │ └── ic_switch_camera_white_48dp.xml │ │ │ ├── drawable-xxxhdpi/ │ │ │ │ └── ic_switch_camera_white_48dp.xml │ │ │ ├── layout/ │ │ │ │ ├── activity_camerax_live_preview.xml │ │ │ │ ├── activity_chooser.xml │ │ │ │ ├── activity_live_preview.xml │ │ │ │ ├── activity_settings.xml │ │ │ │ ├── activity_still_image.xml │ │ │ │ ├── settings_style.xml │ │ │ │ ├── spinner_style.xml │ │ │ │ └── toggle_style.xml │ │ │ ├── layout-land/ │ │ │ │ ├── activity_camerax_live_preview.xml │ │ │ │ └── activity_live_preview.xml │ │ │ ├── menu/ │ │ │ │ └── camera_button_menu.xml │ │ │ ├── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── xml/ │ │ │ ├── preference_live_preview_automl.xml │ │ │ └── preference_still_image.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ ├── codescanner/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── app/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── google/ │ │ │ │ └── mlkit/ │ │ │ │ └── samples/ │ │ │ │ └── codescanner/ │ │ │ │ ├── EntryChoiceActivity.kt │ │ │ │ ├── java/ │ │ │ │ │ └── MainActivity.java │ │ │ │ └── kotlin/ │ │ │ │ └── MainActivity.kt │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ └── logo_mlkit.xml │ │ │ ├── layout/ │ │ │ │ └── activity_main.xml │ │ │ └── values/ │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ ├── digitalink/ │ │ ├── README.md │ │ ├── app/ │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── google/ │ │ │ │ └── mlkit/ │ │ │ │ └── samples/ │ │ │ │ └── vision/ │ │ │ │ └── digitalink/ │ │ │ │ └── recognition/ │ │ │ │ ├── DigitalInkMainActivity.java │ │ │ │ ├── DrawingView.java │ │ │ │ ├── ModelManager.java │ │ │ │ ├── RecognitionTask.java │ │ │ │ ├── StatusTextView.java │ │ │ │ ├── StrokeManager.java │ │ │ │ └── kotlin/ │ │ │ │ ├── DigitalInkMainActivity.kt │ │ │ │ ├── DrawingView.kt │ │ │ │ ├── ModelManager.kt │ │ │ │ ├── RecognitionTask.kt │ │ │ │ ├── StatusTextView.kt │ │ │ │ └── StrokeManager.kt │ │ │ └── res/ │ │ │ ├── layout/ │ │ │ │ ├── activity_digital_ink_main.xml │ │ │ │ └── activity_digital_ink_main_kotlin.xml │ │ │ └── values/ │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ ├── documentscanner/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── app/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── google/ │ │ │ │ └── mlkit/ │ │ │ │ └── samples/ │ │ │ │ └── documentscanner/ │ │ │ │ ├── EntryChoiceActivity.kt │ │ │ │ ├── java/ │ │ │ │ │ └── MainActivity.java │ │ │ │ └── kotlin/ │ │ │ │ └── MainActivity.kt │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ └── logo_mlkit.xml │ │ │ ├── layout/ │ │ │ │ └── activity_main.xml │ │ │ ├── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── xml/ │ │ │ └── file_paths.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ ├── entityextraction/ │ │ ├── README.md │ │ ├── app/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── google/ │ │ │ │ └── mlkit/ │ │ │ │ └── samples/ │ │ │ │ └── nl/ │ │ │ │ └── entityextraction/ │ │ │ │ ├── EntryChoiceActivity.kt │ │ │ │ ├── java/ │ │ │ │ │ ├── MainActivityJava.java │ │ │ │ │ └── ModelsActivityJava.java │ │ │ │ └── kotlin/ │ │ │ │ ├── MainActivityKotlin.kt │ │ │ │ └── ModelsActivityKotlin.kt │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ ├── ic_baseline_delete_gray_32.xml │ │ │ │ ├── ic_baseline_get_app_gray_32.xml │ │ │ │ ├── ic_baseline_get_app_white_32.xml │ │ │ │ └── logo_mlkit.xml │ │ │ ├── layout/ │ │ │ │ ├── activity_main.xml │ │ │ │ ├── activity_models.xml │ │ │ │ └── list_item.xml │ │ │ ├── menu/ │ │ │ │ └── menu_choose_model.xml │ │ │ └── values/ │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── build.gradle │ │ ├── gradle.properties │ │ └── settings.gradle │ ├── genai/ │ │ ├── README.md │ │ ├── app/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── google/ │ │ │ │ └── mlkit/ │ │ │ │ └── genai/ │ │ │ │ └── demo/ │ │ │ │ ├── ContentAdapter.kt │ │ │ │ ├── ContentItem.kt │ │ │ │ ├── EntryChoiceActivity.kt │ │ │ │ ├── GenerationConfigDialog.kt │ │ │ │ ├── GenerationConfigUtils.kt │ │ │ │ ├── java/ │ │ │ │ │ ├── BaseActivity.java │ │ │ │ │ ├── ImageDescriptionActivity.java │ │ │ │ │ ├── OpenPromptActivity.java │ │ │ │ │ ├── ProofreadingActivity.java │ │ │ │ │ ├── RewritingActivity.java │ │ │ │ │ ├── SummarizationActivity.java │ │ │ │ │ └── TextInputBaseActivity.java │ │ │ │ └── kotlin/ │ │ │ │ ├── BaseActivity.kt │ │ │ │ ├── ImageDescriptionActivity.kt │ │ │ │ ├── OpenPromptActivity.kt │ │ │ │ ├── ProofreadingActivity.kt │ │ │ │ ├── RewritingActivity.kt │ │ │ │ ├── SummarizationActivity.kt │ │ │ │ └── TextInputBaseActivity.kt │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ ├── edit_text_background_chat.xml │ │ │ │ ├── ic_add_photo.xml │ │ │ │ ├── ic_send.xml │ │ │ │ ├── list_item_background.xml │ │ │ │ ├── request_item_background.xml │ │ │ │ └── response_item_background.xml │ │ │ ├── layout/ │ │ │ │ ├── activity_entry_choice.xml │ │ │ │ ├── activity_image_description.xml │ │ │ │ ├── activity_openprompt.xml │ │ │ │ ├── activity_proofreading.xml │ │ │ │ ├── activity_rewrite.xml │ │ │ │ ├── activity_summarization.xml │ │ │ │ ├── dialog_generation_config.xml │ │ │ │ ├── entry_choice_item.xml │ │ │ │ ├── row_item_request_image.xml │ │ │ │ ├── row_item_request_text.xml │ │ │ │ ├── row_item_request_text_and_images.xml │ │ │ │ └── row_item_response.xml │ │ │ ├── menu/ │ │ │ │ └── menu_main.xml │ │ │ └── values/ │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ ├── build.gradle │ │ ├── gradle.properties │ │ └── settings.gradle │ ├── internal/ │ │ ├── chooserx/ │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── mlkit/ │ │ │ │ └── example/ │ │ │ │ └── internal/ │ │ │ │ ├── BaseEntryChoiceActivity.java │ │ │ │ ├── Choice.java │ │ │ │ └── ChoiceAdapter.java │ │ │ └── res/ │ │ │ └── layout/ │ │ │ ├── activity_entry_choice.xml │ │ │ └── item_choice.xml │ │ ├── lint/ │ │ │ ├── build.gradle │ │ │ ├── gradle/ │ │ │ │ └── wrapper/ │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ │ ├── gradlew │ │ │ ├── gradlew.bat │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── mlkit/ │ │ │ │ └── lint/ │ │ │ │ ├── HungarianNotationDetector.kt │ │ │ │ ├── InvalidImportDetector.kt │ │ │ │ └── QuickstartIssueRegistry.kt │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── mlkit/ │ │ │ └── lint/ │ │ │ └── InvalidImportDetectorTest.kt │ │ └── lintchecks/ │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── proguard-rules.pro │ │ └── src/ │ │ └── main/ │ │ └── AndroidManifest.xml │ ├── langid/ │ │ ├── README.md │ │ ├── app/ │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── google/ │ │ │ │ └── mlkit/ │ │ │ │ └── samples/ │ │ │ │ └── nl/ │ │ │ │ └── languageid/ │ │ │ │ ├── EntryChoiceActivity.kt │ │ │ │ ├── java/ │ │ │ │ │ └── MainActivityJava.java │ │ │ │ └── kotlin/ │ │ │ │ └── MainActivityKotlin.kt │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ └── logo_mlkit.xml │ │ │ ├── layout/ │ │ │ │ └── activity_main.xml │ │ │ └── values/ │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ ├── material-showcase/ │ │ ├── .editorconfig │ │ ├── README.md │ │ ├── app/ │ │ │ ├── assets/ │ │ │ │ └── custom_models/ │ │ │ │ └── bird_classifier.tflite │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── google/ │ │ │ │ └── mlkit/ │ │ │ │ └── md/ │ │ │ │ ├── CustomModelObjectDetectionActivity.kt │ │ │ │ ├── InputInfo.kt │ │ │ │ ├── LiveBarcodeScanningActivity.kt │ │ │ │ ├── LiveObjectDetectionActivity.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── ScopedExecutor.kt │ │ │ │ ├── StaticObjectDetectionActivity.kt │ │ │ │ ├── TaskExt.kt │ │ │ │ ├── Utils.kt │ │ │ │ ├── barcodedetection/ │ │ │ │ │ ├── BarcodeConfirmingGraphic.kt │ │ │ │ │ ├── BarcodeField.kt │ │ │ │ │ ├── BarcodeFieldAdapter.kt │ │ │ │ │ ├── BarcodeGraphicBase.kt │ │ │ │ │ ├── BarcodeLoadingGraphic.kt │ │ │ │ │ ├── BarcodeProcessor.kt │ │ │ │ │ ├── BarcodeResultFragment.kt │ │ │ │ │ └── BarcodeReticleGraphic.kt │ │ │ │ ├── camera/ │ │ │ │ │ ├── CameraReticleAnimator.kt │ │ │ │ │ ├── CameraSizePair.kt │ │ │ │ │ ├── CameraSource.kt │ │ │ │ │ ├── CameraSourcePreview.kt │ │ │ │ │ ├── FrameMetadata.kt │ │ │ │ │ ├── FrameProcessor.kt │ │ │ │ │ ├── FrameProcessorBase.kt │ │ │ │ │ ├── GraphicOverlay.kt │ │ │ │ │ └── WorkflowModel.kt │ │ │ │ ├── objectdetection/ │ │ │ │ │ ├── DetectedObjectInfo.kt │ │ │ │ │ ├── MultiObjectProcessor.kt │ │ │ │ │ ├── ObjectConfirmationController.kt │ │ │ │ │ ├── ObjectConfirmationGraphic.kt │ │ │ │ │ ├── ObjectDotAnimator.kt │ │ │ │ │ ├── ObjectDotGraphic.kt │ │ │ │ │ ├── ObjectGraphicInMultiMode.kt │ │ │ │ │ ├── ObjectGraphicInProminentMode.kt │ │ │ │ │ ├── ObjectReticleGraphic.kt │ │ │ │ │ ├── ProminentObjectProcessor.kt │ │ │ │ │ └── StaticObjectDotView.kt │ │ │ │ ├── productsearch/ │ │ │ │ │ ├── BottomSheetScrimView.kt │ │ │ │ │ ├── ImageDownloadTask.kt │ │ │ │ │ ├── PreviewCardAdapter.kt │ │ │ │ │ ├── Product.kt │ │ │ │ │ ├── ProductAdapter.kt │ │ │ │ │ ├── SearchEngine.kt │ │ │ │ │ └── SearchedObject.kt │ │ │ │ └── settings/ │ │ │ │ ├── PreferenceUtils.kt │ │ │ │ ├── SettingsActivity.kt │ │ │ │ └── SettingsFragment.kt │ │ │ └── res/ │ │ │ ├── animator/ │ │ │ │ ├── bottom_prompt_chip_enter.xml │ │ │ │ ├── search_button_enter.xml │ │ │ │ └── static_image_dot_enter.xml │ │ │ ├── drawable/ │ │ │ │ ├── barcode_field_box.xml │ │ │ │ ├── camera_flash.xml │ │ │ │ ├── ic_close_vd_white_24.xml │ │ │ │ ├── ic_flash_off_vd_white_24.xml │ │ │ │ ├── ic_flash_on_vd_white_24.xml │ │ │ │ ├── ic_image_search_vd_black_24.xml │ │ │ │ ├── ic_launcher_background.xml │ │ │ │ ├── ic_photo_library_vd_white_24.xml │ │ │ │ ├── ic_settings_vd_white_24.xml │ │ │ │ ├── logo_mlkit.xml │ │ │ │ └── top_action_bar_scrim.xml │ │ │ ├── layout/ │ │ │ │ ├── activity_live_barcode.xml │ │ │ │ ├── activity_live_object.xml │ │ │ │ ├── activity_main.xml │ │ │ │ ├── activity_settings.xml │ │ │ │ ├── activity_static_object.xml │ │ │ │ ├── barcode_bottom_sheet.xml │ │ │ │ ├── barcode_field.xml │ │ │ │ ├── camera_preview_overlay.xml │ │ │ │ ├── detection_mode_item.xml │ │ │ │ ├── product_bottom_sheet.xml │ │ │ │ ├── product_item.xml │ │ │ │ ├── products_preview_card.xml │ │ │ │ ├── top_action_bar_in_live_camera.xml │ │ │ │ └── top_action_bar_in_static_image.xml │ │ │ ├── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ ├── values-v21/ │ │ │ │ └── styles.xml │ │ │ └── xml/ │ │ │ └── preferences.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ ├── smartreply/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── app/ │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── google/ │ │ │ │ └── mlkit/ │ │ │ │ └── samples/ │ │ │ │ └── nl/ │ │ │ │ └── smartreply/ │ │ │ │ ├── EntryChoiceActivity.kt │ │ │ │ ├── java/ │ │ │ │ │ ├── MainActivityJava.java │ │ │ │ │ ├── chat/ │ │ │ │ │ │ ├── ChatFragment.java │ │ │ │ │ │ ├── ChatViewModel.java │ │ │ │ │ │ ├── MessageListAdapter.java │ │ │ │ │ │ └── ReplyChipAdapter.java │ │ │ │ │ └── model/ │ │ │ │ │ └── Message.java │ │ │ │ └── kotlin/ │ │ │ │ ├── MainActivityKotlin.kt │ │ │ │ ├── chat/ │ │ │ │ │ ├── ChatFragment.kt │ │ │ │ │ ├── ChatViewModel.kt │ │ │ │ │ ├── MessageListAdapter.kt │ │ │ │ │ └── ReplyChipAdapter.kt │ │ │ │ └── model/ │ │ │ │ └── Message.kt │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ ├── ic_camera_front_black_24dp.xml │ │ │ │ ├── ic_launcher_background.xml │ │ │ │ ├── ic_tag_faces_black_24dp.xml │ │ │ │ ├── logo_mlkit.xml │ │ │ │ ├── rounded_rectangle_blue.xml │ │ │ │ ├── rounded_rectangle_gray.xml │ │ │ │ └── rounded_rectangle_light_gray.xml │ │ │ ├── drawable-v24/ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── layout/ │ │ │ │ ├── chat_fragment.xml │ │ │ │ ├── item_message_local.xml │ │ │ │ ├── item_message_remote.xml │ │ │ │ ├── main_smartreply_activity.xml │ │ │ │ └── smart_reply_chip.xml │ │ │ ├── menu/ │ │ │ │ └── chat_fragment_actions.xml │ │ │ └── values/ │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ ├── speech/ │ │ ├── README.md │ │ ├── app/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── google/ │ │ │ │ └── mlkit/ │ │ │ │ └── genai/ │ │ │ │ └── speech/ │ │ │ │ └── demo/ │ │ │ │ └── SpeechRecognitionActivity.kt │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ ├── ic_launcher_background.xml │ │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── layout/ │ │ │ │ └── activity_speech_recognition.xml │ │ │ ├── mipmap-anydpi/ │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ └── values/ │ │ │ ├── arrays.xml │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ ├── build.gradle │ │ ├── gradle.properties │ │ └── settings.gradle │ ├── translate/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── app/ │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── google/ │ │ │ │ └── mlkit/ │ │ │ │ └── samples/ │ │ │ │ └── nl/ │ │ │ │ └── translate/ │ │ │ │ ├── EntryChoiceActivity.kt │ │ │ │ ├── java/ │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ ├── TranslateFragment.java │ │ │ │ │ └── TranslateViewModel.java │ │ │ │ └── kotlin/ │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── TranslateFragment.kt │ │ │ │ └── TranslateViewModel.kt │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ ├── ic_baseline_delete_24.xml │ │ │ │ ├── ic_baseline_translate_32.xml │ │ │ │ ├── ic_compare_arrows_black_24dp.xml │ │ │ │ ├── ic_file_download_white_24dp.xml │ │ │ │ └── logo_mlkit.xml │ │ │ ├── layout/ │ │ │ │ ├── activity_translate_main.xml │ │ │ │ └── translate_fragment.xml │ │ │ └── values/ │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ ├── translate-showcase/ │ │ ├── README.md │ │ ├── app/ │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── google/ │ │ │ │ └── mlkit/ │ │ │ │ └── showcase/ │ │ │ │ └── translate/ │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── analyzer/ │ │ │ │ │ └── TextAnalyzer.kt │ │ │ │ ├── main/ │ │ │ │ │ ├── MainFragment.kt │ │ │ │ │ └── MainViewModel.kt │ │ │ │ └── util/ │ │ │ │ ├── ImageUtils.kt │ │ │ │ ├── Language.kt │ │ │ │ ├── ResultOrError.kt │ │ │ │ ├── ScopedExecutor.kt │ │ │ │ └── SmoothedMutableLiveData.kt │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ └── logo_mlkit.xml │ │ │ ├── layout/ │ │ │ │ ├── main_fragment.xml │ │ │ │ └── main_translateshowcase_activity.xml │ │ │ └── values/ │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ └── vision-quickstart/ │ ├── LICENSE │ ├── README.md │ ├── app/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── assets/ │ │ │ ├── automl/ │ │ │ │ ├── dict.txt │ │ │ │ ├── manifest.json │ │ │ │ └── model.tflite │ │ │ ├── custom_models/ │ │ │ │ ├── bird_classifier.tflite │ │ │ │ └── object_labeler.tflite │ │ │ └── pose/ │ │ │ └── fitness_pose_samples.csv │ │ ├── java/ │ │ │ └── com/ │ │ │ └── google/ │ │ │ └── mlkit/ │ │ │ └── vision/ │ │ │ └── demo/ │ │ │ ├── BitmapUtils.java │ │ │ ├── CameraImageGraphic.java │ │ │ ├── CameraSource.java │ │ │ ├── CameraSourcePreview.java │ │ │ ├── CameraXViewModel.java │ │ │ ├── EntryChoiceActivity.kt │ │ │ ├── FrameMetadata.java │ │ │ ├── GraphicOverlay.java │ │ │ ├── InferenceInfoGraphic.java │ │ │ ├── ScopedExecutor.java │ │ │ ├── TemperatureMonitor.java │ │ │ ├── VisionImageProcessor.java │ │ │ ├── java/ │ │ │ │ ├── CameraXLivePreviewActivity.java │ │ │ │ ├── CameraXSourceDemoActivity.java │ │ │ │ ├── ChooserActivity.java │ │ │ │ ├── LivePreviewActivity.java │ │ │ │ ├── StillImageActivity.java │ │ │ │ ├── VisionProcessorBase.java │ │ │ │ ├── barcodescanner/ │ │ │ │ │ ├── BarcodeGraphic.java │ │ │ │ │ └── BarcodeScannerProcessor.java │ │ │ │ ├── facedetector/ │ │ │ │ │ ├── FaceDetectorProcessor.java │ │ │ │ │ └── FaceGraphic.java │ │ │ │ ├── facemeshdetector/ │ │ │ │ │ ├── FaceMeshDetectorProcessor.java │ │ │ │ │ └── FaceMeshGraphic.java │ │ │ │ ├── labeldetector/ │ │ │ │ │ ├── LabelDetectorProcessor.java │ │ │ │ │ └── LabelGraphic.java │ │ │ │ ├── objectdetector/ │ │ │ │ │ ├── ObjectDetectorProcessor.java │ │ │ │ │ └── ObjectGraphic.java │ │ │ │ ├── posedetector/ │ │ │ │ │ ├── PoseDetectorProcessor.java │ │ │ │ │ ├── PoseGraphic.java │ │ │ │ │ └── classification/ │ │ │ │ │ ├── ClassificationResult.java │ │ │ │ │ ├── EMASmoothing.java │ │ │ │ │ ├── PoseClassifier.java │ │ │ │ │ ├── PoseClassifierProcessor.java │ │ │ │ │ ├── PoseEmbedding.java │ │ │ │ │ ├── PoseSample.java │ │ │ │ │ ├── RepetitionCounter.java │ │ │ │ │ └── Utils.java │ │ │ │ ├── segmenter/ │ │ │ │ │ ├── SegmentationGraphic.java │ │ │ │ │ └── SegmenterProcessor.java │ │ │ │ ├── subjectsegmenter/ │ │ │ │ │ ├── SubjectSegmentationGraphic.java │ │ │ │ │ └── SubjectSegmenterProcessor.java │ │ │ │ └── textdetector/ │ │ │ │ ├── TextGraphic.java │ │ │ │ └── TextRecognitionProcessor.java │ │ │ ├── kotlin/ │ │ │ │ ├── CameraXLivePreviewActivity.kt │ │ │ │ ├── CameraXSourceDemoActivity.kt │ │ │ │ ├── ChooserActivity.kt │ │ │ │ ├── LivePreviewActivity.kt │ │ │ │ ├── StillImageActivity.kt │ │ │ │ ├── TaskExt.kt │ │ │ │ ├── VisionProcessorBase.kt │ │ │ │ ├── barcodescanner/ │ │ │ │ │ ├── BarcodeGraphic.kt │ │ │ │ │ └── BarcodeScannerProcessor.kt │ │ │ │ ├── facedetector/ │ │ │ │ │ ├── FaceDetectorProcessor.kt │ │ │ │ │ └── FaceGraphic.kt │ │ │ │ ├── facemeshdetector/ │ │ │ │ │ ├── FaceMeshDetectorProcessor.kt │ │ │ │ │ └── FaceMeshGraphic.kt │ │ │ │ ├── labeldetector/ │ │ │ │ │ ├── LabelDetectorProcessor.kt │ │ │ │ │ └── LabelGraphic.kt │ │ │ │ ├── objectdetector/ │ │ │ │ │ ├── ObjectDetectorProcessor.kt │ │ │ │ │ └── ObjectGraphic.kt │ │ │ │ ├── posedetector/ │ │ │ │ │ ├── PoseDetectorProcessor.kt │ │ │ │ │ └── PoseGraphic.kt │ │ │ │ ├── segmenter/ │ │ │ │ │ ├── SegmentationGraphic.kt │ │ │ │ │ └── SegmenterProcessor.kt │ │ │ │ ├── subjectsegmenter/ │ │ │ │ │ ├── SubjectSegmentationGraphic.kt │ │ │ │ │ └── SubjectSegmenterProcessor.kt │ │ │ │ └── textdetector/ │ │ │ │ ├── TextGraphic.kt │ │ │ │ └── TextRecognitionProcessor.kt │ │ │ └── preference/ │ │ │ ├── CameraXLivePreviewPreferenceFragment.java │ │ │ ├── CameraXSourceDemoPreferenceFragment.java │ │ │ ├── LivePreviewPreferenceFragment.java │ │ │ ├── PreferenceUtils.java │ │ │ ├── SettingsActivity.java │ │ │ └── StillImagePreferenceFragment.java │ │ └── res/ │ │ ├── drawable/ │ │ │ ├── list_item_background.xml │ │ │ └── logo_mlkit.xml │ │ ├── drawable-hdpi/ │ │ │ └── ic_switch_camera_white_48dp.xml │ │ ├── drawable-mdpi/ │ │ │ └── ic_switch_camera_white_48dp.xml │ │ ├── drawable-xhdpi/ │ │ │ └── ic_switch_camera_white_48dp.xml │ │ ├── drawable-xxhdpi/ │ │ │ └── ic_switch_camera_white_48dp.xml │ │ ├── drawable-xxxhdpi/ │ │ │ └── ic_switch_camera_white_48dp.xml │ │ ├── layout/ │ │ │ ├── activity_chooser.xml │ │ │ ├── activity_settings.xml │ │ │ ├── activity_still_image.xml │ │ │ ├── activity_vision_camerax_live_preview.xml │ │ │ ├── activity_vision_cameraxsource_demo.xml │ │ │ ├── activity_vision_entry_choice.xml │ │ │ ├── activity_vision_live_preview.xml │ │ │ ├── settings_style.xml │ │ │ ├── spinner_style.xml │ │ │ └── toggle_style.xml │ │ ├── layout-land/ │ │ │ ├── activity_vision_camerax_live_preview.xml │ │ │ ├── activity_vision_cameraxsource_demo.xml │ │ │ └── activity_vision_live_preview.xml │ │ ├── menu/ │ │ │ └── camera_button_menu.xml │ │ ├── values/ │ │ │ ├── arrays.xml │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── xml/ │ │ ├── preference_live_preview_quickstart.xml │ │ └── preference_still_image.xml │ ├── build.gradle │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradle.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── ios/ │ ├── ios-snippets/ │ │ ├── Podfile │ │ ├── mlkit-snippets.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace/ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata/ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata/ │ │ │ └── dfurlong.xcuserdatad/ │ │ │ └── xcschemes/ │ │ │ └── xcschememanagement.plist │ │ ├── mlkit-snippets.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata/ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata/ │ │ │ └── dfurlong.xcuserdatad/ │ │ │ └── xcdebugger/ │ │ │ └── Breakpoints_v2.xcbkptlist │ │ ├── objc-snippets/ │ │ │ ├── AppDelegate.h │ │ │ ├── AppDelegate.m │ │ │ ├── Assets.xcassets/ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ ├── AutoMLVision.m │ │ │ ├── Base.lproj/ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ └── Main.storyboard │ │ │ ├── ImagePreparation.m │ │ │ ├── Info.plist │ │ │ ├── ModelManagement.m │ │ │ ├── ViewController.h │ │ │ ├── ViewController.m │ │ │ └── main.m │ │ └── swift-snippets/ │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets/ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── AutoMLVision.swift │ │ ├── Base.lproj/ │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── ImagePreparation.swift │ │ ├── Info.plist │ │ ├── ModelManagement.swift │ │ └── ViewController.swift │ ├── quickstarts/ │ │ ├── automl/ │ │ │ ├── Assets.xcassets/ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── Contents.json │ │ │ │ ├── cloud_download.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── delete.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── photo_camera.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── photo_library.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── switch_camera.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── video_camera.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── AutoMLExample/ │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Base.lproj/ │ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ │ └── Main.storyboard │ │ │ │ ├── CameraViewController.swift │ │ │ │ ├── Info.plist │ │ │ │ ├── MLKitExtensions.swift │ │ │ │ ├── UIUtilities.swift │ │ │ │ └── ViewController.swift │ │ │ ├── AutoMLExample.xcodeproj/ │ │ │ │ └── project.pbxproj │ │ │ ├── AutoMLExampleObjC/ │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── AppDelegate.m │ │ │ │ ├── CameraViewController.h │ │ │ │ ├── CameraViewController.m │ │ │ │ ├── UIImage+VisionDetection.h │ │ │ │ ├── UIImage+VisionDetection.m │ │ │ │ ├── UIUtilities.h │ │ │ │ ├── UIUtilities.m │ │ │ │ ├── ViewController.h │ │ │ │ ├── ViewController.m │ │ │ │ └── main.m │ │ │ ├── Podfile │ │ │ ├── README.md │ │ │ └── Resources/ │ │ │ ├── automl_labeler_labels.txt │ │ │ ├── automl_labeler_manifest.json │ │ │ └── automl_labeler_model.tflite │ │ ├── digitalinkrecognition/ │ │ │ ├── DigitalInkRecognitionExample/ │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Info.plist │ │ │ │ ├── RecognizedInk.swift │ │ │ │ ├── SceneDelegate.swift │ │ │ │ ├── StrokeManager.swift │ │ │ │ └── ViewController.swift │ │ │ ├── DigitalInkRecognitionExample.xcodeproj/ │ │ │ │ └── project.pbxproj │ │ │ ├── DigitalInkRecognitionExampleObjC/ │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── AppDelegate.m │ │ │ │ ├── Assets.xcassets/ │ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ └── Contents.json │ │ │ │ ├── Base.lproj/ │ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ │ └── Main.storyboard │ │ │ │ ├── RecognizedInk.h │ │ │ │ ├── RecognizedInk.m │ │ │ │ ├── SceneDelegate.h │ │ │ │ ├── SceneDelegate.m │ │ │ │ ├── StrokeManager.h │ │ │ │ ├── StrokeManager.m │ │ │ │ ├── ViewController.h │ │ │ │ ├── ViewController.m │ │ │ │ └── main.m │ │ │ ├── Podfile │ │ │ └── README.md │ │ ├── entityextraction/ │ │ │ ├── Assets.xcassets/ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── cloud_download_24pt.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── delete_24pt.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── EntityExtractionExample/ │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Base.lproj/ │ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ │ └── Main.storyboard │ │ │ │ ├── EntityExtractionModelIdentifierExtensions.swift │ │ │ │ ├── EntityViewController.swift │ │ │ │ ├── Info.plist │ │ │ │ └── ModelManagementViewController.swift │ │ │ ├── EntityExtractionExample.xcodeproj/ │ │ │ │ └── project.pbxproj │ │ │ ├── EntityExtractionExampleObjC/ │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── AppDelegate.m │ │ │ │ ├── EntityViewController.h │ │ │ │ ├── EntityViewController.m │ │ │ │ ├── MLKEntityExtractionModelIdentifier+Extensions.h │ │ │ │ ├── MLKEntityExtractionModelIdentifier+Extensions.m │ │ │ │ ├── ModelManagementViewController.h │ │ │ │ ├── ModelManagementViewController.m │ │ │ │ └── main.m │ │ │ ├── Podfile │ │ │ └── README.md │ │ ├── languageid/ │ │ │ ├── LanguageIDExample/ │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Assets.xcassets/ │ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ └── Contents.json │ │ │ │ ├── Base.lproj/ │ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ │ └── Main.storyboard │ │ │ │ ├── Info.plist │ │ │ │ └── ViewController.swift │ │ │ ├── LanguageIDExample.xcodeproj/ │ │ │ │ └── project.pbxproj │ │ │ ├── LanguageIDExampleObjC/ │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── AppDelegate.m │ │ │ │ ├── ViewController.h │ │ │ │ ├── ViewController.m │ │ │ │ └── main.m │ │ │ ├── Podfile │ │ │ └── README.md │ │ ├── smartreply/ │ │ │ ├── Podfile │ │ │ ├── README.md │ │ │ ├── SmartReplyExample/ │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── DateExtension.swift │ │ │ │ ├── MainViewController.swift │ │ │ │ └── UITextViewPlaceholder.swift │ │ │ ├── SmartReplyExample.xcodeproj/ │ │ │ │ └── project.pbxproj │ │ │ └── SmartReplyExampleObjC/ │ │ │ ├── AppDelegate.h │ │ │ ├── AppDelegate.m │ │ │ ├── Assets.xcassets/ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── LaunchImage.launchimage/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ic_account_circle_36pt.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ic_more_vert_white.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── ic_send.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── Base.lproj/ │ │ │ │ └── Main.storyboard │ │ │ ├── Info.plist │ │ │ ├── LaunchScreen.xib │ │ │ ├── MainViewController.h │ │ │ ├── MainViewController.m │ │ │ ├── NSDate+Format.h │ │ │ ├── NSDate+Format.m │ │ │ ├── UITextView+Placeholder.h │ │ │ ├── UITextView+Placeholder.m │ │ │ └── main.m │ │ ├── translate/ │ │ │ ├── Podfile │ │ │ ├── README.md │ │ │ ├── TranslateExample/ │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Assets.xcassets/ │ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── Contents.json │ │ │ │ │ └── baseline_swap_horiz_black_48pt.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── Base.lproj/ │ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ │ └── Main.storyboard │ │ │ │ ├── Info.plist │ │ │ │ └── ViewController.swift │ │ │ ├── TranslateExample.xcodeproj/ │ │ │ │ └── project.pbxproj │ │ │ └── TranslateExampleObjC/ │ │ │ ├── AppDelegate.h │ │ │ ├── AppDelegate.m │ │ │ ├── ViewController.h │ │ │ ├── ViewController.m │ │ │ └── main.m │ │ └── vision/ │ │ ├── Assets.xcassets/ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── Contents.json │ │ │ ├── photo_camera.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── photo_library.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── switch_camera.imageset/ │ │ │ │ └── Contents.json │ │ │ └── video_camera.imageset/ │ │ │ └── Contents.json │ │ ├── Podfile │ │ ├── README.md │ │ ├── Resources/ │ │ │ └── bird.tflite │ │ ├── VisionExample/ │ │ │ ├── AppDelegate.swift │ │ │ ├── Base.lproj/ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ └── Main.storyboard │ │ │ ├── CameraViewController.swift │ │ │ ├── Info.plist │ │ │ ├── MLKitExtensions.swift │ │ │ ├── UIUtilities.swift │ │ │ └── ViewController.swift │ │ ├── VisionExample.xcodeproj/ │ │ │ └── project.pbxproj │ │ └── VisionExampleObjC/ │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── CameraViewController.h │ │ ├── CameraViewController.m │ │ ├── UIImage+VisionDetection.h │ │ ├── UIImage+VisionDetection.m │ │ ├── UIUtilities.h │ │ ├── UIUtilities.m │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m │ └── showcase/ │ ├── translate-showcase/ │ │ ├── Assets.xcassets/ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── Contents.json │ │ │ ├── Image.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── baseline_check_black_24pt.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_arrow_back.imageset/ │ │ │ │ └── Contents.json │ │ │ └── ic_close.imageset/ │ │ │ └── Contents.json │ │ ├── Podfile │ │ ├── README.md │ │ ├── TranslateDemo/ │ │ │ ├── AppDelegate.swift │ │ │ ├── Base.lproj/ │ │ │ │ └── Main.storyboard │ │ │ ├── CVPixelBuffer+Helpers.swift │ │ │ ├── CameraOverlayview.swift │ │ │ ├── CameraViewController.swift │ │ │ ├── Info.plist │ │ │ ├── MLKitExtensions.swift │ │ │ ├── SearchViewController.swift │ │ │ ├── TranslateLanguage+Helpers.swift │ │ │ └── UIUtilities.swift │ │ ├── TranslateDemo.xcodeproj/ │ │ │ └── project.pbxproj │ │ └── TranslateDemoTests/ │ │ ├── Info.plist │ │ └── TranslateDemoTests.swift │ └── vision-showcase/ │ ├── Podfile │ ├── README.md │ ├── ShowcaseApp/ │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj/ │ │ │ └── LaunchScreen.xib │ │ ├── Common/ │ │ │ ├── MLKImageUtilities.h │ │ │ ├── MLKImageUtilities.m │ │ │ ├── MLKUIUtilities.h │ │ │ ├── MLKUIUtilities.m │ │ │ ├── UIImage+MLKShowcase.h │ │ │ └── UIImage+MLKShowcase.m │ │ ├── Controllers/ │ │ │ ├── MLKLiveObjectDetectionViewController.h │ │ │ ├── MLKLiveObjectDetectionViewController.m │ │ │ ├── MLKResultListViewController.h │ │ │ ├── MLKResultListViewController.m │ │ │ ├── MLKStartPageViewController.h │ │ │ └── MLKStartPageViewController.m │ │ ├── Images.xcassets/ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ └── ic_arrow_back_ios.imageset/ │ │ │ └── Contents.json │ │ ├── Info.plist │ │ ├── Models/ │ │ │ ├── MLKODTStatus.h │ │ │ ├── MLKProductSearchRequest.h │ │ │ ├── MLKProductSearchRequest.m │ │ │ ├── MLKResult.h │ │ │ └── MLKResult.m │ │ ├── Views/ │ │ │ ├── MLKCameraReticle.h │ │ │ ├── MLKCameraReticle.m │ │ │ ├── MLKConfirmationSpinner.h │ │ │ ├── MLKConfirmationSpinner.m │ │ │ ├── MLKDetectionOverlayView.h │ │ │ ├── MLKDetectionOverlayView.m │ │ │ ├── MLKResultCell.h │ │ │ ├── MLKResultCell.m │ │ │ ├── MLKResultListHeaderView.h │ │ │ ├── MLKResultListHeaderView.m │ │ │ ├── MLKStartPageCell.h │ │ │ ├── MLKStartPageCell.m │ │ │ ├── MLKStartPageHeaderView.h │ │ │ └── MLKStartPageHeaderView.m │ │ ├── bird.tflite │ │ └── main.m │ └── ShowcaseApp.xcodeproj/ │ └── project.pbxproj └── tutorials/ ├── README.md └── mlkit_image_labeling_model_maker.ipynb