$ show adamff-dev/spam-call-blocker-app
Spam Call Blocker is an Android application written in Kotlin that blocks unwanted incoming calls using a combination of local blocklists, pattern matching, and real-time checks against multiple online phone reputation services (UnknownPhone, Tellows, Truecaller, and regional directories). It registers a call screening service to intercept calls, evaluates them against user-defined rules and external APIs, and can block, mute, or answer-and-hangup spam calls. The app provides a full settings UI for managing blocked/whitelisted numbers, pattern-based blocking, API toggles, and export/import of configuration. It also includes a donation screen and automatic update checking via GitHub releases. The codebase is well-structured with clear separation of concerns, uses Kotlin coroutines for concurrent API checks, and supports multiple languages.
The LLM identified 2 files worth highlighting for reuse:
A self-contained utility object that provides methods to check phone number reputation via web scraping of multiple regional directories (ListaSpam, Telefono-Numero, Chi Chiama, Anrufer-Bewertung, Quem Me Ligue, UnknownPhone) and via APIs (Tellows, Truecaller). It encapsulates country-specific search URLs, HTML parsing with Jsoup, regex-based spam rating detection, and API request building with OkHttp. It also includes methods to report numbers to Tellows and Truecaller. This module could be extracted into a standalone library for phone number reputation checking, requiring only replacement of hardcoded API keys.
A simple, self-contained module that defines a CallLogEntry data class and a function to query the device's call log using the Android CallLog provider API. It filters for incoming, rejected, blocked, and missed calls, orders them by date descending, and returns a list of CallLogEntry objects. This pattern is reusable in any Android app that needs to read call logs, and demonstrates clean separation of data access logic.