According to the Android Nanodegree General Project Guidelines:
App correctly preserves and restores user or app state, that is , student uses a bundle to save app state and restores it via onSaveInstanceState/onRestoreInstanceState.
So you should save the entire movie list (poster urls, etc.) of the correct sort order so that if there is a configuration change going on, the movie list can be properly restored (even if the device is offline, thanks to the fact that our cool Picasso library caches images. Besides the movie list doesn't really need to be re-downloaded just because the user has (accidentally, or not) rotated the device 😄)! You can learn more about how to recreate an Activity in Android here. Depending on what you want to save, you might also need this and this.
Besides, if you correctly preserve and restore the app state on configuration change (screen rotation), when the app is relaunched from Home, All Apps or Recents Screen (whether or not the Operating System had killed our app to free up resources), the app will also be able to restore the app state as closely as possible to the previous state.
Here is how to reproduce the issue on a real device under real scenarios (You can learn more here from the Udacity lesson: App Termination):
Launch our app.
Disable network connection.
Hit the Home Button to go to the Home Screen or hit the Recent Apps Button to go to the Recents Screen (if you have opened a lot of apps before).
Launch some other apps before re-launching ours (Try and pick apps with large memory footprints, such as Google+, Google Maps, Google Street View.).
Re-launch our app.
PRO-TIP: Step 4 (system destroying app process) could be simulated by clicking the "Terminate Application" button inside Android Studio.
If you properly save the state, then the movie list can be restored when it's re-launched.
You can learn more about why we, as app developers, should maintain app state from the Udacity lesson: Preparing for Termination. You can also check out this article.
NOTE: the approach of saving the movie lists into the onSaveInstanceState handler is discouraged as it is only suitable for small amounts of data like UI state, not for potentially large amounts of data like a list of movies (you can learn more here).
I'd suggest that you persist all the movie items. Then you only have to save the sort criteria in onSaveInstanceState handler (I'd suggest that you save it into the SharedPreferences so that it can persist across user sessions (even if your application is killed).) and you are good to go.
So your app could be implemented like this:
Use IntentService as a background service for data fetching from the remote server.
Save ALL movie items of both sort types locally into the Content Provider.
Use CursorLoader for data loading + onSaveInstanceState/SharedPreferences.