ifp_detector 1.0.7
ifp_detector: ^1.0.7 copied to clipboard
Detect Interactive Flat Panels (IFPs) vs tablets on Android. Analyze screen size, brand, hardware features, and stylus support with confidence scoring for licensing and feature control.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.7 - 2025-01-13 #
Enhanced #
- Increased HDMI CEC Detection Weight: HDMI CEC confidence contribution increased from 0.25 to 0.4 for stronger IFP classification
- Added KTC Brand Support: KTC added to known IFP manufacturers list for better device recognition
- Improved Algorithm Sensitivity: Enhanced detection for professional display hardware features
Changed #
- HDMI CEC now provides stronger confidence boost for IFP detection
- KTC devices now properly recognized as Interactive Flat Panels
1.0.6 - 2025-01-13 #
Added #
- Confidence Level Explanation: Added detailed explanation in example app UI explaining what different confidence levels mean
- User Education: Clear guidance that 0% confidence for tablets indicates correct classification
Improved #
- Better user understanding of confidence scoring system
- More inclusive explanation text (removed Samsung-specific references)
1.0.5 - 2025-01-13 #
Fixed #
- Samsung Tablet Misclassification: Fixed issue where 12-inch Samsung tablets were incorrectly detected as IFPs
- Tablet Exclusion Logic: Added robust tablet manufacturer detection and penalty system
- Enhanced Brand Detection: Improved logic to distinguish between tablets and IFPs for medium-sized devices
Enhanced #
- Added
TABLET_MANUFACTURERS
list to explicitly identify known tablet brands - Implemented confidence penalty (-0.4) for likely tablets under 15 inches
- Strengthened requirements for 13-20" IFP classification
1.0.4 - 2025-01-13 #
Improved #
- Confidence Scoring Refinement: Better calibration of confidence levels for edge cases
- Algorithm Optimization: Enhanced detection logic for medium-sized devices
1.0.3 - 2025-01-13 #
1.0.2 - 2025-01-13 #
Fixed #
- Build System: Resolved Android Gradle Plugin compatibility issues
- Test Coverage: Fixed unit test failures and mocking issues
- Package Structure: Corrected plugin structure and naming conventions
1.0.1 - 2025-01-02 #
Fixed #
- Fixed gradle configuration error that prevented plugin from building properly
- Removed problematic
evaluationDependsOn(":app")
line from android/build.gradle
1.0.0 - 2025-01-02 #
Added #
- Initial release of IFP Detector plugin
- Device Type Detection: Accurately distinguish between Interactive Flat Panels (IFPs) and regular tablets
- Multi-factor Analysis:
- Screen size analysis (≥20" diagonal = IFP indicator)
- Known IFP brand detection (Promethean, Newline, ViewSonic, etc.)
- Hardware feature detection (HDMI CEC, stylus support)
- Android TV/Leanback detection
- Confidence Scoring: 0.0-1.0 confidence score with human-readable levels
- Comprehensive Device Info: Screen size, brand detection, hardware features
- Android-only Support: Optimized for Android tablet/IFP detection
Technical Features #
- Native Android implementation in Kotlin
- Flutter plugin architecture using MethodChannel
- Extensive unit tests with 100% coverage
- Support for 19+ known IFP manufacturers
- Screen size calculation using DisplayMetrics
- Hardware feature detection via PackageManager
API Methods #
IfpDetector.isIfp()
- Simple boolean detectionIfpDetector.detectIfp()
- Detailed analysis with IfpDetectionResult
Detection Algorithms #
- Screen size threshold analysis
- Brand name pattern matching
- HDMI CEC capability detection
- Stylus/pen input support detection
- Android TV/Leanback feature detection
- Multi-factor confidence calculation
Platform Support #
- ✅ Android (API level 21+)
- ❌ iOS (not implemented)
- ❌ Web (not applicable)
- ❌ Desktop (not implemented)
Use Cases #
- Software licensing differentiation between IFPs and tablets
- Feature availability control based on device type
- UI adaptation for large display optimization
- Analytics and usage tracking across device types