// we acquire wakelock without release because user is supposed to manually release it
WakeUpController.getController().getWakeLock().acquire();
Object lock = WakeUpController.getController().getWakeSync();
synchronized (lock) {
// poke the lock so the service side can be woken from waiting on the lock
lock.notifyAll();
}