Uses Google Maps API cache API Data best for in Low Energy Environment. This README provides a comprehensive guide to understanding and using Fidelio effectively.
Uses Google Maps Javascript APIs to fetch Data:
- Assets Dir Containing Html Code
- Token Used is Temporary. (Use With Care)
API Intercepting Api Calls happening inside webview (check - WebViewInterceptor):
- To alter response of web request.
- Sending Cached Data in Case if data is already present.
To make sure same resource is not fetched multiple times:
- Saving resource in cacheDir (App Storage).
- To make Sure each Source is Unique. A UniqueIdentifier is been created for each WebResourceRequest.
- Saving the Mapping of saved resources in Room DB.
To make sure the scalablity of the application, multiple modules are created:
- Every seperate functionality has been kept in seperate module.
- A Custom Gradle plugin is applied to Application and library to make modules dependency handling easier.
This project is licensed under the MIT License. See the LICENSE file for details.
Our future plans include:
- Adding Cache Clearing Stratergy to make sure cache have some validity using Work Manager
- Encrypting the Resources before storing to cacheDir. (ChaCha20)
- Using NDK to store the Google Maps API Key.
- Using Jetpack Compose Instead of XML Layouts. (Blocker - Stream Not able to close)
- Using Some other Libraries like Coil for caching images.
- To check Another approach of Intercepting API Calls in Android Webiew (Through Javascript)
- Writing testing cases for all modules