diff --git a/dexlib2/src/main/java/org/jf/dexlib2/writer/io/MemoryDataStore.java b/dexlib2/src/main/java/org/jf/dexlib2/writer/io/MemoryDataStore.java index 3e28317e..a3b22d6c 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/writer/io/MemoryDataStore.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/writer/io/MemoryDataStore.java @@ -70,6 +70,7 @@ public class MemoryDataStore implements DexDataStore { @Nonnull @Override public InputStream readAt(final int offset) { return new InputStream() { private int position = offset; + private int mark = offset; @Override public int read() throws IOException { if (position >= size) { @@ -113,6 +114,18 @@ public class MemoryDataStore implements DexDataStore { @Override public int available() throws IOException { return Math.max(0, size - position); } + + @Override public void mark(int i) { + mark = position; + } + + @Override public void reset() throws IOException { + position = mark; + } + + @Override public boolean markSupported() { + return true; + } }; }