├── .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 │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.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-hdpi │ │ │ ├── ic_settings_white_24dp.png │ │ │ ├── ic_switch_camera_white_48dp.xml │ │ │ └── ic_switch_camera_white_48dp_inset.png │ │ │ ├── drawable-mdpi │ │ │ ├── ic_settings_white_24dp.png │ │ │ ├── ic_switch_camera_white_48dp.xml │ │ │ └── ic_switch_camera_white_48dp_inset.png │ │ │ ├── drawable-xhdpi │ │ │ ├── ic_settings_white_24dp.png │ │ │ ├── ic_switch_camera_white_48dp.xml │ │ │ └── ic_switch_camera_white_48dp_inset.png │ │ │ ├── drawable-xxhdpi │ │ │ ├── ic_settings_white_24dp.png │ │ │ ├── ic_switch_camera_white_48dp.xml │ │ │ └── ic_switch_camera_white_48dp_inset.png │ │ │ ├── drawable-xxxhdpi │ │ │ ├── ic_settings_white_24dp.png │ │ │ ├── ic_switch_camera_white_48dp.xml │ │ │ └── ic_switch_camera_white_48dp_inset.png │ │ │ ├── drawable │ │ │ └── logo_mlkit.xml │ │ │ ├── layout-land │ │ │ ├── activity_camerax_live_preview.xml │ │ │ └── activity_live_preview.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 │ │ │ ├── menu │ │ │ └── camera_button_menu.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ │ └── xml │ │ │ ├── preference_live_preview_automl.xml │ │ │ └── preference_still_image.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.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.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── digitalink │ ├── LICENSE │ ├── README.md │ ├── app │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── google │ │ │ │ └── mlkit │ │ │ │ └── samples │ │ │ │ └── vision │ │ │ │ └── digitalink │ │ │ │ ├── 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 │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.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.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.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 │ ├── LICENSE │ ├── README.md │ ├── app │ │ ├── build.gradle │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── google │ │ │ │ └── mlkit │ │ │ │ └── genai │ │ │ │ └── demo │ │ │ │ ├── ContentAdapter.kt │ │ │ │ ├── EntryChoiceActivity.kt │ │ │ │ ├── java │ │ │ │ ├── ImageDescriptionActivity.java │ │ │ │ ├── ProofreadingActivity.java │ │ │ │ ├── RewritingActivity.java │ │ │ │ ├── SummarizationActivity.java │ │ │ │ └── TextInputBasedActivity.java │ │ │ │ └── kotlin │ │ │ │ ├── ImageDescriptionActivity.kt │ │ │ │ ├── ProofreadingActivity.kt │ │ │ │ ├── RewritingActivity.kt │ │ │ │ ├── SummarizationActivity.kt │ │ │ │ └── TextInputBasedActivity.kt │ │ │ └── res │ │ │ ├── drawable │ │ │ ├── list_item_background.xml │ │ │ ├── request_item_background.xml │ │ │ └── response_item_background.xml │ │ │ ├── layout │ │ │ ├── activity_entry_choice.xml │ │ │ ├── activity_image_description.xml │ │ │ ├── activity_proofreading.xml │ │ │ ├── activity_rewrite.xml │ │ │ ├── activity_summarization.xml │ │ │ ├── entry_choice_item.xml │ │ │ ├── row_item_request_image.xml │ │ │ ├── row_item_request_text.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 │ ├── internal.iml │ ├── 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 │ └── quickstart-android-internal.iml ├── 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 │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.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_google_cloud.png │ │ │ ├── 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-v21 │ │ │ └── styles.xml │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ │ └── xml │ │ │ └── preferences.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── screenshots │ │ ├── live_barcode.gif │ │ ├── live_odt.gif │ │ └── static_odt.gif │ └── settings.gradle ├── screenshots │ ├── automl-quickstart.png │ ├── langid-quickstart.png │ ├── quickstart-image-labeling.png │ ├── quickstart-object-detection.png │ ├── quickstart-picker.png │ ├── quickstart-pose-detection.png │ └── translate-quickstart.png ├── 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-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── 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 │ │ │ ├── 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.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.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 │ │ │ ├── greyscale_regular_3x.png │ │ │ └── logo_mlkit.xml │ │ │ ├── font │ │ │ └── pt_sans.ttf │ │ │ ├── layout │ │ │ ├── main_fragment.xml │ │ │ └── main_translateshowcase_activity.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── demo.gif │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── 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.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.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-hdpi │ │ ├── ic_settings_white_24dp.png │ │ ├── ic_switch_camera_white_48dp.xml │ │ └── ic_switch_camera_white_48dp_inset.png │ │ ├── drawable-mdpi │ │ ├── ic_settings_white_24dp.png │ │ ├── ic_switch_camera_white_48dp.xml │ │ └── ic_switch_camera_white_48dp_inset.png │ │ ├── drawable-xhdpi │ │ ├── ic_settings_white_24dp.png │ │ ├── ic_switch_camera_white_48dp.xml │ │ └── ic_switch_camera_white_48dp_inset.png │ │ ├── drawable-xxhdpi │ │ ├── ic_settings_white_24dp.png │ │ ├── ic_switch_camera_white_48dp.xml │ │ └── ic_switch_camera_white_48dp_inset.png │ │ ├── drawable-xxxhdpi │ │ ├── ic_settings_white_24dp.png │ │ ├── ic_switch_camera_white_48dp.xml │ │ └── ic_switch_camera_white_48dp_inset.png │ │ ├── drawable │ │ ├── list_item_background.xml │ │ └── logo_mlkit.xml │ │ ├── layout-land │ │ ├── activity_vision_camerax_live_preview.xml │ │ ├── activity_vision_cameraxsource_demo.xml │ │ └── activity_vision_live_preview.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 │ │ ├── menu │ │ └── camera_button_menu.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── values │ │ ├── arrays.xml │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ │ └── xml │ │ ├── preference_live_preview_quickstart.xml │ │ └── preference_still_image.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.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 │ │ │ │ ├── cloud_download_2x.png │ │ │ │ └── cloud_download_3x.png │ │ │ ├── delete.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── baseline_delete_black_36pt_1x.png │ │ │ │ ├── baseline_delete_black_36pt_2x.png │ │ │ │ └── baseline_delete_black_36pt_3x.png │ │ │ ├── photo_camera.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── photo_camera_2x.png │ │ │ │ └── photo_camera_3x.png │ │ │ ├── photo_library.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── photo_library_2x.png │ │ │ │ └── photo_library_3x.png │ │ │ ├── switch_camera.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── switch_camera_2x.png │ │ │ │ └── switch_camera_3x.png │ │ │ └── video_camera.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── video_camera_2x.png │ │ │ │ └── video_camera_3x.png │ │ ├── AutoMLExample.xcodeproj │ │ │ └── project.pbxproj │ │ ├── AutoMLExample │ │ │ ├── AppDelegate.swift │ │ │ ├── Base.lproj │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ └── Main.storyboard │ │ │ ├── CameraViewController.swift │ │ │ ├── Info.plist │ │ │ ├── MLKitExtensions.swift │ │ │ ├── UIUtilities.swift │ │ │ └── ViewController.swift │ │ ├── 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 │ │ │ ├── daisy.jpeg │ │ │ ├── dandelion.jpg │ │ │ ├── roses.jpeg │ │ │ ├── sunflower.jpg │ │ │ └── tulips.jpeg │ ├── digitalinkrecognition │ │ ├── DigitalInkRecognitionExample.xcodeproj │ │ │ └── project.pbxproj │ │ ├── DigitalInkRecognitionExample │ │ │ ├── AppDelegate.swift │ │ │ ├── Info.plist │ │ │ ├── RecognizedInk.swift │ │ │ ├── SceneDelegate.swift │ │ │ ├── StrokeManager.swift │ │ │ └── ViewController.swift │ │ ├── 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 │ │ │ │ ├── cloud_download_24pt_1x.png │ │ │ │ ├── cloud_download_24pt_2x.png │ │ │ │ └── cloud_download_24pt_3x.png │ │ │ └── delete_24pt.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── delete_24pt_1x.png │ │ │ │ ├── delete_24pt_2x.png │ │ │ │ └── delete_24pt_3x.png │ │ ├── EntityExtractionExample.xcodeproj │ │ │ └── project.pbxproj │ │ ├── EntityExtractionExample │ │ │ ├── AppDelegate.swift │ │ │ ├── Base.lproj │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ └── Main.storyboard │ │ │ ├── EntityExtractionModelIdentifierExtensions.swift │ │ │ ├── EntityViewController.swift │ │ │ ├── Info.plist │ │ │ └── ModelManagementViewController.swift │ │ ├── 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.xcodeproj │ │ │ └── project.pbxproj │ │ ├── LanguageIDExample │ │ │ ├── AppDelegate.swift │ │ │ ├── Assets.xcassets │ │ │ │ ├── AppIcon.appiconset │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ ├── Base.lproj │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ └── Main.storyboard │ │ │ ├── Info.plist │ │ │ └── ViewController.swift │ │ ├── LanguageIDExampleObjC │ │ │ ├── AppDelegate.h │ │ │ ├── AppDelegate.m │ │ │ ├── ViewController.h │ │ │ ├── ViewController.m │ │ │ └── main.m │ │ ├── Podfile │ │ └── README.md │ ├── smartreply │ │ ├── Podfile │ │ ├── README.md │ │ ├── SmartReplyExample.xcodeproj │ │ │ └── project.pbxproj │ │ ├── SmartReplyExample │ │ │ ├── AppDelegate.swift │ │ │ ├── DateExtension.swift │ │ │ ├── MainViewController.swift │ │ │ └── UITextViewPlaceholder.swift │ │ └── SmartReplyExampleObjC │ │ │ ├── AppDelegate.h │ │ │ ├── AppDelegate.m │ │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ ├── LaunchImage.launchimage │ │ │ │ └── Contents.json │ │ │ ├── ic_account_circle_36pt.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── ic_account_circle_36pt.png │ │ │ │ ├── ic_account_circle_36pt_2x.png │ │ │ │ └── ic_account_circle_36pt_3x.png │ │ │ ├── ic_more_vert_white.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── ic_more_vert_white.png │ │ │ │ ├── ic_more_vert_white_2x.png │ │ │ │ └── ic_more_vert_white_3x.png │ │ │ └── ic_send.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── ic_send.png │ │ │ │ ├── ic_send_2x.png │ │ │ │ └── ic_send_3x.png │ │ │ ├── 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.xcodeproj │ │ │ └── project.pbxproj │ │ ├── TranslateExample │ │ │ ├── AppDelegate.swift │ │ │ ├── Assets.xcassets │ │ │ │ ├── AppIcon.appiconset │ │ │ │ │ └── Contents.json │ │ │ │ ├── Contents.json │ │ │ │ └── baseline_swap_horiz_black_48pt.imageset │ │ │ │ │ ├── Contents.json │ │ │ │ │ ├── baseline_swap_horiz_black_48pt_1x.png │ │ │ │ │ ├── baseline_swap_horiz_black_48pt_2x.png │ │ │ │ │ └── baseline_swap_horiz_black_48pt_3x.png │ │ │ ├── Base.lproj │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ └── Main.storyboard │ │ │ ├── Info.plist │ │ │ └── ViewController.swift │ │ └── 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_camera_2x.png │ │ │ └── photo_camera_3x.png │ │ ├── photo_library.imageset │ │ │ ├── Contents.json │ │ │ ├── photo_library_2x.png │ │ │ └── photo_library_3x.png │ │ ├── switch_camera.imageset │ │ │ ├── Contents.json │ │ │ ├── switch_camera_2x.png │ │ │ └── switch_camera_3x.png │ │ └── video_camera.imageset │ │ │ ├── Contents.json │ │ │ ├── video_camera_2x.png │ │ │ └── video_camera_3x.png │ │ ├── Podfile │ │ ├── README.md │ │ ├── Resources │ │ ├── barcode_128.png │ │ ├── beach.jpg │ │ ├── bird.jpg │ │ ├── bird.tflite │ │ ├── chinese.png │ │ ├── chinese_sparse.png │ │ ├── devanagari.png │ │ ├── devanagari_sparse.png │ │ ├── grace_hopper.jpg │ │ ├── image_has_text.jpg │ │ ├── japanese.png │ │ ├── japanese_sparse.png │ │ ├── korean.png │ │ ├── korean_sparse.png │ │ ├── liberty.jpg │ │ └── qr_code.jpg │ │ ├── VisionExample.xcodeproj │ │ └── project.pbxproj │ │ ├── VisionExample │ │ ├── AppDelegate.swift │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── CameraViewController.swift │ │ ├── Info.plist │ │ ├── MLKitExtensions.swift │ │ ├── UIUtilities.swift │ │ └── ViewController.swift │ │ ├── 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 │ │ └── liberty.jpg ├── screenshots │ ├── auto_ml_1.jpeg │ ├── auto_ml_2.jpeg │ ├── langid.jpg │ ├── smart_reply.jpg │ ├── translate.jpg │ ├── vision_quickstart_1.jpg │ ├── vision_quickstart_2.jpg │ └── vision_quickstart_3.jpg └── showcase │ ├── translate-showcase │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Contents.json │ │ ├── Image.imageset │ │ │ ├── Contents.json │ │ │ ├── greyscale-regular.png │ │ │ ├── greyscale-regular@2x.png │ │ │ └── greyscale-regular@3x.png │ │ ├── baseline_check_black_24pt.imageset │ │ │ ├── Contents.json │ │ │ ├── baseline_check_black_24pt_1x.png │ │ │ ├── baseline_check_black_24pt_2x.png │ │ │ └── baseline_check_black_24pt_3x.png │ │ ├── ic_arrow_back.imageset │ │ │ ├── Contents.json │ │ │ ├── ic_arrow_back.png │ │ │ ├── ic_arrow_back_2x.png │ │ │ └── ic_arrow_back_3x.png │ │ └── ic_close.imageset │ │ │ ├── Contents.json │ │ │ ├── ic_close.png │ │ │ ├── ic_close_2x.png │ │ │ └── ic_close_3x.png │ ├── Podfile │ ├── README.md │ ├── TranslateDemo.xcodeproj │ │ └── project.pbxproj │ ├── 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 │ ├── TranslateDemoTests │ │ ├── Info.plist │ │ └── TranslateDemoTests.swift │ └── translate.gif │ └── vision-showcase │ ├── Podfile │ ├── README.md │ ├── ShowcaseApp.xcodeproj │ └── project.pbxproj │ ├── 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 │ │ │ ├── icon_120.png │ │ │ └── logo_180.png │ │ └── ic_arrow_back_ios.imageset │ │ │ ├── Contents.json │ │ │ ├── ic_arrow_back_ios.png │ │ │ ├── ic_arrow_back_ios_2x.png │ │ │ └── ic_arrow_back_ios_3x.png │ ├── 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 │ └── screenshots │ └── live_odt.gif └── tutorials ├── README.md └── mlkit_image_labeling_model_maker.ipynb /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: "[Feature request] Title for the request" 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **What's your feature request? Please describe.** 11 | A clear and concise description of what the request is. Ex. I would like to have X language support in text recognition[...] 12 | 13 | **Mobile environment** 14 | Android, IOS or both 15 | 16 | **Additional context** 17 | Add any other context or screenshots about the feature request here. 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.DS_Store 2 | *.idea 3 | *.iml 4 | .gradle 5 | local.properties 6 | 7 | .project 8 | .settings 9 | .classpath 10 | 11 | **/Pods/ 12 | **/*.xcuserstate 13 | ios-snippets/Podfile.lock 14 | ios-snippets/mlkit-snippets.xcworkspace/xcuserdata/dfurlong.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MLKit Samples 2 | 3 | A collection of quickstart samples demonstrating the [ML Kit](https://developers.google.com/ml-kit) APIs on Android and iOS. 4 | 5 | Note: due to how this repo works, we no longer accept pull requests directly. Instead, we'll patch them internally and then sync them out. 6 | -------------------------------------------------------------------------------- /android/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | build/ 3 | .DS_Store 4 | *.iml 5 | *.apk 6 | *.aar 7 | *.zip 8 | google-services.json 9 | 10 | .project 11 | .settings 12 | .classpath 13 | 14 | local.properties 15 | 16 | .idea/* 17 | !idea/codeStyles 18 | 19 | captures 20 | .externalNativeBuild 21 | .cxx 22 | 23 | -------------------------------------------------------------------------------- /android/README.md: -------------------------------------------------------------------------------- 1 | # MLKit Android Samples 2 | 3 | A collection of quickstart samples demonstrating the MLKit APIs on Android. 4 | 5 | [See a full list of Quickstart apps here.](https://developers.google.com/ml-kit/samples) 6 | 7 | ## Introduction 8 | [Read more about ML Kit](https://developers.google.com/ml-kit) 9 | -------------------------------------------------------------------------------- /android/android-snippets/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/ianbarber/Library/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /android/android-snippets/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 11 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /android/android-snippets/app/src/main/java/com/google/example/mlkit/MainActivity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Google LLC. All rights reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.google.example.mlkit; 18 | 19 | import androidx.appcompat.app.AppCompatActivity; 20 | 21 | public class MainActivity extends AppCompatActivity { 22 | 23 | } 24 | -------------------------------------------------------------------------------- /android/android-snippets/app/src/main/java/com/google/example/mlkit/kotlin/MainActivity.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Google LLC. All rights reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.google.example.mlkit.kotlin 18 | 19 | import androidx.appcompat.app.AppCompatActivity 20 | 21 | class MainActivity : AppCompatActivity() 22 | -------------------------------------------------------------------------------- /android/android-snippets/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 | 18 | 19 | -------------------------------------------------------------------------------- /android/android-snippets/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/android-snippets/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/android-snippets/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/android-snippets/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/android-snippets/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/android-snippets/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/android-snippets/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/android-snippets/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/android-snippets/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/android-snippets/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/android-snippets/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /android/android-snippets/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /android/android-snippets/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /android/android-snippets/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | MLKit Code Snippets 3 | 4 | -------------------------------------------------------------------------------- /android/android-snippets/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/android-snippets/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | ext.kotlin_version = '1.4.31' 5 | repositories { 6 | mavenLocal() 7 | google() 8 | jcenter() 9 | } 10 | dependencies { 11 | classpath 'com.android.tools.build:gradle:7.2.1' 12 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 13 | } 14 | } 15 | 16 | allprojects { 17 | repositories { 18 | google() 19 | mavenLocal() 20 | jcenter() 21 | } 22 | } 23 | 24 | task clean(type: Delete) { 25 | delete rootProject.buildDir 26 | } 27 | -------------------------------------------------------------------------------- /android/android-snippets/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | android.enableJetifier=true 13 | android.useAndroidX=true 14 | org.gradle.jvmargs=-Xmx1536m 15 | 16 | # When configured, Gradle will run in incubating parallel mode. 17 | # This option should only be used with decoupled projects. More details, visit 18 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 19 | # org.gradle.parallel=true 20 | -------------------------------------------------------------------------------- /android/android-snippets/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/android-snippets/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/android-snippets/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Aug 24 22:29:37 PDT 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip 7 | -------------------------------------------------------------------------------- /android/android-snippets/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /android/automl/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /android/automl/app/src/main/res/drawable-hdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/automl/app/src/main/res/drawable-hdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /android/automl/app/src/main/res/drawable-hdpi/ic_switch_camera_white_48dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | -------------------------------------------------------------------------------- /android/automl/app/src/main/res/drawable-hdpi/ic_switch_camera_white_48dp_inset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/automl/app/src/main/res/drawable-hdpi/ic_switch_camera_white_48dp_inset.png -------------------------------------------------------------------------------- /android/automl/app/src/main/res/drawable-mdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/automl/app/src/main/res/drawable-mdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /android/automl/app/src/main/res/drawable-mdpi/ic_switch_camera_white_48dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | -------------------------------------------------------------------------------- /android/automl/app/src/main/res/drawable-mdpi/ic_switch_camera_white_48dp_inset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/automl/app/src/main/res/drawable-mdpi/ic_switch_camera_white_48dp_inset.png -------------------------------------------------------------------------------- /android/automl/app/src/main/res/drawable-xhdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/automl/app/src/main/res/drawable-xhdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /android/automl/app/src/main/res/drawable-xhdpi/ic_switch_camera_white_48dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | -------------------------------------------------------------------------------- /android/automl/app/src/main/res/drawable-xhdpi/ic_switch_camera_white_48dp_inset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/automl/app/src/main/res/drawable-xhdpi/ic_switch_camera_white_48dp_inset.png -------------------------------------------------------------------------------- /android/automl/app/src/main/res/drawable-xxhdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/automl/app/src/main/res/drawable-xxhdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /android/automl/app/src/main/res/drawable-xxhdpi/ic_switch_camera_white_48dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | -------------------------------------------------------------------------------- /android/automl/app/src/main/res/drawable-xxhdpi/ic_switch_camera_white_48dp_inset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/automl/app/src/main/res/drawable-xxhdpi/ic_switch_camera_white_48dp_inset.png -------------------------------------------------------------------------------- /android/automl/app/src/main/res/drawable-xxxhdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/automl/app/src/main/res/drawable-xxxhdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /android/automl/app/src/main/res/drawable-xxxhdpi/ic_switch_camera_white_48dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | -------------------------------------------------------------------------------- /android/automl/app/src/main/res/drawable-xxxhdpi/ic_switch_camera_white_48dp_inset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/automl/app/src/main/res/drawable-xxxhdpi/ic_switch_camera_white_48dp_inset.png -------------------------------------------------------------------------------- /android/automl/app/src/main/res/layout/activity_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /android/automl/app/src/main/res/layout/settings_style.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | -------------------------------------------------------------------------------- /android/automl/app/src/main/res/layout/spinner_style.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /android/automl/app/src/main/res/layout/toggle_style.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /android/automl/app/src/main/res/menu/camera_button_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | 12 | 13 | -------------------------------------------------------------------------------- /android/automl/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/automl/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/automl/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/automl/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/automl/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/automl/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/automl/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/automl/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/automl/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #4CAF50 4 | #388E3C 5 | #7C4DFF 6 | 7 | #78909C 8 | #E6E6E6 9 | #689F38 10 | #BFBFBF 11 | #FFFFFF 12 | #4286f4 13 | #f44242 14 | 15 | -------------------------------------------------------------------------------- /android/automl/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 10dp 6 | 7 | -------------------------------------------------------------------------------- /android/automl/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /android/codescanner/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.4.31' 3 | 4 | repositories { 5 | google() 6 | jcenter() 7 | } 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:4.2.0' 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | } 12 | } 13 | 14 | allprojects { 15 | repositories { 16 | mavenLocal() 17 | google() 18 | jcenter() 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /android/codescanner/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | android.useAndroidX=true 15 | android.enableJetifier=true 16 | -------------------------------------------------------------------------------- /android/codescanner/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/codescanner/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/codescanner/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /android/codescanner/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name= "mlkit_code_scanner_sample" 2 | include ':app' 3 | include ':internal:chooserx' 4 | project(':internal:chooserx').projectDir = file('../internal/chooserx') -------------------------------------------------------------------------------- /android/digitalink/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /android/digitalink/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/digitalink/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/digitalink/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/digitalink/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/digitalink/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/digitalink/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/digitalink/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/digitalink/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/digitalink/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/digitalink/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/digitalink/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/digitalink/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/digitalink/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/digitalink/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/digitalink/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/digitalink/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/digitalink/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/digitalink/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/digitalink/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/digitalink/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/digitalink/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #6200EE 4 | #3700B3 5 | #03DAC5 6 | -------------------------------------------------------------------------------- /android/digitalink/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ML Kit Digital Ink Recognition Demo 3 | ML Kit Digital Ink Recognition Demo 4 | Clear 5 | 6 | -------------------------------------------------------------------------------- /android/digitalink/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | -------------------------------------------------------------------------------- /android/digitalink/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | ext.kotlin_version = "1.7.20" 4 | repositories { 5 | mavenCentral() 6 | mavenLocal() 7 | google() 8 | } 9 | dependencies { 10 | classpath "com.android.tools.build:gradle:4.2.0" 11 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 12 | 13 | // NOTE: Do not place your application dependencies here; they belong 14 | // in the individual module build.gradle files 15 | } 16 | } 17 | 18 | allprojects { 19 | repositories { 20 | mavenCentral() 21 | mavenLocal() 22 | google() 23 | } 24 | } 25 | 26 | task clean(type: Delete) { 27 | delete rootProject.buildDir 28 | } 29 | -------------------------------------------------------------------------------- /android/digitalink/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/digitalink/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/digitalink/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Jan 24 22:29:24 UTC 2022 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /android/digitalink/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name = "ML Kit Digital Ink Recognition Demo" -------------------------------------------------------------------------------- /android/documentscanner/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | @color/blue 4 | @color/darkBlue 5 | @color/red 6 | #3681E6 7 | #2F5FC0 8 | #D81B60 9 | 10 | -------------------------------------------------------------------------------- /android/documentscanner/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Document Scanner Demo 3 | Scan 4 | Scan result:\n%1$s 5 | Scanner is cancelled. 6 | Failed to scan: %1$s 7 | Scanner feature mode: 8 | Enable gallery import: 9 | Set page limit per scan: 10 | First page of the scanned document 11 | 12 | -------------------------------------------------------------------------------- /android/documentscanner/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /android/documentscanner/app/src/main/res/xml/file_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/documentscanner/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.7.20' 3 | 4 | repositories { 5 | mavenLocal() 6 | google() 7 | jcenter() 8 | } 9 | dependencies { 10 | classpath 'com.android.tools.build:gradle:7.4.2' 11 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | mavenLocal() 18 | google() 19 | jcenter() 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /android/documentscanner/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | android.useAndroidX=true 15 | android.enableJetifier=true 16 | -------------------------------------------------------------------------------- /android/documentscanner/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/documentscanner/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/documentscanner/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip 4 | networkTimeout=10000 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /android/documentscanner/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name= "mlkit_document_scanner_sample" 2 | include ':app' 3 | include ':internal:chooserx' 4 | project(':internal:chooserx').projectDir = file('../internal/chooserx') 5 | -------------------------------------------------------------------------------- /android/entityextraction/app/src/main/res/drawable/ic_baseline_delete_gray_32.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /android/entityextraction/app/src/main/res/drawable/ic_baseline_get_app_gray_32.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /android/entityextraction/app/src/main/res/drawable/ic_baseline_get_app_white_32.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /android/entityextraction/app/src/main/res/layout/activity_models.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 15 | 16 | 20 | 21 | -------------------------------------------------------------------------------- /android/entityextraction/app/src/main/res/layout/list_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 15 | 22 | 23 | -------------------------------------------------------------------------------- /android/entityextraction/app/src/main/res/menu/menu_choose_model.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /android/entityextraction/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | @color/blue 4 | @color/darkBlue 5 | @color/red 6 | 7 | #3681E6 8 | #2F5FC0 9 | #D81B60 10 | 11 | -------------------------------------------------------------------------------- /android/entityextraction/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/entityextraction/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '2.1.0' 3 | 4 | repositories { 5 | google() 6 | jcenter() 7 | } 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:8.10.0' 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | } 12 | } 13 | 14 | allprojects { 15 | repositories { 16 | mavenLocal() 17 | google() 18 | jcenter() 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /android/entityextraction/gradle.properties: -------------------------------------------------------------------------------- 1 | android.useAndroidX=true 2 | android.enableJetifier=true 3 | 4 | # The setting is particularly useful for tweaking memory settings. 5 | org.gradle.jvmargs=-Xmx4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 6 | 7 | # Uses one worker to build. This helps resolve build OOM issue. 8 | org.gradle.workers.max=1 9 | -------------------------------------------------------------------------------- /android/entityextraction/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = "mlkit_entity_extraction_sample" 2 | include ':app' 3 | include ':internal:chooserx' 4 | project(':internal:chooserx').projectDir = file('../internal/chooserx') 5 | 6 | -------------------------------------------------------------------------------- /android/genai/settings.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2025 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | rootProject.name = "ML Kit GenAI API demo" 18 | include ':app' 19 | -------------------------------------------------------------------------------- /android/internal/chooserx/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /android/internal/chooserx/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /android/internal/lint/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | apply plugin: "kotlin" 3 | 4 | targetCompatibility = JavaVersion.VERSION_1_7 5 | sourceCompatibility = JavaVersion.VERSION_1_7 6 | 7 | dependencies { 8 | compileOnly "com.android.tools.lint:lint-api:26.5.3" 9 | compileOnly "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.61" 10 | testImplementation "com.android.tools.lint:lint:26.5.3" 11 | testImplementation "com.android.tools.lint:lint-tests:26.5.3" 12 | } 13 | 14 | jar { 15 | manifest { 16 | attributes("Lint-Registry-v2": "com.mlkit.lint.QuickstartIssueRegistry") 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /android/internal/lint/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/internal/lint/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/internal/lint/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Feb 03 13:16:03 PST 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip 7 | -------------------------------------------------------------------------------- /android/internal/lintchecks/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 29 5 | 6 | defaultConfig { 7 | minSdkVersion 16 8 | targetSdkVersion 29 9 | } 10 | } 11 | 12 | dependencies { 13 | lintChecks project(":internal:lint") 14 | } 15 | -------------------------------------------------------------------------------- /android/internal/lintchecks/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/internal/lintchecks/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/internal/lintchecks/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Feb 03 13:15:08 PST 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip 7 | -------------------------------------------------------------------------------- /android/internal/lintchecks/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /android/internal/lintchecks/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /android/langid/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /android/langid/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/langid/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/langid/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/langid/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/langid/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/langid/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/langid/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/langid/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/langid/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/langid/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/langid/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/langid/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/langid/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/langid/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/langid/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/langid/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/langid/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/langid/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/langid/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/langid/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/langid/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | @color/blue 4 | @color/darkBlue 5 | @color/red 6 | 7 | #3681E6 8 | #2F5FC0 9 | #D81B60 10 | 11 | -------------------------------------------------------------------------------- /android/langid/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/langid/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.9.0' 3 | 4 | repositories { 5 | mavenLocal() 6 | mavenCentral() 7 | google() 8 | } 9 | dependencies { 10 | classpath 'com.android.tools.build:gradle:7.3.1' 11 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | mavenLocal() 18 | mavenCentral() 19 | google() 20 | } 21 | } 22 | 23 | task clean(type: Delete) { 24 | delete rootProject.buildDir 25 | } 26 | -------------------------------------------------------------------------------- /android/langid/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | 15 | 16 | android.useAndroidX=true 17 | android.enableJetifier=true 18 | -------------------------------------------------------------------------------- /android/langid/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/langid/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/langid/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Jan 24 22:44:42 UTC 2022 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /android/langid/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name= "mlkit_language_id_sample" 2 | include ':app' 3 | include ':internal:chooserx' 4 | project(':internal:chooserx').projectDir = file('../internal/chooserx') 5 | -------------------------------------------------------------------------------- /android/material-showcase/.editorconfig: -------------------------------------------------------------------------------- 1 | [*.{java,kt}] 2 | max_line_length = 120 3 | -------------------------------------------------------------------------------- /android/material-showcase/app/assets/custom_models/bird_classifier.tflite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/material-showcase/app/assets/custom_models/bird_classifier.tflite -------------------------------------------------------------------------------- /android/material-showcase/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /android/material-showcase/app/src/main/java/com/google/mlkit/md/camera/FrameMetadata.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Google LLC 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.google.mlkit.md.camera 18 | 19 | /** Metadata info of a camera frame. */ 20 | class FrameMetadata(val width: Int, val height: Int, val rotation: Int) 21 | -------------------------------------------------------------------------------- /android/material-showcase/app/src/main/java/com/google/mlkit/md/productsearch/Product.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Google LLC 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.google.mlkit.md.productsearch 18 | 19 | /** Information about a product. */ 20 | data class Product internal constructor(val imageUrl: String, val title: String, val subtitle: String) 21 | -------------------------------------------------------------------------------- /android/material-showcase/app/src/main/res/animator/bottom_prompt_chip_enter.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 10 | 16 | 21 | 22 | -------------------------------------------------------------------------------- /android/material-showcase/app/src/main/res/drawable/barcode_field_box.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /android/material-showcase/app/src/main/res/drawable/camera_flash.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /android/material-showcase/app/src/main/res/drawable/ic_close_vd_white_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /android/material-showcase/app/src/main/res/drawable/ic_flash_off_vd_white_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /android/material-showcase/app/src/main/res/drawable/ic_flash_on_vd_white_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /android/material-showcase/app/src/main/res/drawable/ic_image_search_vd_black_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /android/material-showcase/app/src/main/res/drawable/ic_photo_library_vd_white_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /android/material-showcase/app/src/main/res/drawable/logo_google_cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/material-showcase/app/src/main/res/drawable/logo_google_cloud.png -------------------------------------------------------------------------------- /android/material-showcase/app/src/main/res/drawable/top_action_bar_scrim.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 10 | 11 | -------------------------------------------------------------------------------- /android/material-showcase/app/src/main/res/layout/activity_live_barcode.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | 13 | 14 | 15 | 16 | 17 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /android/material-showcase/app/src/main/res/layout/activity_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | -------------------------------------------------------------------------------- /android/material-showcase/app/src/main/res/layout/barcode_bottom_sheet.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /android/material-showcase/app/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | -------------------------------------------------------------------------------- /android/material-showcase/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | -------------------------------------------------------------------------------- /android/material-showcase/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | android.useAndroidX=true 15 | android.enableJetifier=true 16 | -------------------------------------------------------------------------------- /android/material-showcase/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/material-showcase/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/material-showcase/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Jan 31 23:07:35 PST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip 7 | -------------------------------------------------------------------------------- /android/material-showcase/screenshots/live_barcode.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/material-showcase/screenshots/live_barcode.gif -------------------------------------------------------------------------------- /android/material-showcase/screenshots/live_odt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/material-showcase/screenshots/live_odt.gif -------------------------------------------------------------------------------- /android/material-showcase/screenshots/static_odt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/material-showcase/screenshots/static_odt.gif -------------------------------------------------------------------------------- /android/material-showcase/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /android/screenshots/automl-quickstart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/screenshots/automl-quickstart.png -------------------------------------------------------------------------------- /android/screenshots/langid-quickstart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/screenshots/langid-quickstart.png -------------------------------------------------------------------------------- /android/screenshots/quickstart-image-labeling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/screenshots/quickstart-image-labeling.png -------------------------------------------------------------------------------- /android/screenshots/quickstart-object-detection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/screenshots/quickstart-object-detection.png -------------------------------------------------------------------------------- /android/screenshots/quickstart-picker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/screenshots/quickstart-picker.png -------------------------------------------------------------------------------- /android/screenshots/quickstart-pose-detection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/screenshots/quickstart-pose-detection.png -------------------------------------------------------------------------------- /android/screenshots/translate-quickstart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/screenshots/translate-quickstart.png -------------------------------------------------------------------------------- /android/smartreply/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /android/smartreply/app/src/main/res/drawable/ic_camera_front_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /android/smartreply/app/src/main/res/drawable/ic_tag_faces_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /android/smartreply/app/src/main/res/drawable/rounded_rectangle_blue.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /android/smartreply/app/src/main/res/drawable/rounded_rectangle_gray.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /android/smartreply/app/src/main/res/drawable/rounded_rectangle_light_gray.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /android/smartreply/app/src/main/res/layout/main_smartreply_activity.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | -------------------------------------------------------------------------------- /android/smartreply/app/src/main/res/layout/smart_reply_chip.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 21 | 22 | -------------------------------------------------------------------------------- /android/smartreply/app/src/main/res/menu/chat_fragment_actions.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | 12 | 16 | -------------------------------------------------------------------------------- /android/smartreply/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #4285F4 4 | #3367D6 5 | #F4B400 6 | 7 | #4286f4 8 | #f44242 9 | 10 | -------------------------------------------------------------------------------- /android/smartreply/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 40dp 4 | 8dp 5 | -------------------------------------------------------------------------------- /android/smartreply/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/smartreply/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.9.0' 3 | 4 | repositories { 5 | mavenLocal() 6 | mavenCentral() 7 | google() 8 | } 9 | dependencies { 10 | classpath 'com.android.tools.build:gradle:7.3.1' 11 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | mavenLocal() 18 | mavenCentral() 19 | google() 20 | } 21 | } 22 | 23 | task clean(type: Delete) { 24 | delete rootProject.buildDir 25 | } 26 | -------------------------------------------------------------------------------- /android/smartreply/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | android.useAndroidX=true 15 | android.enableJetifier=true -------------------------------------------------------------------------------- /android/smartreply/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/smartreply/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/smartreply/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Jan 24 22:50:04 UTC 2022 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /android/smartreply/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'mlkit_smart_reply_sample' 2 | include ':app' 3 | include ':internal:chooserx' 4 | project(':internal:chooserx').projectDir = file('../internal/chooserx') -------------------------------------------------------------------------------- /android/translate-showcase/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /android/translate-showcase/app/src/main/java/com/google/mlkit/showcase/translate/util/ResultOrError.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Google Inc. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | */ 17 | 18 | package com.google.mlkit.showcase.translate.util 19 | 20 | /** 21 | * Holds a result or some operation or the exception. 22 | */ 23 | class ResultOrError(var result: String?, var error: Exception?) 24 | -------------------------------------------------------------------------------- /android/translate-showcase/app/src/main/java/com/google/mlkit/showcase/translate/util/ScopedExecutor.kt: -------------------------------------------------------------------------------- 1 | package com.google.mlkit.showcase.translate.util 2 | 3 | import java.util.concurrent.Executor 4 | import java.util.concurrent.atomic.AtomicBoolean 5 | 6 | class ScopedExecutor(private val executor: Executor) : Executor { 7 | 8 | private val isShutdown = AtomicBoolean() 9 | 10 | fun shutdown() { 11 | isShutdown.set(true) 12 | } 13 | 14 | override fun execute(command: Runnable) { 15 | executor.execute { 16 | if (!isShutdown.get()) command.run() 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /android/translate-showcase/app/src/main/res/drawable/greyscale_regular_3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/translate-showcase/app/src/main/res/drawable/greyscale_regular_3x.png -------------------------------------------------------------------------------- /android/translate-showcase/app/src/main/res/font/pt_sans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/translate-showcase/app/src/main/res/font/pt_sans.ttf -------------------------------------------------------------------------------- /android/translate-showcase/demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/translate-showcase/demo.gif -------------------------------------------------------------------------------- /android/translate-showcase/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/translate-showcase/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/translate-showcase/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun May 17 19:28:24 BST 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip 7 | -------------------------------------------------------------------------------- /android/translate-showcase/settings.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Google Inc. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | */ 17 | 18 | include ':app' 19 | rootProject.name='ML Kit Translate Showcase' 20 | -------------------------------------------------------------------------------- /android/translate/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /android/translate/app/src/main/res/drawable/ic_baseline_delete_24.xml: -------------------------------------------------------------------------------- 1 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /android/translate/app/src/main/res/drawable/ic_baseline_translate_32.xml: -------------------------------------------------------------------------------- 1 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /android/translate/app/src/main/res/drawable/ic_file_download_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /android/translate/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | #008577 20 | #00574B 21 | #D81B60 22 | -------------------------------------------------------------------------------- /android/translate/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | 200dp 7 | 8 | -------------------------------------------------------------------------------- /android/translate/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | MLKit-Translate 4 | Translated text 5 | Downloaded models: %1$s 6 | Translating… 7 | Delete Model 8 | Download Model 9 | Unknown error occurred. 10 | Source text 11 | 12 | -------------------------------------------------------------------------------- /android/translate/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 11 | 15 | 16 | -------------------------------------------------------------------------------- /android/translate/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.7.20' 3 | 4 | repositories { 5 | google() 6 | jcenter() 7 | } 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:7.4.2' 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | } 12 | } 13 | 14 | allprojects { 15 | repositories { 16 | mavenLocal() 17 | google() 18 | jcenter() 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /android/translate/gradle.properties: -------------------------------------------------------------------------------- 1 | android.useAndroidX=true 2 | android.enableJetifier=true 3 | org.gradle.jvmargs=-Xmx4g 4 | -------------------------------------------------------------------------------- /android/translate/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/translate/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/translate/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /android/translate/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'mlkit_translate_sample' 2 | 3 | include ':app' 4 | include ':internal:chooserx' 5 | project(':internal:chooserx').projectDir = file('../internal/chooserx') 6 | -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/assets/automl/dict.txt: -------------------------------------------------------------------------------- 1 | daisy 2 | dandelion 3 | roses 4 | sunflowers 5 | tulips 6 | -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/assets/automl/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "modelType": "IMAGE_LABELING", 3 | "modelFile": "model.tflite", 4 | "labelsFile": "dict.txt" 5 | } 6 | -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/assets/automl/model.tflite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/vision-quickstart/app/src/main/assets/automl/model.tflite -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/assets/custom_models/bird_classifier.tflite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/vision-quickstart/app/src/main/assets/custom_models/bird_classifier.tflite -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/assets/custom_models/object_labeler.tflite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/vision-quickstart/app/src/main/assets/custom_models/object_labeler.tflite -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/drawable-hdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/vision-quickstart/app/src/main/res/drawable-hdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/drawable-hdpi/ic_switch_camera_white_48dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/drawable-hdpi/ic_switch_camera_white_48dp_inset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/vision-quickstart/app/src/main/res/drawable-hdpi/ic_switch_camera_white_48dp_inset.png -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/drawable-mdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/vision-quickstart/app/src/main/res/drawable-mdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/drawable-mdpi/ic_switch_camera_white_48dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/drawable-mdpi/ic_switch_camera_white_48dp_inset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/vision-quickstart/app/src/main/res/drawable-mdpi/ic_switch_camera_white_48dp_inset.png -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/drawable-xhdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/vision-quickstart/app/src/main/res/drawable-xhdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/drawable-xhdpi/ic_switch_camera_white_48dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/drawable-xhdpi/ic_switch_camera_white_48dp_inset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/vision-quickstart/app/src/main/res/drawable-xhdpi/ic_switch_camera_white_48dp_inset.png -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/drawable-xxhdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/vision-quickstart/app/src/main/res/drawable-xxhdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/drawable-xxhdpi/ic_switch_camera_white_48dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/drawable-xxhdpi/ic_switch_camera_white_48dp_inset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/vision-quickstart/app/src/main/res/drawable-xxhdpi/ic_switch_camera_white_48dp_inset.png -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/drawable-xxxhdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/vision-quickstart/app/src/main/res/drawable-xxxhdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/drawable-xxxhdpi/ic_switch_camera_white_48dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/drawable-xxxhdpi/ic_switch_camera_white_48dp_inset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/vision-quickstart/app/src/main/res/drawable-xxxhdpi/ic_switch_camera_white_48dp_inset.png -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/drawable/list_item_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 9 | 10 | -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/layout/activity_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/layout/settings_style.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/layout/spinner_style.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/layout/toggle_style.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/menu/camera_button_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | 12 | 13 | -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/vision-quickstart/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/vision-quickstart/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/vision-quickstart/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googlesamples/mlkit/95a2611e91e02c2106d224ce8be24fdd700ff942/android/vision-quickstart/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #4CAF50 4 | #388E3C 5 | #7C4DFF 6 | 7 | #78909C 8 | #E6E6E6 9 | #689F38 10 | #BFBFBF 11 | #FFFFFF 12 | #4286f4 13 | #f44242 14 | 15 | -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 10dp 6 | 7 | -------------------------------------------------------------------------------- /android/vision-quickstart/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 |