momo_sms 0.1.0
momo_sms: ^0.1.0 copied to clipboard
Automatically detects and parses mobile money SMS transactions (M-PESA, Airtel Money, MIXX by YAS, HaloPesa). Zero-loss capture works even when the app is killed or backgrounded. Built for East African MNOs.
0.1.0 #
Added #
- Automatic SMS capture for all 4 Tanzanian MNOs: M-PESA (Vodacom), Airtel Money, MIXX by YAS (formerly Tigo Pesa), and HaloPesa (Halotel)
- 3-layer zero-loss delivery: live MethodChannel → WorkManager background worker → cold-start drain
- Room DB persistence on the Kotlin side before Flutter is touched — no SMS lost even if the app is killed mid-delivery
- Deduplication across all 3 delivery paths to prevent double-processing
MomoSms.initialize()withonTransactioncallback and optionaltransactionStreamMomoSms.drainPending()to recover SMS that arrived while the app was deadMomoSms.dispose()for clean shutdown on logout or app closeSmsPermissionService.setup()— requests READ_SMS, battery optimization exemption, and shows OEM-specific battery manager guidance in Swahili (Tecno/Infinix/Itel, Xiaomi/Redmi/POCO, Samsung)SmsPermissionService.healthCheck()— lightweight per-open permission check with a banner if permission was revokedTzProviderProfileAPI for adding custom provider profiles (local banks, SACCOs)additionalProfilesparameter onMomoSms.initialize()— custom profiles take priority over built-ins- Unit tests for all 4 MNO parsers covering incoming, outgoing, and edge cases