public void stop() { synchronized (mQueue) { mDone = true; mQueue.notifyAll(); } if (mDecodeThread != null) { try { Thread t = mDecodeThread; BitmapManager.instance().cancelThreadDecoding(t); MediaStore.Images.Thumbnails.cancelThumbnailRequest(mCr, -1); t.join(); mDecodeThread = null; } catch (InterruptedException ex) { // so now what? } } }