-
Notifications
You must be signed in to change notification settings - Fork 71
DROID-4148 Space Settings | Per-chat object notification customization #2880
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DROID-4148 Space Settings | Per-chat object notification customization #2880
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements per-chat object notification customization, allowing users to set notification preferences for individual chats that differ from the space-wide default. Users can view chats with custom notification states and reset them to use the space default setting.
Key changes:
- Added
ChatNotificationItemdata model andOnResetChatNotificationevent for managing chat-specific notification states - Implemented subscription logic in
SpaceSettingsViewModelto track and filter chats with custom notification settings - Enhanced the notification preferences bottom sheet to display and manage chat-specific notification overrides
- Updated notification string resources for clearer messaging ("All new messages" vs "All activity", "Nothing" vs "Disable notifications")
Reviewed Changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| presentation/src/main/java/com/anytypeio/anytype/presentation/spaces/UiState.kt | Added ChatNotificationItem data class to represent chats with custom notification states |
| presentation/src/main/java/com/anytypeio/anytype/presentation/spaces/UiEvent.kt | Added OnResetChatNotification event for resetting chat notifications to space defaults |
| presentation/src/main/java/com/anytypeio/anytype/presentation/spaces/SpaceSettingsViewModel.kt | Implemented subscription logic for chats with custom notifications, added lifecycle methods, and reset functionality; removed unused dependencies |
| localization/src/main/res/values/strings.xml | Updated notification preference strings for clarity and added new strings for chat-specific notifications section |
| feature-ui-settings/src/main/java/com/anytypeio/anytype/ui_settings/space/new_settings/NotificationsPreferenceSheet.kt | Converted to LazyColumn layout and added chat-specific notifications section with reset functionality |
| feature-ui-settings/src/main/java/com/anytypeio/anytype/ui_settings/space/new_settings/NewSettings.kt | Added chatsWithCustomNotifications parameter and updated event handling for notification sheet |
| feature-ui-settings/src/main/java/com/anytypeio/anytype/ui_settings/space/new_settings/Previews.kt | Updated preview with empty chat notifications list |
| core-ui/src/main/res/drawable/ic_notification_status_clear_24.xml | Added new icon drawable for clearing/resetting notification settings |
| app/src/main/java/com/anytypeio/anytype/ui/settings/space/SpaceSettingsFragment.kt | Integrated lifecycle methods and passed chat notifications state to UI |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Description
What type of PR is this? (check all applicable)
Related Tickets & Documents
Mobile & Desktop Screenshots/Recordings
Added tests?
Added to documentation?
[optional] Are there any post-deployment tasks we need to perform?