├── app ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── drawable │ │ │ │ ├── send.png │ │ │ │ ├── settings.png │ │ │ │ ├── unpair.png │ │ │ │ ├── ic_search.jpg │ │ │ │ ├── logo_button.png │ │ │ │ ├── not_connect.png │ │ │ │ ├── send_button.png │ │ │ │ ├── openai_website.png │ │ │ │ ├── monocle_long_press.png │ │ │ │ ├── monocle_single_tap.png │ │ │ │ ├── monocle_translate.png │ │ │ │ ├── tutorial_image_one.png │ │ │ │ ├── tutorial_monocle.png │ │ │ │ ├── tutorial_image_with_cam.png │ │ │ │ ├── ic_arrow_back_white_24dp.png │ │ │ │ ├── tutorial_image_single_tap_monocle.png │ │ │ │ ├── tutorial_mage_single_tap_monocle.png │ │ │ │ ├── rounded_translated.xml │ │ │ │ ├── switch_thumb_color_selector.xml │ │ │ │ ├── rectangle_bg_teal_300_radius_18.xml │ │ │ │ ├── rounded_rectangle_primary.xml │ │ │ │ ├── rounded_rectangle_secondary.xml │ │ │ │ ├── chat_right.xml │ │ │ │ ├── rounded_shape.xml │ │ │ │ ├── square_white_background.xml │ │ │ │ ├── square_gray_background.xml │ │ │ │ ├── square_gray_background_for_pairing.xml │ │ │ │ ├── square_white_background_edittext.xml │ │ │ │ ├── square_white_background_for_paring.xml │ │ │ │ ├── chat_left.xml │ │ │ │ ├── ic_arrow_upward.xml │ │ │ │ ├── ic_home_black_24dp.xml │ │ │ │ ├── ic_arrow_forward.xml │ │ │ │ ├── baseline_arrow_back_24.xml │ │ │ │ ├── baseline_arrow_back_50.xml │ │ │ │ ├── ic_dashboard_black_24dp.xml │ │ │ │ ├── download_24.xml │ │ │ │ ├── round_white_background.xml │ │ │ │ ├── ic_person.xml │ │ │ │ ├── ic_mic.xml │ │ │ │ ├── ic_notifications_black_24dp.xml │ │ │ │ ├── corner.xml │ │ │ │ ├── img_vector.xml │ │ │ │ ├── img_vector_gray_200.xml │ │ │ │ ├── color_option_1.xml │ │ │ │ ├── color_option_2.xml │ │ │ │ ├── rounded_button.xml │ │ │ │ ├── corner_green.xml │ │ │ │ ├── chat_bubble_with_tail.xml │ │ │ │ ├── ic_settings.xml │ │ │ │ ├── argpt_launcher_background.xml │ │ │ │ └── ic_launcher_background.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher_argpt.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ ├── argpt_launcher_icon.png │ │ │ │ ├── argpt_launcher_icon_round.png │ │ │ │ ├── argpt_launcher_icon_foreground.png │ │ │ │ ├── ic_launcher_argpt_adaptive_back.png │ │ │ │ └── ic_launcher_argpt_adaptive_fore.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher_argpt.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ ├── argpt_launcher_icon.png │ │ │ │ ├── argpt_launcher_icon_round.png │ │ │ │ ├── argpt_launcher_icon_foreground.png │ │ │ │ ├── ic_launcher_argpt_adaptive_back.png │ │ │ │ └── ic_launcher_argpt_adaptive_fore.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── argpt_launcher_icon.png │ │ │ │ ├── ic_launcher_argpt.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ ├── argpt_launcher_icon_round.png │ │ │ │ ├── argpt_launcher_icon_foreground.png │ │ │ │ ├── ic_launcher_argpt_adaptive_back.png │ │ │ │ └── ic_launcher_argpt_adaptive_fore.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher_argpt.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ ├── argpt_launcher_icon.png │ │ │ │ ├── argpt_launcher_icon_round.png │ │ │ │ ├── argpt_launcher_icon_foreground.png │ │ │ │ ├── ic_launcher_argpt_adaptive_back.png │ │ │ │ └── ic_launcher_argpt_adaptive_fore.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher_argpt.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ ├── argpt_launcher_icon.png │ │ │ │ ├── argpt_launcher_icon_round.png │ │ │ │ ├── argpt_launcher_icon_foreground.png │ │ │ │ ├── ic_launcher_argpt_adaptive_back.png │ │ │ │ └── ic_launcher_argpt_adaptive_fore.png │ │ │ ├── values │ │ │ │ ├── argpt_launcher_icon_background.xml │ │ │ │ ├── attrs.xml │ │ │ │ ├── styles.xml │ │ │ │ ├── colors.xml │ │ │ │ ├── themes.xml │ │ │ │ └── strings.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher_argpt.xml │ │ │ │ ├── argpt_launcher_icon.xml │ │ │ │ └── argpt_launcher_icon_round.xml │ │ │ ├── layout │ │ │ │ ├── popup.xml │ │ │ │ ├── activity_base.xml │ │ │ │ ├── list_item_device_list.xml │ │ │ │ ├── full_screen_popup.xml │ │ │ │ ├── chat_item_cell_left.xml │ │ │ │ ├── custom_progress_dialog.xml │ │ │ │ ├── chat_item_cell_right.xml │ │ │ │ ├── chat_item_cell_center.xml │ │ │ │ ├── activity_main.xml │ │ │ │ ├── chat_item_cell_right_with_corner.xml │ │ │ │ ├── chat_item_cell_left_with_corner.xml │ │ │ │ ├── activity_api_screen.xml │ │ │ │ ├── popup_layout.xml │ │ │ │ ├── activity_chat_gpt.xml │ │ │ │ ├── api_key_change_popup.xml │ │ │ │ ├── stability_api_key_change.xml │ │ │ │ ├── activity_pairing_screen.xml │ │ │ │ └── api_key_change_popup_open_ai_stability_api.xml │ │ │ ├── xml │ │ │ │ ├── backup_rules.xml │ │ │ │ └── data_extraction_rules.xml │ │ │ ├── menu │ │ │ │ └── bottom_nav_menu.xml │ │ │ ├── values-night │ │ │ │ ├── colors.xml │ │ │ │ ├── themes.xml │ │ │ │ └── strings.xml │ │ │ └── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ ├── ic_launcher-playstore.png │ │ ├── argpt_launcher-playstore.png │ │ ├── argpt_launcher_icon-playstore.png │ │ ├── assets │ │ │ ├── FPGA │ │ │ │ └── monocle-fpga-v23.230.0808.bin │ │ │ ├── Firmware │ │ │ │ └── monocle-micropython-v23.248.0754.zip │ │ │ └── Scripts │ │ │ │ ├── photo.py │ │ │ │ ├── audio.py │ │ │ │ ├── states.py │ │ │ │ ├── graphics.py │ │ │ │ └── main.py │ │ ├── java │ │ │ └── xyz │ │ │ │ └── brilliant │ │ │ │ └── argpt │ │ │ │ ├── ui │ │ │ │ ├── model │ │ │ │ │ └── ChatModel.kt │ │ │ │ ├── fragment │ │ │ │ │ ├── ScanningFragment.kt │ │ │ │ │ └── FullScreenPopup.kt │ │ │ │ └── adapter │ │ │ │ │ ├── DevicesAdapter.java │ │ │ │ │ └── ChatAdapter.kt │ │ │ │ └── service │ │ │ │ ├── BluetoothBackgroundService.kt │ │ │ │ └── ForegroundService.kt │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── xyz │ │ │ └── brilliant │ │ │ └── argpt │ │ │ └── ExampleUnitTest.kt │ └── androidTest │ │ └── java │ │ └── xyz │ │ └── brilliant │ │ └── argpt │ │ └── ExampleInstrumentedTest.kt ├── release │ └── output-metadata.json ├── proguard-rules.pro └── build.gradle ├── README.md ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── settings.gradle ├── gradle.properties ├── gradlew.bat └── gradlew /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # gpt-connect-for-android 2 | 3 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/src/main/res/drawable/send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/drawable/send.png -------------------------------------------------------------------------------- /app/src/main/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/ic_launcher-playstore.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/drawable/settings.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/unpair.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/drawable/unpair.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_search.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/drawable/ic_search.jpg -------------------------------------------------------------------------------- /app/src/main/argpt_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/argpt_launcher-playstore.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/logo_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/drawable/logo_button.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/not_connect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/drawable/not_connect.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/send_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/drawable/send_button.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/openai_website.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/drawable/openai_website.png -------------------------------------------------------------------------------- /app/src/main/argpt_launcher_icon-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/argpt_launcher_icon-playstore.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/monocle_long_press.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/drawable/monocle_long_press.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/monocle_single_tap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/drawable/monocle_single_tap.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/monocle_translate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/drawable/monocle_translate.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/tutorial_image_one.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/drawable/tutorial_image_one.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/tutorial_monocle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/drawable/tutorial_monocle.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_argpt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-hdpi/ic_launcher_argpt.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_argpt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-mdpi/ic_launcher_argpt.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/tutorial_image_with_cam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/drawable/tutorial_image_with_cam.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/argpt_launcher_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-hdpi/argpt_launcher_icon.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/argpt_launcher_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-mdpi/argpt_launcher_icon.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/argpt_launcher_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xhdpi/argpt_launcher_icon.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_argpt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xhdpi/ic_launcher_argpt.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_argpt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xxhdpi/ic_launcher_argpt.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_argpt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xxxhdpi/ic_launcher_argpt.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/assets/FPGA/monocle-fpga-v23.230.0808.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/assets/FPGA/monocle-fpga-v23.230.0808.bin -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_arrow_back_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/drawable/ic_arrow_back_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/argpt_launcher_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xxhdpi/argpt_launcher_icon.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/argpt_launcher_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xxxhdpi/argpt_launcher_icon.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/argpt_launcher_icon_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-hdpi/argpt_launcher_icon_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/argpt_launcher_icon_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-mdpi/argpt_launcher_icon_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/argpt_launcher_icon_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xhdpi/argpt_launcher_icon_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/argpt_launcher_icon_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xxhdpi/argpt_launcher_icon_round.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/tutorial_image_single_tap_monocle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/drawable/tutorial_image_single_tap_monocle.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/tutorial_mage_single_tap_monocle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/drawable/tutorial_mage_single_tap_monocle.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/argpt_launcher_icon_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-hdpi/argpt_launcher_icon_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/argpt_launcher_icon_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-mdpi/argpt_launcher_icon_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/argpt_launcher_icon_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xxxhdpi/argpt_launcher_icon_round.png -------------------------------------------------------------------------------- /app/src/main/assets/Firmware/monocle-micropython-v23.248.0754.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/assets/Firmware/monocle-micropython-v23.248.0754.zip -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_argpt_adaptive_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-hdpi/ic_launcher_argpt_adaptive_back.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_argpt_adaptive_fore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-hdpi/ic_launcher_argpt_adaptive_fore.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_argpt_adaptive_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-mdpi/ic_launcher_argpt_adaptive_back.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_argpt_adaptive_fore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-mdpi/ic_launcher_argpt_adaptive_fore.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/argpt_launcher_icon_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xhdpi/argpt_launcher_icon_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_argpt_adaptive_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xhdpi/ic_launcher_argpt_adaptive_back.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_argpt_adaptive_fore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xhdpi/ic_launcher_argpt_adaptive_fore.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/argpt_launcher_icon_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xxhdpi/argpt_launcher_icon_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/values/argpt_launcher_icon_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #262626 4 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_argpt_adaptive_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xxhdpi/ic_launcher_argpt_adaptive_back.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_argpt_adaptive_fore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xxhdpi/ic_launcher_argpt_adaptive_fore.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/argpt_launcher_icon_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xxxhdpi/argpt_launcher_icon_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_argpt_adaptive_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xxxhdpi/ic_launcher_argpt_adaptive_back.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_argpt_adaptive_fore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brilliantlabsAR/noa-for-android/main/app/src/main/res/mipmap-xxxhdpi/ic_launcher_argpt_adaptive_fore.png -------------------------------------------------------------------------------- /app/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rounded_translated.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/switch_thumb_color_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Aug 03 10:13:05 IST 2023 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rectangle_bg_teal_300_radius_18.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rounded_rectangle_primary.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rounded_rectangle_secondary.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/chat_right.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rounded_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_argpt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/argpt_launcher_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/square_white_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/argpt_launcher_icon_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/square_gray_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/square_gray_background_for_pairing.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/square_white_background_edittext.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/square_white_background_for_paring.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/chat_left.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_arrow_upward.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_home_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | dependencyResolutionManagement { 9 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) 10 | repositories { 11 | google() 12 | mavenCentral() 13 | } 14 | } 15 | rootProject.name = "argpt" 16 | include ':app' 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_arrow_forward.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_arrow_back_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_arrow_back_50.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_dashboard_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/download_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/round_white_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_person.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/layout/popup.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/java/xyz/brilliant/argpt/ui/model/ChatModel.kt: -------------------------------------------------------------------------------- 1 | package xyz.brilliant.argpt.ui.model 2 | 3 | import android.graphics.Bitmap 4 | 5 | data class ChatModel( 6 | val id: Int,// 1= normal message , 2= Open Api Key pop up msg , 3 = Stability Api Key pop up msg, 4 = url link 7 | val userInfo: String, 8 | val message: String, 9 | val translateEnabled : Boolean = false, 10 | val image : String = "", 11 | val bitmap: Bitmap?=null 12 | ) -------------------------------------------------------------------------------- /app/src/test/java/xyz/brilliant/argpt/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package xyz.brilliant.argpt 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } -------------------------------------------------------------------------------- /app/release/output-metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "artifactType": { 4 | "type": "APK", 5 | "kind": "Directory" 6 | }, 7 | "applicationId": "xyz.brilliant.argpt", 8 | "variantName": "release", 9 | "elements": [ 10 | { 11 | "type": "SINGLE", 12 | "filters": [], 13 | "attributes": [], 14 | "versionCode": 10, 15 | "versionName": "1.1.008", 16 | "outputFile": "app-release.apk" 17 | } 18 | ], 19 | "elementType": "File" 20 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_mic.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_notifications_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/xml/backup_rules.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/corner.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/img_vector.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/img_vector_gray_200.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/color_option_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/color_option_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rounded_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 11 | 12 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/xml/data_extraction_rules.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 12 | 13 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/menu/bottom_nav_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 13 | 14 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/corner_green.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_base.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/androidTest/java/xyz/brilliant/argpt/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package xyz.brilliant.argpt 2 | 3 | import androidx.test.platform.app.InstrumentationRegistry 4 | import androidx.test.ext.junit.runners.AndroidJUnit4 5 | 6 | import org.junit.Test 7 | import org.junit.runner.RunWith 8 | 9 | import org.junit.Assert.* 10 | 11 | /** 12 | * Instrumented test, which will execute on an Android device. 13 | * 14 | * See [testing documentation](http://d.android.com/tools/testing). 15 | */ 16 | @RunWith(AndroidJUnit4::class) 17 | class ExampleInstrumentedTest { 18 | @Test 19 | fun useAppContext() { 20 | // Context of the app under test. 21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext 22 | assertEquals("xyz.brilliant.argpt", appContext.packageName) 23 | } 24 | } -------------------------------------------------------------------------------- /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 -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 11 | 12 | 17 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/chat_bubble_with_tail.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 22 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_settings.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/assets/Scripts/photo.py: -------------------------------------------------------------------------------- 1 | import bluetooth 2 | import camera 3 | import states 4 | 5 | def capture_image(state, gfx, send_message): 6 | if state.on_entry(): 7 | camera.capture() 8 | send_message(b"ist:") 9 | gfx.clear_response() 10 | gfx.set_prompt("Sending photo [ ]") 11 | state.after(250, state.SendImage) 12 | 13 | def send_image(state, gfx, send_message): 14 | if state.on_entry(): 15 | state.current_state.bytes_sent = 0 16 | samples = bluetooth.max_length() - 4 17 | chunk = camera.read(samples) 18 | if chunk == None: 19 | # Finished, start microphone recording next. The microphone recording state will 20 | # send the "ien:" command! 21 | state.after(0, state.StartRecording) 22 | else: 23 | send_message(b"idt:" + chunk) 24 | state.current_state.bytes_sent += len(chunk) 25 | benchmark_size = 64000 26 | percent = state.current_state.bytes_sent / benchmark_size 27 | if percent > 0.8: 28 | gfx.set_prompt("Sending photo [=====]") 29 | elif percent > 0.6: 30 | gfx.set_prompt("Sending photo [==== ]") 31 | elif percent > 0.4: 32 | gfx.set_prompt("Sending photo [=== ]") 33 | elif percent > 0.2: 34 | gfx.set_prompt("Sending photo [== ]") 35 | else: 36 | gfx.set_prompt("Sending photo [= ]") 37 | -------------------------------------------------------------------------------- /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=-Xmx2048m -Dfile.encoding=UTF-8 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 | # AndroidX package structure to make it clearer which packages are bundled with the 15 | # Android operating system, and which are packaged with your app's APK 16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn 17 | android.useAndroidX=true 18 | # Kotlin code style for this project: "official" or "obsolete": 19 | kotlin.code.style=official 20 | # Enables namespacing of each library's R class so that its R class includes only the 21 | # resources declared in the library itself and none from the library's dependencies, 22 | # thereby reducing the size of the R class for that library 23 | android.nonTransitiveRClass=true -------------------------------------------------------------------------------- /app/src/main/assets/Scripts/audio.py: -------------------------------------------------------------------------------- 1 | import bluetooth 2 | import microphone 3 | import states 4 | 5 | def start_recording(state, gfx, send_message): 6 | if state.on_entry(): 7 | microphone.record(seconds=6.0, bit_depth=8, sample_rate=8000) 8 | if state.previous_state == state.SendImage: 9 | send_message(b"ien:") # continue image-and-prompt flow 10 | else: 11 | send_message(b"ast:") # *prompt only* (erases image data) 12 | gfx.clear_response() 13 | gfx.set_prompt("Listening [ ]") 14 | state.after(1000, state.SendAudio) 15 | 16 | def send_audio(state, gfx, send_message): 17 | if state.has_been() > 5000: 18 | gfx.set_prompt("Waiting for openAI") 19 | elif state.has_been() > 4000: 20 | gfx.set_prompt("Listening [=====]") 21 | elif state.has_been() > 3000: 22 | gfx.set_prompt("Listening [==== ]") 23 | elif state.has_been() > 2000: 24 | gfx.set_prompt("Listening [=== ]") 25 | elif state.has_been() > 1000: 26 | gfx.set_prompt("Listening [== ]") 27 | else: 28 | gfx.set_prompt("Listening [= ]") 29 | 30 | samples = (bluetooth.max_length() - 4) // 2 31 | chunk1 = microphone.read(samples) 32 | chunk2 = microphone.read(samples) 33 | 34 | if chunk1 == None: 35 | send_message(b"aen:") 36 | state.after(0, state.WaitForPing) 37 | elif chunk2 == None: 38 | send_message(b"dat:" + chunk1) 39 | else: 40 | send_message(b"dat:" + chunk1 + chunk2) 41 | -------------------------------------------------------------------------------- /app/src/main/res/values-night/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #0C0C0C 10 | #FFFFFFFF 11 | #3F51B5 12 | #303F9F 13 | #FF4081 14 | #FF039BE5 15 | #FF01579B 16 | #FF40C4FF 17 | #FF00B0FF 18 | #66000000 19 | #F5F5F5 20 | #BDBDBD 21 | #FF0000 22 | #57c7a9 23 | #F9F9F9 24 | #57C7AA 25 | #E9E9EB 26 | #575BC7 27 | 28 | #57C7AA 29 | #787880 30 | 31 | #F3F2F2 32 | #1B1C1E 33 | #000000 34 | #5E5E5E 35 | #0C0C0C 36 | #1D1D1F 37 | 38 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #0C0C0C 10 | #FFFFFFFF 11 | #3F51B5 12 | #303F9F 13 | #FF4081 14 | #FF039BE5 15 | #FF01579B 16 | #FF40C4FF 17 | #FF00B0FF 18 | #66000000 19 | #F5F5F5 20 | #BDBDBD 21 | #FF0000 22 | #57c7a9 23 | #F9F9F9 24 | #57C7AA 25 | #E9E9EB 26 | #575BC7 27 | 28 | #57C7AA 29 | #787880 30 | 31 | #000000 32 | #E9E9EB 33 | #FFFFFF 34 | #BDBDBD 35 | @android:color/transparent 36 | #F5F5F5 37 | 38 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 15 | 18 | 21 | 22 | 23 | 24 | 30 | -------------------------------------------------------------------------------- /app/src/main/assets/Scripts/states.py: -------------------------------------------------------------------------------- 1 | import time 2 | 3 | 4 | class State: 5 | class Init: 6 | pass 7 | 8 | class Welcome: 9 | pass 10 | 11 | class Connected: 12 | pass 13 | 14 | class WaitForTap: 15 | pass 16 | 17 | class DetectSingleTap: 18 | pass 19 | 20 | class DetectHold: 21 | pass 22 | 23 | class StartRecording: 24 | pass 25 | 26 | class SendAudio: 27 | pass 28 | 29 | class WaitForPing: 30 | pass 31 | 32 | class WaitForResponse: 33 | pass 34 | 35 | class AskToCancel: 36 | pass 37 | 38 | class PrintResponse: 39 | pass 40 | 41 | class CaptureImage: 42 | pass 43 | 44 | class SendImage: 45 | pass 46 | 47 | class Undefined: 48 | pass 49 | 50 | def __init__(self): 51 | self.previous_state = self.Init 52 | self.current_state = self.Init 53 | self.__next_state = self.Init 54 | self.__entry_time = time.ticks_ms() 55 | self.__entered = True 56 | 57 | def after(self, wait_time, next_state): 58 | if next_state != self.__next_state: 59 | self.__next_state = next_state 60 | 61 | if self.current_state != self.__next_state: 62 | if time.ticks_diff(time.ticks_ms(), self.__entry_time) > wait_time: 63 | self.previous_state = self.current_state 64 | self.current_state = self.__next_state 65 | self.__entry_time = time.ticks_ms() 66 | self.__entered = True 67 | print("State: ", str(self.current_state.__name__)) 68 | 69 | def has_been(self): 70 | return time.ticks_diff(time.ticks_ms(), self.__entry_time) 71 | 72 | def on_entry(self): 73 | if self.__entered == True: 74 | self.__entered = False 75 | return True 76 | return False 77 | -------------------------------------------------------------------------------- /app/src/main/res/layout/list_item_device_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 17 | 18 | 19 | 27 | 28 | 29 |