Mark overridden virtual functions as such
Use nullptr instead of 0 for pointers
Use default member initializers and constructor delegation
Provide access to the Java VM on Android
Expose window flags and set fullscreen mode by default I'll likely change the default once I figure out a good way to add fullscreen support to libmspgui on Android.
Terminate the process when the application has finished running Otherwise the OS may try to start the activity again in the same process, which doesn't work because of Application::run semantics.
Have get_user_data_dir return a proper location on Android
Expose the asset manager from Android::MainThread AFAICT the asset manager is tied to the application and not the activity, so this simple approach should be safe even if the activity gets destroyed and recreated due to orientation change or whatever.
Deal with the activity being recreated during process lifetime This can happen if e.g. screen orientation changes.
Add window and input management signals for Android The onCreate handler will now wait until either the main Application object is constructed or the MainThread's resume_startup function is called. This ensures that the application (or a library such as mspgui) can connect to the signals before they are emitted.
Minimalistic port for Android Application startup through NativeActivity is provided and uncaught exceptions are logged. A number of things are still in need of proper implementations.