dolphin-emu/dolphin — pull request #573 by sigmabeta (2014-07-07 00:41:02+00:00)
Title: Get rid of the UI-less Activity that launches from Android's home screen.

Lioncash made a great point in PR #558 about keeping the first-run shader/binary copies be done outside of GameListActivity.java - that action has nothing to do with displaying the game list, and so should be kept separate. However, as executed it causes many problems. Among them:

* Unpredictable activity flow - the easiest way to notice this is if you crash the emulator, often (especially if you have rotated the GameListActivity) you will end up at a blank black screen, and have to exit using the home key.

* Loading two activities is slower than loading one.

* Since the old activity was not declared with Theme.Holo.Light, we were getting a loading animation reflecting the aforementioned black screen.

I've moved all those copies into an IntentService that is triggered by the GameListActivity - which should satisfy Lioncash's concern. As a bonus, IntentServices, unlike regular services, do not run on the UI thread. While the copy operation should really only ever happen the first time the user executes Dolphin, it did take 300ms on my Nexus 10. That's 300ms on the UI thread - a minimum of 18 frames dropped in the initial load animation for the app is not a great first impression.

The other changes are the now-possible removal of DolphinEmulator.java, and changes to the manifest to have our launcher icon point to GameListActivity.