When the phone receives a call, the app looks up the number in contacts. It prioritizes the morse message as follows: Nickname, Contact name, Phone number, "Unknown". It then sends the morse message as a ringtone.
Highly configurable, separate dot and dash playback frequencies and durations, along with gap durations.
For Morse Ringer to work, it needs to act as the phone's call screening service. This allows it to receive the number of the caller. It uses the READ_PHONE_STATE to know when to start and stop the Morse Ringtone, and READ_CONTACTS to look up the caller's name.