Releases: ZebraDevs/AI-Java-MultiBarcodesCapture
QR Code Setup & Enhanced Docker Deployment
🚀 AI MultiBarcode Capture v1.24 - Enterprise QR Code Configuration
QR Code Setup & Enhanced Docker Deployment
Version 1.24 introduces game-changing QR Code endpoint configuration that transforms enterprise deployment from complex manual setup to simple one-scan configuration.
🎯 What's New
📱 QR Code Endpoint Configuration
- Zero-Typing Setup: Scan QR codes from your WMS to instantly configure endpoints
- Eliminate Configuration Errors: No more manual URL entry mistakes
- Enterprise Ready: Deploy across hundreds of devices in minutes, not hours
- DataWedge Integration: Built-in QR code scanning directly in app settings
🐳 Unified Docker Container
- Single Container Deployment: Apache+PHP, MySQL, and phpMyAdmin in one container
- Simplified Management: One container to rule them all
- Cross-Platform Scripts:
start-services.bat(Windows) andstart-services.sh(Linux/macOS) - Production Ready: Enhanced monitoring and persistent data storage
🌐 Enhanced Web Management System
- Built-in QR Code Generator: Generate configuration QR codes directly from WMS
- Improved Real-Time Monitoring: Better session tracking and device management
- Responsive Design: Enhanced mobile and desktop compatibility
🔧 How QR Code Configuration Works
- WMS Side: Open web interface → Navigate to Endpoint section → Click QR Code button
- Android Side: Open app settings → Point camera at QR code → Automatic configuration
- Done: Toast confirmation and endpoint field populated instantly
QR Code Format: AIMultiBarcodeEndpoint:http://your-server:3500/api/barcodes.php
🚦 Key Benefits
| Benefit | Impact |
|---|---|
| 🚀 Instant Setup | Configure devices in seconds vs. minutes |
| ❌ Zero Errors | Eliminate manual URL entry mistakes |
| 📈 Scalable | Deploy across enterprise fleets effortlessly |
| 🛡️ Secure | Validated endpoint configuration |
| 🔧 Simple IT | Single Docker container management |
Enhanced Session Management
🚀 AI MultiBarcode Capture v1.22 - Enhanced Session Management
📁 Advanced Folder Operations & Smart UI
We're excited to announce version 1.22 with significant improvements to session file management and user
experience!
✨ What's New
🔸 Folder Long Press Selection - Select folders with a simple long press (500ms) for rename and delete
operations
🔸 Context-Sensitive UI - Smart buttons that only appear when relevant (Select/Share buttons hidden for
folders)
🔸 Dynamic Menu System - Rename and Delete options automatically show/hide based on your selection
🔸 Enhanced Touch Experience - Intelligent gesture handling with haptic feedback and accidental selection
prevention
🔸 Complete Internationalization - All new features fully translated across 72 languages
🛠️ Technical Improvements
- Advanced long press detection with movement cancellation
- Real-time UI updates through selection state callbacks
- Separate file/folder operation handling for better reliability
- Fixed translation automation system for future updates
- Maintained 100% translation coverage (14,184+ translations)
🎯 User Experience
The session management system now provides intuitive folder operations while maintaining smart UI behavior that
adapts to your selection context. Whether you're managing session files or organizing folders, the interface
responds intelligently to provide exactly the options you need.
🚀 AI MultiBarcode Capture v1.21
Note: There is a typo error in the name of the application. This has been fixed and will be effective for the next release.
✨ New Features
- Advanced AI Engine Settings: Configure camera resolution, model input size, and inference processor type for
optimal performance - Enhanced Settings Management: Added comprehensive managed configuration support with administrator override
capabilities - Improved Symbology Selection: Updated fold/unfold mechanism with better visual indicators for barcode type
selection
🌐 Internationalization
- Expanded Language Support: Added Arabic (ar), Bengali (bn), and Dutch (nl) translations
- Translation Quality Improvements: Fixed XML encoding issues and escape sequences across all supported languages
- Accessibility Enhancement: Improved text sizing for launcher cards to better accommodate longer translations
🔧 Technical Improvements
- Build System: Resolved XML compilation errors and improved resource processing
- Configuration Management: Enhanced preference handling for advanced AI engine settings
- Code Quality: Updated documentation and improved code structure
🎯 Performance & Usability
- Adaptive AI Processing: Choose between DSP, GPU, or CPU inference based on device capabilities
- Resolution Optimization: Select camera resolution (1MP to 8MP) and model input size (640x640 to 1600x1600) to
balance speed vs accuracy - Better User Experience: Improved settings interface with clear descriptions and recommendations
📱 Device Compatibility
- Target SDK: Updated to Android 14+ (API 35)
- Minimum SDK: Android 14+ (API 35)
- Hardware Support: Enhanced support for various processor types and camera configurations
🛠️ Bug Fixes
- Fixed translation encoding issues preventing successful builds
- Resolved XML escape sequence problems across multiple language files
- Improved managed configuration persistence and application
Download the APK from the release assets below and enjoy enhanced barcode capture capabilities with improved AI
performance tuning!
Added 71+ language support
Added to Version 1.20 section:
- Comprehensive language selection system with 71+ language support
- Native language names with Unicode flag emojis
- Validation-based language switching (changes apply only on confirmation)
- Complete string externalization with translations for all supported languages
- Persistent language preferences that survive app restarts
- Full application restart mechanism for proper locale switching
- Custom dropdown styling with white background and zebra blue outline
- Improved settings UI with button reordering
- Comprehensive locale management through LocaleHelper utility
- Enhanced user experience with explicit validation requirements
Implement flashlight state persistence with camera timing fix
Add comprehensive flashlight state persistence functionality to maintain flashlight on/off state across app
sessions and activity lifecycle events.
Key Changes:
• Add flashlight preference constants and helper methods in Constants.java and PreferencesHelper.java
• Implement automatic state saving when flashlight is toggled via toggleFlashlight() method
• Add loadFlashlightSettings() method with detailed logging for state restoration debugging
• Fix critical timing issue by moving flashlight restoration from onResume() to bindPreviewUseCase()
• Ensure flashlight state loads after camera is properly bound and flash unit is available
• Add comprehensive debug logging throughout save/restore operations for troubleshooting
Technical Details:
• Flashlight state now persists in SharedPreferences using SHARED_PREFERENCES_FLASHLIGHT_ENABLED key
• State restoration occurs after camera.bindToLifecycle() completes to ensure flash unit availability
• Enhanced error handling and logging for camera torch operations and preference access
• Maintains consistent behavior with existing capture zone persistence patterns
Result: Flashlight toggle state now properly persists across app restarts, activity pauses, and navigation events,
providing seamless user experience with maintained lighting preferences.
Implement interactive capture zone with barcode filtering
Implement interactive capture zone with barcode filtering
Add a complete capture zone system that allows users to define a rectangular area for focused barcode scanning:
• Interactive capture zone overlay with drag, resize, and corner anchor controls
• Visual toggle icon in top-right corner with enabled/disabled states using alpha transparency
• Real-time barcode filtering - only process barcodes within the capture zone boundaries
• Persistent settings that save zone position, size, and enabled state across app sessions
• Comprehensive capture data filtering - only capture barcodes within the defined zone
• Force portrait mode across entire application for consistent user experience
• Enhanced logging and error handling for capture zone operations
The capture zone provides users with precise control over barcode detection, allowing them to focus on specific areas of the camera view while ignoring barcodes outside the defined region. When enabled, both the real-time preview and final capture results only include barcodes that intersect with the capture zone.
Improved Launcher menu, Fixed row delete in Session Viewer
Fix SessionViewerActivity delete functionality and update app version
- Fixed critical bug in SessionViewerActivity where delete icon tap failed to remove rows
- Added key field to DisplayBarcodeData class for proper SessionData map removal
- Updated removeItem method to use barcode.key instead of barcode.value for map operations
- Incremented app version to reflect the bug fix
Improved card management in the launcher activity.
Fixed Sharing Functionality
Sharing was broken, this release fixes the functionality.
🎨 MAJOR UI/UX TRANSFORMATION
🎨 MAJOR UI/UX TRANSFORMATION
- Complete EntryChoiceActivity Redesign (Commit 85c4cbc)
Visual Design Overhaul:
- Before: Traditional vertical button layout
- After: Modern 2x2 grid of interactive cards with icons
New Components Created:
- 4 Custom Vector Icons (64dp each):
- ic_start_capture.xml - Play button for capture initiation
- ic_load_session.xml - Document with downward arrow
- ic_create_new_session.xml - Document with upward arrow
- ic_view_session_data.xml - Eye icon for viewing data
- Modern Card System:
- modern_card_background.xml - White background with Zebra blue border, 16dp rounded corners
- modern_card_selector.xml - Ripple effect for touch feedback
Enhanced User Experience:
- Visual States: 50% opacity for disabled cards, full opacity when enabled
- Touch Feedback: Material Design ripple effects
- Dynamic Sizing: Cards adapt to screen dimensions
- Accessibility: Larger touch targets (minimum 48dp)
- Menu Icon System Implementation (Commit 29ef9c7)
Menu Enhancement:
- EntryChoiceActivity Menu:
- ic_menu_manage_sessions.xml - Folder with document lines
- ic_menu_settings.xml - Gear/cog icon
- BrowserActivity Menu:
- ic_menu_new_file.xml - Document with plus sign
- ic_menu_new_folder.xml - Folder with plus sign
- ic_menu_rename.xml - Bracket-style editing icon
- ic_delete_blue_24dp.xml - Delete icon in Zebra blue
Technical Implementation:
- PopupMenu Icon Display: Added reflection-based code to force icon visibility
- Cross-Platform Compatibility: Graceful fallback if reflection fails
- Brand Consistency: All icons use Zebra color scheme (@color/zebra)
Auto-sizing Text Implementation:
- txtSession TextView enhanced with:
- android:autoSizeTextType="uniform"
- Min size: 10sp, Max size: 18sp, Step: 1sp
- Fixed height: 70dp with 5dp padding
- 4-line maximum with centered text
- Dynamic font scaling based on content length
User Experience Impact:
- Short text (e.g., "Select A Session") displays at ~18sp (large, prominent)
- Long file paths automatically scale down to remain readable
- Very long paths scale to minimum 10sp while staying within bounds
📱 USER WORKFLOW IMPROVEMENTS
Session Management Enhancements:
- Smart Button States:
- "View Session Data" only enabled when session file has content (length() > 0)
- "Start Capture" only enabled when valid session selected
- Real-time validation with user feedback - Error Handling:
- New string resources for file validation:- error_file_does_not_exist
- error_file_is_empty
- Graceful error messages with file path context
- CapturedBarcodes & SessionViewer Workflow:
- Merge button removal when data has been merged
- Improved state management across activity transitions
🎯 DESIGN SYSTEM CONSISTENCY
Brand Alignment:
- Zebra Blue (@color/zebra: #FF0073E6) used consistently across all new icons
- White backgrounds with blue outlines for visual hierarchy
- Material Design principles applied throughout
- 24dp standard for menu icons, 64dp for card icons
Responsive Design:
- Flexible layouts that adapt to different screen sizes
- Touch-friendly interaction areas (minimum 48dp)
- Consistent spacing with 24dp margins and 16dp internal padding
📊 Impact Summary
User Experience Gains:
- Modern Visual Appeal: Card-based design with proper visual hierarchy
- Improved Usability: Larger touch targets and clear visual feedback
- Better Information Architecture: Icons provide instant visual context
- Enhanced Accessibility: Auto-sizing text and proper contrast ratios
- Professional Polish: Consistent branding and Material Design compliance