it still works in offline mode! I think it was a multithreading issue
the button has a listener,
there is also a network listener for an http response,
and core.currentScreen shouldn't be set to null outside the main thread,
otherwise the main thread will try to load the DataReporter.
This was an issue of 2 threads accessing core.currentScreen