GPII-120: Refactoring Android code with latest changes on universal

This branch includes the changes from @sgithens universal/GPII-120 branch and the updated according to the latest changes on universal