Reference https://phabricator.wikimedia.org/T242059 for image caching backend thoughts.
- For images, take data provided from image caching or network, format to a model that WMFImageGalleryViewController can consume and present there upon tapping an article image. [DONE]
- Add header image to article view. Utilize pcs.c1.Page.getLeadImage()over JS bridge. Ensure this still works in offline mode. (Note we can also get header image from the page summary but JS call might be enough). There is a leadImageHeight JS function that we can reference to add spacing natively at the top for inserting the header image. [DONE]
- Add back in the header image expanding custom transition. [DONE]
- For audio file, hook into link clicked JS call & push to external browser based on a default conditional when checking link extension names. Default so that should we one day decide to handle audio files natively, older clients won't break.
- For video, experience should stay the same as before (i.e. essentially broken).