CricketWatch is a lightweight, "glance-focused" Wear OS application designed for cricket fans to track live scores for England and Surrey senior matches directly from their wrist.
- Glanceable Scores: Team-first score rows with compact abbreviations, aligned runs/wickets, overs, and an active batting marker for fast reading on a watch.
- Team-Specific Filtering: Automatically filters for England and Surrey senior matches, excluding youth (U19) and irrelevant fixtures to keep your feed focused.
- Rotary/Crown Support: Smooth scrolling through match lists using the physical watch crown or rotary input.
- Live Updates: Automatic background refreshing every 60 seconds with "Last Updated" timestamps.
- Clean UI: Automatically strips technical codenames (e.g.,
[LEICS]) from team names for a more professional look. - Offline Development: Includes JSON fixtures in test resources for development without active API connectivity.
- Kotlin & Coroutines: Efficient asynchronous networking and data processing.
- Jetpack Compose for Wear OS: Modern, declarative UI designed specifically for circular and square watch faces.
- Retrofit & OkHttp: Robust API integration with parallel request handling to minimize latency.
- CricAPI Integration: Utilizes the
cricapi.comv1 endpoints for reliable match data.
- Android Studio Iguana or newer.
- A Wear OS device or emulator (API 30+).
The app requires a cricapi.com API key. For security, this is managed via local.properties:
- Open or create
local.propertiesin the project root. - Add your API key:
CRICKET_API_KEY=your_key_here. - The build system will automatically inject this into the app via
BuildConfig.
./gradlew assembleDebugCricketRepository: Handles data fetching, parallelization, and exclusionary filtering.CricketViewModel: Manages the UI state and periodic refresh logic.Screens.kt: Contains theMatchListScreenandMatchCardcomponents optimized for Wear OS.
This project is licensed under the GNU General Public License v3.0 or later (GPL-3.0-or-later).
Co-authored with a bunch of different AIs