Nice work! Have you considered integration with NxtVault to abstract away key management and signing?
Sent from my SM-N9005 using Tapatalk
a) pull a public account from nxtvault (upon user confirmation)
b) request nxtvault to sign a transaction on your behalf, while displaying to the user a full summary screen of the transaction details, giving them a chance to accept or deny. It then returns the signed tx back to your application.
c) request nxtvault to both sign and broadcast a tx on your behalf, also displaying a full summary/confirmation to the user. It uses jay framework to dynamically discover nodes and broadcast the tx.
The reason I did this is to abstract away passphrase managment and security(which is enough of a problem on it's own) so that users only need to ever trust and vet 1 single application with their keys and developers can focus on building great android apps. Entering your keys with full access to your account is a scary thing to do into a new android app and I wanted users to only have to worry about doing it once. I would be much more inclined to use your wallet if I knew it didn't have any access to my private keys.
Would love to help and maybe work with you on this to provide this kind of support. A split mode where users could choose to use the native app functionality, or load an account from nxtvault instead, protecting their private keys, would be the best of both worlds.
You can learn more about NxtVault here: https://nxtforum.org/general-discussion/unveiling-the-new-nxtvault-secure-account-management-for-android-devices!-beta/msg188107/#msg188107
Code is here: https://github.com/mr-e-/NxtVault
(Test wallet is an example app I wrote understand how to integrate with nxtvault)