From 21c9d4e6bbf494801ac51278b13e8a891931f436 Mon Sep 17 00:00:00 2001 From: REAndroid Date: Fri, 3 Mar 2023 06:03:11 -0500 Subject: [PATCH] ensure complex resource entry --- src/main/java/com/reandroid/arsc/array/EntryArray.java | 7 +++++++ src/main/java/com/reandroid/arsc/chunk/TypeBlock.java | 2 +- src/main/java/com/reandroid/arsc/value/Entry.java | 3 +++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/reandroid/arsc/array/EntryArray.java b/src/main/java/com/reandroid/arsc/array/EntryArray.java index ca741c2..59b8559 100755 --- a/src/main/java/com/reandroid/arsc/array/EntryArray.java +++ b/src/main/java/com/reandroid/arsc/array/EntryArray.java @@ -29,6 +29,13 @@ public class EntryArray extends OffsetBlockArray implements JSONConvert .getSpecStringPool().getOrCreate(name); Entry entry = getOrCreateEntry((short) id); if(entry.isNull()){ - entry.setValueAsRaw(ValueType.NULL, 0); + entry.ensureComplex(getEntryArray().hasComplexEntry()); } entry.setSpecReference(specString.getIndex()); return entry; diff --git a/src/main/java/com/reandroid/arsc/value/Entry.java b/src/main/java/com/reandroid/arsc/value/Entry.java index 7d967fb..58d1f54 100755 --- a/src/main/java/com/reandroid/arsc/value/Entry.java +++ b/src/main/java/com/reandroid/arsc/value/Entry.java @@ -37,6 +37,9 @@ super(); } + public void ensureComplex(boolean isComplex){ + ensureTableEntry(isComplex); + } public int getId(){ return getIndex(); }