moved unlocking to asynctask since a config activity will block the main thread, added oncancel unlock too since you can't depend on your async task actually being run...