/* * Called from native-land when native-land thinks the bytebuffer size might be incorrect */ public void setBufferLength(int length) { Log.i(TAG, "Trying to change the size of our ByteBuffer to " + length); if (depthReceiver != null) { if (depthReceiver.buffer != null) { depthReceiver.buffer.clear(); freeNativeBuffer(); depthReceiver.buffer = null; } if (length > 0) { depthReceiver.buffer = (ByteBuffer) allocNativeBuffer(length); depthReceiver.buffer.order(ByteOrder.LITTLE_ENDIAN); } } }
@Override public void run() { int res = 0; while (true) { if (mBreakout) { Log.e(TAG, "Breaking out"); break; } res = dowork(); if ((res & UPDATED_DEPTH) != 0) depthReceiver.DepthCallback(); if ((res & UPDATED_ODOM) != 0) vioReceiver.VIOCallback(); try { Thread.sleep(33); } catch (InterruptedException e) { Log.e(TAG, "INSOMNIA", e); } } Log.e(TAG, "Broke out"); }