Question: I'm a little confused as to why this isn't the default behaviour?

So, how do I detect the enter key being pressed on my button and fire the click event handler? (For example on a TextInput field there is an 'enter' event)

Thanks

Answer: 
1. Create a service to download the content from the server.
2. Add your activity to it for custom event listening
3. Broadcast event [Completion, Part-Completion] to the registered listener when the service is able to do the job.
4. Till that time either show a splash screen or a download screen with progress bar indicating download progress.
5. On listening to "Completion" notification you can show the main activity.

Hope this helps
You should make a `Splash` `Activity` for your application. So this will be an `Activity` that displays only a picture, let say your application logo or something similar. Then check if your app has all ready downloaded the videos and photos, you can do this by keeping a boolean field in `SharedPreferences` let say `DATA_DOWNLOADED`. If the data is not downloaded then you will need to start s `Service` that will download all the data, also display a `ProgressIndicator` and a message for the user, that data is being downloaded.

Once the data is downloaded you mark the `DATA_DOWNLOADED` field in your `SharedPreferences` and you start the next `Activity`.

Good luck.