ContactGrouper is an Android app that lets you organize your contacts into custom groups and assign unique ringtones to each group. When someone from a group calls you, their group's ringtone will play, allowing you to instantly recognize who's calling based on the sound.
- 📱 Organize Contacts: Create custom contact groups to organize your contacts by category (Family, Work, Friends, etc.)
- 🔔 Custom Ringtones: Assign a unique ringtone to each group for instant caller recognition
- 👥 Easy Management: Add, remove, and reassign contacts to groups with a simple UI
- 🎨 Visual Groups: Each group is displayed with a unique color for quick identification
- 🔄 Real-time Updates: Changes to group ringtones and memberships are applied immediately
- Navigate to the Groups tab
- Tap the + (Add) button in the bottom right corner
- Enter a Group Name (required)
- (Optional) Tap "Assign Ringtone" to select a custom ringtone for the group
- Choose from your device's available ringtones
- Tap "Change Ringtone" if you want to change it later
- Tap "Save" to create the group
- Navigate to the Contacts tab
- Long-press on a contact to enter selection mode
- Select one or more contacts
- Tap the "Assign to Group" button that appears
- Select one or more groups
- Tap "Assign"
- Navigate to the Contacts tab
- Tap on a contact to view their details
- Scroll down to the Group section
- If the contact is already in a group, you can tap the delete button to remove them
- To assign a contact to additional groups, use the add-to-group action in the contact detail
- Navigate to the Groups tab
- Tap on a group card to view its details
- You'll see:
- Group name with its color
- Member count showing how many contacts are in the group
- Ringtone currently assigned to the group
- List of all members in the group
- Navigate to the Groups tab
- Tap on a group to view its details
- Tap the ⋮ (Settings menu) button in the top right
- Select "Change Ringtone"
- Choose a new ringtone from the system ringtone picker
- The new ringtone is applied immediately to all contacts in the group
- Navigate to a Contact and tap to view details
- Find the Group section at the bottom
- Tap the delete icon next to the group name
- The contact is removed from the group and reverts to the default ringtone
- Navigate to the Groups tab
- Tap on a group to view its members
- Find the contact you want to remove in the member list
- Tap the delete icon next to their name
- The contact is removed from the group
- Navigate to the Groups tab
- Tap on the group you want to delete
- Tap the ⋮ (Settings menu) button in the top right
- Select "Delete Group"
- Confirm the warning dialog
- The group is deleted (contacts are not deleted, just unassigned)
- If the group is synced to device contacts, deleting it removes it from the whole device
- When a contact is assigned to one or more groups, the most recently assigned group with a ringtone controls the contact's ringtone
- Each contact can belong to multiple groups at the same time
- If the newest group has no ringtone, the app falls back to the next newest group that does
- If you change a group's ringtone, all contacts in that group automatically get the new ringtone
- If you remove a contact from a group, the custom ringtone is cleared and the contact reverts to the default system ringtone
- Deleting a group that is synced to the device removes it from the device's contact groups as well, and the app shows a confirmation dialog before doing that
- Built with: Android Jetpack Compose, Room Database, Kotlin
- Requires: Android 10 or higher
- Permissions: Contacts (READ/WRITE), Phone (to set ringtones)
✨ Pro Tips:
- Use distinct ringtones for different groups (e.g., upbeat for friends, professional tone for work)
- Create a "VIP" group for important contacts and assign a unique ringtone
- Change group ringtones seasonally or by occasion
- The color of each group is randomly generated - no need to worry about duplicates!
Potential features for future versions:
- Custom vibration patterns per group
- Notification LED colors per group
- Contact photos in group detail view
- Group messaging (send SMS to all members)
- Smart groups based on contact frequency
If you encounter any issues or have suggestions for improvements, please feel free to reach out!
Enjoy organizing your contacts! 📞✨