3ada6c966d
Silent-Sync Implementation (Auto-Sync Banner Fix): - Add SYNCING_SILENT state to SyncStateManager for background syncs - Auto-sync (onResume) now triggers silently without banner interruption - Silent-sync state blocks additional manual syncs (mutual exclusion) - Error banners still display even after silent-sync failures - SyncStatus tracks 'silent' flag to hide COMPLETED banners after silent-sync UI/UX Improvements (from v1.5.0 post-migration fixes): - Fix text wrapping in checklist items (singleLine=false, maxLines=5) - Fix cursor position in text notes (use TextFieldValue with TextRange) - Display app icon instead of emoji in AboutScreen - Add smooth slide animations for NoteEditor transitions - Remove visual noise from AboutScreen icon Technical Changes: - ComposeNoteEditorActivity: Add back animation with OnBackPressedCallback - ComposeMainActivity: Add entry/exit slide animations for note editing - NoteEditorScreen: Use TextFieldValue for proper cursor positioning - ChecklistItemRow: Enable text wrapping for long checklist items - AboutScreen: Convert Drawable to Bitmap via Canvas (supports AdaptiveIcon) - SyncStatusBanner: Exclude SYNCING_SILENT from visibility checks - MainActivity: Update legacy auto-sync to use silent mode Fixes #[auto-sync-banner], improves #[user-experience] Branch: feature/v1.5.0