private synchronized void autoFocusAgainLater() {
        if (!stopped && !handler.hasMessages(MESSAGE_FOCUS)) {
            handler.sendMessageDelayed(handler.obtainMessage(MESSAGE_FOCUS), AUTO_FOCUS_INTERVAL_MS);
        }
    }
This should be created and used from the camera thread only. The thread message queue is used
to run all operations on the same thread.
zxing-android-embedded/src/com/journeyapps/barcodescanner/camera/AutoFocusManager.java