Callen is a production-ready Phone Dialer Android application built using Kotlin, XML, MVVM Architecture, and AdMob integration.
This project demonstrates how real Android system-style apps are structured including T9 search, call history management, runtime permissions, and modern UI design.
Perfect for:
• Resume projects
• Final year college submissions
• Hackathons
• Android portfolio
✔ Clean & modern dialer interface
✔ T9 dial pad with fast search functionality
✔ Complete call history screen
✔ Contacts list with quick actions
✔ Direct calling functionality
✔ Runtime permission handling
✔ Light & Dark theme support
✔ AdMob Banner Ads
✔ AdMob Interstitial Ads
✔ MVVM architecture with clean folder structure
✔ Production-style project organization
✔ App publishing preparation (Indus Appstore ready)
• Dial Pad Module
• Contacts Module
• Call History Module
• Permission Manager
• AdMob Integration Module
• Theme Manager
• MVVM Architecture
• Repository Pattern
• ViewModel + LiveData
• Clean code structure
• Modular folder setup
• Scalable Android design
• Kotlin
• XML
• Android Studio
• MVVM
• Firebase (Optional backend support if used)
• Google AdMob
CallenDialerApp/ │ ├── data/ ├── ui/ ├── viewmodel/ ├── repository/ ├── permissions/ ├── ads/ └── utils/
• CALL_PHONE permission
• READ_CONTACTS permission
• READ_CALL_LOG permission
• Runtime permission management
• Safe permission request flow
• Google AdMob Banner Ads
• Google AdMob Interstitial Ads
• Production-ready ad placement
• Release build generation
• SHA1 / SHA256 setup
• Signed APK / AAB preparation
• Indus Appstore publishing readiness
- Clone this repository
- Open in Android Studio
- Configure AdMob App ID
- Add required permissions in Manifest
- Sync Gradle
- Run on emulator or physical device
By building this project, you will learn:
• Android app development using Kotlin
• MVVM architecture implementation
• T9 search algorithm logic
• Runtime permission handling
• Call log & contacts management
• AdMob monetization integration
• Production-level Android app structure
Contributions are welcome to improve features and performance.
If you found this project helpful, please give it a star ⭐
