Expert Android Developer Required for JSON Metadata Update Implementation
Budget: €8 – €30 EUR
We are seeking a highly experienced Android developer to undertake a specific set of modifications and enhancements to our existing online radio Android application.
The primary objective is to remove all references and functionality related to Icy for obtaining metadata (artist and title). Instead, metadata should be fetched from a specified JSON file URL that we will provide you with.
# Key Requirements
Remove Icy Metadata Functionality:
- Eliminate all functionality and references related to obtaining metadata (artist and title) from Icy.
- Ensure that this removal does not affect other functionalities that might rely on Icy, such as streaming.
JSON-based Metadata Updates:
- Fetch artist, title, and album art from a specified JSON file URL.
- Currently, the app already retrieves album art from a specific JSON. This functionality should be extended to fetch all required metadata (artist, title, and album art) from the specified JSON URL.
Metadata Update Interval
- Implement metadata updates at an interval of every 5 seconds.
- Ensure the update interval is easily configurable.
Configurable Metadata URL
- The URL for fetching metadata should be easily configurable.
Maintain Current Player Functionality
- Metadata updates should only occur when the player is playing.
- When the player is paused or stopped, metadata updates should cease, reverting to default text and image.
- Ensure data coherence, displaying the correct song title with the corresponding album art. Each request should update all metadata displayed by the player.
- Optimize functionality to avoid unnecessary JSON requests.
Enhancements:
- Implement a smooth transition (crossfade) between album art images when they change.
- Ensure a smooth audio start (fade-in) when the play button is pressed and a smooth audio stop (fade-out) when paused.
Additional Minor Improvements:
- When navigating to "Player" from the menu, ensure the "hamburger" menu icon remains consistent, not switching to an "Arrow" icon.
- Address an issue where the app becomes unresponsive after being open in the background for a long period of time while paused. Ensure the app remains responsive and functional without needing to be closed and reopened.
Fundamental Requirements
- The final deliverable must be error-free.
- The code should be well-commented to ensure maintainability and ease of understanding.
Applicant Requirements
- Only individuals with advanced knowledge and experience in Android development should apply.
- Applicants must demonstrate their ability to complete the tasks outlined above.
VERY IMPORTANT:
- Along with the final delivery, a document must be provided that lists all the files altered to achieve the above changes. If new files were added, their location in the folder tree must be specified. Similarly, any removed files must also be mentioned. We aim to achieve this with the minimal number of file changes.
Please provide examples of previous work that demonstrate your capability to handle such tasks. We look forward to working with a skilled professional who can deliver high-quality results.
The primary objective is to remove all references and functionality related to Icy for obtaining metadata (artist and title). Instead, metadata should be fetched from a specified JSON file URL that we will provide you with.
# Key Requirements
Remove Icy Metadata Functionality:
- Eliminate all functionality and references related to obtaining metadata (artist and title) from Icy.
- Ensure that this removal does not affect other functionalities that might rely on Icy, such as streaming.
JSON-based Metadata Updates:
- Fetch artist, title, and album art from a specified JSON file URL.
- Currently, the app already retrieves album art from a specific JSON. This functionality should be extended to fetch all required metadata (artist, title, and album art) from the specified JSON URL.
Metadata Update Interval
- Implement metadata updates at an interval of every 5 seconds.
- Ensure the update interval is easily configurable.
Configurable Metadata URL
- The URL for fetching metadata should be easily configurable.
Maintain Current Player Functionality
- Metadata updates should only occur when the player is playing.
- When the player is paused or stopped, metadata updates should cease, reverting to default text and image.
- Ensure data coherence, displaying the correct song title with the corresponding album art. Each request should update all metadata displayed by the player.
- Optimize functionality to avoid unnecessary JSON requests.
Enhancements:
- Implement a smooth transition (crossfade) between album art images when they change.
- Ensure a smooth audio start (fade-in) when the play button is pressed and a smooth audio stop (fade-out) when paused.
Additional Minor Improvements:
- When navigating to "Player" from the menu, ensure the "hamburger" menu icon remains consistent, not switching to an "Arrow" icon.
- Address an issue where the app becomes unresponsive after being open in the background for a long period of time while paused. Ensure the app remains responsive and functional without needing to be closed and reopened.
Fundamental Requirements
- The final deliverable must be error-free.
- The code should be well-commented to ensure maintainability and ease of understanding.
Applicant Requirements
- Only individuals with advanced knowledge and experience in Android development should apply.
- Applicants must demonstrate their ability to complete the tasks outlined above.
VERY IMPORTANT:
- Along with the final delivery, a document must be provided that lists all the files altered to achieve the above changes. If new files were added, their location in the folder tree must be specified. Similarly, any removed files must also be mentioned. We aim to achieve this with the minimal number of file changes.
Please provide examples of previous work that demonstrate your capability to handle such tasks. We look forward to working with a skilled professional who can deliver high-quality results.