Unify OpcodeUtils.getNewestOpcodes variants

This commit is contained in:
Lanchon 2018-06-12 21:01:50 -03:00
parent 129555089a
commit cecca24141
2 changed files with 13 additions and 5 deletions

View File

@ -36,7 +36,7 @@ public abstract class AbstractMultiDexContainer<T extends DexFile> 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<T extends DexFile> 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);
}
}
*/

View File

@ -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;
}