Commit 013a2e13 authored by topjohnwu's avatar topjohnwu

Minor code changes

parent fbaf2bde
...@@ -81,6 +81,7 @@ class AXML(b: ByteArray) { ...@@ -81,6 +81,7 @@ class AXML(b: ByteArray) {
val baos = RawByteStream() val baos = RawByteStream()
baos.write(bytes, 0, dataOff) baos.write(bytes, 0, dataOff)
// Write string data
val strList = IntArray(count) val strList = IntArray(count)
for (i in 0 until count) { for (i in 0 until count) {
strList[i] = baos.size() - dataOff strList[i] = baos.size() - dataOff
...@@ -102,9 +103,8 @@ class AXML(b: ByteArray) { ...@@ -102,9 +103,8 @@ class AXML(b: ByteArray) {
newBuffer.putInt(start + CHUNK_SIZE_OFF, size + sizeDiff) newBuffer.putInt(start + CHUNK_SIZE_OFF, size + sizeDiff)
// Patch index table // Patch index table
newBuffer.position(start + STRING_INDICES_OFF) newBuffer.position(start + STRING_INDICES_OFF)
val newStrList = newBuffer.asIntBuffer() val newIntBuf = newBuffer.asIntBuffer()
for (idx in strList) strList.forEach { newIntBuf.put(it) }
newStrList.put(idx)
// Write the rest of the chunks // Write the rest of the chunks
val nextOff = start + size val nextOff = start + size
...@@ -121,7 +121,7 @@ class AXML(b: ByteArray) { ...@@ -121,7 +121,7 @@ class AXML(b: ByteArray) {
} }
private class RawByteStream : ByteArrayOutputStream() { private class RawByteStream : ByteArrayOutputStream() {
val buf get() = buf val buf: ByteArray get() = buf
fun align(alignment: Int = 4) { fun align(alignment: Int = 4) {
val newCount = (count + alignment - 1) / alignment * alignment val newCount = (count + alignment - 1) / alignment * alignment
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment