This PR addresses the issue of announcements getting stuck by refining the announcement workflow and improving state management. The main focus has been on fixing the AnnouncementScreen and related state management.
Description
The proposed changes involve:
Transitioning AnnouncementScreen from ConsumerWidget to ConsumerStatefulWidget to handle state more efficiently.
Introducing a new announcement_workflow_notifier.dart for managing announcement workflows, alongside announcement_workflow_state.dart for state management.
Removing outdated workflow and state files that are no longer needed, simplifying the codebase.
Adjusting the user_preferences_manager.dart to make the announcementsStoreKey public, which is required for the new workflow management.
Implementing initState enhancements and debugging improvements to better manage announcement states and transitions.
Tests
๐งช Use case 1
๐ฌ Description:
Tested the announcement workflow with various scenarios, including with and without videos, to ensure that announcements transition smoothly and do not get stuck. Special attention was given to the scenario where announcements include videos, ensuring that video playback does not hinder the progression to the next announcement.
๐ท Screenshots or GIFs (if applicable):Due to the nature of the fix, visual documentation of the code execution and its effects (e.g., logs demonstrating smooth transitions and absence of getting stuck) would be applicable rather than screenshots.
Checklist:
[x] Coding Standards: I have reviewed my code to ensure it follows the project's coding standards.
[x] Testing: I have tested the changes and they work as expected, with announcements transitioning smoothly and no instances of getting stuck.
[x] Merge Conflicts: I have resolved any merge conflicts with the latest main/development branch.
[x] Branch Status: The branch is up-to-date with the target branch (main/development).
๐ Summary
This PR addresses the issue of announcements getting stuck by refining the announcement workflow and improving state management. The main focus has been on fixing the
AnnouncementScreen
and related state management.Description
The proposed changes involve:
AnnouncementScreen
fromConsumerWidget
toConsumerStatefulWidget
to handle state more efficiently.announcement_workflow_notifier.dart
for managing announcement workflows, alongsideannouncement_workflow_state.dart
for state management.user_preferences_manager.dart
to make theannouncementsStoreKey
public, which is required for the new workflow management.Tests
๐งช Use case 1
๐ฌ Description: Tested the announcement workflow with various scenarios, including with and without videos, to ensure that announcements transition smoothly and do not get stuck. Special attention was given to the scenario where announcements include videos, ensuring that video playback does not hinder the progression to the next announcement.
๐ท Screenshots or GIFs (if applicable): Due to the nature of the fix, visual documentation of the code execution and its effects (e.g., logs demonstrating smooth transitions and absence of getting stuck) would be applicable rather than screenshots.
Checklist: