# 04. Implement Android data models (Kotlin)

meta:
  id: native-business-logic-migration-04
  feature: native-business-logic-migration
  priority: P0
  depends_on: [native-business-logic-migration-02]
  tags: [implementation, android, data-models]

objective:
- Implement all data models in Kotlin following Android conventions

deliverables:
- FeedItem.kt
- Feed.kt
- FeedSubscription.kt
- SearchResult.kt
- SearchFilters.kt
- NotificationPreferences.kt
- ReadingPreferences.kt
- Supporting data classes and sealed classes

tests:
- Unit: Test serialization/deserialization with Moshi/Gson
- Unit: Test copy() functionality
- Unit: Test toString() output

acceptance_criteria:
- All models are data classes
- All models have proper equals/hashCode
- JSON serialization working with Moshi
- Room Entity annotations ready for database models
- Sealed classes for enum types

validation:
- Run `./gradlew test`
- Verify no lint warnings

notes:
- Use data classes for immutable value objects
- Use sealed classes for enum-like types
- Consider using Parcelize for UI passing
