Skip to content

feat(reminders): threshold filters - #19156

Draft
ericli3690 wants to merge 1 commit into
ankidroid:mainfrom
ericli3690:ericli3690-review-reminders-new-lrn-rev
Draft

ericli3690 wants to merge 1 commit into
ankidroid:mainfrom
ericli3690:ericli3690-review-reminders-new-lrn-rev

Conversation

@ericli3690

@ericli3690 ericli3690 commented Aug 29, 2025 •

Copy link
Copy Markdown
Member

Purpose / Description

Add a group of new advanced review reminder options: count new cards, count cards in learning, and count cards in review. When the review reminder is about to send a notification and checks to see if the amount of cards in the deck is greater than the card trigger threshold, it examines these options to check if it should count and consider new cards, cards in learning, and cards in review.

Adds three new checkboxes to the AddEditReminderDialog to toggle these booleans on or off. Edits some logic in NotificationService to add up cards only from selected card type when determining whether the card trigger threshold is met.

Adds three new boolean fields to store the states of these settings to ReviewReminder. Adds unit tests.

UI

image

Fixes

Approach

One of the two planned review reminder advanced options! Just needs some extra checks when handling the Count objects.

How Has This Been Tested?

  • Unit tests pass.
  • Builds and runs on a physical Samsung S23, API 34.
  • Based on my own personal testing, it seems the feature works! I created a few review reminders, reviewed a few cards, etc.

Checklist

  • You have a descriptive commit message with a short title (first line, max 50 chars).
  • You have commented your code, particularly in hard-to-understand areas
  • You have performed a self-review of your own code
  • UI changes: include screenshots of all affected screens (in particular showing any new or changed strings)
  • UI Changes: You have tested your change using the Google Accessibility Scanner

@ericli3690 ericli3690 added Needs Review GSoC Pull requests authored by a Google Summer of Code participant [Candidate/Selected], for GSoC mentors Blocked by dependency Currently blocked by some other dependent / related change labels Aug 29, 2025
@ericli3690
ericli3690 force-pushed the ericli3690-review-reminders-new-lrn-rev branch from 1ca08cc to 0793e7a Compare September 5, 2025 21:46
@ericli3690
ericli3690 marked this pull request as draft September 5, 2025 22:56
@ericli3690
ericli3690 force-pushed the ericli3690-review-reminders-new-lrn-rev branch from 0793e7a to f2c9dde Compare September 6, 2025 05:01
@ericli3690
ericli3690 marked this pull request as ready for review September 6, 2025 05:21
@ericli3690

Copy link
Copy Markdown
Member Author
  • Rebased.

@ericli3690
ericli3690 force-pushed the ericli3690-review-reminders-new-lrn-rev branch 3 times, most recently from 5a3ddeb to a390cfb Compare September 7, 2025 17:20
@ericli3690

Copy link
Copy Markdown
Member Author
  • Rebased.

@ericli3690
ericli3690 force-pushed the ericli3690-review-reminders-new-lrn-rev branch from a390cfb to 9a53408 Compare September 9, 2025 04:49
@ericli3690

Copy link
Copy Markdown
Member Author
  • Rebased.

@ericli3690
ericli3690 force-pushed the ericli3690-review-reminders-new-lrn-rev branch from 9a53408 to ae683e5 Compare September 9, 2025 05:23
@ericli3690

Copy link
Copy Markdown
Member Author

Forgot to stage some code. Fixed.

@ericli3690
ericli3690 marked this pull request as draft September 26, 2025 04:11
@ericli3690
ericli3690 force-pushed the ericli3690-review-reminders-new-lrn-rev branch from ae683e5 to e128d8a Compare November 25, 2025 06:31
@ericli3690 ericli3690 removed Blocked by dependency Currently blocked by some other dependent / related change Has Conflicts labels Nov 25, 2025
@ericli3690
ericli3690 marked this pull request as ready for review November 25, 2025 06:58
@ericli3690

Copy link
Copy Markdown
Member Author

