diff --git a/android_15/src/org/ros/android/view/visualization/layer/CompressedOccupancyGridLayer.java b/android_15/src/org/ros/android/view/visualization/layer/CompressedOccupancyGridLayer.java index 9063014b..7212f462 100644 --- a/android_15/src/org/ros/android/view/visualization/layer/CompressedOccupancyGridLayer.java +++ b/android_15/src/org/ros/android/view/visualization/layer/CompressedOccupancyGridLayer.java @@ -22,12 +22,15 @@ import android.graphics.Bitmap; import android.graphics.BitmapFactory; import org.jboss.netty.buffer.ChannelBuffer; +import org.jboss.netty.buffer.ChannelBuffers; import org.ros.android.view.visualization.TextureBitmap; import org.ros.message.MessageListener; import org.ros.namespace.GraphName; import org.ros.node.ConnectedNode; import org.ros.rosjava_geometry.Transform; +import java.nio.channels.Channel; + import javax.microedition.khronos.opengles.GL10; /** @@ -91,7 +94,9 @@ public void onNewMessage(nav_msgs.OccupancyGrid message) { } void update(nav_msgs.OccupancyGrid message) { - ChannelBuffer buffer = message.getData(); + // final ChannelBuffer buffer; + // buffer.setBytes(0,message.getData()); + final ChannelBuffer buffer = ChannelBuffers.wrappedBuffer(message.getData()); Bitmap bitmap = BitmapFactory.decodeByteArray(buffer.array(), buffer.arrayOffset(), buffer.readableBytes()); int stride = bitmap.getWidth(); diff --git a/android_15/src/org/ros/android/view/visualization/layer/OccupancyGridLayer.java b/android_15/src/org/ros/android/view/visualization/layer/OccupancyGridLayer.java index 1213d7ce..5b56cf47 100644 --- a/android_15/src/org/ros/android/view/visualization/layer/OccupancyGridLayer.java +++ b/android_15/src/org/ros/android/view/visualization/layer/OccupancyGridLayer.java @@ -20,6 +20,7 @@ import com.google.common.collect.Lists; import org.jboss.netty.buffer.ChannelBuffer; +import org.jboss.netty.buffer.ChannelBuffers; import org.ros.android.view.visualization.TextureBitmap; import org.ros.android.view.visualization.VisualizationView; import org.ros.internal.message.MessageBuffers; @@ -201,7 +202,9 @@ private void update(nav_msgs.OccupancyGrid message) { int x = 0; int y = 0; - final ChannelBuffer buffer = message.getData(); + // final ChannelBuffer buffer; + // buffer.setBytes(0,message.getData()); + final ChannelBuffer buffer = ChannelBuffers.wrappedBuffer(message.getData()); while (buffer.readable()) { Preconditions.checkState(y < height); final int tileIndex = (y / TextureBitmap.STRIDE) * numTilesWide + x / TextureBitmap.STRIDE;