1) Generate a Curve25519 identity key. 2) Use Curve25519 ephemerals and identities for v2 3DHE agreements. 3) Initiate v2 key exchange messages. 4) Accept v1 key exchange messages. 5) TOFU Curve25519 identities.
There is apparently an Android vulnerability with the PRNG it provides through the JCE. This uses their suggested code to patch the PRNG, and provides the option to regenerate identity keys. http://android-developers.blogspot.com/2013/08/some-securerandom-thoughts.html