Rebased, fully unblocked, and ready for review!

GSoC 2025: Review Reminders

Add a group of new advanced review reminder options: count new cards, count cards in learning, and count cards in review. When the review reminder is about to send a notification and checks to see if the amount of cards in the deck is greater than the card trigger threshold, it examines these options to check if it should count and consider new cards, cards in learning, and cards in review.

Adds three new checkboxes to the AddEditReminderDialog to toggle these booleans on or off, with colored text for the corresponding review state boolean. Edits some logic in NotificationService to add up cards only from selected card type when determining whether the card trigger threshold is met.

Adds three new boolean fields to store the states of these settings to ReviewReminder. Adds unit tests. Modifies some unit test utilities for convenience.
@david-allison david-allison added the Needs Author Reply Waiting for a reply from the original author label Jan 19, 2026
@ericli3690

Copy link
Copy Markdown
Member Author

I've decided to keep the existing text ("Include [type] cards for card threshold") for now and will create an issue later to address possibly changing it to be more precise. I think that we should probably err on the side of verbosity to ensure users and translators understand what the string is supposed to mean. I've implemented making the text lowercase, too.

Due to #20163, we're putting this PR on hold until migrations on the main branch are stable. I'll also change this code to have the proper migration.

@ericli3690
ericli3690 marked this pull request as draft January 19, 2026 17:42
@bhavESH-CHAWLA

This comment was marked as resolved.

@ericli3690

Copy link
Copy Markdown
Member Author

Hi @bhavESH-CHAWLA ! Thanks for the offer, but I've got it under control -- I'm currently writing a new PR to improve the backend database file and then I'm planning to rebase this one on top of it.

Sorry but good luck! I know it can sometimes be hard to find an open issue to work on in this project haha

@bhavESH-CHAWLA

This comment was marked as resolved.

@github-actions

Copy link
Copy Markdown
Contributor

Hello 👋, this PR has had no activity for more than 2 weeks and needs a reply from the author. If you think this is a mistake please comment and ping a maintainer to get this merged ASAP! Thanks for contributing! You have 7 days until this gets closed automatically

@ericli3690

Copy link
Copy Markdown
Member Author

Working on a major refactor of the database! Then this guy will be rebased on top

@ericli3690

Copy link
Copy Markdown
Member Author

Blocked behind:

@github-actions github-actions Bot added the Stale label Mar 2, 2026
@ericli3690 ericli3690 removed the Stale label Mar 8, 2026
@github-actions github-actions Bot added the Stale label Mar 22, 2026
@david-allison david-allison added Blocked by dependency Currently blocked by some other dependent / related change and removed Needs Author Reply Waiting for a reply from the original author Stale labels Mar 22, 2026
@ankidroid ankidroid deleted a comment from github-actions Bot Mar 22, 2026
@ankidroid ankidroid deleted a comment from github-actions Bot Mar 22, 2026
@ericli3690 ericli3690 removed the Blocked by dependency Currently blocked by some other dependent / related change label Apr 13, 2026
@ericli3690

Copy link
Copy Markdown
Member Author

Dependency merged; will revise soon, please give me a few days.

@ericli3690 ericli3690 linked an issue Sep 6, 2026 that may be closed by this pull request
@ericli3690
ericli3690 force-pushed the ericli3690-review-reminders-new-lrn-rev branch from f4af44f to b21499c Compare September 20, 2026 02:51
@github-actions

Copy link
Copy Markdown
Contributor

Important

Maintainers: This PR contains Strings changes

  1. Sync Translations before merging this PR and wait for the action to complete
  2. Review and merge the auto-generated PR in order to sync all user-submitted translations
  3. Sync Translations again and merge the PR so the huge automated string changes caused by merging this PR are by themselves and easy to review

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

Labels

GSoC Pull requests authored by a Google Summer of Code participant [Candidate/Selected], for GSoC mentors Has Conflicts Strings

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

Review reminders: threshold filters

3 participants