Logo Lanfrica

yarie4481/amharic-caller-announcer

Domaine:

natural language processing

Type de record:

software
Créateur:
yar
Hôte:
📞 Caller Announcer (Flutter + Kotlin) Caller Announcer is a Flutter app that automatically announces incoming calls in Amharic using Android Text-to-Speech (TTS). It can speak the caller’s name if the contact exists or read the phone number digit by digit if unknown. 🚀 Features 🔊 Announces incoming calls in Amharic 👤 Reads contact names (if saved in Contacts) 🔢 Speaks phone numbers digit by digit 🗣️ Uses Android Text-to-Speech (TTS) 🔐 Handles permissions automatically ⚙️ Built with Flutter (Frontend) and Kotlin (Native Android Integration) 🎛️ Simple UI for testing and checking service status 🧩 Project Structure caller_announcer/ ├── lib/ │ └── main.dart # Flutter UI + MethodChannel calls └── android/ └── app/src/main/kotlin/com/example/caller_announcer/ └── MainActivity.kt # Kotlin code for TTS + Call detection 🖥️ Flutter UI Overview (main.dart) The Flutter app provides a simple control interface with: Status indicators – Service active/inactive, permissions granted/required Last caller info – Displays the last announced number or contact Test Announcement button – Manually trigger a test announcement Check Status button – Refresh TTS and permission status Information card – Shows how the app works Flutter communicates with Kotlin using a MethodChannel named: static const platform = MethodChannel('caller_announcer'); Available Methods announceCaller → Announces a given number or contact name checkTTS → Checks if Text-to-Speech is initialized and ready ⚙️ Android Integration (MainActivity.kt) The Kotlin code handles: Permission requests READ_PHONE_STATE READ_CONTACTS READ_CALL_LOG (Android Q+) Text-to-Speech (TTS) Initializes in Amharic (Locale("am", "ET")) Falls back to English if Amharic data is missing Prompts user to install Amharic voice data if needed Call detection Listens to phone state changes via TelephonyManager When a call is RINGING: Gets caller name (if in contacts) Speaks name or phone number in Amharic Handles “no …