Skip to content

UPDATE ON : Add Smart Reminder System with Voice Commands and Push Notifications #2#32

Open
ishita051 wants to merge 3 commits into
A-Akhil:mainfrom
ishita051:main
Open

UPDATE ON : Add Smart Reminder System with Voice Commands and Push Notifications #2#32
ishita051 wants to merge 3 commits into
A-Akhil:mainfrom
ishita051:main

Conversation

@ishita051

Copy link
Copy Markdown

Summary of Changes
Database Schema Update: The MemoryFact entity has been extended to support reminders.

Voice Pattern Recognition: New regex patterns have been added to MemoryManager to detect and parse natural language reminder commands.

Time Parsing: A placeholder TimeParser has been implemented to handle various time expressions (e.g., "in 30 minutes," "at 5 PM").

Background Scheduling: Reminders are scheduled using AlarmManager and handled by a ReminderService and ReminderReceiver to ensure they are triggered even when the app is not running.

UI Enhancements: The memory management UI now displays reminders and allows users to mark them as complete

@ishita051

Copy link
Copy Markdown
Author

hi @A-Akhil can you please add the level label for gssoc tracking if possible?

@Navdeep-lab

Copy link
Copy Markdown
Collaborator

Hi @ishita051... Did you thoroughly check every change to make sure there were no bugs?

@ishita051

Copy link
Copy Markdown
Author

@Navdeep-lab Hello ,I have done my best to check every change and ensure the new reminder feature is integrated carefully. It is designed to work with the existing application without breaking any current functionality. I acknowledge that unforeseen bugs can sometimes appear with new features, but I have been as thorough as possible. Please let me know if any bugs are faced.

@Navdeep-lab

Copy link
Copy Markdown
Collaborator

@ishita051 Can you please send me the output you are obtaining so i can proceed with merging?

@A-Akhil A-Akhil requested a review from Copilot August 4, 2025 05:26

Copilot AI left a comment

Copy link
Copy Markdown

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 a smart reminder system that enables the AI secretary to detect voice commands for reminders and schedule them with background notifications. The implementation extends the existing memory management system to support reminder functionality with natural language processing.

  • Extends the MemoryFact entity to include reminder-specific fields (isReminder, reminderTime, isCompleted, reminderType)
  • Adds regex patterns to detect natural language reminder commands in voice input
  • Configures Android manifest for background reminder services and required permissions

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
MemoryFact.kt Extends data model with reminder fields to support scheduling and tracking
MemoryManager.kt Adds regex patterns for parsing natural language reminder commands
AndroidManifest.xml Registers reminder service/receiver and adds permissions for notifications

val isReminder: Boolean = false,
val reminderTime: Long? = null,
val isCompleted: Boolean = false,
val reminderType: String? = null

Copilot AI Aug 4, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using a nullable String for reminderType allows arbitrary values and provides no type safety. Consider using an enum class to define valid reminder types (e.g., TASK, APPOINTMENT, MEDICATION) for better API design and validation.

Suggested change
val reminderType: String? = null
val reminderType: ReminderType? = null

Copilot uses AI. Check for mistakes.
Pattern.compile("(?i)remind me (?:at|in) (.+?) to (.+)"),
Pattern.compile("(?i)set reminder (?:for|at) (.+?) (?:to|for) (.+)"),
Pattern.compile("(?i)alert me (?:at|in) (.+?) about (.+)"),
Pattern.compile("(?i)remind me (.+?) (?:to|for) (.+)"),

Copilot AI Aug 4, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This regex pattern is ambiguous as it doesn't capture time information, unlike the other patterns. The (.+?) capture group will match any text, potentially causing incorrect parsing when time expressions are present. Consider making this pattern more specific or removing it to avoid conflicts with other patterns.

Suggested change
Pattern.compile("(?i)remind me (.+?) (?:to|for) (.+)"),
// Pattern.compile("(?i)remind me (.+?) (?:to|for) (.+)"), // Removed due to ambiguity

Copilot uses AI. Check for mistakes.
@A-Akhil

A-Akhil commented Aug 4, 2025

Copy link
Copy Markdown
Owner

@ishita051 kindly review this comments by copilot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants