A cross-device timetable that syncs your schedule from phone to wrist.
Features
Every piece of the sync pipeline designed for reliability.
Abstract sync layer for cross-device data flow. Swap in real Data Layer or MessageClient transports.
Pull-push cloud sync with cursor tracking, conflict resolution, and automatic retry.
Full ICS import pipeline: ImportParser, IcsImportParser, ImportResult, and ScheduleImportAdapter.
Incremental sync via last-sync cursors. Tombstone deletion and ETag-based conflict strategies.
Wrist Preview
Scroll through your schedule at a glance with Wear OS Material Design.
Architecture
The project splits cleanly into mobile, wear, and shared modules.
Kotlin / Android
Phone app for course management, ICS import, reminder settings, and sync control.
Kotlin Multiplatform
Shared models, ICS parsing, reminder calculation, sync contracts, and conflict resolution.
Kotlin / Wear OS
Wrist app for timetable display, next-class glance, and lightweight interactions.
Go
Cloud sync relay handles ETag reconciliation, tombstone sync, and push notifications.
Get Started
Clone the repository, open it in Android Studio, pick the module, and run.
git clone https://github.com/xtawa/WearOS_ClassingTimeTable.git cd WearOS_ClassingTimeTable ./gradlew :shared:test # Open project in Android Studio, then run 'mobile' or 'app'