ifp_detector 1.0.1
ifp_detector: ^1.0.1 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.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