Online and Offline Support
In this version, I have created a basic factory pattern to use both online and offline data sources. So the network code will be used to fetch news and store in the database if you open the app for the 1st time of the day. For the next 24 hours, the app fetch news from database. There is a force refresh option though which will refresh the data if invoked.