v1.0.2 - Dual-Format Backup Engine, Shamsi Calendar Range & Brand Launcher Icons
🚀 My Tasks v1.0.2 — Dual-Format Backup Engine, Shamsi Calendar Range, Brand Launcher Icons & Quality Fixes
Welcome to version 1.0.2 of My Tasks! This release delivers full backward-compatible backup/restore support, expands Shamsi calendar date ranges, introduces sleek brand launcher icons, and enhances overall data integrity.
✨ What's New & Improvements
💾 Dual-Format Backup & Restore Engine
- Universal Backward Compatibility: The JSON import engine now seamlessly handles both clean standard JSON formats (
categories,tasks,subtasks) as well as legacy ProGuard-obfuscated backup files (a,b,c). - ProGuard Serialization Rules: Added
-keeprules and@Keep/@Jsonannotations on all Room entities and backup models to ensure future backups always export in human-readable standard JSON. - Expanded File Picker MIME Support: Enhanced the backup file picker to accept
*/*MIME types, ensuring seamless.jsonfile selection across all Android file managers (Samsung, Xiaomi, AOSP). - Automatic Reminder Rescheduling: Importing a backup automatically re-registers pending
AlarmManagerreminders for active future tasks.
🎨 Brand New App Launcher Icon
- Matching Brand Identity: Updated the application launcher icon across all density buckets (Adaptive Vector with parallax gradient as well as Mipmap
mdpithroughxxxhdpi) to match the Glassmorphism brand logo.
🗓️ Shamsi Calendar Range Fix
- Expanded Year Range (1400–1420): Resolved a critical limitation where current years (1403/1404) were unavailable in the Shamsi date picker dialog. Users can now select any year between 1400 and 1420 with accurate leap-year handling.
⚡ Data Integrity & Ergonomics
- Cascaded Subtask Cleanup: Deleting a category now systematically purges all associated subtasks (
deleteSubtasksByCategoryId), preventing orphan records in the Room database. - Quick Subtask Addition via Keyboard: Enabled
ImeAction.Doneon the subtask input field so pressing Enter on the software keyboard immediately commits the subtask. - Scroll State Retention (
rememberSaveable): The collapsed/expanded state of task sublists is now preserved across fast LazyColumn scrolling.
🧹 Codebase Cleanup & Performance
- Dead Code Stripping: Removed unused Google Vertex AI libraries and legacy models, reducing APK size and streamlining the compilation pipeline.
📦 Direct Downloads
| Asset | Target Architecture | Min Android Version | Build Pipeline Status |
|---|---|---|---|
MyTasks-v1.0.2.apk |
Universal (ARMv7, ARM64, x86, x86_64) | Android 7.0+ (API 24+) | ✅ Passed GitHub Actions CI/CD |