From 13705697c23cb2d72bea75d661390be26fea50a4 Mon Sep 17 00:00:00 2001 From: Ben Gruver Date: Sat, 18 May 2013 17:36:25 -0700 Subject: [PATCH] Clean up how the classes are sorted before being disassembled --- baksmali/src/main/java/org/jf/baksmali/baksmali.java | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/baksmali/src/main/java/org/jf/baksmali/baksmali.java b/baksmali/src/main/java/org/jf/baksmali/baksmali.java index fad804f1..64b35b81 100644 --- a/baksmali/src/main/java/org/jf/baksmali/baksmali.java +++ b/baksmali/src/main/java/org/jf/baksmali/baksmali.java @@ -31,6 +31,7 @@ package org.jf.baksmali; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; +import com.google.common.collect.Ordering; import org.jf.baksmali.Adaptors.ClassDefinition; import org.jf.dexlib2.analysis.ClassPath; import org.jf.dexlib2.iface.ClassDef; @@ -40,7 +41,7 @@ import org.jf.util.ClassFileNameHandler; import org.jf.util.IndentingWriter; import java.io.*; -import java.util.*; +import java.util.List; import java.util.concurrent.*; public class baksmali { @@ -77,13 +78,7 @@ public class baksmali { //name collisions, then we'll use the same name for each class, if the dex file goes through multiple //baksmali/smali cycles for some reason. If a class with a colliding name is added or removed, the filenames //may still change of course - List classDefs = new ArrayList(dexFile.getClasses()); - Collections.sort(classDefs, new Comparator() { - public int compare(ClassDef classDef1, ClassDef classDef2) { - return classDef1.getType().compareTo(classDef2.getType()); - } - }); - classDefs = ImmutableList.copyOf(classDefs); + List classDefs = Ordering.natural().sortedCopy(dexFile.getClasses()); if (!options.noAccessorComments) { options.syntheticAccessorResolver = new SyntheticAccessorResolver(classDefs);