From cecca241418e6ad76117d79a382fbdab97db0ac5 Mon Sep 17 00:00:00 2001 From: Lanchon Date: Tue, 12 Jun 2018 21:01:50 -0300 Subject: [PATCH] Unify OpcodeUtils.getNewestOpcodes variants --- .../multidexlib2/AbstractMultiDexContainer.java | 4 ++-- .../java/lanchon/multidexlib2/OpcodeUtils.java | 14 +++++++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main/java/lanchon/multidexlib2/AbstractMultiDexContainer.java b/src/main/java/lanchon/multidexlib2/AbstractMultiDexContainer.java index ebef516..1c56a7d 100644 --- a/src/main/java/lanchon/multidexlib2/AbstractMultiDexContainer.java +++ b/src/main/java/lanchon/multidexlib2/AbstractMultiDexContainer.java @@ -36,7 +36,7 @@ public abstract class AbstractMultiDexContainer implements Mu if (opcodes == null) { //opcodes = getNewestOpcodes(); for (T entry : entryMap.values()) { - opcodes = OpcodeUtils.getNewestOpcodesNullable(opcodes, entry.getOpcodes()); + opcodes = OpcodeUtils.getNewestOpcodes(opcodes, entry.getOpcodes(), true); } //if (opcodes == null) throw nullOpcodes(); } @@ -63,7 +63,7 @@ public abstract class AbstractMultiDexContainer implements Mu public Opcodes getNewestOpcodes() { Opcodes opcodes = null; for (String entryName : getDexEntryNames()) { - opcodes = OpcodeUtils.getNewestOpcodesNullable(opcodes, getEntry(entryName).getOpcodes()); + opcodes = OpcodeUtils.getNewestOpcodes(opcodes, getEntry(entryName).getOpcodes(), true); } } */ diff --git a/src/main/java/lanchon/multidexlib2/OpcodeUtils.java b/src/main/java/lanchon/multidexlib2/OpcodeUtils.java index 6aec4ee..c813ca0 100644 --- a/src/main/java/lanchon/multidexlib2/OpcodeUtils.java +++ b/src/main/java/lanchon/multidexlib2/OpcodeUtils.java @@ -24,13 +24,21 @@ public class OpcodeUtils { return DexVersionMap.getHighestDexVersionFromApiLevel(opcodes.api); } + @Deprecated public static Opcodes getNewestOpcodesNullable(Opcodes o1, Opcodes o2) { - if (o1 == null) return o2; - if (o2 == null) return o1; - return getNewestOpcodes(o1, o2); + return getNewestOpcodes(o1, o2, true); } + @Deprecated public static Opcodes getNewestOpcodes(Opcodes o1, Opcodes o2) { + return getNewestOpcodes(o1, o2, false); + } + + public static Opcodes getNewestOpcodes(Opcodes o1, Opcodes o2, boolean nullable) { + if (nullable) { + if (o1 == null) return o2; + if (o2 == null) return o1; + } if (o1.api == VersionMap.NO_VERSION || o2.api == VersionMap.NO_VERSION) throw undefinedApiLevel(); return o1.api >= o2.api ? o1 : o2; }