Refactoring the booking deletion logic (#355)
* feat: implement EventOrchestrator for coordinated refresh management - Added `EventOrchestrator` class to handle user interaction states, refresh triggers, and idle time configurations. - Integrated `EventOrchestrator` in RootComponent and MainComponent for refresh event processing. - Introduced `TouchEventDispatcher` to track touch events and update interaction states. - Updated `AppActivity` to create and configure `EventOrchestrator` and install `TouchEventDispatcher`. - Refactored event handling in MainComponent to leverage orchestrated refresh events. - Registered `EventOrchestrator` in the `domainModule` for dependency injection. * feat: add TimeReceiver for synchronized time handling - Introduced `TimeReceiver` to provide synchronized time updates across iOS and Android platforms. - Implemented platform-specific logic for time synchronization using timers (iOS) and broadcast receivers (Android). - Added `CurrentTimeHolder` singleton for shared time state management. - Updated `MainComponent` to integrate `CurrentTimeHolder` for real-time date and time updates. - Refactored legacy timer logic in `MainComponent` for time-to-next-event calculation. - Registered and managed lifecycle of `TimeReceiver` in `AppActivity`. * Revert "feat: implement EventOrchestrator for coordinated refresh management" This reverts commit e2fcaded * feat: improve slot deletion and update handling - Introduced `deletionProgress` and `startTimeMillis` to manage slot deletion state. - Enhanced `BorderIndicator` to support custom start progress for animations. - Refactored slot update function to preserve deletion states and open MultiSlots. - Replaced `UpdateDate` intent with an enhanced `UpdateRequest` intent for room and date handling. - Optimized MultiSlot and sub-slot deletion logic. - Added utility methods for slot comparisons and extraction of `DeleteSlot` instances. * feat: implement inactivity tracking and date reset system - Added `InactivityManager`, `InactivityWindowCallback`, and `InactivityLifecycleCallbacks` to manage user inactivity and trigger callbacks. - Introduced `DateResetManager` to handle date reset operations upon inactivity. - Updated `App` to initialize inactivity tracking and integrate with `DateResetManager`. - Enhanced `SlotComponent` with a new intent `InactivityTimeout` to reset multi-slot states. - Refactored `MainComponent` to register inactivity-driven date resets and synchronize selected date with the current date. - Improved UI components to utilize real-time date updates from `CurrentTimeHolder`. * `refactor: remove slot deletion logic from SlotComponent and UI` The deleted logic and components related to `SlotUi.DeleteSlot` streamline the architecture and shift delete responsibility to the `BookingEditorComponent`. Adjustments include UI removal of delete-related views and simplification of slot handling logic. * fix: update date mapping logic and bump version to 0.0.3 Correct `selectDate` parameter usage in `DateTimeView`. Upgrade project version from 0.0.2 to 0.0.3 in `gradle.properties`.
Пожалуйста, зарегистрируйтесь или войдите чтобы прокомментировать