From 4dd7eaf1ed51deb7e23ec393a780bf1ebd3d7d56 Mon Sep 17 00:00:00 2001 From: REAndroid Date: Thu, 30 Mar 2023 08:22:10 -0400 Subject: [PATCH] remove duplicate code --- .../com/reandroid/arsc/item/BlockItem.java | 19 ++++++------------- .../com/reandroid/arsc/item/ByteArray.java | 8 ++------ 2 files changed, 8 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/reandroid/arsc/item/BlockItem.java b/src/main/java/com/reandroid/arsc/item/BlockItem.java index 6008c4e..daec8d1 100755 --- a/src/main/java/com/reandroid/arsc/item/BlockItem.java +++ b/src/main/java/com/reandroid/arsc/item/BlockItem.java @@ -151,18 +151,11 @@ public abstract class BlockItem extends Block { protected static boolean getBit(byte[] bts, int byteOffset, int bitIndex){ return (((bts[byteOffset] & 0xff) >>bitIndex) & 0x1) == 1; } - protected static void putBit(byte[] bts, int byteOffset, int bitIndex, boolean bit){ - int val=bts[byteOffset] & 0xff; - int left=val>>bitIndex; - if(bit){ - left=left|0x1; - }else { - left=left & 0xFE; - } - left=left<>bitIndex) & val; - val=left|right; - bts[byteOffset]=(byte) val; + protected static void putBit(byte[] bytes, int byteOffset, int bitIndex, boolean bit){ + int mask = 1 << bitIndex; + int add = bit ? mask : 0; + mask = (~mask) & 0xff; + int value = (bytes[byteOffset] & mask) | add; + bytes[byteOffset] = (byte) value; } } diff --git a/src/main/java/com/reandroid/arsc/item/ByteArray.java b/src/main/java/com/reandroid/arsc/item/ByteArray.java index 09abcb1..8b777a1 100755 --- a/src/main/java/com/reandroid/arsc/item/ByteArray.java +++ b/src/main/java/com/reandroid/arsc/item/ByteArray.java @@ -88,14 +88,10 @@ public class ByteArray extends BlockItem { bts[index]=value; } public boolean getBit(int byteOffset, int bitIndex){ - return ((get(byteOffset)>>bitIndex) & 0x1) == 1; + return getBit(getBytesInternal(), byteOffset, bitIndex); } public void putBit(int byteOffset, int bitIndex, boolean bit){ - int mask = 1 << bitIndex; - int add = bit ? mask : 0; - mask = (~mask) & 0xff; - int value = (get(byteOffset) & mask) | add; - putByte(byteOffset, value); + putBit(getBytesInternal(), byteOffset, bitIndex, bit); } public final void putShort(int offset, int value){ putShort(offset, (short) value);