A simple, clean Android home screen widget that displays the current day, date, year, and optional time.
- Minimal Design: Clean and uncluttered calendar display
- Resizable: Supports multiple widget sizes (2x1, 3x2, 4x2)
- Auto-refresh: Updates automatically at midnight and every minute for time display
- Lightweight: No background services, uses Glance for efficient widget updates
- No Permissions Required: Purely display widget, no data collection
- Current day name (e.g., "Monday")
- Current date (e.g., "June 3")
- Current year (e.g., "2026")
- Optional current time display (HH:MM format)
- Basic customization (light/dark theme)
- Event/reminder integration
- Calendar month view
- Click-to-open calendar app
- Multiple timezone support
- Weather information
- Custom fonts or extensive theming
- Framework: Android SDK with Glance API (modern widget toolkit)
- UI: Jetpack Compose + Glance for widgets — not classic RemoteViews
- Min SDK: Android 12 (API 31) - Glance requirement
- Target SDK: Android 16 (API 36)
Note: This project uses the modern Glance API for widgets, not the legacy
AppWidgetProviderwithRemoteViews. This provides Compose-like syntax and better performance.
app/src/main/
├── java/one/verysecure/easycalendar/
│ ├── MainActivity.kt # App entry point (for configuration)
│ ├── widget/
│ │ ├── CalendarWidget.kt # Glance widget implementation
│ │ └── CalendarWidgetReceiver.kt # Widget provider receiver
│ └── ui/theme/
│ └── ...
└── res/
├── xml/
│ └── calendar_widget_info.xml # Widget metadata
└── layout/
└── glance_calendar.xml # Glance layout definition
./gradlew build./gradlew installDebugMIT License - Free for personal use.