Skip to content

Conversation

@rfc2822
Copy link
Member

@rfc2822 rfc2822 commented Sep 22, 2025

Next-to-last bunch of event processors.

  • Logic is as far as possible untouched
  • Add some extra tests which were not here previously

Still missing: time fields, recurring rules

@sunkup The next PR will then close #74 and finalize moving everything into processor classes.

@rfc2822 rfc2822 self-assigned this Sep 22, 2025
@rfc2822 rfc2822 added the refactoring Quality improvement of existing functions label Sep 22, 2025
@rfc2822 rfc2822 requested a review from Copilot September 22, 2025 11:43
Copy link
Contributor

Copilot AI left a 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 calendar event processors as part of migrating from legacy event processing to a more modular processor-based architecture. The PR adds individual processor classes for different event fields and removes the corresponding logic from the legacy processor.

  • Refactors event field processing from monolithic legacy code to individual specialized processors
  • Adds comprehensive test coverage for the new processor classes
  • Updates the LegacyAndroidEventProcessor to use the new processors and removes duplicate legacy code

Reviewed Changes

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

Show a summary per file
File Description
AccessLevelProcessor.kt Handles event classification and access level mapping with retained classification support
AvailabilityProcessor.kt Processes event availability (opaque/transparent) from Android calendar data
CategoriesProcessor.kt Extracts and processes event categories from extended properties
ColorProcessor.kt Maps event colors from both color keys and RGB values
DescriptionProcessor.kt Processes event description with null/blank handling
LocationProcessor.kt Processes event location with trimming
MutatorsProcessor.kt Handles event mutators for PRODID generation
OrganizerProcessor.kt Processes organizer information for group-scheduled events
SequenceProcessor.kt Handles event sequence numbers
StatusProcessor.kt Maps Android event status to iCal status values
TitleProcessor.kt Processes event titles with trimming
UnknownPropertiesProcessor.kt Handles unknown/custom properties with exclusion logic
UrlProcessor.kt Processes event URLs with validation
AndroidEventFieldProcessor.kt Adds documentation comment to interface
LegacyAndroidEventProcessor.kt Updates to use new processors and removes legacy processing code
*Test.kt files Comprehensive unit tests for all new processor classes

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@rfc2822 rfc2822 marked this pull request as ready for review September 22, 2025 11:45
@rfc2822 rfc2822 requested a review from sunkup September 22, 2025 11:45
Copy link
Member

@sunkup sunkup left a comment

Choose a reason for hiding this comment

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

Looking good

@rfc2822 rfc2822 merged commit dd574eb into main Sep 22, 2025
10 checks passed
@rfc2822 rfc2822 deleted the more-processors branch September 22, 2025 12:44
@github-project-automation github-project-automation bot moved this from Todo to Done in DAVx⁵ Releases Sep 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactoring Quality improvement of existing functions

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Split processor into field processor classes

2 participants