forked from quarck/CalendarNotification
-
Notifications
You must be signed in to change notification settings - Fork 1
feat: Upcoming events view readme #179
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
Open
williscool
wants to merge
1
commit into
master
Choose a base branch
from
cursor/upcoming-events-view-readme-24da
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
12 changes: 12 additions & 0 deletions
12
android/app/src/main/res/drawable/ic_help_outline_24dp.xml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <!-- Material icon: help_outline --> | ||
| <vector xmlns:android="http://schemas.android.com/apk/res/android" | ||
| android:width="24dp" | ||
| android:height="24dp" | ||
| android:viewportWidth="24" | ||
| android:viewportHeight="24" | ||
| android:tint="?attr/colorControlNormal"> | ||
| <path | ||
| android:fillColor="@android:color/white" | ||
| android:pathData="M11,18h2v-2h-2v2zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM12,6c-2.21,0 -4,1.79 -4,4h2c0,-1.1 0.9,-2 2,-2s2,0.9 2,2c0,2 -3,1.75 -3,5h2c0,-2.25 3,-2.5 3,-5 0,-2.21 -1.79,-4 -4,-4z"/> | ||
| </vector> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,123 @@ | ||
| # Upcoming Events View | ||
|
|
||
| See what's coming up on your calendar before notifications fire—so you can plan your day and never be surprised by imminent events. | ||
|
|
||
| ## Overview | ||
|
|
||
| The Upcoming Events view displays calendar events that are scheduled to fire reminders within a configurable lookahead window. This lets you: | ||
|
|
||
| - **See what's coming** - Preview your schedule before reminders fire | ||
| - **Plan ahead** - Know what meetings or events are approaching | ||
| - **Never be caught off guard** - No more "I forgot about that meeting in 5 minutes!" | ||
|
|
||
| Events appear in the Upcoming tab based on when their reminder is scheduled to fire, not the event start time. Once a reminder fires, the event moves to the Active tab. | ||
|
|
||
| ## How to Access | ||
|
|
||
| The app uses a bottom navigation bar with three tabs: | ||
|
|
||
| | Tab | Icon | Description | | ||
| |-----|------|-------------| | ||
| | **Active** | 🔔 | Events with fired reminders (notifications you've received) | | ||
| | **Upcoming** | ⏰ | Events with reminders scheduled to fire soon | | ||
| | **Dismissed** | 🗑️ | Events you've dismissed (the "Bin") | | ||
|
|
||
|  | ||
| *Bottom navigation showing the three tabs* | ||
|
|
||
| Tap the clock icon (⏰) to view upcoming events. | ||
|
|
||
| ## The Upcoming Tab | ||
|
|
||
|  | ||
| *The Upcoming tab showing events scheduled to fire within your lookahead window* | ||
|
|
||
| Events are sorted by alert time (when the reminder will fire). Each event card shows: | ||
| - Event title and time | ||
| - Calendar color indicator | ||
| - How long until the reminder fires | ||
|
|
||
| ## Configuring the Lookahead Window | ||
|
|
||
| You can customize how far ahead the app looks for upcoming events. Go to **Settings → Navigation & UI → Upcoming Events**. | ||
|
|
||
|  | ||
| *Configure how far ahead to show upcoming events* | ||
|
|
||
| ### Lookahead Modes | ||
|
|
||
| #### Fixed Hours (Default) | ||
|
|
||
| Shows events with reminders scheduled to fire within a fixed number of hours from now. | ||
|
|
||
| | Setting | What You'll See | | ||
| |---------|-----------------| | ||
| | 4 hours | Events firing in the next 4 hours | | ||
| | 8 hours (default) | Events firing in the next 8 hours | | ||
| | 24 hours | Events firing in the next day | | ||
|
|
||
| **Best for:** Most users who want simple, predictable behavior. | ||
|
|
||
| #### Day Boundary Mode | ||
|
|
||
| Shows events until a configurable "day boundary" time. This is designed for people who think in terms of "today" vs "tomorrow" rather than hours. | ||
|
|
||
| **How it works:** | ||
| - Before the boundary hour: Show events until the boundary (you're "still in yesterday") | ||
| - After the boundary hour: Show events until tomorrow's boundary (your "new day" has begun) | ||
|
|
||
| **Example with 4 AM boundary:** | ||
|
|
||
| | Current Time | You'll See Events Until | Why | | ||
| |--------------|-------------------------|-----| | ||
| | 1:00 AM | 4:00 AM today | Still "last night" mentally | | ||
| | 5:00 AM | 4:00 AM tomorrow | "Today" has begun | | ||
| | 10:00 PM | 4:00 AM tomorrow | Winding down the day | | ||
|
|
||
| **Best for:** Night owls who stay up past midnight but don't want to see "tomorrow's" events until they've actually slept. | ||
|
|
||
| ## Switching Between Classic and New UI | ||
|
|
||
| If you prefer the original single-list view without tabs, you can switch back: | ||
|
|
||
| 1. Go to **Settings → Navigation & UI** | ||
| 2. Tap **"Switch to Classic View"** | ||
| 3. Confirm the restart | ||
|
|
||
|  | ||
| *Toggle between new tabbed UI and classic view* | ||
|
|
||
| To switch back to the new tabbed view later, use **"Switch to New View"** in the same settings screen. | ||
|
|
||
| ## Tips | ||
|
|
||
| - **Pull down to refresh** - Swipe down on any tab to refresh the event list | ||
| - **Events update automatically** - As time passes, events move from Upcoming → Active as their reminders fire | ||
| - **Calendar colors** - Events show their calendar's color for easy identification | ||
|
|
||
| ## Coming Soon | ||
|
|
||
| Future updates will add: | ||
| - **Pre-snooze** - Snooze upcoming events before they fire | ||
| - **Pre-mute** - Mute an event's notification in advance | ||
| - **Pre-dismiss** - Skip an event entirely before the reminder | ||
| - **Calendar filtering** - Show only events from specific calendars | ||
|
|
||
| ## Troubleshooting | ||
|
|
||
| ### "No upcoming events" but I know I have events | ||
|
|
||
| 1. **Check the lookahead window** - Your events may be outside the configured lookahead. Try increasing the hours in Settings → Navigation & UI → Hours to Look Ahead. | ||
|
|
||
| 2. **Check calendar selection** - Make sure the calendar containing your events is enabled in Settings → Handled Calendars. | ||
|
|
||
| 3. **Pull down to refresh** - Swipe down on the Upcoming tab to trigger a fresh scan. | ||
|
|
||
| ### Events not appearing in the right order | ||
|
|
||
| Events are sorted by **reminder time**, not event start time. An event at 5 PM with a 1-hour reminder will appear before an event at 3 PM with a 15-minute reminder. | ||
|
|
||
| ## Related Documentation | ||
|
|
||
| - [Data Sync Setup](../DATA_SYNC_README.md) - Sync events across devices | ||
| - [Calendar Monitoring Architecture](../architecture/calendar_monitoring.md) - Technical details on how events are tracked |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Help preference visible when feature is disabled
Low Severity
The
upcoming_events_helppreference is always visible, even when the new navigation UI is disabled via theuse_new_navigation_uicheckbox. The other Upcoming Events settings (lookahead mode, boundary hour, fixed hours) are correctly hidden when the feature is disabled because their parentPreferenceCategoryhasandroid:dependency="use_new_navigation_ui". The help preference lacks this dependency, so users see "Learn how the Upcoming tab works" even when there's no Upcoming tab.