Some checks failed
CI - Multi-Platform Native / Build iOS (RSSuper) (push) Has been cancelled
CI - Multi-Platform Native / Build macOS (push) Has been cancelled
CI - Multi-Platform Native / Build Android (push) Has been cancelled
CI - Multi-Platform Native / Build Linux (push) Has been cancelled
CI - Multi-Platform Native / Build Summary (push) Has been cancelled
43 lines
1.0 KiB
Markdown
43 lines
1.0 KiB
Markdown
# 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
|