From 0e3e165d4e1608551005b3b99ceae7b0e9069e96 Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Tue, 4 Jul 2023 12:28:49 -0400 Subject: [PATCH] refactor: extract nextChunk() out of readLibraryType (#3126) --- .../java/brut/androlib/res/decoder/ARSCDecoder.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/decoder/ARSCDecoder.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/decoder/ARSCDecoder.java index ce316d6a..0a19db6e 100644 --- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/decoder/ARSCDecoder.java +++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/decoder/ARSCDecoder.java @@ -128,9 +128,11 @@ public class ARSCDecoder { mPkg = new ResPackage(mResTable, id, name); nextChunk(); - boolean flag = true; - while (flag) { + + chunkLoop: + for (;;) { switch (mHeader.type) { + case ARSCHeader.XML_TYPE_TYPE: case ARSCHeader.XML_TYPE_SPEC_TYPE: readTableTypeSpec(); break; @@ -147,8 +149,7 @@ public class ARSCDecoder { readStagedAliasSpec(); break; default: - flag = false; - break; + break chunkLoop; } } @@ -168,9 +169,7 @@ public class ARSCDecoder { LOGGER.info(String.format("Decoding Shared Library (%s), pkgId: %d", packageName, packageId)); } - while(nextChunk().type == ARSCHeader.XML_TYPE_TYPE) { - readTableTypeSpec(); - } + nextChunk(); } private void readStagedAliasSpec() throws IOException {