Could you move "cordova.getThreadPool().execute(new Runnable() {     public void run() {" only to the extract method or both of them. I think that the code makes double check of method type.
I'm asking for it due to the fact that getTempDir runs very short time.