A modern Android app scheduler built with Jetpack Compose, MVVM Architecture and the latest Android development practices.
Easily schedule any installed app to launch automatically at your desired time.
- ๐ฏ Schedule Any App โ Launch any installed app at a specific date and time
- ๐ Schedule Management โ View, edit, and delete scheduled tasks
- ๐ Status Tracking โ Monitor pending, executed, cancelled, and failed schedules
- ๐ Exact Alarms โ Precise scheduling using Android's AlarmManager
- ๐ Local Storage - Room database
AppScheduler/
โโโ app/
โ โโโ manifests/
โ โ โโโ AndroidManifest.xml
โ โโโ kotlin+java/
โ โ โโโ com.piashcse.appscheduler/
โ โ โโโ data/
โ โ โ โโโ local/
โ โ โ โโโ model/
โ โ โ โโโ repository/
โ โ โโโ di/
โ โ โ โโโ DatabaseModule.kt
โ โ โ โโโ RepositoryModule.kt
โ โ โโโ receiver/
โ โ โ โโโ AppLaunchReceiver.kt
โ โ โ โโโ BootReceiver.kt
โ โ โโโ ui/
โ โ โ โโโ component/
โ โ โ โโโ screen/
โ โ โ โโโ theme/
โ โ โโโ utils/
โ โ โ โโโ AlarmUtils.kt
โ โ โ โโโ AppUtils.kt
โ โ โ โโโ Converters.kt
โ โ โ โโโ TimeUtils.kt
โ โ โโโ Application.kt
โ โ โโโ MainActivity.kt
โ โ โโโ com.piashcse.appscheduler (androidTest)/
โ โ โโโ com.piashcse.appscheduler (test)/
โ โโโ java (generated)/
โ โโโ res/
โ โโโ res (generated)/
โโโ Gradle Scripts/
โ โโโ build.gradle.kts (Project: App_Scheduler)
โ โโโ build.gradle.kts (Module: app)
โ โโโ proguard-rules.pro (ProGuard Rules for ":app")
โ โโโ gradle.properties (Project Properties)
โ โโโ libs.versions.toml (Version Catalog)
โโโ README.md
- Schedules Tab โ View all your scheduled apps with status badges
- Apps Tab โ Browse and select from installed apps
- Statistics โ Monitor your scheduling activity
- Create Schedule โ Pick date/time for any installed app
- Status Tracking โ Flow: PENDING โ EXECUTED / CANCELLED / FAILED
- Quick Actions โ Edit, cancel, or retry schedules
- Language - Kotlin 2.2.10
- UI Framework - Jetpack Compose (Material 3)
- Architecture - MVVM
- Build System - Gradle with Version Catalogs (TOML)
- Build Tools - KSP (Kotlin Symbol Processing)
- DI - Hilt for dependency injection
- Async - Kotlin Coroutines & Flow
- Scheduling - Android AlarmManager
- State - StateFlow & Compose State
- ScheduleDao Tests - Database operations (7 tests)
- MainViewModel Tests- Business logic (11 tests)
- Repository Tests - Data layer (8 tests)
- Model Tests - Data validation (3 tests)
- Navigate to Apps tab
- Tap the notification icon next to desired app
- Select date and time in the dialog
- Tap Schedule to confirm
- View - Check Schedules tab for all scheduled tasks
- Filter - Use status chips (PENDING, EXECUTED, etc.)
- Edit - Tap edit icon to modify schedule time
- Cancel - Tap delete icon to cancel pending schedules
- Retry - Retry failed schedules (up to 3 attempts)
Mehedi Hassan Piash







