diff --git a/SDK_v1.0.0/CHANGELOG.md b/SDK_v1.0.0/CHANGELOG.md deleted file mode 100644 index c206d2f..0000000 --- a/SDK_v1.0.0/CHANGELOG.md +++ /dev/null @@ -1,55 +0,0 @@ -# Changelog - -All notable changes to the Shooting Target Detection SDK will be documented in this file. - -## [1.0.0] - 2025-10-18 - -### Added -- 🎯 **YOLO-based Bullet Detection** - AI-powered bullet hole recognition -- 📷 **MJPEG Camera Streaming** - Real-time camera feed support -- 📱 **Phone Camera Integration** - Device camera for target capture -- 🎨 **Image Processing** - Brightness, contrast, and filter controls -- 📊 **Target Scoring System** - Automatic ring detection and scoring -- 🌐 **Multi-language Support** - English and Slovenian -- 📅 **Google Calendar Integration** - Track shooting sessions -- 🍎 **iOS Support** - Configured and ready for iOS build -- 📖 **Help System** - In-app help dialogs with translations -- 💾 **Settings Persistence** - Save brightness/contrast preferences - -### Fixed -- 🐛 Color filters no longer apply to error messages -- 🐛 Zoom functionality disabled on error screens -- 🐛 Removed duplicate "NOW" badge in calendar -- 🐛 Proper error handling for camera stream failures - -### Technical Details -- **Flutter Version**: 3.29.3 -- **Dart SDK**: 3.3.0+ -- **Min Android SDK**: 21 (Android 5.0) -- **Target Android SDK**: 35 (Android 15) -- **APK Size**: 96.4 MB -- **AAB Size**: 48.2 MB - -### Package Contents -``` -SDK_v1.0.0/ -├── android/ -│ ├── app-release.apk (96.4 MB) -│ └── app-release.aab (48.2 MB) -├── docs/ -├── README.md -└── CHANGELOG.md -``` - -### Dependencies -- `tflite_flutter: ^0.11.0` - TensorFlow Lite for AI model -- `camera: ^0.10.0` - Camera access -- `flutter_mjpeg: ^2.0.0` - MJPEG streaming -- `google_sign_in: ^6.1.5` - Google authentication -- `googleapis: ^13.2.0` - Calendar API -- `image: ^4.5.4` - Image processing -- `shared_preferences: ^2.2.2` - Settings storage - ---- - -🤖 Generated with [Claude Code](https://claude.com/claude-code) diff --git a/SDK_v1.0.0/README.md b/SDK_v1.0.0/README.md deleted file mode 100644 index 2975e3d..0000000 --- a/SDK_v1.0.0/README.md +++ /dev/null @@ -1,207 +0,0 @@ -# Shooting Target Detection SDK v1.0.0 - -Android SDK for bullet hole detection and shooting target analysis. - -## 📦 Package Contents - -``` -SDK_v1.0.0/ -├── android/ -│ ├── app-release.apk # Release APK (96.4 MB) -│ └── app-release.aab # App Bundle for Google Play (48.2 MB) -├── docs/ -│ └── API_DOCUMENTATION.md -└── README.md -``` - -## 🎯 Features - -- **YOLO-based Bullet Detection** - AI-powered bullet hole recognition using TensorFlow Lite -- **MJPEG Camera Streaming** - Real-time camera feed support with HTTP/HTTPS streams -- **Phone Camera Integration** - Use device camera for target capture -- **Image Processing** - Brightness, contrast, and filter adjustments -- **Target Scoring System** - Automatic ring detection and bullet scoring -- **Multi-language Support** - English and Slovenian translations -- **Google Calendar Integration** - Track shooting sessions -- **Customizable UI** - Material Design with dark theme support - -## 📱 System Requirements - -### Minimum Requirements -- **Android Version**: 5.0 (API 21) or higher -- **RAM**: 2GB minimum, 4GB recommended -- **Storage**: 150MB free space -- **Camera**: Any device camera or network camera support -- **Network**: For MJPEG streaming (optional) - -### Recommended -- **Android Version**: 8.0 (API 26) or higher -- **RAM**: 4GB or more -- **Processor**: ARM64 or x86_64 -- **Camera**: 12MP or higher for best detection accuracy - -## 🚀 Installation - -### Option 1: Install APK (Direct Installation) -```bash -adb install app-release.apk -``` - -### Option 2: Deploy via Google Play (AAB) -Upload `app-release.aab` to Google Play Console for distribution. - -## 🔧 Configuration - -### Permissions Required -The SDK requires the following Android permissions: - -```xml - - - - - - -``` - -### Network Configuration -For MJPEG camera streaming, ensure network security config allows cleartext traffic: - -```xml - -``` - -## 📖 Usage - -### 1. Camera Stream Detection -``` -1. Open the app -2. Navigate to "Camera Streams" section -3. Add your MJPEG camera URL (e.g., http://192.168.1.100:8080/video) -4. Select the camera and start detection -5. Tap capture button to analyze target -``` - -### 2. Phone Camera Detection -``` -1. Open the app -2. Navigate to "Phone Camera" section -3. Set number of expected bullets (1-5) -4. Align target in the frame -5. Capture baseline image (empty target) -6. Shoot your rounds -7. Capture final image to see detected bullets -``` - -### 3. Target Analysis -``` -1. After capture, view detected bullets overlaid on target -2. Check ring detection and scoring -3. View shooting history in calendar -4. Export results to Google Calendar -``` - -## 🎨 Customization - -### Image Adjustments -- **Brightness**: -100 to +100 -- **Contrast**: 50% to 200% -- **Filters**: None, Greyscale, Invert - -### Detection Settings -- **Bullet Count**: 1-5 expected bullets -- **Zoom**: 1x to 5x for camera streams -- **Auto-stop**: Automatic capture when target count reached - -## 🌐 Language Support - -The SDK supports: -- 🇬🇧 English -- 🇸🇮 Slovenian (Slovenščina) - -Language can be changed in the settings menu. - -## 📊 Technical Specifications - -### AI Model -- **Framework**: TensorFlow Lite -- **Model**: YOLOv8 (optimized for mobile) -- **Input Size**: 640x640 pixels -- **Detection Classes**: - - Bullet holes - - Target rings (10-ring system) - - Center point - -### Image Processing -- **Supported Formats**: JPEG, PNG -- **Max Resolution**: 4096x4096 pixels -- **Processing Time**: < 2 seconds per image (on recommended hardware) - -### Camera Support -- **MJPEG Streams**: HTTP/HTTPS streaming -- **Device Camera**: All standard Android cameras -- **Resolution**: Auto-adjusted based on device capabilities - -## 🔐 Security & Privacy - -- ✅ All processing done on-device (no cloud upload) -- ✅ Camera permissions requested at runtime -- ✅ Optional Google Calendar integration -- ✅ No telemetry or analytics tracking -- ✅ Images stored locally only - -## 📝 Version History - -### v1.0.0 (2025-10-18) -- ✨ Initial release -- ✅ YOLO bullet detection -- ✅ MJPEG streaming support -- ✅ Phone camera integration -- ✅ Calendar integration -- ✅ Multi-language support -- ✅ iOS support configured -- 🐛 Fixed filter application on error screens -- 🐛 Fixed zoom on error states -- 🐛 Removed duplicate calendar badges - -## 🛠️ Troubleshooting - -### Camera Stream Not Connecting -- Check camera URL format: `http://IP:PORT/video` -- Ensure camera is on same network -- Verify `usesCleartextTraffic="true"` in AndroidManifest.xml - -### Detection Not Working -- Ensure good lighting conditions -- Clean camera lens -- Target should fill at least 50% of frame -- Check that YOLO model is included in assets - -### Performance Issues -- Close other apps to free RAM -- Reduce image resolution in settings -- Disable unnecessary features (filters, calendar sync) - -## 💻 Development Info - -Built with: -- **Flutter**: 3.29.3 -- **Dart**: 3.3.0+ -- **Android SDK**: 36.0.0 -- **Min SDK**: 21 (Android 5.0) -- **Target SDK**: 35 (Android 15) - -## 📧 Support - -For issues, questions, or feature requests: -- Create an issue in the project repository -- Contact: [Your contact information] - -## 📄 License - -Copyright © 2025. All rights reserved. - ---- - -🤖 Built with [Claude Code](https://claude.com/claude-code) diff --git a/SDK_v1.0.0/android/SDKMUTA_V1.0.0.apk b/SDK_v1.0.0/android/SDKMUTA_V1.0.0.apk deleted file mode 100644 index e18b260..0000000 Binary files a/SDK_v1.0.0/android/SDKMUTA_V1.0.0.apk and /dev/null differ diff --git a/SDK_v1.0.0/android/app-release.aab b/SDK_v1.0.0/android/app-release.aab deleted file mode 100644 index 08b70d2..0000000 Binary files a/SDK_v1.0.0/android/app-release.aab and /dev/null differ diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 61624c1..ef27da9 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -27,7 +27,7 @@ android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" - android:windowSoftInputMode="adjustResize"> + android:windowSoftInputMode="adjustPan">