This pull request introduces significant enhancements to the Quran recitation features in the application. The main highlights include fetching and storing reciter data locally, enabling users to choose a Surah, and starting the audio playback seamlessly.
Key Features:
Fetching and Storing Reciter Data Locally:
Implemented ReciteRemoteDataSource and ReciteLocalDataSource to handle fetching and storing reciter data.
The reciter data, including recitation types, is fetched from the remote API and stored locally using Hive.
Added ReciteImpl as the repository for managing reciter data operations.
Updated QuranNotifier and ReciteNotifier to manage and provide reciter data.
Audio Playback on Surah Selection:
Introduced QuranPlayerScreen for Quran recitation playback with a user-friendly interface.
Implemented QuranAudioPlayerNotifier and QuranAudioPlayerState to manage audio playback state.
Added a SeekBar and player control buttons for better user interaction and control.
UI Enhancements:
Updated ReciterSelectionScreen to use the new QuranBackground widget.
Improved layout and user interaction for selecting reciters and recitation types.
Integrated keyboard navigation for better accessibility.
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.
[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 for issue: #1109
Description
This pull request introduces significant enhancements to the Quran recitation features in the application. The main highlights include fetching and storing reciter data locally, enabling users to choose a Surah, and starting the audio playback seamlessly.
Key Features:
Fetching and Storing Reciter Data Locally:
ReciteRemoteDataSource
andReciteLocalDataSource
to handle fetching and storing reciter data.ReciteImpl
as the repository for managing reciter data operations.QuranNotifier
andReciteNotifier
to manage and provide reciter data.Audio Playback on Surah Selection:
QuranPlayerScreen
for Quran recitation playback with a user-friendly interface.QuranAudioPlayerNotifier
andQuranAudioPlayerState
to manage audio playback state.SeekBar
and player control buttons for better user interaction and control.UI Enhancements:
ReciterSelectionScreen
to use the newQuranBackground
widget.Checklist: