Skip to content

Detailed reminder screen option#875

Merged
Crustack merged 8 commits intoCrustack:mainfrom
ulibte:detailed-reminder-screen
Mar 1, 2026
Merged

Detailed reminder screen option#875
Crustack merged 8 commits intoCrustack:mainfrom
ulibte:detailed-reminder-screen

Conversation

@ulibte
Copy link
Copy Markdown
Contributor

@ulibte ulibte commented Feb 27, 2026

I like the way Base Notes look, so I wanted the Reminders screen to look like that. However, since I didn't want to just change the screen's appearance for everyone, I created an options menu where you can enable the Base Note style on the Reminders screen.
I also changed the location of the reminders filter to the options menu, if you don't mind.

2026-02-27.02-18-31.mp4

Summary by CodeRabbit

  • New Features

    • Live feed of notes that contain reminders now available.
    • New reminder filter modes: All, Upcoming, Elapsed.
  • UI

    • Compact reminder filter control added to notes screen.
    • Reminder chips show a repetition indicator and a secondary action icon.
    • Reminders screen simplified and driven by observable data for smoother, real-time updates.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Feb 27, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • ✅ Review completed - (🔄 Check again to review again)

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 81c2e70 and 3a19f2f.

📒 Files selected for processing (1)
  • app/src/main/java/com/philkes/notallyx/presentation/viewmodel/BaseNoteModel.kt

📝 Walkthrough

Walkthrough

Adds DAO method and ViewModel observable for notes with reminders; refactors RemindersFragment to a NotallyFragment with observable-driven filtering; updates layouts to expose a ReminderFilter and chip close-icon attributes; adds repetition drawable and ViewHolder logic to show repetition state.

Changes

Cohort / File(s) Summary
DAO
app/src/main/java/com/philkes/notallyx/data/dao/BaseNoteDao.kt
Adds getAllBaseNotesWithReminders(): LiveData<List<BaseNote>> returning BaseNote rows whose reminders is non-null and non-empty.
ViewModel
app/src/main/java/com/philkes/notallyx/presentation/viewmodel/BaseNoteModel.kt
Adds public reminderNotes: Content? and initializes/observes it via getAllBaseNotesWithReminders() to surface reminder-backed notes.
Fragment / UX Logic
app/src/main/java/com/philkes/notallyx/presentation/activity/main/fragment/RemindersFragment.kt, app/src/main/res/navigation/navigation.xml
Refactors RemindersFragment to extend NotallyFragment; introduces FilterOptions (ALL, UPCOMING, ELAPSED), applyFilter() and observable-backed list state; expands reminders fragment tag in navigation XML.
Layouts — Notes / Reminders
app/src/main/res/layout/fragment_reminders.xml, app/src/main/res/layout/fragment_notes.xml, app/src/main/res/layout/recycler_base_note.xml
Removes fragment_reminders.xml; adds ReminderFilter ChipGroup (all, elapsed, upcoming) into fragment_notes.xml and re-anchors main list; updates recycler_base_note.xml to add chip attributes (textEndPadding, closeIconVisible, closeIcon, closeIconSize) for reminder chip.
ViewHolder & Asset
app/src/main/java/com/philkes/notallyx/presentation/view/main/BaseNoteVH.kt, app/src/main/res/drawable/repetition.xml
Adds haveAnyRepetition(reminders) helper and toggles reminder chip close-icon visibility and background; adds repetition.xml vector drawable used as the chip close icon.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant RemindersFragment
    participant BaseNoteModel
    participant BaseNoteDao
    participant UI as RecyclerView/Adapter

    User->>RemindersFragment: open screen / change filter
    RemindersFragment->>BaseNoteModel: observe reminderNotes LiveData
    BaseNoteModel->>BaseNoteDao: getAllBaseNotesWithReminders()
    BaseNoteDao-->>BaseNoteModel: LiveData<List<BaseNote>>
    BaseNoteModel-->>RemindersFragment: reminderNotes update
    RemindersFragment->>RemindersFragment: applyFilter(FilterOptions)
    RemindersFragment->>UI: post filtered Item list
    UI-->>User: render filtered reminders
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Suggested labels

enhancement, v7.9.0

Poem

🐇 I hop through code and find a clue,
Chips that whisper "remind" and view anew,
LiveData springs, filters take their part,
A tiny icon beats like a heart,
I bound away—another feature true!

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'Detailed reminder screen option' is vague and does not clearly convey the main changes, which involve refactoring the Reminders fragment to use BaseNoteVH styling and moving filters to a filter UI. Consider a more descriptive title such as 'Refactor Reminders screen to use BaseNote-style list view' or 'Add BaseNote styling option to Reminders fragment with filter UI'.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

coderabbitai[bot]

This comment was marked as outdated.

@Crustack
Copy link
Copy Markdown
Owner

Hi, thanks for your suggestions 🙂
But I am not a huge fan of these changes:

  • Most people complain if some option/setting is hidden behind to many "clicks", and since I dont see how the All, Upcoming and Elapsed chips take up much vertical space, I'd like to keep it that way

  • I dont really see the point of displaying the reminders as BaseNote's, this view is only for quickly checking what reminders are configured and it should be focused on that instead of "just another" Notes list view

@ulibte
Copy link
Copy Markdown
Contributor Author

ulibte commented Feb 27, 2026

Thanks for the response! 😆
After reading your response, I think you're 100% right about the filters being hidden behind too many clicks.
About the BaseNote view: I personally really like how Google Keep handles the reminders screen (basically a list of notes that have a reminder), but I respect your vision for the app. However, if you don't mind, I'd still like to improve the current reminders screen.

I have two main issues with the current screen:

  1. It only shows the title, and I (like many users) often don't put titles on my notes; I just write the content and set a reminder.
  2. I'd like to see on the list exactly when the reminder will trigger or when it was triggered. Right now, a list of just titles feels a bit limited.

Feel free to reject this Pull Request for now. I can do these improvements and create a new pull request later if you don't mind.
Please let me know what you think 😁

@Crustack
Copy link
Copy Markdown
Owner

Thanks for the response! 😆 After reading your response, I think you're 100% right about the filters being hidden behind too many clicks. About the BaseNote view: I personally really like how Google Keep handles the reminders screen (basically a list of notes that have a reminder), but I respect your vision for the app. However, if you don't mind, I'd still like to improve the current reminders screen.

I have two main issues with the current screen:

  1. It only shows the title, and I (like many users) often don't put titles on my notes; I just write the content and set a reminder.
  2. I'd like to see on the list exactly when the reminder will trigger or when it was triggered. Right now, a list of just titles feels a bit limited.

Feel free to reject this Pull Request for now. I can do these improvements and create a new pull request later if you don't mind. Please let me know what you think 😁

I just had a look into Google Keep after some time again, and yes I understand that it might be more useful to display the actual notes where reminders are set. I guess in that case the Reminders view is just more like a filter of notes that have reminders, which I can see why that would be useful.
Since I personally dont use reminders much I am not personally attached to anything in this view, I just like to keep things simple, and maybe its more convenient for the user in general to have the same UI feel when it comes to displaying information about notes.

So I think you can change the Reminders List View to use BaseNoteVH as you proposed, and also we dont need an option to toggle back to the old view, I think it would be unneccessary.
One more thing I noticed in Google Keep, when a reminder is recurring (or in NotallyX has a "repetition") a small icon "🔁" is shown next to the next notification time, maybe you can add that as well.

Added a repetition icon to the ReminderChip when the note have any recurring reminder.
coderabbitai[bot]

This comment was marked as outdated.

…BaseNoteVH.kt

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@ulibte
Copy link
Copy Markdown
Contributor Author

ulibte commented Mar 1, 2026

2026-02-28.21-54-18.mp4

@Crustack
Copy link
Copy Markdown
Owner

Crustack commented Mar 1, 2026

2026-02-28.21-54-18.mp4

Looks good, just the "🔁" looks a bit out of place somehow, but I think this is because the chip has no background
In Google Keep it looks like this:

Google Keep Reminder

The grey background makes it look smoother

Also please rebase onto or merge the current main branch into your feature branch to be able to merge the PR

@ulibte
Copy link
Copy Markdown
Contributor Author

ulibte commented Mar 1, 2026

Sorry, I forgot to fix the conflicts, but I think they're fixed now

@Crustack
Copy link
Copy Markdown
Owner

Crustack commented Mar 1, 2026

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 1, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@Crustack Crustack merged commit fb845b6 into Crustack:main Mar 1, 2026
1 check passed
@Crustack Crustack added enhancement New feature or request v7.9.0 labels Mar 1, 2026
@ulibte ulibte deleted the detailed-reminder-screen branch March 1, 2026 17:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request v7.9.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants