X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=android-m3%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fclient%2Fandroid%2FCameraThread.java;fp=android-m3%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fclient%2Fandroid%2FCameraThread.java;h=1c36440568e0796518803904f5e582ab5563dacc;hb=eb9a064544ed7955e31bc349c07e82f6f0728e37;hp=7ab1a863ba7cfcd76697a99d2eefa6ab11a0947a;hpb=44dbaff1507a083170102a45a774e996bac31abd;p=zxing.git diff --git a/android-m3/src/com/google/zxing/client/android/CameraThread.java b/android-m3/src/com/google/zxing/client/android/CameraThread.java index 7ab1a863..1c364405 100644 --- a/android-m3/src/com/google/zxing/client/android/CameraThread.java +++ b/android-m3/src/com/google/zxing/client/android/CameraThread.java @@ -76,6 +76,10 @@ final class CameraThread extends Thread { state = State.DONE; Message quit = Message.obtain(decodeThread.handler, R.id.quit); quit.sendToTarget(); + try { + decodeThread.join(); + } catch (InterruptedException e) { + } Looper.myLooper().quit(); break; case R.id.decode_started: @@ -116,6 +120,15 @@ final class CameraThread extends Thread { Looper.loop(); } + public void quitSynchronously() { + Message quit = Message.obtain(handler, R.id.quit); + quit.sendToTarget(); + try { + join(); + } catch (InterruptedException e) { + } + } + public void setDecodeAllMode() { Message message = Message.obtain(decodeThread.handler, R.id.set_decode_all_mode); message.sendToTarget();