Review

a lot of code changed
This doesn't look right. At this point (in the try block) you're already running on a separate thread. And now you create another thread (via executor) where you perform some operations. 
Basically, you need to remove all the executors and futures and just directly execute all the needed operations. 

I would personally move all of this to an intent service, but that's up to you